Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Oct 11, 2012
  1. @elbaschid @codeinthehole

    Add fix for OrderDiscount model when offer deleted

    elbaschid authored codeinthehole committed
    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 offer.name 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 authored codeinthehole committed
    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 authored
    * 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 authored codeinthehole committed
    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 authored
    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 authored
    UPC validation is now working correctly
  3. @codeinthehole

    Add integration test for currency templatetag

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

    UPC validation is now working correcly

    elbaschid authored
    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 authored codeinthehole committed
    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 ``product_tests.py``
    to use ``WebTest`` while I was at it.
  2. @codeinthehole

    Offers can now have their max applications controlled

    codeinthehole authored
    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 authored
    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 authored
    …sending
    
    Fix issue with sending order related messages using Dispatcher
  2. @codeinthehole

    Merge pull request #288 from elbaschid/fix/work_with_aware_datetimes

    codeinthehole authored
    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 authored
    …re_datetimes
    
    Conflicts:
    	oscar/apps/dashboard/ranges/models.py
Commits on Sep 14, 2012
  1. @codeinthehole
  2. @codeinthehole
Commits on Sep 13, 2012
  1. @codeinthehole

    Adjust default lead time to be None

    codeinthehole authored
    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 authored
    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 authored
    * New attribute on product class
    * Optimised checkout for digital goods
  3. @codeinthehole
  4. @codeinthehole

    Refactor offers for clarity and profit

    codeinthehole authored
    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 authored
    Remove django 1.4 depreciation warnings
  3. @codeinthehole
  4. @codeinthehole
Commits on Sep 8, 2012
  1. cleanup django 1.4 depreciation

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

    makes Oscar work with aware AND naive datetimes based on USE_TZ

    elbaschid authored
    * replaces all occurences of ``datetime.now()`` with
        ``django.utils.timezone.now()`` 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
        default
Commits on Aug 29, 2012
  1. @codeinthehole

    Rework customer functional tests

    codeinthehole authored
    * 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 authored
    fixed error in dashboard when editting products without stock records
Something went wrong with that request. Please try again.