Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Miscellaneous tools/helpers for django CMS.
Look also at the siblings project: django-tools <https://github.com/jedie/django-tools>
_ (Tools/helpers around Django).
+-----------------------------------+------------------------------------------------------+
| |Build Status on travis-ci.org| | travis-ci.org/jedie/django-cms-tools
_ |
+-----------------------------------+------------------------------------------------------+
| |Coverage Status on codecov.io| | codecov.io/gh/jedie/django-tools
_ |
+-----------------------------------+------------------------------------------------------+
| |Coverage Status on coveralls.io| | coveralls.io/r/jedie/django-cms-tools
_ |
+-----------------------------------+------------------------------------------------------+
| |Status on landscape.io| | landscape.io/github/jedie/django-cms-tools/master
_ |
+-----------------------------------+------------------------------------------------------+
.. |Build Status on travis-ci.org| image:: https://travis-ci.org/jedie/django-cms-tools.svg .. _travis-ci.org/jedie/django-cms-tools: https://travis-ci.org/jedie/django-cms-tools/ .. |Coverage Status on codecov.io| image:: https://codecov.io/gh/jedie/django-cms-tools/branch/master/graph/badge.svg .. _codecov.io/gh/jedie/django-tools: https://codecov.io/gh/jedie/django-cms-tools .. |Coverage Status on coveralls.io| image:: https://coveralls.io/repos/jedie/django-cms-tools/badge.svg .. _coveralls.io/r/jedie/django-cms-tools: https://coveralls.io/r/jedie/django-cms-tools .. |Status on landscape.io| image:: https://landscape.io/github/jedie/django-cms-tools/master/landscape.svg .. _landscape.io/github/jedie/django-cms-tools/master: https://landscape.io/github/jedie/django-cms-tools/master
Add a anchor menu to a CMS page.
More info in: django_cms_tools/plugin_anchor_menu/README.creole <https://github.com/jedie/django-cms-tools/tree/master/django_cms_tools/plugin_anchor_menu#readme>
_
A app to create landing pages.
More info in: django_cms_tools/plugin_landing_page/README.creole <https://github.com/jedie/django-cms-tools/tree/master/django_cms_tools/plugin_landing_page#readme>
_
django_cms_tools.unittest_utils.add_cms_plugin.TestAddPluginTestCase
- TestCase to test "add CMS plugin via admin"
e.g.:
::
$ ./manage.py generate_add_plugin_test_code plugin_anchor_menu.AnchorPlugin
from django_cms_tools.unittest_utils.add_cms_plugin import TestAddPluginTestCase
class AddPluginTestCase(TestAddPluginTestCase):
"""
Tests for plugin_anchor_menu.AnchorPluginModel
Based on a skeleton generated via:
./manage.py generate_add_plugin_test_code plugin_anchor_menu.AnchorPlugin
"""
def test_anchorplugin_de_1(self):
# plugin name in de: 'Anchor'
self.create_plugin(
language_code = "de",
plugin_parent=None,
plugin_type="AnchorPlugin",
title='dummy text no. 0', # CharField, String (up to 254)
slug='dummy-text-no-0', # SlugField, Slug (up to 255)
)
response = self.assert_plugin(
language_code="de",
must_contain_html=[
"<XXX></XXX>", # TODO: Add plugin html output here!
],
must_contain=[
"dummy text no. 0",
],
template_name="anchor_menu/anchor.html",
)
def test_anchorplugin_de_2(self):
...
List all existing plugins by calling:
./manage.py list_page_by_plugin
To display CMS-Plugin usage, add the plugin name as argument, e.g.:
./manage.py list_page_by_plugin TextPlugin
django_cms_tools.unittest_utils.assertments
contains CMS related test assertments:
assert_public_cms_app_namespaces()
- Check if given namespaces exists.
assert_public_cms_page_urls()
- Check if given urls exist.
Helper for creating Django CMS pages in test fixtures:
Class *django_cms_tools.fixtures.pages.*CmsPageCreator can be used for create normal/plugin CMS pages. Inherit from the class and overwrite attributes/methods for your need ;) Example, look into the Test code.
Source: django_cms_tools/fixtures/pages.py <https://github.com/jedie/django-cms-tools/blob/master/django_cms_tools/fixtures/pages.py>
_
Test/Example: /tests/test_fixtures_pages.py <https://github.com/jedie/django-cms-tools/blob/master/tests/test_fixtures_pages.py>
_
Create CMS home page in all existing languages (settings.LANGUAGES
) and fill placeholder with TextPlugin, use:
Create CMS plugin page in all existing languages (settings.LANGUAGES
) and add a link to the index page.
Activate by change your settings.py, e.g.:
::
INSTALLED_APPS = [
...
'django_cms_tools.filer_tools',
...
]
Display information about the number of existing, missing and ignored images. And a summary about all used images. usage:
::
$ ./manage.py image_info
34 items - foo.Bar
34 instanced checked:
0 exist 0 missing 34 ignored - foo.BarModel.meta_image
34 exist 0 missing 0 ignored - foo.BarModel.filer_overview_image
...
total:
existing images..: 6171
missing images...: 0
-------------------------------------------------------------------------------
Collect all filer IDs...
File: 2 entries
Image: 2 entries
Information about File:
Total entry count: 8042 entries.
Used entry count: 2 entries.
Total size: 13.8 GB
Used size: 997.5 KB
Information about Image:
Total entry count: 6993 entries.
Used entry count: 2 entries.
Total size: 13.7 GB
Used size: 997.5 KB
(Note: 'File' contains 'Image' ;)
Replace all not existing files files with a given filer ID.
e.g.: You would like to make a clone of a existing installation, but without to move the real files:
#. make a DB dump on the source system
#. insert the DB dump the the cloned system
#. log into django admin of the new cloned version
#. upload a "dummy.jpg" filer image
#. write down the filer image ID (e.g.: 123)
#. start: $ ./manage.py replace_broken 123
The export_filer_images stores all used filer image files to disk. e.g.:
::
$ ./manage.py export_filer_images my_backups
Activate e.g.:
::
INSTALLED_APPS = [
...
'django_cms_tools',
...
]
It looks like:
::
$ ./manage.py template_info
There are 3 public pages:
pk:1 /en/ /foo/homepage.html
pk:2 /en/foo/ INHERIT
pk:3 /en/foo/bar/ INHERIT
Activate e.g.:
::
INSTALLED_APPS = [
...
'django_cms_tools',
...
]
It looks like:
::
$ ./manage.py cms_plugin_info
There are 4 CMS plugins:
'Django CMS Tools Test'
* RelatedPlugin (Related Plugin)
'Generic'
* PlaceholderPlugin (Placeholder)
* AliasPlugin (Alias)
* TextPlugin (Text)
::
.../django-cms-tools$ ./run_test_project_dev_server.sh
or:
::
.../django-cms-tools$ cd django_cms_tools_test_project/
.../django-cms-tools/django_cms_tools_test_project$ ./manage.py run_test_project_dev_server
Run all tests in all environment combinations via tox:
::
$ python3 setup.py tox
Run all tests in current environment via pytest:
::
$ python3 setup.py test
+------------------+------------+----------------+-----------------+ | django-cms-tools | Django CMS | django version | python | +==================+============+================+=================+ | >=v0.6 | 3.4.x | v1.11 | 3.5, 3.6, pypy3 | +------------------+------------+----------------+-----------------+ | >=v0.5.1 | 3.4.x | 1.8, v1.11 | 3.5, 3.6, pypy3 | +------------------+------------+----------------+-----------------+ | v0.4.0 | | 1.8 | 2.7, 3.5, 3.6 | +------------------+------------+----------------+-----------------+ | v0.1.x | | 1.8 | 2.7, 3.4, 3.5 | +------------------+------------+----------------+-----------------+
Currently Django CMS v3.5 is not supported, yet.
It's on the TODO, see: issues #1 <https://github.com/jedie/django-cms-tools/issues/1>
_
(See also combinations in .travis.yml <https://github.com/jedie/django-cms-tools/blob/master/.travis.yml>
_ and tox.ini <https://github.com/jedie/django-cms-tools/blob/master/tox.ini>
_)
Add tests for 'filer commands'
Support Django CMS v3.5 and run tests against these versions.
Support Django v2.0 and run tests against these versions.
django_cms_tools.fixtures
renamed to: django_cms_tools.fixture_helper
remove django_cms_tools.fixtures.languages
dev - compare v0.7.0...master <https://github.com/jedie/django-cms-tools/compare/v0.7.0...master>
_
v0.7.1 - 30.07.2019 - compare v0.7.0...v0.7.1 <https://github.com/jedie/django-cms-tools/compare/v0.7.0...v0.7.1>
_
django-parler v2.0 changes <https://github.com/django-parler/django-parler/blob/master/CHANGES.rst#changes-in-20-2019-07-26>
_v0.7.0 - 18.09.2018 - compare v0.6.11...v0.7.0 <https://github.com/jedie/django-cms-tools/compare/v0.6.11...v0.7.0>
_
django_cms_tools.fixtures
renamed to: django_cms_tools.fixture_helper
remove django_cms_tools.fixtures.languages
NEW: django_cms_tools.unittest_utils.assertments
v0.6.11 - 21.06.2018 - compare v0.6.10...v0.6.11 <https://github.com/jedie/django-cms-tools/compare/v0.6.10...v0.6.11>
_
v0.6.10 - 05.06.2018 - compare v0.6.9...v0.6.10 <https://github.com/jedie/django-cms-tools/compare/v0.6.9...v0.6.10>
_
NEW: management command: 'export_filer_images' to store all filer images on disk
Bugfix django_cms_tools.filer_tools.helper.collect_all_filer_ids
if default_model_class
is a string
v0.6.9 - 04.05.2018 - compare v0.6.8...v0.6.9 <https://github.com/jedie/django-cms-tools/compare/v0.6.8...v0.6.9>
_
v0.6.8 - 25.04.2018 - compare v0.6.7...v0.6.8 <https://github.com/jedie/django-cms-tools/compare/v0.6.7...v0.6.8>
_
NEW: Display usage of a CMS-Plugin by: ./manage.py list_page_by_plugin
Change in create_plugin()
the **plugin_kwargs
argument to post_data
v0.6.7 - 24.04.2018 - compare v0.6.6...v0.6.7 <https://github.com/jedie/django-cms-tools/compare/v0.6.6...v0.6.7>
_
./manage.py generate_add_plugin_test_code
v0.6.6 - 09.04.2018 - compare v0.6.5...v0.6.6 <https://github.com/jedie/django-cms-tools/compare/v0.6.5...v0.6.6>
_
./manage.py orphaned_plugin_info
to get a list about Django CMS uninstalled/unsaved pluginsv0.6.5 - 22.03.2018 - compare v0.6.4...v0.6.5 <https://github.com/jedie/django-cms-tools/compare/v0.6.4...v0.6.5>
_
Use ParlerDummyGenerator
(for landing page test fixtures) from django-tools
django_cms_tools.fixtures.languages.iter_languages
was moved to django-tools!
Bugfix: DummyPageGenerator creates non-published pages
v0.6.4 - 06.03.2018 - compare v0.6.3...v0.6.4 <https://github.com/jedie/django-cms-tools/compare/v0.6.3...v0.6.4>
_
django_cms_tools.fixtures.pages.DummyPageGenerator
to changes APIv0.6.3 - 23.02.2018 - compare v0.6.2...v0.6.3 <https://github.com/jedie/django-cms-tools/compare/v0.6.2...v0.6.3>
_
Rename landing page and anchor menu plugins via django.apps.AppConfig
Update publisher itegration tests
v0.6.2 - 22.02.2018 - compare v0.6.1...v0.6.2 <https://github.com/jedie/django-cms-tools/compare/v0.6.1...v0.6.2>
_
v0.6.1 - 22.02.2018 - compare v0.6.0...v0.6.1 <https://github.com/jedie/django-cms-tools/compare/v0.6.0...v0.6.1>
_
v0.6.0 - 20.02.2018 - compare v0.5.2...v0.6.0 <https://github.com/jedie/django-cms-tools/compare/v0.5.2...v0.6.0>
_
remove test runs with Django v1.8
NEW: Django-CMS plugin for create "landing pages"
NEW: Django-CMS plugin for build a page anchor menu
NEW: ./manage.py cms_plugin_info
to generate a list of all registered Django CMS plugins
v0.5.2 - 10.01.2018 - compare v0.5.1...v0.5.2 <https://github.com/jedie/django-cms-tools/compare/v0.5.1...v0.5.2>
_
v0.5.1 - 21.12.2017 - compare v0.5.0...v0.5.1 <https://github.com/jedie/django-cms-tools/compare/v0.5.0...v0.5.1>
_
refactor travis/tox/pytest/coverage stuff
Tests can be run via python3 setup.py tox
and/or python3 setup.py test
Test also with pypy3 on Travis CI.
v0.5.0 - 19.12.2017 - compare v0.4.0...v0.5.0 <https://github.com/jedie/django-cms-tools/compare/v0.4.0...v0.5.0>
_
Skip official support for python v2 (remove from text matrix)
NEW: ./manage.py template_info
NEW: ./manage.py cms_page_info
CmsPageCreator API changed:
the string CmsPageCreator.placeholder_slot
changed to iterable CmsPageCreator.placeholder_slots
add placeholder
argument in CmsPageCreator.get_dummy_text()
and CmsPageCreator.get_add_plugin_kwargs()
Bugfix: use always drafts as parent pages (see also: https://github.com/divio/django-cms/pull/6126 <https://github.com/divio/django-cms/pull/6126>
_ )
add unittests
v0.4.0 - 18.09.2017 - compare v0.3.2...v0.4.0 <https://github.com/jedie/django-cms-tools/compare/v0.3.2...v0.4.0>
_
NEW: django_cms_tools.models.RelatedPluginModelMixin <https://github.com/jedie/django-cms-tools/blob/master/django_cms_tools/models.py>
_
NEW: DummyPageGenerator <https://github.com/jedie/django-cms-tools/blob/master/django_cms_tools/fixtures/pages.py>
_
NEW: ModelPermissionMixin <https://github.com/jedie/django-cms-tools/blob/master/django_cms_tools/permissions.py>
_
misc updates/changes
v0.3.2 - 22.05.2017 - compare v0.3.1...v0.3.2 <https://github.com/jedie/django-cms-tools/compare/v0.3.1...v0.3.2>
_
{% el_pagination_placeholder %
} and render all plugins after the tag.v0.3.1 - 04.05.2017 - compare v0.3.0...v0.3.1 <https://github.com/jedie/django-cms-tools/compare/v0.3.0...v0.3.1>
_
CmsPageCreator
: evaluate lazy "language name" translation in the right language (e.g.: e.g.: settings.LANGUAGE_CODE
is not "en")v0.3.0 - 27.04.2017 - compare v0.2.0...v0.3.0 <https://github.com/jedie/django-cms-tools/compare/v0.2.0...v0.3.0>
_
v0.2.0 - 10.04.2017 - compare v0.1.2...v0.2.0 <https://github.com/jedie/django-cms-tools/compare/v0.1.2...v0.2.0>
_
v0.1.2 - 28.03.2017 - compare v0.1.1...v0.1.2 <https://github.com/jedie/django-cms-tools/compare/v0.1.1...v0.1.2>
_
v0.1.1 - 27.03.2017 - compare v0.1.0...v0.1.1 <https://github.com/jedie/django-cms-tools/compare/v0.1.0...v0.1.1>
_
v0.1.0 - 27.03.2017
NEW: create_cms_index_pages
NEW: create_cms_plugin_page
+----------+-----------------------------------------------+
| Homepage | http://github.com/jedie/django-cms-tools
_ |
+----------+-----------------------------------------------+
| PyPi | https://pypi.org/project/django-cms-tools/
_ |
+----------+-----------------------------------------------+
.. _http://github.com/jedie/django-cms-tools: http://github.com/jedie/django-cms-tools .. _https://pypi.org/project/django-cms-tools/: https://pypi.org/project/django-cms-tools/
paypal.me/JensDiemer <https://www.paypal.me/JensDiemer>
_
Flattr This! <https://flattr.com/submit/auto?uid=jedie&url=https%3A%2F%2Fgithub.com%2Fjedie%2Fdjango-cms-tools%2F>
_
Send Bitcoins <http://www.bitcoin.org/>
_ to 1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6F <https://blockexplorer.com/address/1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6F>
_
FAQs
Tools/helpers around Django-CMS
We found that django-cms-tools demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.