Shoop Change Log¶
Version 4.0.0¶
Released on 2016-06-29 21:30 +0300.
Core¶
- Fix bug: Category model is missing MPTT ordering options
- Add staff only behavior component
- Add refund-related methods to
Order
- Add
OrderLineType.REFUND
enum type - Update order phone max length to 64 characters
- Add cash payment method
- Add rounding behavior component
- Add contact group availability behavior component
- Fix bug: Do not display decimal values in scientific notation
- Fix bug: Taxes of child order lines are filled incorrectly
- Fix bug: Order line parent lines are not linked
- Add modified on for
Order
- Add modified by for
Order
andOrderSource
- Add
get_company_contact
toshoop.core.models
- Implement taxing of lines without tax class
- Add new abstract method
get_taxed_price
toTaxModule
- Add
ShopProduct.is_visible
- Add
Order.can_edit
- Update shipping status correctly in
Order.create_shipment
- Add
OrderModifier
for modifying orders withOrderSource
- Add option use
Order.create_shipment
with unsavedShipment
- Add identifier for
Shipment
- Fix bug: Fix max length for service method names for
Order
- Make
Order.create_payment
also do status update for partially paid - Add
get_total_unpaid_amount
method toOrder
- Add
is_canceled
andcan_set_canceled
toOrder
- Fix bug: Convert
Shipment
weight to kilograms - Make
create_shipment
for order atomic - Add
shipment_created
signal - Add
get_tracking_codes
toshoop.core.models.Order
- Add weight based pricing behavior component
- Add
total_gross_weight
property forSource
- Fix bug: Order line text is not set for package products
- Add new Service API and implement shipping and payments with it
- Remove BaseMethodModule based API (
shoop.core.methods
) - Add support for custom user model (
AUTH_USER_MODEL
) - Add management command to generate bought with relations
- Add
merchant_notes
text-field toContact
- Add
first_name
andlast_name
fields toPersonContact
- Add bought with relation to
ProductCrossSellType
- Set customer marketing permission while creating order
- Disable delete for default contact groups
- Allow storing price display options to contact groups
- Add template tags for rendering prices with context specific price display options (pretax or with taxes, or hide prices totally)
- Fix bug:
OrderSource.tax_amount
always returned zero price - Add contacts automatically to type specific default groups
OrderCreator
no longer requires a request- Add
order_creator_finished
signal underorder_creator
- Move calculate_taxes_automatically from
OrderSource
toTaxModule
- Add shop product validation for OrderSource
- Add option to create payments with REST API
- Add contact address for
Shop
- Add update_stock calls for
SimpleSupplierModule
- Rename
CAMPAIGN
inOrderLineType
enum toDISCOUNT
- Add
OrderSourceModifierModule
interface for modifying order source - Add
DiscountModule
interface for pricing - Simplify
PricingContext
and require shop and customer for it - Add
get_price_info
etc. functions toshoop.core.pricing
- Add
get_suppliable_products
toshoop.core.models.Supplier
- Add “codes” API to OrderSource and BaseBasket
Localization¶
- Add Brazilian Portuguese translations (pt_BR)
Admin¶
- Add refund creator to order admin
- Add customer detail view to order creator
- Define module-level permissions for all admin modules
- Enable adding of permission groups from users admin
- Add admin module for managing Django permission groups
- Add
get_required_permission
toAdminModule
- Add support for module-level permissions
- Use Select2MultipleField for handling contact members
- Add Select2MultipleField
- Add account manager for contact
- Add PersonContact choice widget
- Add barcode filter to product list view
- Show stock in order creator
- Fix bug: Fix decimal precision issues on order creation
- Enable order creation for contact from contact detail view
- Fix bug: Refresh order lines when customer is changed during order creation
- Add default
is_active
filter to Contact and User admins - Enable default values for
ChoiceFilter
- Enable contact activation/deactivation
- Allow contact adding and removing for company
- Show companies in person contact edit page
- Add target option to
SearchResult
- Filter contacts with group in contact list view
- Hide group members from contact group edit view
- Remove support for select pickers
- Enable multiselect dropdown with Select2
- Enable adding log entries to orders
- Enable order editing
- Allow shipment creation form extensions
- Add payment creation view to
Order
admin - Enable order cancelation in Order edit view
- Hide invalid choices for package products
- Fix bug: Fix convert to parent menu items in
EditProductToolbar
- Show tracking codes in order detail
- Fix bug: Show package siblings for variation children
- Fix bug: Detail page of contact with multiple groups fails on Python 3
- Enable add/edit for weight based behavior component through service admin
- Add
admin_contact_group_form_part
provider forContactGroup
admin - Redo shipping and payment method management
- Add service provider management
- Add package mode for products
- Enable merchant notes editing for contacts
- Add option to add extra form parts to Shop edit view
- Enable delete for contact groups
- Make all enabled shipping and payment methods available in order creator
- Check product quantities in order creation
- Add option to add action buttons to Order edit view
Addons¶
- Enable upgrade, migrations and collectstatic from admin
- Has a known problem in reloading application server.
Front¶
- Initialize checkout addresses from customer data
- Logout users linked to inactive contact
- Allow user to change password from account settings
- Add login check for inactive contacts
- Remove “Ordering for company” from checkout if logged in
- Allow user to link company contact from account page
- Log-in as company if user is a member of a company
- Make
get_product_cross_sells
faster - Make
get_best_selling_products
faster - Make
get_visible_products
faster - Fix bug with multiple service checkout phases
- Update UI for package products
- Add SHOOP_FRONT_ADDRESS_FIELD_PROPERTIES setting
- Support also django-registration-redux 1.4
- Enable description and logo for methods in checkout
- Add admin view for monitoring customer carts
- Remove
get_method_validation_errors
signal - Fix bug at
get_visible_products
filter when orderable_only is False - Set template price display options from the customer
- Fix bug: BasketStorage.finalize() never called delete() correctly
- Check product quantity already in basket while adding
- Move
order_creator_finished
signal under core - Add “next” parameter support for registration
- Process given coupon codes in basket
- Add
get_visible_products
template helper
Xtheme¶
- Add custom XThemeModelChoiceField to show admin URLs
- Enhance default text plugin editor to remarkable markdown editor
- Add support for global/multi-view placeholders
- Add generic snippets plugin for doing simple integrations
- Add a plugin for displaying category links on shop front
- Add a linkable image plugin
Classic Gray Theme¶
- Add Shoop Wishlist addon support for logged in users
- Hide product order section when prices are hidden
- Hide cart when prices are hidden
- Show tracking codes in order detail
- Remove
ProductCrossSellType.COMPUTED
from cross-sells plugin - Update cross-sells plugin to use
ProductCrossSellType.BOUGHT_WITH
- Render prices with the new price rendering template tags
- Show error messages while adding products to basket
- Add “next” parameter to register links
- Add Coupon use possibility to basket page
- Add option to only show orderable products to highlights plugin
- Add Xtheme plugin to display social media links on shop front
Simple Supplier¶
- Add admin modules for updating stock
- Add support for stock counts and values
Order Printouts¶
- Add app for creating PDF printouts of orders
- Currently supports printing of Order confirmation and Delivery slips
Campaigns¶
- Add campaigns app with following features:
- Campaigns management
- Coupon management
- Contact group sales ranges
Customer Group Pricing¶
- Rename Simple Pricing to Customer Group Pricing
- Fix pricing for
AnonymousContact
Discount Pricing¶
- Removed
Simple CMS¶
- Add option to list children on page
- Add possibility to set parent on page
Default Tax¶
- Filter tax rules by postal codes to gain better performance
- Add minimum and maximum postal code values to
TaxRule
Guide¶
- Add guide app that integrates help documentation into admin search
General/miscellaneous¶
- Rename UnitedDecimal to UnittedDecimal
- Add a way to find out min and max values from pattern
- Reword doc/provides.rst
Version 3.0.0¶
Released on 2016-01-21 11:15 +0200.
Core¶
- Document Shoop tax system
- API and documentation clean-up
- Remove
AddressManager
- Split address into mutable and immutable address
- Add Product.get_public_media helper function
- Ensure
TranslatabelShoopModel.__str__
doesn’t return lazy objects - Deny price unit changes of in-use
Shop
- Assign created customers to
CustomerTaxGroups
on creation - Fix couple tax related terms
- Remove
PriceTaxContext
- Add
PricingContextable
interface and fix related docstrings - Remove
Priceful.total_price
- Add dynamic configuration API:
shoop.configuration
- Fix tax calculations and implement override groups
- Add autoexpiring versioned cache API:
shoop.core.cache
- Enable email login and password recovery with username
Localization¶
- Add translations for Finnish, Chinese and Japanese
- Add translation extraction tools (
shoop_makemessages
) - Mark more messages for translation in templates
- Enable JavaScript translations
Admin¶
- Bump bootstrap-datetimepicker version to 2.3.8
- Show Shoop version number in Admin
- Fix order list sorting and filtering by total price
- Fix CMS page list sorting by title
- JavaScript compilation fixes: Turn our ES6 to ES5 with Babel
- Fix URL encoding in
redirect_to_login
- Add view for creating orders from the Admin
- Enable markdown editor for product and category description
- Fix SKU and name initialization when creating a product by search
- Add new template macros
- Refactor templates to use template macros
- Admin form styling and UX updates
Front¶
- Set default country in checkout address forms
- Fix SHOOP_FRONT_INSTALL_ERROR_HANDLERS setting being not respected
- Change password recover error message
Xtheme¶
- Make Xtheme plugins translatable
- Allow addons to inject resources
- Editor improvements
- Fix a crash when trying to revert unsaved configuration
Classic Gray Theme¶
- Basket: Hide line base price when it’s not positive
- Show product media at order history and product detail pages
- Add language changer to navigation
- Add possibility for other future brand colors
- Add carousel styles for Bootstrap carousel
- Unvendor fonts
- Show maintenance mode for super user
- Fix logo text line height
- Add new placeholders
- Footer CMS Pages field are no longer required
- Update label for footer links to avoid confusion
Default Theme¶
- Remove Default theme from Shoop Base. Moved to https://github.com/shoopio/shoop-simple-theme
Campaigns¶
- Fix admin list view sorting
General/miscellaneous¶
- Add Transifex configuration for the
tx
command - Add verbose names to all model and form fields
- Do unit testing from doctests too
- Update Python package dependencies
- Lock down JavaScript dependencies
- Code style improvements
- Add configuration for Travis CI
- Include JS and CSS source maps to the Python package
- Cleanup tax TODOs
- Move apply_request_middleware to testing
- Documentation: Tune Sphinx settings and ignore migrations in API docs
- Fix Eslint complaints
- Make sure that bower is ran non-interactively
Version 2.0.0¶
Released on 2015-10-05 16:45 +0300.
Admin¶
- Add basic Manufacturer views
- Basic Supplier management
- Add image field for category
- Fix issue with price not being saved
- Optionally disable creating shops
- Add “Product Media” tab to product editing
- Tabify translated fields
- Variation UI styles
- Media Browser Rehaul
- Add
ImageChoiceWidget
- Actually send
data-filter
to media browser from browse widgets - Admin form error indicators
- Add keyboard shortcuts to megasearch
- Show first language tab with errors
- Update styles for admin form error indicators
- Show errors more clearly
- Make folder clicks work at media browser
- Fix paths of generated source maps
- Add styles for bootstrap input-group
- Time interval attribute now renders as
DecimalField
- Notify: Add better error handling for “step edit”-popup
- Better variation error handling
- Fix issue where visibility errors caused an error
- Update admin category view
- Admin datetimepicker
Core¶
- Rework
SimplePricing
and pricing in general - Add non-ASCII support for supplier name
- Fix checking of duplicate settings
- Add new fields to shop core
- Add
DiscountPricingModule
- Fix PriceInfo usage with non-one quantities
- Fix shoop.core.migrations.0006
- Tax clean-up and refactoring
- Prevent
Shop
being deleted when image was deleted
Front¶
- An all-new dynamic theming system, Xtheme
- Classic Gray: A new slick theme built on the Xtheme system
- Add ordering for cross sells template helper
- Fix
get_root_categories
performance - Maintenance mode
- template_helpers: Fix get_pagination_variables
- Ensure user is logged in after activating account
- Customer URL now requires login
- Add support for Complex variations
- Add Default ErrorHandling
- Fix issue with variation children being listed for admin user
- Front: Fix issue with variation children visible in search results
General/miscellaneous¶
- Run ESLint on all the things!
- Prunes, manifests
- PEP8ify
- Various fixes
- Tests: Make test_user_detail_contact_seed not fail randomly
- Miscellaneous tiny fixes
- Fixes
- Cms duplicate
- Embetter patterns
- Saner sanity tools
- Workbench: Allow overriding couple settings from env
Version 1.2.0¶
Released on 2015-08-24 17:30 +0300.
- Admin: Polyfill forms to ensure IE support
- Fix uniqueness of some InternalIdentifierFields
- Namely identifier field of Attribute, OrderStatus, ProductVariationVariable and ProductVariationVariableValue
- Admin: Show payment details in order views
- Coding Style: Clean-up and sort all imports
- Fix usages of too-direct imports of models
- Fix some unicode/bytes issues by adding “unicode_literals” imports
- Admin layout fixes
- Update telemetry admin layout and add translations tags
- Change the attributes icon from product edit to the right one
- Move attributes in product type edit to it’s own tab
- Hide browser native horizontal scrollbar from main menu
- Admin: Product image management
- Admin: Product Variation management
- Front: Add cross-sells to product detail page in default template
- Admin: Fix menu scrolling
- Upgrade Python and npm dependencies
- Admin: Shop management
- Front: Add link to admin panel in default template
- Admin: Fix product attributes getting cleared unless they were edited
- Admin: Product Sales Unit management
- Admin: Add ProductChoiceWidget for selecting Products
- Admin: Product cross-sell management
- Admin: Styling: Add borders to bootstrap select
- Admin: Fix showing details of a CompanyContact
- Admin: Fix showing current addresses in contact details
Version 1.1.0¶
Released on 2015-07-03 12:30 +0300.
- Improve “Getting Started with Shoop Development” documentation
- Add a basic REST API for reading/writing products and reading orders
- Use the database to store shopping baskets by default
- Implement pluggable shopping basket storage backends
- Implement basic contact group admin
- Add telemetry (usage statistics) system
- Add Dockerfile
- Improve admin login flow
- Document settings; make documentation builds available on ReadTheDocs
- Make release packaging much more robust
- Generate order keys in a secure manner
- Trim admin search strings
- Embetter admin order layouts
- Create the Shop as active with
shoop_init
management command - Fix usages of
Category.get_ancestors()
in templates - Remove Stripe integration (shoop.stripe)
- It now lives in https://github.com/shoopio/shoop-stripe
- Core: Declare correct
required_installed_apps
in AppConfig - Fix handling of tuple-format
required_installed_apps
- Fix Money class to not read settings at instance creation
- Fix management command
shoop_show_settings
for Python 3 - Add Addon documentation (doc/addons.rst)