From 359541b14efedaab46523884088a9db3d5708a9d Mon Sep 17 00:00:00 2001 From: AndiEcker Date: Thu, 23 Feb 2023 14:15:09 +0000 Subject: [PATCH] V0.3.82: restricted django-sekizai and django-classy-tags versions to 3.0.1 (django 3.1), extended admin man M .gitignore M .gitlab-ci.yml A .readthedocs.yaml M CONTRIBUTING.rst M LICENSE.md M SECURITY.md M docs/Makefile M docs/administrator_manual.rst M docs/conf.py M docs/requirements.txt M kairos/__init__.py M requirements.txt M setup.py M tests/conftest.py M tests/requirements.txt --- .gitignore | 2 +- .gitlab-ci.yml | 2 +- .readthedocs.yaml | 19 +++++++++++++++++++ CONTRIBUTING.rst | 2 +- LICENSE.md | 2 +- SECURITY.md | 2 +- docs/Makefile | 2 +- docs/administrator_manual.rst | 29 ++++++++++++++++++++++++++--- docs/conf.py | 14 ++++++++++---- docs/requirements.txt | 6 +++--- kairos/__init__.py | 2 +- requirements.txt | 4 ++-- setup.py | 2 +- tests/conftest.py | 6 +++--- tests/requirements.txt | 2 +- 15 files changed, 72 insertions(+), 24 deletions(-) create mode 100644 .readthedocs.yaml diff --git a/.gitignore b/.gitignore index 8722fe7..5dacdda 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.21 +# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.26 # ae:additional exludes for Sphinx, mypy, pylint, PyCharm, kivy, enaml bin .buildozer diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a61e3a8..5b2f25e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.21 +# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.26 image: python:3.9 diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..61b0576 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,19 @@ +# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.26 +# ReadTheDocs configuration file (see https://docs.readthedocs.io/en/stable/config-file/v2.html for details) to use +# .. actual versions of python/Sphinx/.. (see https://docs.readthedocs.io/en/stable/build-default-versions.html) +version: 2 + +build: + os: ubuntu-22.04 + tools: + python: "3.9" + +sphinx: + configuration: docs/conf.py + +formats: + - pdf + +python: + install: + - requirements: docs/requirements.txt diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 71650cc..116be2d 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,6 +1,6 @@ .. - THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.21 + THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.26 contributing ============ diff --git a/LICENSE.md b/LICENSE.md index 5363e7a..b87c2ae 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ - + ### GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 diff --git a/SECURITY.md b/SECURITY.md index bd1a9d5..8104c84 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,4 +1,4 @@ - + # using this package securely ## reporting security issues diff --git a/docs/Makefile b/docs/Makefile index 5a0e476..c6f9b28 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,4 +1,4 @@ -# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.21 +# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.26 # minimal makefile for Sphinx documentation # # you can set these variables from the command line, and also diff --git a/docs/administrator_manual.rst b/docs/administrator_manual.rst index e2ebfd0..2da8c0d 100644 --- a/docs/administrator_manual.rst +++ b/docs/administrator_manual.rst @@ -9,7 +9,7 @@ administrators are members with additional rights granted to maintain: * announcement categories, actions and any requests/offers * member messages * member meetings - * initial fee collection in the built-in member registration process + * initial admission fee collection in the built-in member registration process most of these tasks can only be done by page content administrators, whereas the last two tasks can be done by members with individual additional rights granted (see further down in the :ref:`member permissions` section). @@ -47,9 +47,32 @@ forms, via the `Administration...` menu item of the site menu. the second `Users admin group has additional fields used for administrators, which are not available in the first `Users` form under the `AUTHENTICATION AND AUTHORIZATION` admin group. -the member id gets stored in the `USERNAME` field and the member's phone number in the `LAST NAME` field. -see the :ref:`programmer manual` on how to bulk load member data into your website. +create a new member +------------------- + +to manually create a new in the `Users (page)` admin area first click on the blue `Add User` button (on the top right). + +.. note:: a new member entry gets automatically if the member did sign up, directly on the website. + +in the then upcoming `user input form`, enter the member id in the `USERNAME` field and the member password (twice). + +.. note:: + if the user has not paid the fee, then add a hyphen character (`-`) in front of the member id and uncheck the + `Active` checkbox (in the later displayed `user edit form`), . + +after entering the user name and password in the `user input form`, click the blue `Save` on the bottom right, to +display the `user edit form` (with all the other user fields). + +then, in the `user edit form`, enter the member's phone number in the `LAST NAME` field (in the format ``+cc nnn``, +where ``cc`` is the country code and ``nnn`` is the national phone number). + +deactivate also the `Staff status` checkbox (to prevent that a member account gets access to the admin area). + +then, in the `GROUPS` section of the `user edit form`, associate the `members` group to the new member, by selecting +the group in the `AVAILABLE GROUPS` list and click on the right-arrow to move it to the `CHOSEN GROUPS` list. + +.. hint:: see the :ref:`programmer manual` on how to bulk create and update members on your website. member permissions diff --git a/docs/conf.py b/docs/conf.py index f9afe99..8110410 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,4 +1,4 @@ -# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.21 +# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.26 # noinspection GrazieInspection """ configuration file for the Sphinx documentation builder @@ -15,20 +15,25 @@ recommended section header underlines (see also `https://devguide.python.org/doc =, for sections -, for subsections ^, for sub-subsections - ", for paragraphs + _, for paragraphs (changed because the double-high-comma cannot be used in docstrings). ReadTheDocs Server Infrastructure Configuration =============================================== -go to `https://readthedocs.org/dashboard/kairos/advanced`__ (Admin) to configure the following settings: +configure on the ReadTheDocs server (`https://readthedocs.org/dashboard/kairos/advanced`__) +in the Admin area the following default settings: * Settings/Programming Language: **Python** * Advanced Settings/Global settings/Default branch: **develop** * Advanced Settings/Default settings/Requirements file: **docs/requirements.txt** - * Advanced Settings/Default settings/Install Project: **check**ec + * Advanced Settings/Default settings/Install Project: **check** * Advanced Settings/Default settings/Use system packages: **check** +.. note:: + use .readthedocs.yaml to get more actual versions of Python (>3.7 see https://blog.readthedocs.com/default-python-3) + and Sphinx (>1.8). + """ import os import sys @@ -67,6 +72,7 @@ version = pev_str(root_pev, 'package_version') extensions = [ # 'sphinx.ext.autodoc', # automatically added by autosummary 'sphinx.ext.autosummary', + 'sphinx.ext.doctest', # check doctest (>>>) in docstrings 'sphinx.ext.viewcode', # include package module source code 'sphinx.ext.intersphinx', 'sphinx.ext.graphviz', diff --git a/docs/requirements.txt b/docs/requirements.txt index 1fd93e7..d55eb3e 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,9 +1,9 @@ -# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.21 +# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.26 # RTD-build is failing if the Sphinx version is not specified/pinned (RTD was using 1.8.5 by default). -sphinx==4.4.0 +sphinx==6.1.3 # using package name sphinx_rtd_theme with underscores raises Sphinx Extension error: # .. Could not import extension sphinx_rtd_theme==1.0.0 (exception: No module named 'sphinx_rtd_theme==1') -sphinx-rtd-theme==1.0.0 +sphinx-rtd-theme sphinx_autodoc_typehints sphinx_paramlinks -r ../dev_requirements.txt diff --git a/kairos/__init__.py b/kairos/__init__.py index d37d51b..298996c 100644 --- a/kairos/__init__.py +++ b/kairos/__init__.py @@ -63,4 +63,4 @@ TODO: """ -__version__ = '0.3.81' +__version__ = '0.3.82' diff --git a/requirements.txt b/requirements.txt index c697f03..16d0a4a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,8 +14,8 @@ djangocms-picture>=3.0,<4.0 djangocms-bootstrap4>=2.0,<3.0 django-filer>=1.3 Django<3.2 -django-classy-tags>=2.0 -django-sekizai>=2.0 +django-classy-tags>=2.0,<4.0 +django-sekizai>=2.0,<4.0 django-mptt>0.9 django-crispy-forms<2.0 # bootstrap 4 will get removed in 2.0 easy_thumbnails diff --git a/setup.py b/setup.py index 45fdcc3..2a0606b 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,4 @@ -# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.21 +# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.26 """ setup this project with setuptools and aedev.setup_project. """ import pprint import sys diff --git a/tests/conftest.py b/tests/conftest.py index 87adf9a..4c653b9 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,4 @@ -# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.21 +# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.26 # pylint: disable=redefined-outer-name, unused-argument; suppress fixtures conflicts (silly pylint) """ fixtures for to test this project """ import os @@ -41,9 +41,9 @@ def restore_app_env(sys_argv_app_key_restore): # added outer list because unregister does _APP_INSTANCES.pop() calls # and added inner list because the .keys() 'generator' object is not reversible with app_inst_lock: - app_keys = list(reversed(list(_APP_INSTANCES.keys()))) + app_keys = list(_APP_INSTANCES.keys())[::-1] for key in app_keys: - # copied from ae.enaml_app conftest.py (not needed for apps based on ae.kivy_app) + # copied from ae.enaml_app conftest.py (not needed for apps based on ae.kivy) app_instance = _APP_INSTANCES[key] app_win = getattr(app_instance, 'framework_win', False) if app_win and hasattr(app_win, 'close') and callable(app_win.close): diff --git a/tests/requirements.txt b/tests/requirements.txt index ec6d57a..ae4cbff 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,4 +1,4 @@ -# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.21 +# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_project V0.3.26 anybadge coverage-badge aedev_git_repo_manager # including Pillow, ae_base, ae_files, ae_paths for img/loc/snd resources tests -- GitLab