Skip to main content

Extra criterions for LFS

Project description

Added more criterions to lfs based shop


installation is simple

pip install lfs-criterion-extra


pip install git+

After instalation of the package you should add lfs_criterion_extra to INSTALLED_APPS before lfs app. This is because, this app overwrite lfs templates.

After that you needed to add tables in db

python syncdb

That`s all.


lfs-criterion-extra patch lfs criterions modules to support new criterions. After patching you may use several new criterions:

  • OrderCountCriterion
    checks closed order count of request.user
  • GroupCriterion
    checks request.user is in saved group(s)
  • CategoryCriterion
    checks product or products in cart are in saved categories
  • ProductCriterion
    checks product or products in cart are in saved list of products
  • OrderCompositionCriterion
    checks that in cart
  • DiscountCriterion
    checks that saved discounts are valid or unvalid
  • OrderSummCriterion
    checks closed order summ of prices
  • ManufacturerCriterion
    checks product`s manufacturer is in saved list of manufacturers
  • TimeCriterion
    checks now time to compare with saved time
  • CartAmountCriterion
    checks cart amount
  • MaxWeightCriterion
    chacks max weight of the products in cart
  • ForSaleCriterion
    checks product or products in cart are for_sale
  • ManualDeliveryTimeCriterion
    checks product or products in cart are with manual delivery time
  • FullUserCriterion (AdvancedUserCriterion)
    added ability to check that user is anonymous or not.
  • ProfitCriterion (not worked with base lfs, needed prices from supplier)
    checks product profit

You may choose new criterions from criterion`s tab of delivery and payment methods.

Added own criterions

You may inherit Criterion or NumberCriterion

from lfs_criterion_extra.models import Criterion, NumberCriterion

class FooCriterion(NumberCriterion):

foo = models.DecimalField(‘FOO’)

‘may be other model fields’

value_attr = ‘foo’ # from that attribute get value to compare content_type = ‘foo’ # internal id of the criterion name = ‘Foo’ # displayable value

def is_valid(self, request, product=None):
how_many_foo =‘foo’) return self.test_value(how_many_foo)

that`s all, your criterion is appeared in the criterion list.


  • move to lfs.criterion.core (merge or move to lfs 0.8)
  • write tests

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for lfs_criterion_extra, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size (29.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page