Shoop Change Log

Shoop 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 and OrderSource

  • Add get_company_contact to shoop.core.models

  • Implement taxing of lines without tax class

  • Add new abstract method get_taxed_price to TaxModule

  • Add ShopProduct.is_visible

  • Add Order.can_edit

  • Update shipping status correctly in Order.create_shipment

  • Add OrderModifier for modifying orders with OrderSource

  • Add option use Order.create_shipment with unsaved Shipment

  • 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 to Order

  • Add is_canceled and can_set_canceled to Order

  • Fix bug: Convert Shipment weight to kilograms

  • Make create_shipment for order atomic

  • Add shipment_created signal

  • Add get_tracking_codes to shoop.core.models.Order

  • Add weight based pricing behavior component

  • Add total_gross_weight property for Source

  • 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 to Contact

  • Add first_name and last_name fields to PersonContact

  • 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 under order_creator

  • Move calculate_taxes_automatically from OrderSource to TaxModule

  • 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 in OrderLineType enum to DISCOUNT

  • 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 to shoop.core.pricing

  • Add get_suppliable_products to shoop.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 to AdminModule

  • 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 for ContactGroup 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

Shoop 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

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

Shoop 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

Shoop 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

Shoop 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)

  • 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)

Shoop 1.0.0

Released on 2015-06-04 16:30 +0300.

  • The first Open Source version of Shoop.