Commit graph

352 commits

Author SHA1 Message Date
Jan Dittberner 610f8976fc Refactor managemails to use signals
- use signals to trigger Celery tasks to create and delete mailboxes
- add generic TestCaseWithCeleryTasks class to handle celery task tests
  in a uniform way
2023-02-19 13:45:30 +01:00
Jan Dittberner 4af1a39ca4 Upgrade to Django 3.2
- update dependencies
- fix deprecation warnings
- fix tests
- skip some tests that need more work
- reformat changed code with isort and black
2023-02-18 22:46:48 +01:00
Jan Dittberner 0f18e59d67 Fix deprecation warnings 2023-02-18 19:07:33 +01:00
Jan Dittberner a1084ec785 Bump version number 2020-04-13 15:01:37 +02:00
Jan Dittberner 2328abe8db Do not show add_mailaddress for nonexistant mail domain
Fixes #7
2020-04-13 14:59:56 +02:00
Jan Dittberner 42b6f8d91d Bump version to 0.12.0 2020-04-10 14:19:36 +02:00
Jan Dittberner 47a1e1dc55 Fix settings to work with salt state definitions
- move from assets to static
2020-03-07 18:25:49 +01:00
Jan Dittberner 0bf37d1bea Improve docker setup
Add gvaweb and gvaldap containers to docker-compose.yml. Unify most of
Dockerfile with gvaweb and gvaldap. Add empty directories for mounting
asset and media files into bind mounted docker volumes. Run application
as separate system user.
2020-03-03 13:11:46 +01:00
Jan Dittberner e487dad026 Improve settings
The commit removes the non-existing sys.path import, simplifies the
condition in the show_debug_toolbar function and defines ALLOWED_HOSTS
for the test environment.
2019-07-05 21:25:31 +02:00
Jan Dittberner 3d18392b67 Fix tests for Python 3
- drop Python 2 __future__ imports
- fix tests to handle new Django and Python 3 module names
- reformat changed files with black
2019-01-30 21:27:25 +01:00
Jan Dittberner ddec6b4184 Use gnuviechadmin.settings
Specific settings have been removed, they are now triggerd by the
GVA_ENVIRONMENT variable.
2019-01-30 21:08:14 +01:00
Jan Dittberner 10a83d36f7 Fix locale support 2018-12-26 14:51:34 +01:00
Jan Dittberner 24009bff3e Set version to 0.12.0-alpha 2018-12-26 14:51:03 +01:00
Jan Dittberner 6f5c0a1b7c Use custom SHOW_TOOLBAR_CALLBACK 2018-12-26 14:49:56 +01:00
Jan Dittberner 6a982f8db2 Release hotfix 0.11.5 0.11.5
-----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEKHuXKkUYdvdO9493DXkdyNc3wdkFAlwjdWsUHGphbkBkaXR0
 YmVybmVyLmluZm8ACgkQDXkdyNc3wdlVYAf/Y2AQsMQwp/MYht+xse2tznRVHPid
 XVDj8urrvW/Me7ugcuVdtIoOa1M+sc/8MGhpHWBzp92qAqpkQwkhTZZovaselLzq
 00+cf9HjNdUG+gEOW5eGBP0O0iN7bd/p1HqnmLtGEAx3YoKe4z2YHAl59Nb2jWoV
 9UiohbSK7+4fThC8r2Hj2zPmwnQ3t5QFLEWIp8xyvF+DQ3zuxXOoZlBK+9VR676j
 FxHox9eQ4iJpswlOzYDfS1nGzfVixI0cCvRuZeM1sHWteKVJrqOzNjKAAMi47T+v
 Jqq92EpLUFCsRxH+d5yvhLgNX6BpvWPtTDzd/SO6G+K4l/1whwWU//wG+g==
 =5PHe
 -----END PGP SIGNATURE-----

Merge tag '0.11.5'

Release hotfix 0.11.5 0.11.5
2018-12-26 13:35:55 +01:00
Jan Dittberner 271421cdf8 Set version number 2018-12-26 13:33:36 +01:00
Jan Dittberner 71aad5e078 Remove Xing from settings and templates
Xing canceled API access for us.
2018-12-26 13:28:25 +01:00
Jan Dittberner 6cebd80c89 Started port to Django 2.1, Python 3, Docker
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.
2018-11-19 23:28:40 +01:00
Jan Dittberner e8bdf3fec1 Fix wrong tag in password reset done template 2016-12-31 14:03:57 +01:00
Jan Dittberner 36d082006b Improve TaskResult admin view
Provide a better presentation of TaskResult instances by specifying the
list_display fields and allowing to filter finished and unfinished tasks.
2016-09-25 16:36:31 +02:00
Jan Dittberner 5dc3549896 Improve documentation
This commit adds a lot of documentation including block diagramms for
message flows.
2016-09-24 21:57:28 +02:00
Jan Dittberner 3c5d02776a Update Django and gvacommon dependencies
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.
2016-02-01 22:27:05 +00:00
Jan Dittberner 6c606034b3 Add docstrings from gvaldap settings 2016-01-31 23:22:07 +01:00
Jan Dittberner 3d95a9f61a Switch result backend to redis
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.
2016-01-31 21:50:49 +01:00
Jan Dittberner 9d843c920a Add docstring to gnuviechadmin.settings.base 2016-01-31 21:50:11 +01:00
Jan Dittberner cd696ceb1f Fix flake8 finding 2016-01-31 21:50:11 +01:00
Jan Dittberner eda20937dc Use separate test vhost for celery queues 2016-01-31 21:46:14 +01:00
Jan Dittberner 2018520646 Start changelog for next release
This commit updates the changelog, switches to git code browsing for the
release links and uses correct semantic versioning.
2016-01-29 14:21:43 +00:00
Jan Dittberner 5b48a3f2db Use gvacommon from own repository
This commit removes the included gvacommon copy. Gvacommon has its own
development repository and is now added as a dependency via
requirements/base.txt.
2016-01-29 13:26:18 +00:00
Jan Dittberner 37b18a17af Update German translation
This commit updates the German translation files and adds missing
translations.
2016-01-29 11:07:41 +01:00
Jan Dittberner e7006ac4a6 Fix encoding name
This commit fixes the encoding specification of
osusers.tests.test_models.
2016-01-29 10:04:59 +00:00
Jan Dittberner 0a0524f1f0 Add tests for userdbs.views.ChangeDatabaseUserPassword
This commit adds tests for the ChangeDatabaseUserPassword view.
2016-01-29 10:03:24 +00:00
Jan Dittberner 1f700fc06a Add tests for userdbs.views.DeleteUserDatabase
This commit adds tests for the DeleteUserDatabase view and improves the
grammar of flash messages of the userdbs.views module.
2016-01-29 09:40:14 +00:00
Jan Dittberner e6c38b632b Add test for userdbs.views.AddUserDatabase
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.
2016-01-28 16:17:50 +01:00
Jan Dittberner e9fc8b7f89 Push coverage for osusers to 100% 2016-01-28 13:44:29 +00:00
Jan Dittberner de501cfdde Fix Django deprecation warning
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.
2016-01-09 14:46:04 +00:00
Jan Dittberner b8893e92d7 Add timestamps to task result model 2016-01-09 14:26:52 +00:00
Jan Dittberner 6a6009e7f2 Fix template error in passwort reset response 2015-12-26 12:29:22 +01:00
Jan Dittberner 085b126416 Update to Django 1.9
- update all dependencies
- fix deprecation warnings and errors for Django 1.9 compatibility
2015-12-19 20:11:23 +01:00
Jan Dittberner 1b30b1a38c Define logging for tests 2015-12-07 00:24:23 +00:00
Jan Dittberner c9a9fa11b2 Refactor userdbs app to use signals
This commit isolates the celery task invocations of the userdbs app into
signal handlers. All celery interaction is now asynchronously handled in
userdbs.signals.
2015-12-07 00:23:07 +00:00
Jan Dittberner 1649e4592e Add tests for userdbs app
This commit adds a set of unit tests for the userdbs app. Some tests
will fail because a refactoring to signals comes with the next commit.
2015-12-07 00:22:13 +00:00
Jan Dittberner e96aac82fc Add tests for taskresults app
This commit adds tests for the taskresults management command
fetch_taskresults and completes the test coverage for
taskresults.models.
2015-12-06 18:47:11 +01:00
Jan Dittberner 4e54b6fcc5 Add osusers.views tests
This commit adds tests for the osusers.views module. An incompatibility
with Django 1.8 in EditSshPublicKeyComment has been fixed.
2015-12-06 17:49:10 +01:00
Jan Dittberner 28ff099df9 Improve osusers.models coverage
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.
2015-12-06 17:47:27 +01:00
Jan Dittberner 8616b2d6c9 Add tests for osusers.forms
This commit adds test classes for osusers.forms in
osusers.tests.test_forms.
2015-12-06 15:35:23 +01:00
Jan Dittberner 4f39c0d2c4 Add tests for osusers.admin
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.
2015-12-05 22:23:25 +00:00
Jan Dittberner fb1f31a9bc Fix flake8 warnings
This commit fixes all warnings created by flake8 by removing unused
imports and variable assignments. Some wrongly indented lines are now
indented correctly.
2015-12-05 13:47:41 +00:00
Jan Dittberner 30600ce107 Add tests for managemails.views
This commit adds a test suite for the views defined in
managemails.views. One issue discovered when writing tests is fixed by
checking the request method in CreateMailbox.dispatch.
2015-11-28 19:01:52 +00:00
Jan Dittberner 6533205479 Add TODO comments for mailbox task calls 2015-11-28 19:01:10 +00:00
Jan Dittberner f2c3f64a87 Use MD5PasswordHasher for tests
This commit changes the password hasher for test runs to the
MD5PasswordHasher to speed up password hashing during test runs.
2015-11-28 19:00:03 +00:00
Jan Dittberner 1cfd4327da Add tests for managemails.models
This commit adds tests for managemails.models to improve the test
coverage of that model. There are some changes to the classes in
managemails.models too:

- add a method create_mailbox to MailboxManager
- properly handle uncommited mailaddresses in MailAddress.set_mailbox
  and MailAddress.set_forward_addresses
2015-11-28 14:07:34 +00:00
Jan Dittberner 03a7dc0320 Add test for managemails.forms
This commit adds tests for managemails.forms. A refactoring TODO is
added to MailAddressFieldMixin and pragma: no cover has been added to
code paths not reachable if no new constants are added to the
MAILBOX_OR_FORWARDS constant array.
2015-11-22 18:41:45 +00:00
Jan Dittberner 78f54d0c92 Add QA tool config to setup.cfg
This commit adds configuration for coverage, pep8 and flake8 to
setup.cfg. The .coveragerc is not needed anymore and is removed.
2015-11-22 18:40:40 +00:00
Jan Dittberner 28fc535f9e Add tests for gvawebcore
This commit adds tests for gvawebcore.forms and gvawebcore.views.
2015-11-22 14:43:02 +00:00
Jan Dittberner b11055807f Clean PEP8 violations 2015-11-22 14:03:47 +00:00
Jan Dittberner be0531ec30 Add test for gnuviechadmin.celery
This commit adds a refactoring for gnuviechadmin.celery to make the
installed apps detection testable. The test is added in
gnuviechadmin.tests.test_celery. Debug code in gnuviechadmin.urls is no
excluded from coverage reporting.
2015-11-22 14:31:04 +01:00
Jan Dittberner 7bcb0d3100 Add tests for gnuviechadmin.context_processors
This commit adds new tests for the gnuviechadmin.context_processors
module. The module gnuviechadmin.tests has been moved into a separate
directory for a more clear structure.
2015-11-22 13:13:42 +00:00
Jan Dittberner de0f3b8ca1 Add translations for domains.models
addresses #17
2015-11-08 12:14:53 +01:00
Jan Dittberner 337947f50c Update documentation
This commit adds documentation how to setup PowerDNS to use the
gnuviechadmin DNS schema. The queries are provided in a PowerDNS
configuration file.

Addresses #17
2015-11-07 22:17:43 +01:00
Jan Dittberner c058cc7b1d Improve DNS table models
This commit adds Meta information and __str__ methods  to all DNS table
models. The new methods are now covered with new tests. The new
constants DNS_DOMAIN_METADATA_KINDS and DNS_TSIG_KEY_ALGORITHMS are
defined and used in the DNSDomainMetadata and DNSTSIGKey models. A
matching database schema migration is added.

Addresses #17
2015-11-07 16:10:38 +00:00
Jan Dittberner 1df2534cf3 Add DNS models
This commit add model classes closely matching the tables defined in
PowerDNS' schema as described at
https://doc.powerdns.com/md/authoritative/backend-generic-mypgsql/.

The commit includes the model definitions a schema migration including
PostgreSQL specific CHECK constraints and the registration in the Django
admin interface.

addresses #17
2015-11-05 20:54:21 +00:00
Jan Dittberner fbfd3cf41b Add tests for domains.views
This commit adds a test class to test the CreateHostingDomain view in
domains.views.
2015-10-25 17:30:15 +00:00
Jan Dittberner f5759f3194 Add tests for domains app
Add missing tests for domains.forms and domains.models.
2015-10-15 19:50:18 +00:00
Jan Dittberner 2de53757df improve contact_form test coverage 2015-10-13 22:31:20 +02:00
Jan Dittberner e51d202abd start test implementation for contact_form 2015-10-12 22:07:25 +00:00
Jan Dittberner c5d9673ac3 remove unnecessary imports 2015-10-12 20:51:03 +02:00
Jan Dittberner 084dd5ba8d add unit tests for dashboard app 2015-10-12 18:43:52 +00:00
Jan Dittberner 660ffa9de9 bump version to new development version 2015-10-12 18:42:14 +00:00
Jan Dittberner d5bba7a22d asynchronous refactoring
- don't execute celery tasks directly
- introduce optional parameters to fileserver tasks to allow chaining
- handle user/group/key create and delete tasks in new osusers.signals
  class
- adapt unit tests
- change TaskResults model to store the task signatures
- generalize the local settings' logging configuration
2015-10-12 00:23:31 +02:00
Jan Dittberner 8ebb5cad6a bump dependency versions, fix tests and deprecation warnings 2015-10-11 15:30:23 +02:00
Jan Dittberner 4c81502b8e bump version number, add release version to changelog 2015-02-21 20:59:09 +01:00
Jan Dittberner 25b5b82a06 fix broken ssh public key handling
- make sure that AddSshPublicKeyForm does not try to parse the key if it is
  None
- split the key text into a maximum of 3 parts to allow whitespace in comments
- update changelog
2015-02-21 20:57:18 +01:00
Jan Dittberner dd38edd498 add appropriate filtering for SSH key list
- fix osusers.views.ListSshPublicKeys
- add changelog entry
2015-02-21 20:30:15 +01:00
Jan Dittberner 9cab636351 bump version number, add release to changelog 2015-02-06 11:20:47 +01:00
Jan Dittberner 2af30d6148 fix mail forwarding setup bug
- fix wrong variable name in
  managemails.models.MailAddress.set_forward_addresses and typo in
  managemails.forms.EditMailAddressForm
2015-02-06 11:17:03 +01:00
Jan Dittberner b5714f2af3 bump version number, add release to changelog 2015-02-01 22:19:18 +01:00
Jan Dittberner 251e8a54f6 add version number to gnuviechadmin
- add __version__ to gnuviechadmin/__init__.py
- change docs/conf.py to use version number from gnuviechadmin
- add gnuviechadmin.context_processors.version_info to add
  gnuviechadmin_version to template context
- add version and technology links to templates/base.html footer
- add CSS styles for footer formatting
2015-02-01 22:15:40 +01:00
Jan Dittberner 1bee80044c enable translations for contact form 2015-02-01 20:58:53 +01:00
Jan Dittberner e913b1f771 fix tests 2015-02-01 20:12:23 +01:00
Jan Dittberner e87e4ca268 add icons to top level navigation 2015-02-01 19:39:09 +01:00
Jan Dittberner 52b6dd5845 add contact_form link in top navigation
- add contact_form URLs to gnuviechadmin.urls
- set href of contact link to 'contact_form'
2015-02-01 19:37:13 +01:00
Jan Dittberner f9e4e67cf6 add context processing for contact_form views 2015-02-01 19:34:41 +01:00
Jan Dittberner 42f3ed7f06 define DEFAULT_FROM_EMAIL in production settings 2015-02-01 19:34:12 +01:00
Jan Dittberner 385838580b implement contact form
- implement contact_form.forms.ContactForm
- implement contact_form.views.ContactFormView and
  contact_form.views.ContactSuccessView
- add new URL patterns 'contact_form' and 'contact_success' in
  contact_form.urls
- add contact_form templates base.html, contact_form.html, contact_form.txt,
  contact_form_subject.txt and contact_success.html
- add german translation for new strings
- add contact_form to .coveragerc
- add generated code documentation for contact_form app
- add changelog entry
2015-02-01 19:33:53 +01:00
Jan Dittberner 2b0f1f9f89 add imprint as flatpage
- add flatpages app to gnuviechadmin.settings.base.DJANGO_APPS
- add imprint handling to gnuviechadmin.context_processors.navigation, remove
  unused about page handling
- add URL 'imprint' to gnuviechadmin.urls
- replace link 'about' in template base.html with 'imprint'
- add templates for flatpages
- add german translation for imprint and contact navigation links
2015-02-01 16:39:01 +01:00
Jan Dittberner cea780a9b2 fix issues with changed URLs
- sort all_hosting_packages before hosting_packages
- allow _ in user names
- only display hosting link if user is authenticated
2015-02-01 15:14:26 +01:00
Jan Dittberner 5d19120bbf add new german translation strings 2015-02-01 15:09:10 +01:00
Jan Dittberner 2d4282194f add new view CustomerHostingPackageList
- create view hostingpackages.views.CustomerHostingPackageList to display a
  specific customer's hosting packages
- add docstring to view AllCustomerHostingPackageList
- add URL pattern 'hosting_packages' to hostingpackages.urls
- restructure hostingpackages URL patterns to remove useless parts
- add template hostingpackages/customerhostingpackage_list.html
- change links in template base.html to link to 'hosting_packages'
2015-02-01 15:04:04 +01:00
Jan Dittberner 3f07ddb062 configure local logging
- add log formatters 'verbose' and 'simple' to gnuviechadmin.settings.base
- add loggers and handler in gnuviechadmin.settings.local
2015-02-01 14:59:36 +01:00
Jan Dittberner 81b9bc163b mark active menu item as active 2015-02-01 14:58:32 +01:00
Jan Dittberner 210d1e122c add links to webmail, phpmyadmin and phppgadmin
- add new links dropdown to top navigation in template base.html
- add new settings GVA_LINK_WEBMAIL, GVA_LINK_PHPMYADMIN and
  GVA_LINK_PHPPGADMIN to gnuviechadmin.settings.base
- implement gnuviechadmin.context_processors.navigation to add links to
  request context of non-AJAX requests
- add generated documentation for gnuviechadmin.context_processors
- add changelog entry
2015-02-01 13:16:45 +01:00
Jan Dittberner 0e32d162f7 fix taskresults.tests 2015-02-01 03:01:29 +01:00
Jan Dittberner 01a0fa2fa4 add german translation for new strings 2015-02-01 02:30:30 +01:00
Jan Dittberner 5ad3ba1631 add docstrings, restrict queryset of osusers.views 2015-02-01 02:11:41 +01:00
Jan Dittberner 5e1f34c9d8 implement caching for get_hosting_package 2015-02-01 02:11:07 +01:00
Jan Dittberner 832a611602 add list, delete and edit comment of SSH public keys
- add sshkeys to hostingpackage detail view context
- implement new osusers.forms.EditSshPublicKeyCommentForm
- implement new views ListSshPublicKeys, DeleteSshPublicKey and
  EditSshPublicKeyComment
- add new URL patterns 'list_ssh_keys', 'edit_ssh_key_comment' and
  'delete_ssh_key'
- link from hosting package detail view to 'list_ssh_keys' when there are
  SSH keys assigned to the shown hosting package
- add new templates osusers/sshpublickey_list.html,
  osusers/sshpublickey_confirm_delete.html and
  osusers/sshpublickey_edit_comment
- add operating system user output to template
  osusers/sshpublickey_create.html
- add changelog entry
2015-02-01 01:55:09 +01:00
Jan Dittberner 0c7bb79109 add view osusers.views.AddSshPublicKey
- implement new form osusers.forms.AddSshPublicKeyForm
- move message texts from osusers.admin to osusers.forms
- add new view osusers.views.AddSshPublicKey
- add new URL patter 'add_ssh_key' to osusers.urls
- add new template osusers/sshpublickey_create.html
- link from hosting package detail template to 'add_ssh_key'
- add changelog entry for new feature
2015-02-01 00:44:31 +01:00
Jan Dittberner 79b460c4a6 repair osusers.tests.test_admin
- fix test code
- fix error in set_ldap_user_password stub
2015-02-01 00:08:04 +01:00
Jan Dittberner b993053d2a define readonly fields and own delete action for SSH key admin
- implement custom perform_delete_selected action for SshPublicKeyAdmin that
  ensures that the authorized_keys files of all affected users are rebuilt
  after deleting keys
- implement custom get_actions to replace the default delete_selected action
  with the custom perform_delete_selected
- define get_readonly_fields to make sure that the key algorithm and data
  cannot be changed
2015-02-01 00:08:04 +01:00