Metadata-Version: 1.0
Name: django-dynamic-rules
Version: 0.1.4
Summary: Allows you to create dynamic rules related to a particular model
Home-page: https://github.com/imtapps/django-dynamic-rules
Author: Matthew J. Morrison & Aaron Madison
Author-email: mattjmorrison@mattjmorrison.com
License: UNKNOWN
Description: 
        Sometimes when you develop apps for other people, they like to
        define their own sets of "rules".
        
        For example, one customer might say the value of a certain field on
        a model might be valid when it is between 100 and 1000. Another customer
        might consider the same field valid only when the value is between
        500 and 1000.
        
        That kind of validation is extremely difficult to do in a modelform's
        clean method like you would if you knew beforehand what the valid values
        were supposed to be.
        
        This app lets you create some boundaries for various arbitrary parameters
        that are tied to some other arbitrary model. Each customer can then define
        what the rule parameters will be for their particular organization.
        
        
        Usage:
        First create a file called dynamic_actions.
        Inside dynamic actions, you must register your rule class
        with the dynamic_rules site.
        
        The rule class must have the following attributes:
          key: a string to identify the rule class with the registry
          display_name: a name to use for the admin_form to show a readable name
          fields: a dictionary of field_names, and django form classes. This declares
                  the parameters available.
        
        Additionally, the rule class must accept a rule_model and model_to_check
        as initialization arguments, and have a run method that accepts
        *args and **kwargs.
        
        To see the dynamic rules in action, syncdb from this project and fire
        up the admin. Create a rule tied to group_object_id: 1 (i.e. customer 1)
        and content type: 'customer'
        
        Add a ModelToCheck model from the sample app that has a value that
        violates your rule. Check the runserver console and see that the
        violation printed.
        
        This is best used in conjunction with django-dynamic-validation which lets you
        track and store violations to the rules, or django-dynamic-manipulation
        which lets you manipulate other data because of a triggered rule.
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
