Metadata-Version: 1.1
Name: django-pg-badges
Version: 0.1
Summary: Create badge for your django user with postgresql triggers
Home-page: https://github.com/boblefrag/django-pg-badges
Author: Yohann Gabory
Author-email: boblefrag@gmail.com
License: MIT License
Description: Badges are earned by users for meeting some `conditions` defined
        in the badge.json file
        
        A Badge object (database model) is then created linking a user to a badge.
        
        conditions
        ----------
        
        Condition is a sql check to be made for awarding a badge.
        
        You have access to the variable NEW if you set the `trigger_contition`
        to "update" or "insert". This is the database object after update or insert.
        
        You have access to the variable OLD if you set the `trigger_contition`
        to "update" or "delete". This is the database object after update or delete.
        
        
        triggers
        --------
        
        We want the badges to be given as soon as a condition is meet. Even if
        the event come from an event outside the Django application.
        
        We do not want to relly on celery to periodicaly check for badges
        
        - Too often : this is a performance bootleneck
        - Too late : annoying for users
        
        The check for each badge is checked when "something" change.
        
        To create the database triggers that will be responsible for badge earning run:
        
        >>> python manage.py create_badge_triggers
        
        When you change `badge.json` (adding, updating or deleting badges) run this commande to reflect those changes in the database.
        
        badge.json example
        ------------------
        ```
        [{"name": "Pionner",
        "code": "pionner",
        "condition": "age(NEW.date_joined) > interval '1 year'",
        "trigger_condition": "update",
        "trigger_table": "auth_user",
        "user_field": "id"
        },
        {"name": "Collector",
        "code": "collector"
        "condition": "count(id) >= 5 from dummy_sketch where user_id = NEW.user_id",
        "trigger_condition": "insert",
        "trigger_table": "dummy_sketch",
        "user_field": "user_id"
        },
        {"name": "Star",
        "code": "star",
        "condition": "hit_views > 1000 ",
        "trigger_condition": "update",
        "trigger_table": "dummy_sketch",
        "user_field": "user_id"
        }]
        ```
        `name` is the name of the badge as it will be displayed in the front or the API.
        
        `code` is th unique code name of the badge
        
        `condition` is the query that will be issued to check if the badge
        should be earned
        
        `trigger_contition` tell when the check must be made. One of insert,
        update or delete
        
        INSTALL
        =======
        
        see `INSTALL` file for instructions.
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
