This commit is a rough port to Django 2.1, Python 3 and a Docker based local
development setup. Tests fail/error but migrations and the web frontend are
already runnable. Task queue functionality is untested and translations seem to
have trouble.
This commit updates the Django dependency version to 1.9.2 and gvacommon
to 0.3.0 that provides gvacommon.settings_utils.get_env_variable. The
gnuviechadmin.settings.base module now uses this implementation instead
of an own copy and the corresponding test has been removed too.
The AMQP result backend proved as impractical, this commit switches to
redis instead. The redis server is setup on the webinterface host but
can be configured on another host.
This commit improves the salt setup of the Vagrant box:
- Salt output is reduced to log level warning
- Hosts entries are created for the internal IPs of all planned gva
component VMs
- .bashrc and a .bash_functions sourced from it are now managed for the
vagrant user
- the VM name has been changed to gva.local
- recent salt versions do not depend on m2crypto anymore, therefore it
is now installed before x509certificate functions are called
- the rabbitmq_vhost for gva is now setup before any users are created
because the previous implementation was broken with recent salt
versions
- the gnuviechadmin-locale-data-compile step has been simplified because
Django 1.9's compilemessages takes care of recursive .mo file
compilation
- pillar data has been separated by role (especially queue permissions
and credentials)
- salt configuration is now unified with gvaldap
This commit removes the included gvacommon copy. Gvacommon has its own
development repository and is now added as a dependency via
requirements/base.txt.
This commit adds tests for userdbs.views.AddUserDatabase, the view
itself has been modified so that it is only reachable when the hosting
package actually has database options available.
Django 1.9 deprecates passing a context directly to the render function
in template loader. This commit creates a proper template rendering
context before rendering the mails sent from the contact form.
This commit isolates the celery task invocations of the userdbs app into
signal handlers. All celery interaction is now asynchronously handled in
userdbs.signals.
This commit adds tests for more corner cases of
SshPublicKeyManager.parse_keytext to raise the test coverage to 100%.
The method now handles invalid keys more thoroughly.
This commit raises the test coverage for osusers.admin to 100% by adding
tests for UserAdmin, GroupAdmin, SshPublicKeyCreationForm and
SshPublicKeyAdmin. The commit adds a refactoring TODO to
SshPublicKeyAdmin.perform_delete_selected because the asynchronous
background task should be launched from a signal handler.