معرفی شرکت ها


django-ya-model-publisher-0.7.0.dev0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Publisher workflow for django models and Django CMS pages.
ویژگی مقدار
سیستم عامل -
نام فایل django-ya-model-publisher-0.7.0.dev0
نام django-ya-model-publisher
نسخه کتابخانه 0.7.0.dev0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Jens Diemer
ایمیل نویسنده model-ya-publisher@jensdiemer.de
آدرس صفحه اصلی https://github.com/wearehoods/django-ya-model-publisher
آدرس اینترنتی https://pypi.org/project/django-ya-model-publisher/
مجوز BSD
==================================== Django (yet another) Model Publisher ==================================== Publisher workflow for django models and Django CMS pages. This is a fork of `andersinno/django-model-publisher-ai <https://github.com/andersinno/django-model-publisher-ai>`_ which is a fork of the origin `jp74/django-model-publisher <https://github.com/jp74/django-model-publisher>`_. +-----------------------------------+--------------------------------------------------------+ | |Build Status on travis-ci.org| | `travis-ci.org/wearehoods/django-ya-model-publisher`_ | +-----------------------------------+--------------------------------------------------------+ | |Coverage Status on codecov.io| | `codecov.io/gh/wearehoods/django-ya-model-publisher`_ | +-----------------------------------+--------------------------------------------------------+ | |Coverage Status on coveralls.io| | `coveralls.io/r/wearehoods/django-ya-model-publisher`_ | +-----------------------------------+--------------------------------------------------------+ .. |Build Status on travis-ci.org| image:: https://travis-ci.org/wearehoods/django-ya-model-publisher.svg .. _travis-ci.org/wearehoods/django-ya-model-publisher: https://travis-ci.org/wearehoods/django-ya-model-publisher/ .. |Coverage Status on codecov.io| image:: https://codecov.io/gh/wearehoods/django-ya-model-publisher/branch/develop/graph/badge.svg .. _codecov.io/gh/wearehoods/django-ya-model-publisher: https://codecov.io/gh/wearehoods/django-ya-model-publisher .. |Coverage Status on coveralls.io| image:: https://coveralls.io/repos/wearehoods/django-ya-model-publisher/badge.svg .. _coveralls.io/r/wearehoods/django-ya-model-publisher: https://coveralls.io/r/wearehoods/django-ya-model-publisher -------- Features -------- * Django CMS page support. * Add request/reject buttons in Django CMS toolbar. * Django CMS placeholders support. * Hvad/Parler support. * Restrict user access to publish functions with user permissions. --------- base info --------- We have these three user types: * A user with only a few rights (we call it **'reporter'**) * A user with more rights (We call it **'editor'**) * The superuser with all rights The user case is following: * **'reporter'**: * can only change draft content * can't change public content * can't delete publisher model entries or CMS pages. * can send a *(un-)publish request* to the 'editor' with a text node. * **'editor'**: * can response open publishing request from 'reporter'. * can change drafts and public content, but only if there is no pending request. * can delete publisher model entries or CMS pages. * can't delete/manipulate publisher state model entries. ----------- permissions ----------- Permissions for **'reporter'** who can only create *(un-)publish requests*: :: ... [ ] cms.publish_page ... [*] cms.add_page [*] cms.change_page [ ] cms.delete_page ... [ ] publisher.add_publisherstatemodel [*] publisher.change_publisherstatemodel [ ] publisher.delete_publisherstatemodel ... [ ] <app_name>.can_publish_<model_name> ... [*] <app_name>.add_<model_name> [*] <app_name>.change_<model_name> [ ] <app_name>.delete_<model_name> ... Permissions for **'editor'** who can *accept/reject (un-)publish requests*: :: ... [*] cms.publish_page ... [*] cms.add_page [*] cms.change_page [*] cms.delete_page ... [ ] publisher.add_publisherstatemodel [*] publisher.change_publisherstatemodel [ ] publisher.delete_publisherstatemodel ... [*] <app_name>.can_publish_<model_name> ... [*] <app_name>.add_<model_name> [*] <app_name>.change_<model_name> [*] <app_name>.delete_<model_name> ... **Important**: To prevent a privilege escalation, both users must **not** have access to these models: * django.contrib.auth.models.Permission * django.contrib.auth.models.Group * cms.models.PagePermission ----------- Test users: ----------- See user permission tests in: * `publisher_tests.test_basics.PermissionTestCase <https://github.com/wearehoods/django-ya-model-publisher/blob/master/publisher_tests/test_basics.py>`_ ------------------------------ Primary key type compatibility ------------------------------ The ``publisher.models.PublisherStateModel`` used a ``PositiveIntegerField`` for the ``GenericForeignKey`` so it can only be used for models with a integer primary keys! See also: `https://docs.djangoproject.com/en/1.11/ref/contrib/contenttypes/#django.contrib.contenttypes.fields.GenericForeignKey <https://docs.djangoproject.com/en/1.11/ref/contrib/contenttypes/#django.contrib.contenttypes.fields.GenericForeignKey>`_ -------------------- Django compatibility -------------------- +---------------------------+------------+----------------------+--------------------+ | django-ya-model-publisher | django cms | django version | python | +===========================+============+======================+====================+ | >=v0.6.x | 3.4.x | 1.11 | 3.5, 3.6 | +---------------------------+------------+----------------------+--------------------+ | >=v0.5.x | 3.4.x | 1.8, 1.9, 1.10, 1.11 | 3.5, 3.6 | +---------------------------+------------+----------------------+--------------------+ | v0.4.x | 3.4.x | 1.8, 1.9, 1.10, 1.11 | 2.7, 3.4, 3.5, 3.6 | +---------------------------+------------+----------------------+--------------------+ Note: See travis/tox config files for current test matrix Currently Django CMS v3.5 is not supported, yet. It's on the TODO, see: `issues #10 <https://github.com/wearehoods/django-ya-model-publisher/issues/10>`_ --------- run tests --------- run tests via *py.test* with current python/environment: :: $ make test or $ ./setup.py test or $ python tests/manage.py test myapp run test via *tox* e.g.: :: $ make tox or $ ./setup.py tox or $ tox run test project ================ You can run the test environment by: :: $ ./run_test_project_dev_server.sh or: :: $ ./publisher_test_project/manage.py run_test_project_dev_server The following steps will be executed: * Create django users if not exists: * A django **'superuser'** * The user **editor**: He can accept/reject un-/publish requests * The user **reporter**: He can create un-/publish requests * note: Both users will used the same password as the 'superuser' ! * run migration * insert test fixtures (Create Django CMS pages) * collect static files * run the django development server on localhost You can pass arguments to the helper script, e.g.: :: $ ./run_test_project_dev_server.sh --help ... usage: manage.py run_test_project_dev_server [-h] [--version] [-v {0,1,2,3}] [--settings SETTINGS] [--pythonpath PYTHONPATH] [--traceback] [--no-color] [--ipv6] [--nothreading] [--noreload] [--nostatic] [--insecure] [addrport] ... To 'reset' the test fixtures, run this: :: $ ./publisher_test_project/manage.py create_test_data --fresh For a complete fresh database, just remove the sqlite file, e.g.: :: $ rm publisher_test_project/publisher_test_database.sqlite3 ------------------------------ Backwards-incompatible changes ------------------------------ v0.7.0 ====== ``PublisherCmsViewMixin, PublisherCmsDetailView, PublisherCmsListView`` moved from: ``publisher.views`` to: ``publisher_cms.views`` v0.6.0 ====== The permission names changed! Please update your django user permissions, too. These permissions are removed: * direct_publisher * ask_publisher_request * reply_publisher_request Please read the information above. ------- history ------- * *dev* `compare v0.7.0...master <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.7.0...master>`_ * v0.7.0 - 22.02.2018 - `compare v0.6.9...v0.7.0 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.6.9...v0.7.0>`_ * Backwards-incompatible changes (see above) * Remove support for Django 1.8 * NEW: Add publish links to Django CMS toolbar in ``PublisherCmsDetailView`` * Change ``PublisherPageToolbar`` link text and add "page" to them (to differentiate them better from ``PublisherCmsDetailView`` links) * v0.6.9 - 01.02.2018 - `compare v0.6.8...v0.6.9 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.6.8...v0.6.9>`_ * Bugfix ``AttributeError: 'PublisherPageToolbar' object has no attribute 'current_request'`` if superuser edit a cms page * v0.6.8 - 01.02.2018 - `compare v0.6.7...v0.6.8 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.6.7...v0.6.8>`_ * Fix `#9 Redirect after "request publishing" <https://github.com/wearehoods/django-ya-model-publisher/issues/9>`_ * Add reply/history Links in Django CMS Toolbar (specially for page with pending requests) * v0.6.7 - 31.01.2018 - `compare v0.6.6...v0.6.7 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.6.6...v0.6.7>`_ * NEW: 'History' view in admin (e.g.: see status/history of closed request and status for users that can only create requests) * No 404 when "reply" closed requests or deleted instance. * v0.6.6 - 30.01.2018 - `compare v0.6.5...v0.6.6 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.6.5...v0.6.6>`_ * Bugfix: redirect after "Request publishing" can result in a 404, see: `issues #9 <https://github.com/wearehoods/django-ya-model-publisher/issues/9>`_ * v0.6.5 - 30.01.2018 - `compare v0.6.4...v0.6.5 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.6.4...v0.6.5>`_ * Bugfix: Missing "Request publishing" toobar link on new created pages * Add username list on test pages * v0.6.4 - 29.01.2018 - `compare v0.6.3...v0.6.4 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.6.3...v0.6.4>`_ * Hide PublisherStateModel admin actions for all non-superusers * v0.6.3 - 26.01.2018 - `compare v0.6.2...v0.6.3 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.6.2...v0.6.3>`_ * Security Fix: User without 'can_publish' permission can accept/reject requests. * Hide 'change' PublisherStateModel admin view for all non-superusers * Disable 'add' PublisherStateModel admin view for all users * v0.6.2 - 02.01.2018 - `compare v0.6.1...v0.6.2 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.6.1...v0.6.2>`_ * Handle publishes states with deletes instance: Add a admin view to close the request. * Bugfix: deny editing pending request objects * Create messages after (un-)/publish request created. * v0.6.1 - 28.12.2017 - `compare v0.6.0...v0.6.1 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.6.0...v0.6.1>`_ * remove own "unique_together": Add ``"publisher_is_draft"`` to your own "unique_together" tuple * remove out dated manage command "update_permissions" (can be found in `django-tools <https://github.com/jedie/django-tools>`_) * v0.6.0 - 27.12.2017 - `compare v0.5.1...v0.6.0 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.5.1...v0.6.0>`_ * refactor permissions and publisher workflow * NEW: ``publisher.views.PublisherCmsViewMixin`` * NEW: ``publisher.admin.VisibilityMixin`` * bugfix django v1.11 compatibility * Expand tests with ``publisher_test_project.publisher_list_app`` * v0.5.1 - 20.12.2017 - `compare v0.5.0...v0.5.1 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.5.0...v0.5.1>`_ * fix python package (add missing parts) * change travis/tox/pytest configuration * minor code update * v0.5.0 - 19.12.2017 - `compare v0.4.1...v0.5.0 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.4.1...v0.5.0>`_ * Skip official support for python v2.7 and v3.4 (remove from text matrix) * Implement "request/reject/accept publishing" workflow with a shot messages and logging * Add "request/reject/accept publishing" buttons to Django CMS toolbar for cms pages. * v0.4.1 - 14.11.2017 - `compare v0.4.0.dev1...v0.4.1 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.4.0.dev1...v0.4.1>`_ * Refactor test run setup * bugfix project name * v0.4.0.dev1 - 14.11.2017 - `compare v0.3.1...v0.4.0.dev1 <https://github.com/wearehoods/django-ya-model-publisher/compare/v0.3.1...v0.4.0.dev1>`_ * Just create the fork and apply all pull requests from `andersinno/django-model-publisher-ai/pull/14 <https://github.com/andersinno/django-model-publisher-ai/pull/14>`_ ----- links ----- +---------------+-----------------------------------------------------------+ | Homepage | `http://github.com/wearehoods/django-ya-model-publisher`_ | +---------------+-----------------------------------------------------------+ | PyPi.org | `https://pypi.org/project/django-ya-model-publisher/`_ | +---------------+-----------------------------------------------------------+ | PyPi (legacy) | `http://pypi.python.org/pypi/django-ya-model-publisher/`_ | +---------------+-----------------------------------------------------------+ .. _http://github.com/wearehoods/django-ya-model-publisher: http://github.com/wearehoods/django-ya-model-publisher .. _https://pypi.org/project/django-ya-model-publisher/: https://pypi.org/project/django-ya-model-publisher/ .. _http://pypi.python.org/pypi/django-ya-model-publisher/: http://pypi.python.org/pypi/django-ya-model-publisher/ -------- donation -------- * `paypal.me/JensDiemer <https://www.paypal.me/JensDiemer>`_ * `Flattr This! <https://flattr.com/submit/auto?uid=jedie&url=https%3A%2F%2Fgithub.com%2Fwearehoods%2Fdjango-ya-model-publisher%2F>`_ * Send `Bitcoins <http://www.bitcoin.org/>`_ to `1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6F <https://blockexplorer.com/address/1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6F>`_


زبان مورد نیاز

مقدار نام
>=3.5 Python


نحوه نصب


نصب پکیج whl django-ya-model-publisher-0.7.0.dev0:

    pip install django-ya-model-publisher-0.7.0.dev0.whl


نصب پکیج tar.gz django-ya-model-publisher-0.7.0.dev0:

    pip install django-ya-model-publisher-0.7.0.dev0.tar.gz