Skip to main content

A web shop solution for Plone

Project description

Introduction
============

`ftw.shop` is a general purpose web shop product for Plone.
It features item variations, an extensible checkout wizard, pluggable
payment processors and optional SQLAlchemy storage.

`ftw.shop` supports Plone 4.x.


Features
========

- Basic shop functionality: Create a shop with categories and items, provide
a shopping cart and checkout process guided by a wizard.
- Manage Item variations (flavors).
- Order Management
- Suppliers: Associate particular items or categories with a supplier that will
be notified by email when those items are purchased.
- Pluggable payment processors
- Extensible checkout wizard: Add fields or whole steps to the checkout process.
- Flexible mail templates for order confirmations, owner and supplier
notifications.


Installation
============

- Add ``ftw.shop`` to your buildout (or as dependency to a custom egg):

::

[buildout]
parts =
instance
...

[instance]
...
eggs +=
Plone
ftw.shop

- Install default profile in portal_setup.


Configuration
============

When installing ``ftw.shop``, the Plone site is automatically configured as
shop root (``IShopRoot`` interface).
If you'd like another container to be the shop root you can change this by
removing the ``IShopRoot`` from the Plone site and let another container
provide it.

You might also want to add a shop cart portlet.

After that, most configuration can be done through the "Shop configuration"
control panel.


Links
=====

- Github project repository: https://github.com/4teamwork/ftw.shop
- Issue tracker: https://github.com/4teamwork/ftw.shop/issues
- Continuous integration: https://jenkins.4teamwork.ch/search?q=ftw.shop


Licensing
=========

This package is released under GPL Version 2.


Copyright
=========

This package is copyright by `4teamwork <http://www.4teamwork.ch/>`_.

``ftw.shop`` is licensed under GNU General Public License, version 2.

.. image:: https://cruel-carlota.pagodabox.com/47108caebd3b96f110cd90b5044b34d6
:alt: githalytics.com
:target: http://githalytics.com/4teamwork/ftw.shop

Changelog
=========

1.3.1 (2014-02-19)
------------------

- JS: Use POST method and explicitely disable caching for addtocart_ajax requests.
[lgraf]

- Javascript: replace jq with jQuery / $ for Plone 4.3 compatibility.
[jone]

- Make phone number in customer confirmation mail configurable and optional.
[jone]

- Automatically set the shop root on the portal upon new installation. #15
[jone]

- Update German translations.
[jone]

- Make ShopCategory LinguaPlone aware.
[buchi]

- Make sure currency is included everywhere where a price is displayed.
[lgraf]

1.3 (2013-09-05)
----------------

- Added image field to default ShopItem content type.
[lgraf]

- Fixed content-type header of ajax response when adding an item to the cart.
[buchi]


1.2.1 (2013-05-30)
------------------

- Remove unused permission "ftw.shop: Add Order".
[jone]


1.2 (2013-05-28)
----------------

- Fixed evaluation of shopping cart portlet available() condition.
[lgraf]

- Fixed attribute selector syntax in shop.js.
[lgraf]

- Check enabled payment processors for availability before offering them.
[lgraf]

- Moved shopping cart functionality into its own adapter (IShoppingCart).
[lgraf]

- Dropped 'newsletter' field from checkout form.
[lgraf]

- Lawgiver support: map permissions.
[jone]

- Suppliers: fix address content types / formatting.
[jone]

- Shop item: use text/x-html-safe output format and only allow text/html input.
[jone]

- Plone 4.3 compatibility: fix imports.
[jone]

- Use DEFAULT_VAT_RATES in IShopConfiguration's vat_rates.
[mathias.leimgruber]

- Display the shopitems image if the item has a image field.
[Julian Infanger]

- Fix category view so that it filters "None" references.
[jone]

- Allow multiple email addresses for supplier seperated by comma.
[Julian Infanger]

- Made sure supplier_mail template gets needed options
[lgraf]

- Improved styling for PaymentProcessor widget a bit
[lgraf]

- Made sure Order and CartItems classes inherit from Persistent
[lgraf]

- Properly setting default values when prefilling forms.
This fixes a bug where people see other users data in checkout forms.
[lgraf]

- CSS fix for title field in checkout wizard
[lgraf]

- Added some Plone 3 compatibility fixes
[lgraf]

- Added test dependency on pyquery
[lgraf]

- Fixed invalid HTML in payment processor widget
[lgraf]

- Assigned Add Order permission to Manager role in rolemap.xml
[lgraf]

- Fixed bug where supplier and status filters weren't initialized in OrderManager view
[lgraf]

- Added column title for vat_amount when exporting CSV
[lgraf]

- Fixed bug in calculation of VAT amount
[lgraf]

- Improved display of VAT (MwSt)
[lgraf]

- Changed default for IShippingAddress.used to False
[lgraf]

- Made order_review template not require the ``newsletter`` field
[lgraf]

- Using interfaces instead of portal_type to determine if context has shop items
[lgraf]

- Fixed type of default values for IShopConfiguration.var_rates
[lgraf]

- Listing items in ShopCategory based on IShopItem interface, not portal_type
[lgraf]

- Implemented calculation and display (in order_review) of VAT (MwSt)
[lgraf]

- Added fields and settings for VAT (MwSt) support
[lgraf]

- Implemented filtering by status in order_manager
[lgraf]

- Implemented UI for changing status or deleting several orders at once
[lgraf]

- Improved UI for cancelling orders in order_manager
[lgraf]

- Implemented pluggable status sets and option to manually change status of orders
[lgraf]

- Added option to display cart portlet only if there are items in the current folder / context
[lgraf]


1.1.2 (2012-09-27)
------------------

- Allow multiple email addresses for supplier seperated by comma.
[Julian Infanger]


1.1.1 (2012-09-24)
------------------

- Do not raise an AssertionError if the objects type is not ShopItem.
[Julian Infanger]


1.1 (2011-12-27)
----------------

- Made ShopItem inherit from ATCTContent instead of ATDocument.

- Avoid creating a session if there doesn't exist one yet.
Accessing REQUEST.SESSION causes a _ZopeID cookie to be created, therefore
we use the browser_id_manager to check first if a session already exists.

- Removed language specific subjects for order mails from settings and handle
translation with i18n.


1.0.1 (2011-03-28)
------------------

- Cleaned up translations (fuzzy entries)
[lgraf]

- Avoid creating a session if there doesn't exist one yet.
Accessing REQUEST.SESSION causes a _ZopeID cookie to be created, therefore
we use the browser_id_manager to check first if a session already exists.
[lgraf]

- Moved translations in plone domain from locales to i18n folder for Plone3 bbb
[lgraf]

- Made date parsing in order_manager more robust
[lgraf]

- Included jquery-ui-i18n.js and i18ned datepicker widget
[lgraf]

- Fixed manage_categories view for ShopRoot == portal
[lgraf]

- Eliminated unnecessary order ID column in order_manager view
[lgraf]

- Displaying item title as tooltip in order_manager
[lgraf]

- Minor styling fix
[lgraf]

- Fixed typo - sku_code -> skucode
[lgraf]

- Store sku_code in cart item instead of the key.
[lgraf]

- Removed Image and File from allowed_content_types for ShopCategory and ShopItems
[lgraf]

- Added show_price attribute to CartItems model
[lgraf]

- Plone 3 compatibility fixes
(the builtin `any` and datetime.strptime don't exist yet in Python 2.4)
[lgraf]

- Removed assertion that doesn't hold true any more
item.portal_type == 'ShopItem' - if SimpleLayout support is enabled, there's also
a type called 'ShopItemBlock'
[lgraf]

- Minor JS fix: Compatibility with jQuery 1.3
jq.delay() doesn't exist yet in 1.3, so implement the same behavior using .animate()
[lgraf]

- Merged branch 'plone3bbb'
(Register eventhandlers based on a zcml:condition="have plone-4")
[lgraf]

1.0 (2011-02-25)
----------------

- Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ftw.shop-1.3.1.tar.gz (140.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page