Skip to content
Commits on Oct 11, 2012
  1. @elbaschid @codeinthehole

    Add fix for OrderDiscount model when offer deleted

    elbaschid committed with codeinthehole
    The OrderDiscount did not store (a copy) of the offer
    name within a separate field which causes an issue when the
    offer is deleted. E.g. it breaks the order history view for
    the customer because no offer data is available.
    I have added a new field to OrderDiscount that is automatically
    populated from the field. This works in the same way
    as voucher_code does in the same model.
    I also found two issues with the voucher implementation within
    the same model that are fixed now.
    Fixes #330
  2. @codeinthehole
Commits on Oct 1, 2012
  1. @elbaschid @codeinthehole

    Check for existing email when updating profile

    elbaschid committed with codeinthehole
    A user in Oscar is identified by email address instead of the
    username. This is, however, not set as a ``unique`` constraint
    in the user model in ``django.contrib.auth.models.User``. Checks
    if an email already exists are carried out when a user registers
    but are ignored when a registered user changes their
    profile. This can lead to multiple users having the same email
    address which should not happen.
    I provide a failing test with a mixin that can be used in both
    the ``UserForm`` and ``UserAndProfileForm`` to clean the email
    field when validating the form. A ``ValidationError`` is raised
    when a user with this email address already exists and is not
    the currently edited instance (makes sure that profile updates
    with unchanged email work still).
    Fixes #324
  2. @codeinthehole
Commits on Sep 28, 2012
  1. @codeinthehole

    Major rewrite of stock alerts

    codeinthehole committed
    * They are now known as 'stock alerts' instead of notifications.
    * They have been moved into the customer app largely (instead of their
      own one).
    * The model implementation has been simplified.
  2. @elbaschid @codeinthehole

    Add first version of stock alerts

    elbaschid committed with codeinthehole
    This is a squashed, rebased version of the original branch.
    Original commit messages:
    * product notifications are visible *only* if a product is not in stock
    * or does not have a stock record (a new product).
    * an anonymous user can sign up for a notification of a product. They
    * receive a confirmation link that they have to open to activate their
    * sign up. An anonymous user does not have any means of managing their
    * notifications in a list. The confirmation email contains a second
    * link, however, with a *unsubscribe* link that allows for disabling of
    * the notification.
    * a registered user can sign up for notifications without having to
    * confirm it. When a registered user signs up for a notification, the
    * "Notify Me" button disappears from the product information and is
    * replaced by a note stating that the user has already signed up.
    * registered users can manage (activate/deactivate) their notifications
    * in their account settings.
    * an anonymous user that has signed up for notifications and creates an
    * account will pull in their notifications and have them assigned to
    * their account and are then no longer marked as anonymous
    * the notifications app registers a receiver for the ``post_save``
    * signal of ``StockRecord``. Whenever a stock record is updated, the
    * notifications are checked for this particular product and emails are
    * sent out. These notifications are then disabled (not deleted) and
    * marked with the date the email was sent. This hides the message from
    * the registered users account. Notifications are still accessible,
    * however, for staff members in the dashboard
    * In the dashboard, the ``Customers`` navigation node is extended with a
    * ``Notifications`` child that allows for editing, deleting and viewing
    * all notifications. It also provides filtering capabilities for them
    * based on status, customer name, customer email and/or product keyword.
Commits on Sep 25, 2012
  1. @codeinthehole

    Turns out there are empty strings being passed to the currency filter

    codeinthehole committed
    So we add handling to the filter where we check the value can be
    converted to a valid decimal.  If not, return an empty string.
    Fixes #316
  2. @codeinthehole

    Merge pull request #315 from elbaschid/fix/broken_stockrecord_test

    codeinthehole committed
    UPC validation is now working correctly
  3. @codeinthehole

    Add integration test for currency templatetag

    codeinthehole committed
    Plus fix a bug when handling None.
  4. @elbaschid

    UPC validation is now working correcly

    elbaschid committed
    The previous UPC validation in ``ProductForm`` broke updating the
    a product. I realised this while digging around to fix the broken
    ``StockRecord`` issue that broke the CI build.
    The validation now uses Django's validation of ``unique`` fields
    instead and works.
    The ``StockRecord`` issue was related to creating a form in the
    update view providing stock record data in POST with ``partner``
    empty. I corrected that and added a test case for it.
Commits on Sep 24, 2012
  1. @elbaschid @codeinthehole

    Add validation check for duplicate UPCs

    elbaschid committed with codeinthehole
    Attempting to create a new product with a UPC that already exists
    raises an ``IntegrityError`` instead of handling the ``ProductForm``
    as an invalid form with an appropriate ``ValidationError``.
    I fixed that by adding a ``clean_upc`` validation method to the
    form by checking for an existing product by UPC. I am not sure if
    that is the most efficient way to validate this. If there's a
    better alternative, I am happy to change it...and learn something
    **Note:** I switched the functional tests in ````
    to use ``WebTest`` while I was at it.
  2. @codeinthehole

    Offers can now have their max applications controlled

    codeinthehole committed
    Added new field to offer that allows their max num applications to be
    controlled.  Dashboard adjusted to support this too.
  3. @codeinthehole

    Rework the clean() method of the add-to-basket form

    codeinthehole committed
    This fixes a bug with adding customised products to the basket, where
    the clean method would get a MultipleObjectsReturned exception as the
    lookup wasn't taking options into account.
    Also fixed a display issue with required options in basket forms.
Commits on Sep 19, 2012
  1. @codeinthehole

    Merge pull request #307 from elbaschid/fix/communication_event_email_…

    codeinthehole committed
    Fix issue with sending order related messages using Dispatcher
  2. @codeinthehole

    Merge pull request #288 from elbaschid/fix/work_with_aware_datetimes

    codeinthehole committed
    makes Oscar work with aware AND naive datetimes based on USE_TZ
  3. @elbaschid
Commits on Sep 17, 2012
  1. @elbaschid

    Merge remote-tracking branch 'upstream/master' into fix/work_with_awa…

    elbaschid committed
Commits on Sep 14, 2012
  1. @codeinthehole
  2. @codeinthehole
Commits on Sep 13, 2012
  1. @codeinthehole

    Adjust default lead time to be None

    codeinthehole committed
    It's potentially confusing to have it default to a value as you might
    miss this in your project.
  2. @codeinthehole
Commits on Sep 12, 2012
  1. @codeinthehole

    Smooth journey for buying a digital product

    codeinthehole committed
    This involves:
    * Better checkout templates
    * Updated availability logic for products with no stock
    * Updated dashboard templates
  2. @codeinthehole

    Added better support for digital products.

    codeinthehole committed
    * New attribute on product class
    * Optimised checkout for digital goods
  3. @codeinthehole
  4. @codeinthehole

    Refactor offers for clarity and profit

    codeinthehole committed
    This is a major clean-up of offers, tidying up the implementations and
    rewriting the test suite.  This should also clean up some edge cases
    around the use of max_affected_items.
Commits on Sep 11, 2012
  1. @codeinthehole
  2. @codeinthehole
Commits on Sep 10, 2012
  1. @codeinthehole
  2. @codeinthehole

    Merge pull request #294 from jerzyk/master

    codeinthehole committed
    Remove django 1.4 depreciation warnings
  3. @codeinthehole
  4. @codeinthehole
Commits on Sep 8, 2012
  1. cleanup django 1.4 depreciation

    Janusz Harkot committed
Commits on Sep 5, 2012
  1. @elbaschid

    makes Oscar work with aware AND naive datetimes based on USE_TZ

    elbaschid committed
    * replaces all occurences of ```` with
        ```` which returns aware or naive
        datetimes based on ``USE_TZ``
    * increases ``South`` version to 0.7.6 in dependencies to make
        aware datetimes work in migrations.
    * Oscar's sandbox is now configured to use aware timezones by
Commits on Aug 29, 2012
  1. @codeinthehole

    Rework customer functional tests

    codeinthehole committed
    * Tests now split into more coherent modules
    * Added IDs to forms to help WebTest
    * Some refactoring along the way
Commits on Aug 24, 2012
  1. @codeinthehole

    Merge pull request #273 from elbaschid/fix/product_create_view

    codeinthehole committed
    fixed error in dashboard when editting products without stock records
Something went wrong with that request. Please try again.