All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
List all changes after the last release here (newer on top). Each change on a separate bullet point line.
- Importer: add context object while initializing a importer class
- Core: use UUID in basket IDs to prevent possible duplicates
- Core: save basket shipping and billing address as dictionary when id is not available
- Front: remove the custom _load() implementation from the basket as it is the same as the core
- Core: ignore lines that are not from the given source while calculating taxes
- Campaigns: do not apply campaigns in baskets configured to a supplier
- Admin: change service admin to list only providers that the current user can access
- Use UUID4 while generating order line ids by default
- Admin: Improve message banners, by:
- Resetting the timeout for hiding the messages when a new message is added.
- Immediately clearing the already hidden messages a when new one is added.
- Not hiding messages when clicking just random background elements.
- Allowing dismissing all of the messages by clicking any one of them anywhere.
- Core: add task runner to support running tasks using 3rd party services like Celery
- Core: add shops and supplier to ServiceProvider and Service models
- Front: add feature for checkout phases to spawn extra phases
- Add custom get_ip method and use it everywhere
- Importer: add permissions for all the diffrent types of importers
- Importer: add context class to data importer
- Fixed the way the permissions identifier are split in admin
- Fixed issue that was importing User model directly
- Core: changed
del
basket command handler to not try to parse the basket line into an integer
- Simple CMS: Fix a bug with the page links plugin
- Front: Ensure company name and tax number is set to both billing and shipping address same way as when filled through company form when customer is not logged in. Company name and tax number at order addresses seems to help with some taxation logic as well as makes things more consistent.
- Admin: Make sure related custom columns are added accrodingly. Fix issue with filtering through columns that are by default hidden
- Front: only show carousel title when there is one
- Notify: Add AccountActivation event. AccountActivation event is triggered only when the user is activated for the first time.
- Front: improve next parameter with registration. Check GET parameter first and then fallback to POST data.
- Admin: fix width issue with picotable images
- Admin: fix bugs in order edit and improve it one step closer to
multivendor world. Now supports situation when vendors does not
share products.
- Add option to make shipping and payment method optional
- Add supplier to pricing context
- Show supplier name on product column
- Make auto add for product select false by default
- Fix product select2 missing URL and data handler since the whole ajax method was passed as attrs.
- Add option to open/close collapsed content sections in mobile
- Core: add option to enable order edit for multiple vendors
- Front: do not stack history on product list when filters are changed. Instead replace state so back-buttons works nicely.
- Front: prevent image Lightbox touching history so you do not need to click back 6 times after you have viewed all images.
- Admin: add error message when upload fails. At media queue complete do not resave product media if the file-count has not changed. This for example prevents media save when the upload itself fails.
- Admin: add option to override dropzone upload path by using data attribute
- Admin: add upload path to browser URLs and use it to fallback on media uploads when the actual media path is not available.
- Admin: Ability to delete manufacturer
- Admin: Ability to login as the selected contact if it's a user
- Admin: Now when activating/deactivating user it's contact will also change
- Admin: New notification for when a account get's reactivated
- Discounts: create different admin module for archived discounts to fix breadcrumbs
- Fix product pagination by not overriding the state with undefined values
- Middleware: fix so it trys to take the users timezone first, then the suppliers, last the projects TIME_ZONE
- Front: customize sort options through settings
- Admin: Notification name when deleteing it
- Admin: Update contact list so that it only shows customers by default
- Front: Fix typo
- Front: Add supplier choice to best selling product context function
- Admin: allow sorting categories by name
- Admin: show product orderability errors as list
- Admin: remove pinned /sa/ URL from scripts to support dynamic admin URLs
- Admin: Fix graphical (incorrect indent) bug in Product / Stock Management
- Admin: add spinner and progressbar options components through Bootstrap 4.
- Issue running category filter browser test with Travis
- Admin: remove pinned /sa/ URL from scripts to support dynamic admin URLs
- Front: keep the current query string parameters as the initial state when refreshing product filters.
- Admin: fix page jumps after reaload
- Admin: make browser urls support urls with parameters
- Core: supplier name max length to 128 from 64
- Add option to send notification event at password recovery
- Improve the admin modals to use flexbox and work better on small devices
- Admin: fix password recovery success URL
- Picotable: render the filters button on small devices, even when there is no data, to allow resetting filters
- Make Admin messages dismissible
- Admin: Fix search results overflowing the canvas
- Admin: fix bug when uploading product media
- Admin: add option to impersonate staff users
- Notify: add option to delete notify scripts
- Admin: Allow shop staff to impersonate regular users
- Notify: Add BCC and CC fields to SendEmail notification action.
- Add the CHANGELOG.md to the root of the code base.
- Xtheme: Improve template injection by checking not wasting time invoking regex for nothing
- Add
MiddlewareMixin
to all middlewares to prepare for Django 2.x - Notify: Changed the Email topology type to support comma-separated list of emails when using constants.
- Front: skip product filter refresh if filters not defined
- GDPR: change "i agree" button to "i understand"
- Front: fix notification template default content
- Admin: improve primary image fallback for product
- Fixed the placeholder of Select2 component in Admin
- FileDnDUploader: Add check for the
data-kind
attribute of the drop zone. If the data-kind isimages
, add an attribute to the hidden input that only allows images to be uploaded. - Front: fix bug with imagelightbox
- CMS: Free page URL on delete
Find older release notes here.