{ "info": { "author": "Tim White", "author_email": "tim@cyface.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP" ], "description": "===========================\nDjango Terms and Conditions\n===========================\n\n.. image:: https://badge.fury.io/py/django-termsandconditions.svg\n :target: http://badge.fury.io/py/django-termsandconditions\n :alt: PyPi Package Version\n\n.. image:: https://travis-ci.org/cyface/django-termsandconditions.svg?branch=master\n :target: https://travis-ci.org/cyface/django-termsandconditions\n :alt: Travis Build Status\n\n.. image:: https://coveralls.io/repos/github/cyface/django-termsandconditions/badge.svg?branch=master\n :target: https://coveralls.io/github/cyface/django-termsandconditions?branch=master\n :alt: Coveralls Code Coverage\n\n.. image:: https://scrutinizer-ci.com/g/cyface/django-termsandconditions/badges/quality-score.png?b=master\n :target: https://scrutinizer-ci.com/g/cyface/django-termsandconditions/\n :alt: Scrutinizer Code Quality\n\n.. image:: https://readthedocs.org/projects/django-termsandconditions/badge/?version=latest\n :target: http://django-termsandconditions.readthedocs.org/en/latest/?badge=latest\n :alt: Documentation Status\n \n.. image:: https://pyup.io/repos/github/cyface/django-termsandconditions/shield.svg\n :target: https://pyup.io/repos/github/cyface/django-termsandconditions/\n :alt: Updates\n\nDjango Terms and Conditions gives you an configurable way to send users to a T&C acceptance page before they\ncan access the site.\n\nContributors:\n\n- Tim White (tim@cyface.com)\n- Adibo (https://github.com/adibo)\n- Nathan Swain (https://github.com/swainn)\n\n.. contents:: Table of Contents\n\nFeatures\n========\n\nThis module is meant to be as quick to integrate as possible, and thus extensive customization will likely benefit from a fork. That said, a number of options are available. Currently, the app allows for\n\n- terms-and-conditions versioning (via version_number)\n- multiple terms-and-conditions allowed (via slug field)\n- per-user terms-and-conditions acceptance\n- middleware to take care of redirecting to proper terms-and-conditions acceptance page upon the version change\n- multi-language support\n\nInstallation\n============\n\nFrom `pypi `_::\n\n $ pip install django-termsandconditions\n\nor::\n\n $ easy_install django-termsandconditions\n\nor clone from `github `_::\n\n $ git clone git://github.com/cyface/django-termsandconditions.git\n\nand add django-termsandconditions to the ``PYTHONPATH``::\n\n $ export PYTHONPATH=$PYTHONPATH:$(pwd)/django-termsandconditions/\n\nor::\n\n $ cd django-termsandconditions\n $ sudo python setup.py install\n\nDemo App\n========\nThe termsandconditions_demo app is included to quickly let you see how to get a working installation going.\n\nThe demo is built as a mobile app using `jQueryMobile `_ loaded from the jQuery CDN.\n\nTake a look at the ``requirements.txt`` file in the ``termsandconditions_demo`` directory for a quick way to use pip to install\nall the needed dependencies::\n\n $ pip install -r requirements.txt\n\nThe ``settings_main.py``, file has a working configuration you can crib from.\n\nThe templates in the ``termsandconditions/templates``, and ``termsandconditions_demo/templates`` directories\ngive you a good idea of the kinds of things you will need to do if you want to provide a custom interface.\n\nConfiguration\n=============\n\nConfiguration is minimal for termsandconditions itself, A quick guide to a basic setup\nis below, take a look at the demo app's settings.py for more details.\n\nSome useful settings:\n * `TERMS_IP_HEADER_NAME` Name of header to check for IP address. Defaults to 'REMOTE_ADDR'. You might need to use 'HTTP_X_FORWARDED_FOR', or other headers in proxy setups.\n * `TERMS_STORE_IP_ADDRESS` - True/False whether to store IPs with Terms Acceptance\n\nRequirements\n------------\n\nThe app needs ``django>=1.8.3,<2.1``.\n\nAdd INSTALLED_APPS\n------------------\n\nAdd termsandconditions to installed applications::\n\n INSTALLED_APPS = (\n ...\n 'termsandconditions',\n )\n\nAdd urls to urls.py\n-------------------\n\nIn your urls.py, you need to pull in the termsandconditions and/or termsandconditions urls::\n\n # Terms and Conditions\n url(r'^terms/', include('termsandconditions.urls')),\n\nTerms and Conditions\n====================\n\nYou will need to set up a Terms and Conditions entry in the admin (or via direct DB load) for users to accept if\nyou want to use the T&C module.\n\nTerms and Conditions Versioning\n-------------------------------\nNote that the versions and dates of T&Cs are important. You can create a new version of a T&C with a future date,\nand once that date is in the past, it will force users to accept that new version of the T&Cs.\n\nTerms and Conditions Middleware\n-------------------------------\nYou can force protection of your whole site by using the T&C middleware. Once activated, any attempt to access an\nauthenticated page will first check to see if the user has accepted the active T&Cs. This can be a performance impact,\nso you can also use the _TermsAndConditionsDecorator to protect specific views, or the pipeline setup to only check on\naccount creation.\n\nHere is the middleware configuration::\n\n MIDDLEWARE_CLASSES = (\n ...\n 'termsandconditions.middleware.TermsAndConditionsRedirectMiddleware',\n\nBy default, some pages are excluded from the middleware, you can configure exclusions with these settings::\n\n ACCEPT_TERMS_PATH = '/terms/accept/'\n TERMS_EXCLUDE_URL_PREFIX_LIST = {'/admin/',})\n TERMS_EXCLUDE_URL_LIST = {'/', '/terms/required/', '/logout/', '/securetoo/'}\n TERMS_EXCLUDE_URL_CONTAINS_LIST = {}\n\nTERMS_EXCLUDE_URL_PREFIX_LIST is a list of 'starts with' strings to exclude, while TERMS_EXCLUDE_URL_LIST is a list of\nexplicit full paths to exclude. TERMS_EXCLUDE_URL_CONTAINS_LIST is a list of url fragments to check, if the url 'contains' that string, it is excluded. This can be particularly useful for i18n, where your url could get prepended with a language code.\n\nYou can also define a setting TERMS_EXCLUDE_USERS_WITH_PERM to exclude users with a custom permission you create yourself.::\n\n TERMS_EXCLUDE_USERS_WITH_PERM = 'MyModel.can_skip_terms'\n\nThis can be useful if you need to run continuous login integration tests or simply exclude specific users from having to accept your T&Cs.\nNote that we exclude superusers from this check due to Django's has_perm() method returning True for any permission check, so adding this\npermission to a superuser has no effect.\n\nTerms and Conditions Cache\n--------------------------\nTo speed performance, especially for the middleware, the terms and their acceptance are cached.\n\nYou can control how long they are cached (or if they are cached at all) with this setting::\n\n TERMS_CACHE_SECONDS = 30\n\nA numeric value is the number of seconds that the terms and their acceptance should be cached (default 30). If set to 0, values will never be cached.\n\nTerms and Conditions View Decorator\n-----------------------------------\nYou can protect only specific views with T&Cs using the @terms_required() decorator at the top of a function like this::\n\n from termsandconditions.decorators import terms_required\n\n @login_required\n @terms_required\n def terms_required_view(request):\n ...\n\nNote that you can skip @login_required only if you are forcing auth on that view in some other way.\n\nRequiring T&Cs for Anonymous Users is not supported.\n\nMany of the templates extend the 'base.html' template by default. The TERMS_BASE_TEMPLATE setting can be used to specify a different template to extend::\n\n TERMS_BASE_TEMPLATE = 'page.html'\n\nA bare minimum template that can be used is the following::\n\n \n \n \n [My Title]\n {% block styles %}{% endblock %}\n \n \n \n
\n

{% block title %}{% endblock %}

\n {% block content %}{% endblock %}\n
\n \n \n \nTerms and Conditions Template Tag\n---------------------------------\n\nTo facilitate support of terms changes without a direct redirection to the ``/terms/accept`` url, a template tag is\nsupplied for convenience. Thus, instead of using e.g. the ``TermsAndConditionsRedirectMiddleware`` one can use the\ntemplate tag. The template tag will take care that a proper modal is shown to the user informing a user that new terms\nhave been set and need to be accepted. To use the template tag, do the following. In your template (for example in\nbase.html), include the following lines::\n\n {% load terms_tags %}\n .... your template here ....\n\n {% show_terms_if_not_agreed %}\n\nAlternatively use::\n\n {% load terms_tags %}\n .... your template here ....\n\n {% show_terms_if_not_agreed field='HTTP_REFERER' %}\n\nif you want other than default ``TERMS_HTTP_PATH_FIELD`` to be used (this can also be controlled via settings, see below).\nThis will ensure that on every page using the template (that is on each page using base.html in this case), respective\nT&C css and js are loaded to take care for handling the modal.\n\nThe modal will show the basic information about the new terms as well as a link to page which enables the user to\naccept these terms. Please note that a user may wish not to accept terms and close the modal. In such a case, the\nmodal will be shown again as soon as another view with the template including the template tag is called.\nThis simple mechanism allows to nag users with new T&C while still allowing them to use the service, without instant\nredirections.\n\nThe following configuration setting applies for the template tag::\n\n TERMS_HTTP_PATH_FIELD = 'PATH_INFO'\n\nwhich defaults to ``PATH_INFO``. When needed (e.g. while using a separate AJAX view to take care for the modal) this can be changed to ``HTTP_REFERER``.\n\nUsing terms with as_template filter\n-----------------------------------\nIf you happen to use termsandconditions which text field includes some template tags (e.g. ``{% url 'you-url' %}``),\nyou may want to render its content, before including it into your template. To achieve this goal, use ``include`` with the\n``as_template`` filter, i.e.::\n\n {% load terms_tags %}\n .... your template here ....\n\n {% include terms|as_template %}\n\nNote, that you need to modify the default termsandconditions templates, as the default ones use terms as template variable.\n\nTerms and Conditions Pipeline\n-----------------------------\nYou can force T&C acceptance when a new user account is created using the django-socialauth pipeline::\n\n SOCIAL_AUTH_PIPELINE = (\n 'social_auth.backends.pipeline.social.social_auth_user',\n 'social_auth.backends.pipeline.associate.associate_by_email',\n 'social_auth.backends.pipeline.user.get_username',\n 'social_auth.backends.pipeline.user.create_user',\n 'social_auth.backends.pipeline.social.associate_user',\n 'social_auth.backends.pipeline.social.load_extra_data',\n 'social_auth.backends.pipeline.misc.save_status_to_session',\n 'termsandconditions.pipeline.user_accept_terms',\n )\n\nNote that the configuration above also prevents django-socialauth from updating profile data from the social backends\nonce a profile is created, due to::\n\n 'social_auth.backends.pipeline.user.update_user_details'\n\n...not being included in the pipeline. This is wise behavior when you are letting users update their own profile details.\n\nThis pipeline configuration will send users to the '/terms/accept' page right before sending them on to whatever you\nhave set SOCIAL_AUTH_NEW_USER_REDIRECT_URL to. However, it will not, without the middleware or decorators described\nabove, check that the user has accepted the latest T&Cs before letting them continue on to viewing the site.\n\nYou can use the various T&C methods in concert depending on your needs.\n\nMulti-Language Support\n======================\nIn case you are in need of your ``termsandconditions`` objects to handle multiple languages, we recommend to use\n``django-modeltranslation `` (or similar) module.\nIn case of django-modeltranslation the setup is rather straight forward, but needs several steps. Here they are.\n\n1. Modify your ``settings.py``\n------------------------------\n\nIn your ``settings.py`` file, you need to specify the ``LANGUAGES`` and set ``MIGRATION_MODULES`` to point to a local\nmigration directory for the ``termsandconditions`` module (the migration due to modeltranslation will live there)::\n\n LANGUAGES = (\n ('en', 'English'),\n ('pl', 'Polish'),\n )\n\n MIGRATION_MODULES = {\n # local path for migration for the termsandconditions\n 'termsandconditions': 'your_app.migrations.migrations_termsandconditions',\n }\n\nDon't forget to create the respective directory and the ``__init__.py`` file there!\nPlease note that ``migrations_termsandconditions`` directory name is used to avoid confusion with the T&C app name.\n\n2. Make initial local migration\n-------------------------------\n\nAs we switch to the local migration for the ``termsandconditions`` module, we need to execute initial migration\nfor the module (as a starting point). Thus::\n\n python manage.py makemigrations termsandconditions\n\nThe relevant initial migration file should now be in ``your_app/migrations/migrations_termsandconditions`` directory.\nNow, just execute the migration::\n\n python manage.py migrate termsandconditions\n\n3. Add translation\n------------------\n\nTo translate terms-and-conditions model to other languages (as specified in ``settings.py``), create a ``translation.py``\nfile in your project, with the following content::\n\n from modeltranslation.translator import translator, TranslationOptions\n from termsandconditions.models import TermsAndConditions\n\n class TermsAndConditionsTranslationOptions(TranslationOptions):\n fields = ('name', 'text', 'info')\n translator.register(TermsAndConditions, TermsAndConditionsTranslationOptions)\n\nThis assumes you want to have 3 most relevant model fields translated.\nAfter that you just need to make migrations again (to account for new fields due to modeltranslation)::\n\n python manage.py makemigrations termsandconditions\n\nThat's it. Your model is now ready to cover the translations! Just as hint we suggest to also include some\ndata migration in order to populate newly created, translated fields (i.e. ``name_en``, ``name_pl``, etc.) with\nthe initial data (e.g. by copying the content of the base field, i.e. ``name``, etc.)", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cyface/django-termsandconditions", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-termsandconditions", "package_url": "https://pypi.org/project/django-termsandconditions/", "platform": "", "project_url": "https://pypi.org/project/django-termsandconditions/", "project_urls": { "Homepage": "https://github.com/cyface/django-termsandconditions" }, "release_url": "https://pypi.org/project/django-termsandconditions/1.2.15/", "requires_dist": null, "requires_python": "", "summary": "django-termsandconditions is a Django app that enables users to accept terms and conditions of a site.", "version": "1.2.15" }, "last_serial": 5663249, "releases": { "0.1.4": [ { "comment_text": "", "digests": { "md5": "7baa7a29a188804a989e74668165fde8", "sha256": "229fdd4c0fa727d6e8276b8a3c8b996326d6f11a7ba0dcfe897e9d323752c110" }, "downloads": -1, "filename": "django-termsandconditions-0.1.4.tar.gz", "has_sig": false, "md5_digest": "7baa7a29a188804a989e74668165fde8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11388, "upload_time": "2012-07-15T20:40:50", "url": "https://files.pythonhosted.org/packages/aa/73/5e370e87ac6f4b0d9f896d67fe8d949b0e7f690f1c47948400b4b5df53d2/django-termsandconditions-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "cdac940b342772116af5e731c81a5b63", "sha256": "b792aca37e3315b6bc96f28b6fadd24f5284f26947ea9b283538dfaa1f3eb3ad" }, "downloads": -1, "filename": "django-termsandconditions-0.1.5.tar.gz", "has_sig": false, "md5_digest": "cdac940b342772116af5e731c81a5b63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12144, "upload_time": "2015-08-15T23:06:47", "url": "https://files.pythonhosted.org/packages/89/e7/31698969b4a947f76e0b3bbe19d49af030075b5206008a2af5fd491ff90d/django-termsandconditions-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "e25ab673ff341dc9d9b25d16d6efbffb", "sha256": "62f4bf3d1a4dd14668c6001efe45da35f6940df4fa1656be5a85e8a480a55b47" }, "downloads": -1, "filename": "django-termsandconditions-0.1.6.tar.gz", "has_sig": false, "md5_digest": "e25ab673ff341dc9d9b25d16d6efbffb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20347, "upload_time": "2015-11-05T15:22:35", "url": "https://files.pythonhosted.org/packages/2e/8a/7e6f0b1f2316a7a2f565840018a3e7a6ee310de409c21e6a91900b62b58a/django-termsandconditions-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "6552e0598261a159c5a401f6c6c3cf0e", "sha256": "13a24fef25c274496fd4c89ff2303e56aab2aa6fca74de0492cc56020fdda9bf" }, "downloads": -1, "filename": "django-termsandconditions-0.1.7.tar.gz", "has_sig": false, "md5_digest": "6552e0598261a159c5a401f6c6c3cf0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20448, "upload_time": "2015-11-24T15:29:17", "url": "https://files.pythonhosted.org/packages/fe/e3/eceddf5bad0978160c0e5fc84945831548ad455e2aab97026a2e88e127b7/django-termsandconditions-0.1.7.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "715ce8d247f41f43b5ebe8182a5b318d", "sha256": "24da5b08d94a5d314661ec076153d77bdfee9a539484f37e67e9768d1e34f023" }, "downloads": -1, "filename": "django-termsandconditions-1.1.tar.gz", "has_sig": false, "md5_digest": "715ce8d247f41f43b5ebe8182a5b318d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20433, "upload_time": "2015-12-29T04:52:01", "url": "https://files.pythonhosted.org/packages/6d/f9/70f5f47b4a0ab830f7943e55c14f938c6a3ed2bb2d4d53bb241f4f21600b/django-termsandconditions-1.1.tar.gz" } ], "1.1.10": [ { "comment_text": "", "digests": { "md5": "f444ad016004ab5a3048fa103beb7968", "sha256": "9f5544b78f4ee161c4108f9316ea694fe07272acdc7039b49015c473c7278403" }, "downloads": -1, "filename": "django-termsandconditions-1.1.10.tar.gz", "has_sig": false, "md5_digest": "f444ad016004ab5a3048fa103beb7968", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23557, "upload_time": "2016-10-25T22:18:23", "url": "https://files.pythonhosted.org/packages/7e/d4/567f3909dc265f3469421b5ace63a8fcd8aff846bd22b395919945a3044e/django-termsandconditions-1.1.10.tar.gz" } ], "1.1.11": [ { "comment_text": "", "digests": { "md5": "cac7264dd3917db72cf50c669c0b53ee", "sha256": "d7c52ba98b3bb0b8a35555e6d6b1d2b83992e7b51e578e4d63340e7c07e36feb" }, "downloads": -1, "filename": "django-termsandconditions-1.1.11.tar.gz", "has_sig": false, "md5_digest": "cac7264dd3917db72cf50c669c0b53ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23561, "upload_time": "2017-05-10T22:19:08", "url": "https://files.pythonhosted.org/packages/42/f2/52e88ff1f702c7cd481791fd52177807f8e3ae905d1194265acc125b780f/django-termsandconditions-1.1.11.tar.gz" } ], "1.1.12": [ { "comment_text": "", "digests": { "md5": "f0b23f345e4b2f75079677e5efd4b1bc", "sha256": "1e1eeabe7b4077e98333523723581ba1f0876cb1c6237050a04d49f5e89204bf" }, "downloads": -1, "filename": "django-termsandconditions-1.1.12.tar.gz", "has_sig": false, "md5_digest": "f0b23f345e4b2f75079677e5efd4b1bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23448, "upload_time": "2017-06-08T15:39:57", "url": "https://files.pythonhosted.org/packages/30/1a/7dbbda63497adf095bb5a5fdaa715dd37324fd62d56147a17df936887633/django-termsandconditions-1.1.12.tar.gz" } ], "1.1.13": [ { "comment_text": "", "digests": { "md5": "f660df556ce004b0d99e30dc830e5ac0", "sha256": "2181fc2b249b742485c1d8a6934cac36d4c4c4f6259aff1ddb7271f87e94a8bf" }, "downloads": -1, "filename": "django-termsandconditions-1.1.13.tar.gz", "has_sig": false, "md5_digest": "f660df556ce004b0d99e30dc830e5ac0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23424, "upload_time": "2017-06-27T18:34:37", "url": "https://files.pythonhosted.org/packages/00/30/a6f2bae339a75288afa544e255a42e655d7e6431df94870975fcac6adc63/django-termsandconditions-1.1.13.tar.gz" } ], "1.1.14": [ { "comment_text": "", "digests": { "md5": "b27e78c20b0ec3d43cc4a070c2de65f2", "sha256": "4aa653981be5dd6b15fb76cd64e1b9a57980fc113d4cf9499494c9c951fecb1b" }, "downloads": -1, "filename": "django-termsandconditions-1.1.14.tar.gz", "has_sig": false, "md5_digest": "b27e78c20b0ec3d43cc4a070c2de65f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23406, "upload_time": "2017-06-28T13:28:34", "url": "https://files.pythonhosted.org/packages/34/92/7c87c1e9b3fe0050ac3ff3e57f378f93a7e7ec6b113b5e4643725f2c8940/django-termsandconditions-1.1.14.tar.gz" } ], "1.1.15": [ { "comment_text": "", "digests": { "md5": "df215da7cf6f4ef614cdd23998dbfc4d", "sha256": "49d1596406ca121ec05efa1740f6029ecfd100d60388a58ea6d719d11a196cb0" }, "downloads": -1, "filename": "django-termsandconditions-1.1.15.tar.gz", "has_sig": false, "md5_digest": "df215da7cf6f4ef614cdd23998dbfc4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23428, "upload_time": "2017-08-25T16:23:31", "url": "https://files.pythonhosted.org/packages/ef/3e/38d5004af351352db229711d26035d060f2809289583d378c410ce4a4ab1/django-termsandconditions-1.1.15.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "e92c8ab4ddf04e50cee47cf39fa9c735", "sha256": "441e98f5b1227e16419bd8eca027fd2b2630a1c4d0fcd3d31c99dcbc1bc05d45" }, "downloads": -1, "filename": "django-termsandconditions-1.1.2.tar.gz", "has_sig": false, "md5_digest": "e92c8ab4ddf04e50cee47cf39fa9c735", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21482, "upload_time": "2016-01-20T20:35:47", "url": "https://files.pythonhosted.org/packages/48/c7/95d9f0d847476d1cac76b9ab5ccb9d5615a8eef2886dde6196b93a036c5c/django-termsandconditions-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "5faf28754639f9b79751295f9fdb0024", "sha256": "93f9927f933e486642f14c56e4348a09ab4d949a150ebdfe1500f7c44c835c97" }, "downloads": -1, "filename": "django-termsandconditions-1.1.3.tar.gz", "has_sig": false, "md5_digest": "5faf28754639f9b79751295f9fdb0024", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21539, "upload_time": "2016-03-17T15:45:22", "url": "https://files.pythonhosted.org/packages/2c/8e/3473284e201197d8a0bc44946fe09b35968be24685b6b2527987e9133414/django-termsandconditions-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "ff9b0e09337ab8bc85b4d95373a7188d", "sha256": "83147dcf0ed47815d9b5e79f79aaba1715acce94bfb4909775b07aa7995f00a5" }, "downloads": -1, "filename": "django-termsandconditions-1.1.4.tar.gz", "has_sig": false, "md5_digest": "ff9b0e09337ab8bc85b4d95373a7188d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21823, "upload_time": "2016-03-18T18:14:45", "url": "https://files.pythonhosted.org/packages/b8/07/2dd0fef7fac478e68f2a354b88fae5e21407fef6743394b5b0a196913c01/django-termsandconditions-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "8299f9d5614065b80b487e2949d71a12", "sha256": "62ecfb2dcd9ce2ba19c24dc963509b572610eeab0634b280de6ab75067acdfa8" }, "downloads": -1, "filename": "django-termsandconditions-1.1.5.tar.gz", "has_sig": false, "md5_digest": "8299f9d5614065b80b487e2949d71a12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21890, "upload_time": "2016-06-01T16:16:29", "url": "https://files.pythonhosted.org/packages/a0/12/754c9b2d7660f1431925f59e62fa3c97983ef04d8a53a8f567ae145e0289/django-termsandconditions-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "574470af7f3a28568c57de77946e690e", "sha256": "c30e9a6cb381e73a62a4a044b6db4fff9dfbfb2db31c800d708bb3adebe8833f" }, "downloads": -1, "filename": "django-termsandconditions-1.1.6.tar.gz", "has_sig": false, "md5_digest": "574470af7f3a28568c57de77946e690e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21913, "upload_time": "2016-06-06T03:39:55", "url": "https://files.pythonhosted.org/packages/b5/d5/9b9314c41c9b903d8caa030f79aab2bcc42fe4e50a4b70da7a4b5f65012c/django-termsandconditions-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "b9dbbd04ce189a2fa103cce6327d8439", "sha256": "0438948bdcd0dc44d2905175d5ab91fdc6bcca4c69df17cb2e781730b0cbace6" }, "downloads": -1, "filename": "django-termsandconditions-1.1.7.tar.gz", "has_sig": false, "md5_digest": "b9dbbd04ce189a2fa103cce6327d8439", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22007, "upload_time": "2016-06-06T04:45:42", "url": "https://files.pythonhosted.org/packages/d8/be/9ef85a57447975b5baf01d77503d1043097f81a598b1bd5d97af47908046/django-termsandconditions-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "6865b534e119c9a85f5d63cc27194a36", "sha256": "e3999b1ae1e54f3e03f8c0216f26bc4d928448303c693487cfc72918447c86cc" }, "downloads": -1, "filename": "django-termsandconditions-1.1.8.tar.gz", "has_sig": false, "md5_digest": "6865b534e119c9a85f5d63cc27194a36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22166, "upload_time": "2016-06-07T14:47:33", "url": "https://files.pythonhosted.org/packages/6a/dc/c01e5fb900e39fa340952ee14e9e79389e7486c5c66d595463a9eec3d00f/django-termsandconditions-1.1.8.tar.gz" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "b052c7d3701d8e4e655b32ef63ddc645", "sha256": "17b36077477430eaa80637d1169806670b2aeb27dbca6d88a819df77287c143b" }, "downloads": -1, "filename": "django-termsandconditions-1.1.9.tar.gz", "has_sig": false, "md5_digest": "b052c7d3701d8e4e655b32ef63ddc645", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23503, "upload_time": "2016-08-11T18:43:05", "url": "https://files.pythonhosted.org/packages/a4/f4/65bb41d1ee0ac3a7a5a90814a5f3c314bdb6d15a4900f4bf16cdabbef96f/django-termsandconditions-1.1.9.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "d049d7f2d7f541230e45f9a8a4700ac1", "sha256": "8eb710aa59deddcc0932ab91aef684e59fc4fffce8eab9e6e94ad23a3d804cfb" }, "downloads": -1, "filename": "django-termsandconditions-1.2.tar.gz", "has_sig": false, "md5_digest": "d049d7f2d7f541230e45f9a8a4700ac1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24017, "upload_time": "2017-10-26T17:00:17", "url": "https://files.pythonhosted.org/packages/5d/6a/ea0a9b2d6957db8d4bd7b3bef1be892e1cfb54f707c5ae5ac497ec92e1be/django-termsandconditions-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "01a0348a147a1aa455615a7ea6f0793f", "sha256": "d2d046b1901c3bb8397501dc249f6d365c13a1046885351394aed7ec8ac1c137" }, "downloads": -1, "filename": "django-termsandconditions-1.2.1.tar.gz", "has_sig": false, "md5_digest": "01a0348a147a1aa455615a7ea6f0793f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24065, "upload_time": "2017-10-27T15:19:17", "url": "https://files.pythonhosted.org/packages/4c/49/206e86b885074a81fcc68c2b8b906e9d2719962320d93a7e1ea482b57a88/django-termsandconditions-1.2.1.tar.gz" } ], "1.2.10": [ { "comment_text": "", "digests": { "md5": "98e35a5a943fe807c3539fb98789e2bc", "sha256": "e9ff24d3a08c4eb9a56bda4d39c3a56cd8b029d2ac35595f9931db8f76154f25" }, "downloads": -1, "filename": "django-termsandconditions-1.2.10.tar.gz", "has_sig": false, "md5_digest": "98e35a5a943fe807c3539fb98789e2bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25321, "upload_time": "2018-03-19T16:56:05", "url": "https://files.pythonhosted.org/packages/24/b3/6340bd925fce67b6417c7967b489580df485baaf5e26259451bbfa601475/django-termsandconditions-1.2.10.tar.gz" } ], "1.2.11": [ { "comment_text": "", "digests": { "md5": "d8a72df7bba6329c37d7478786042564", "sha256": "e4de569ca2f5c054f0e22d4e8fd71ce9d8a3e9e741e0795e8d063b3d8320ef03" }, "downloads": -1, "filename": "django-termsandconditions-1.2.11.tar.gz", "has_sig": false, "md5_digest": "d8a72df7bba6329c37d7478786042564", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26234, "upload_time": "2018-06-07T15:11:11", "url": "https://files.pythonhosted.org/packages/7d/ff/9ff14ce5d2c059441f42b668e1485044435ca2e1f00f6ff534a1eabd8f04/django-termsandconditions-1.2.11.tar.gz" } ], "1.2.12": [ { "comment_text": "", "digests": { "md5": "637b049b9dfa2e0fdd3d7249c320718c", "sha256": "f0888b22feefb17be5abf689075d2157a3631165a0d5e60d77b27426eeb316de" }, "downloads": -1, "filename": "django-termsandconditions-1.2.12.tar.gz", "has_sig": false, "md5_digest": "637b049b9dfa2e0fdd3d7249c320718c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26373, "upload_time": "2018-08-03T17:28:35", "url": "https://files.pythonhosted.org/packages/9d/c8/e26f987995e4daef01fa49b87c8c4d0998cac1a1f7965c348f79f3475161/django-termsandconditions-1.2.12.tar.gz" } ], "1.2.13": [ { "comment_text": "", "digests": { "md5": "540da39346b5e53d16916aa695b8b39f", "sha256": "225745656bddf49c8dc643e22c3ae1045e0a6defbc16551bafa328685b394e77" }, "downloads": -1, "filename": "django-termsandconditions-1.2.13.tar.gz", "has_sig": false, "md5_digest": "540da39346b5e53d16916aa695b8b39f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26419, "upload_time": "2018-11-23T17:32:31", "url": "https://files.pythonhosted.org/packages/45/23/bc0bb1e3f225d0e0713b4eab899a916c8f9dac7d4fd6a11d38614c397073/django-termsandconditions-1.2.13.tar.gz" } ], "1.2.15": [ { "comment_text": "", "digests": { "md5": "52156c2692266ba835643f08e8825f64", "sha256": "fd1b3cd21f35d38a5721bdf74cf551913581f0406801eec36d8abe66b969c221" }, "downloads": -1, "filename": "django-termsandconditions-1.2.15.tar.gz", "has_sig": false, "md5_digest": "52156c2692266ba835643f08e8825f64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21504, "upload_time": "2019-08-11T20:58:05", "url": "https://files.pythonhosted.org/packages/2c/8a/68a1164c329caadf157487830e36d0fb3bf631521be540ce5d97bfffb979/django-termsandconditions-1.2.15.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "8c7329c5a9b1667cf9f1df06cb913bda", "sha256": "d35f21f1b919b2007ac214519d3b7efd4759c7258135f56c467fe8092ec5fdb4" }, "downloads": -1, "filename": "django-termsandconditions-1.2.2.tar.gz", "has_sig": false, "md5_digest": "8c7329c5a9b1667cf9f1df06cb913bda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24318, "upload_time": "2017-10-28T20:47:09", "url": "https://files.pythonhosted.org/packages/7a/92/9eda9b64decd4344899bed244ffecc9720cbda24a2a43e2216bf8bc5075c/django-termsandconditions-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "efc9b00921bb91f4bed36a1ea30eeb76", "sha256": "6f6e11d9d29a9724dfd1112796eeeacd598682e693ab7a5295c9e3adf1b562da" }, "downloads": -1, "filename": "django-termsandconditions-1.2.3.tar.gz", "has_sig": false, "md5_digest": "efc9b00921bb91f4bed36a1ea30eeb76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24224, "upload_time": "2017-10-28T22:21:19", "url": "https://files.pythonhosted.org/packages/82/a5/81c4b74bb53aaee3909b4449bfdbe6764d09c4013271353bde79c61def36/django-termsandconditions-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "e0ea1e100cabb8d53d82f145520b31e3", "sha256": "4f48efeab0d6d3f2ac50091eb132306cb4d28272f6691e1c392d6f5a0eb28816" }, "downloads": -1, "filename": "django-termsandconditions-1.2.4.tar.gz", "has_sig": false, "md5_digest": "e0ea1e100cabb8d53d82f145520b31e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24236, "upload_time": "2017-10-29T04:02:02", "url": "https://files.pythonhosted.org/packages/59/8f/2d4f9489b63637ae65b2a0c4b70597cb4f83b8f8fed86bc13e9210ea4dc4/django-termsandconditions-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "673a1b474164c4ff66e623e8690f09f5", "sha256": "acfde0663d325c8b92d6d6c579d0018b758cae9a631197046cecf711e33e4dfc" }, "downloads": -1, "filename": "django-termsandconditions-1.2.5.tar.gz", "has_sig": false, "md5_digest": "673a1b474164c4ff66e623e8690f09f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24245, "upload_time": "2017-10-30T14:38:20", "url": "https://files.pythonhosted.org/packages/ee/78/3f7aa18190c1dc688d3527083f32ecd37f1820a0c3ba74214cec0d0a8143/django-termsandconditions-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "a6812b499080c4a776f2152d3751b503", "sha256": "4c1d2f110a351d4d603fa63161fe5726f41c81ab22c597ac0166ae72bdf6d4ef" }, "downloads": -1, "filename": "django-termsandconditions-1.2.6.tar.gz", "has_sig": false, "md5_digest": "a6812b499080c4a776f2152d3751b503", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24277, "upload_time": "2017-11-07T15:42:42", "url": "https://files.pythonhosted.org/packages/54/f8/93b4149d3fc2588b76c222275a6a5bd877f260af977386afbb0f20734a03/django-termsandconditions-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "9d233e06e6667d2c6db61109b3678dfb", "sha256": "6e7673fd998c11e5e7d7cb98d494a5cc0e1086407af1305ffa206183ea0c0eee" }, "downloads": -1, "filename": "django-termsandconditions-1.2.7.tar.gz", "has_sig": false, "md5_digest": "9d233e06e6667d2c6db61109b3678dfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24371, "upload_time": "2017-12-18T20:56:52", "url": "https://files.pythonhosted.org/packages/17/d1/7e1b59168039a75ceb7fe3ec05914ac6bdff2a6ed2c226294f76ecf8bc51/django-termsandconditions-1.2.7.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "62fc4796254f85d7cf0025c274496562", "sha256": "e0c444c8c5e4dcea438f6b05c57c496ca63aa31a4f11805830bc6373e7a0157c" }, "downloads": -1, "filename": "django-termsandconditions-1.2.8.tar.gz", "has_sig": false, "md5_digest": "62fc4796254f85d7cf0025c274496562", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25231, "upload_time": "2017-12-21T16:15:18", "url": "https://files.pythonhosted.org/packages/00/40/cdeb49258e4376a140f90bd331b848987a9130f41c2db7ed890a6d84dfba/django-termsandconditions-1.2.8.tar.gz" } ], "1.2.9": [ { "comment_text": "", "digests": { "md5": "25e6c8f1acadd1f5b697bd9f01ba1fc5", "sha256": "2b73e627f88655810074f1591fa7f9b57a5070b85476e87efc382bf73b318683" }, "downloads": -1, "filename": "django-termsandconditions-1.2.9.tar.gz", "has_sig": false, "md5_digest": "25e6c8f1acadd1f5b697bd9f01ba1fc5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25346, "upload_time": "2018-03-19T15:15:25", "url": "https://files.pythonhosted.org/packages/49/3b/31a7adcebc12764da1aca613d91a7a000ec10e4574e7adf351102c34c03e/django-termsandconditions-1.2.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "52156c2692266ba835643f08e8825f64", "sha256": "fd1b3cd21f35d38a5721bdf74cf551913581f0406801eec36d8abe66b969c221" }, "downloads": -1, "filename": "django-termsandconditions-1.2.15.tar.gz", "has_sig": false, "md5_digest": "52156c2692266ba835643f08e8825f64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21504, "upload_time": "2019-08-11T20:58:05", "url": "https://files.pythonhosted.org/packages/2c/8a/68a1164c329caadf157487830e36d0fb3bf631521be540ce5d97bfffb979/django-termsandconditions-1.2.15.tar.gz" } ] }