Commit graph

308 commits

Author SHA1 Message Date
9883db6fa2 implement new module gvawebcore to provide common code
- add gvawebcore.forms.PasswordModelFormMixin
- add generated documentation
- add german translation
2015-01-25 12:00:30 +01:00
1ab832b94a update german translation 2015-01-25 00:58:31 +01:00
1690cace4d implement hosting domain creation
- implement domains.views.CreateHostingDomain
- define new URL create_hosting_domain in domains.urls
- add domains app URLs to gnuviechadmin.urls
- add templates domains/base.html and domains/hostingdomain_create.html
- link from hostingpackage detail page to domain creation view
2015-01-25 00:40:43 +01:00
8615394c2f add domain creation form and model code
- implement domains.forms.CreateHostingDomainForm
- implement domains.models.HostingDomainManager.create_for_hosting_package that
  takes care of creating the necessary database objects for hosting domains
  assigned to a hosting package
2015-01-25 00:38:42 +01:00
bf91664f6e add link hosting package list templates
- add link to hosting package list for staff users in top navigation
- add new template hostingpackages/customerhostingpackage_admin_list.html
2015-01-24 23:37:20 +01:00
4bffa5ec62 add new views to hostingpackages app
- rename CreateHostingPackage to CreateCustomerHostingPackage
- add new CreateHostingPackage that allows to select a customer
- rename CreateHostingPackageForm to CreateCustomerHostingPackageForm
- add new CreateHostingPackageForm that has a customer field
- add new URL pattern create_hosting_package, rename existing pattern to
  create_customer_hosting_package
- modify template dashboard/user_dashboard to use the correct URL name
2015-01-24 23:34:15 +01:00
7991d2bf4f setup template structure for hosting package
- add panels for hosting package options, domains, mailboxes and databases
- list existing objects assigned to the hosting package
2015-01-24 22:33:09 +01:00
0def7e3a7b add more properties to CustomerHostingPackage
- add get_hostingoptions method and property hostingoptions
- add get_package_space method to determine disk space provided by the
  hosting package itself
- add get_databases_flat and property databases to get a list of databases
  assigned to the hosting package
- add may_add_database to determine whether additional databases are allowed
  by the hosting package's options
2015-01-24 22:29:57 +01:00
2c170ebcc1 update to font-awesome 4.3.0 2015-01-24 22:29:02 +01:00
03e5c74d7a add model features to hostingpackages
- add properties mailboxes, used_mailbox_count, mailbox_count and
  may_add_mailbox to CustomerHostingPackage class
- use new properties in template dashboard/user_dashboard.html
2015-01-24 22:26:27 +01:00
8a84c9660a add MailDomain.get_mailaddresses and mailaddresses property 2015-01-24 21:01:37 +01:00
e04132bd24 improve managemails app
- add managemails.apps to give a more meaningful title in the admin site
- add verbose names to MailAddressMailbox fields
- implement managemails.models.Mailbox.get_mailaddresses and a corresponding
  property mailaddresses
2015-01-24 20:58:20 +01:00
75e4892835 add admin site support for hosting domains 2015-01-24 19:24:33 +01:00
0c291f0510 implement model changes
- add new domains.apps.AppConfig to allow translatable app description for
  domains app
- link domains to a customer
- extract common functionality from domains.models.MailDomain into abstract
  domains.models.DomainBase
- add separate domains.models.HostingDomain to allow for generic external
  domains
- add new hostingpackages.models.CustomerHostingPackageDomain to assign hosting
  domains to hosting packages
2015-01-24 19:10:58 +01:00
a3e3e2a76f add missing german translations 2015-01-24 18:27:12 +01:00
150366a524 plug users and hosting packages together
- document new feature in changelog
- add autogenerated documentation for osusers.urls and osusers.views
- add osuser URLs to gnuviechadmin.urls
- implement get_absolute_url in hostingpackages.models.CustomerHostingPackage
- use set_ldap_user_password instead of create_ldap_user for existing OS users
  in osusers.models.User.set_password
- add URL pattern set_osuser_password in osusers.urls
- implement osusers.views.SetOsUserPassword to set the password of an existing
  operating system user
- link to hosting package detail view on user dashboard
- add template hostingpackages/customerhostingpackage_detail.html
- add template osusers/user_setpassword.html
2015-01-24 16:26:32 +01:00
0d08d9876b implement CustomerHostingPackageDetails view 2015-01-24 16:25:18 +01:00
0baee51d19 introduce new settings for groups and upload server 2015-01-24 16:22:09 +01:00
68c0bfbb4e implement osusers.forms.ChangeOsUserPasswordForm
- implement new form for password changes
- use osusers.forms.PASSWORD_MISMATCH_ERROR in osusers.admin
- add autogenerated documentation
2015-01-24 16:21:47 +01:00
3a9110dc30 refactor dashboard.views.UserDashboardView
- use gvacommon.viewmixins.StaffOrSelfLoginRequiredMixin instead of custom
  implementation
2015-01-24 16:12:23 +01:00
6490b71c2b Merge commit '3c4d34cce56dfb75e0e4115c3938ce5b2e6efd83' into feature/set_sftp_password
* commit '3c4d34cce56dfb75e0e4115c3938ce5b2e6efd83':
  implement viewmixins.StaffOrSelfLoginRequiredMixin
2015-01-24 15:41:37 +01:00
888a2463c4 create system user when creating a new hosting package 2015-01-22 00:20:06 +01:00
d4f68a155c fix some test issues 2015-01-22 00:19:16 +01:00
680f091cba incomplete create_hosting_package view
- add staff user view create_hosting_package
- add hostingpackages.forms.CreateHostingPackageForm
- add hostingpackages.views.CreateHostingPackage
- add link for staff users on user_dashboard page
- add url pattern
- TODO: implement saving the hosting package, update docs
2015-01-20 00:51:05 +01:00
9890248e80 fix issue with mailbox count calculation
- use 0 if no mailbox option is assigned to the hosting package
2015-01-20 00:49:19 +01:00
f211b535cf remove unused LogoutView and corresponding url pattern 2015-01-20 00:47:24 +01:00
d78bad06b7 add docstrings to managemails.models 2015-01-19 23:00:01 +01:00
35eceb3307 add task stub for ldaptasks.tasks.set_ldap_user_password 2015-01-19 22:43:29 +01:00
41af99561c adapt documentation to changed module structure 2015-01-19 21:54:13 +01:00
5b41d93898 refactor osusers.tasks into fileservertasks and ldaptasks 2015-01-19 21:44:57 +01:00
7ab58575eb remove newline at EOF 2015-01-18 16:25:41 +01:00
30aa09c0af Merge branch 'master' into feature/hostingpackages
* master:
  load Font Mfizz in base template head
  add userdb template tags
  add Font Mfizz from http://mfizz.com/oss/font-mfizz

merged docs/changelog.rst
2015-01-18 16:24:53 +01:00
d7d41d2fd9 render hosting package table on user dashboard 2015-01-18 16:20:47 +01:00
d34f3596ae implement get_context_data for UserDashboardView
- expose user's hosting packages in UserDashboardView.get_context_data
2015-01-18 16:19:28 +01:00
0e32aff544 add CustomerHostingPackage information aggration methods
- add get_disk_space, get_used_mailboxes, get_mailboxes and get_database
  methods for hostingpackages.models.CustomerHostingPackage
2015-01-18 16:14:47 +01:00
c72d711d35 load Font Mfizz in base template head 2015-01-18 16:07:06 +01:00
4c8b173e95 add userdb template tags
- add changelog entry
- add generated documentation for userdbs.templatetags.userdb
- add userdb template tags db_type_icon_class and db_type_name
- remove empty userdbs.views
2015-01-18 16:05:29 +01:00
56675f6c4d add Font Mfizz from http://mfizz.com/oss/font-mfizz 2015-01-18 16:01:24 +01:00
95e15806c6 fix foreign key for CustomerMailboxOption 2015-01-18 16:00:18 +01:00
4f2ebbae63 add hostingpackages api doc
- add to docs/code.rst toctree
- add new docs/code/hostingpackages.rst containing the autodoc directives
- document undocumented code in hostingpackages app
- update translation templates
2015-01-18 13:37:21 +01:00
12455e2d99 add hostingpackages app to INSTALLED_APPS 2015-01-18 13:22:31 +01:00
9f63fbbb5d Add new hostingpackages app
- implement models for hosting packages, hosting options and customer
  specific variants
- implement admin interface
- add documentation
2015-01-18 13:22:06 +01:00
8fd75d5486 define proper allauth production settings 2015-01-18 00:47:59 +01:00
e121c9bf3d load jquery and html5shim with same URL schema as the rest of the site 2015-01-18 00:28:47 +01:00
8ab15e7680 remove empty tests module 2015-01-17 23:27:03 +01:00
9d1e315fb4 add socialaccount connections link to user dropdown 2015-01-17 23:09:09 +01:00
92b6e8a8cb add templates for allauth 2015-01-17 23:08:41 +01:00
7d6e0386d8 restructure base html to display properly on small devices 2015-01-17 22:05:47 +01:00
d906b9e497 add font-awesome link and put account actions in a dropdown 2015-01-17 21:42:13 +01:00
35016faba0 add font-awesome css and fonts 2015-01-17 21:41:32 +01:00
ab313a2a66 add allauth configuration and message tags 2015-01-17 17:50:59 +01:00
286c477efc add allauth settings and URLs 2015-01-17 16:28:19 +01:00
8cf6aab643 add admin site link for staff in base template 2015-01-17 16:14:55 +01:00
9fa1944c31 add german translation
- add django.po for apps and templates
- add locale directory to LOCALE_PATHS setting
2015-01-17 16:06:25 +01:00
2bc278ae92 implement login and logout
- add LogoutView to dashboard app
- define logout URL pattern
- only use login view from django.contrib.auth.views instead of including all
  auth URLs
- change base template to support login/logout
- add template dashboard/user_dashboard.html
2015-01-17 15:42:47 +01:00
1deed46d34 add templates for anonymous user dashboard and login 2015-01-17 14:05:04 +01:00
8a29e4001c add dashboard app
- add new dashboard app providing dashboards for anonymous and logged in users
- cleanup gnuviechadmin.urls:
  - import dashboard.urls and include dashboard_urls at URL root
  - import authentication urls and include them below /auth
  - remove generated commented code
2015-01-17 14:05:04 +01:00
8884b8b042 add django-crispy-forms
- add django-crispy-forms to requirements
- add crispy_forms app to settings.base
- add CRISPY_TEMPLATE_PACK setting to settings.base
2015-01-17 14:05:04 +01:00
961a2f471b add migration for managemails ordering 2015-01-17 14:05:04 +01:00
19390d369a add admin list filtering and ordering for mail addresses and mailboxes 2015-01-17 12:25:54 +01:00
ba39e3f765 set database password at the appropriate place 2015-01-10 18:43:43 +01:00
780a670565 remove username argument from delete_pgsql_database call 2015-01-09 19:38:30 +01:00
1af553c1fa remove username argument of pgsqltasks.tasks.delete_pgsql_database 2015-01-09 19:37:12 +01:00
706a4ef177 fix documentation issues
- add autotask directives for pgsqltasks and mysqltasks
- remove duplicate Celery_ link target
2015-01-04 22:47:14 +01:00
6edbe17a3b make userdbs admin work properly
* add userdbs app docstring
* add userdbs.app.UserdbsAppConfig
* implement userdbs.admin.DatabaseUserCreationForm,
  userdbs.admin.UserDatabaseCreationForm, userdbs.admin.DatabaseUserAdmin,
  userdbs.admin.UserDatabaseAdmin
* add docstrings to userdbs.models
* rename userdbs.models.DatabaseUserManager._get_next_username to
  _get_next_dbuser_name
* fix format string issues in userdbs.models.DatabaseUserManager and
  userdbs.UserDatabaseManager._get_next_dbname
* delete related databases in userdbs.models.UserDatabase.delete
2015-01-04 22:35:55 +01:00
be4ea9cc77 add initial migration for userdbs 2015-01-04 20:24:56 +01:00
8697f84381 add admin and a bit of documentation 2015-01-04 20:23:49 +01:00
3eef84d373 add new incomplete userdbs app 2015-01-04 20:22:58 +01:00
e7ae0054b5 add mysqltasks and pgsqltasks with placeholders for the real tasks 2015-01-04 18:06:44 +01:00
ab50907b97 set default locale to en-us to avoid translated migrations 2015-01-04 17:56:38 +01:00
0a17528c0c add migration for verbose_name and verbose_name_plural in osusers.models.User 2015-01-04 17:54:59 +01:00
60301eea46 switch to gvacommon.celeryrouters.GvaRouter 2015-01-01 22:35:55 +01:00
2e2d906f09 Merge commit '546441d49920caf43eb7d33976c2d71ae85f16d5'
* commit '546441d49920caf43eb7d33976c2d71ae85f16d5':
  unify routers, add support for mysql and pgsql tasks
2015-01-01 22:34:38 +01:00
6bf65bba3b use taskresults app and delete_ldap_group task 2014-12-29 15:57:03 +01:00
a336af46c2 add taskresults app to handle celery task results 2014-12-29 15:55:57 +01:00
9b4bef0050 add new task delete_ldap_group 2014-12-29 15:22:52 +01:00
f2b8af39a0 define celery timezone, restrict celery content to json 2014-12-29 12:57:02 +01:00
d4e62bf6f3 add german translation 2014-12-27 22:58:57 +01:00
0df67e7154 document osusers code 2014-12-27 22:44:27 +01:00
18e47d73b4 add customer field to osusers.models.User
- allow association of os users to Django users (customers)
- adapt admin forms
- add migration
2014-12-27 19:26:16 +01:00
39fd326ac2 allow generated password for new osusers
- change osusers.admin.UserCreationForm to allow empty password input which
  triggers the creation of a new password
2014-12-27 18:28:37 +01:00
54b99281e3 call create/delete mailbox tasks when saving/deleting mailboxes 2014-12-27 16:31:43 +01:00
505b9c934b use celery routers from gvacommon 2014-12-27 14:12:48 +01:00
17ca226dc0 Add 'gnuviechadmin/gvacommon/' from commit 'e29646a94714d516d52272fc83d9a15bbc21e488'
git-subtree-dir: gnuviechadmin/gvacommon
git-subtree-mainline: 92c6b39e12
git-subtree-split: e29646a947
2014-12-27 14:09:34 +01:00
92c6b39e12 implement automatic creation of mailbox names
- create mailbox name when saving new mailboxes in admin
- add MailboxManager that implement get_next_mailbox_name as manager for
  Mailbox
2014-12-27 00:24:05 +01:00
8f5812ff29 repair mailbox creation admin 2014-12-27 00:05:14 +01:00
dad9849b48 remove attribute readonly_fields from UserAdmin 2014-12-26 22:38:02 +01:00
57a0d848c9 remove unused import 2014-12-26 21:48:09 +01:00
0b6ac2a478 create directories for new users
- use new file tasks to create SFTP and mail base directories for users
- use json serializer as default
- remove TaskResult classes that don't provide any significant benefit
2014-12-26 15:10:36 +01:00
2428a39f19 add stub tasks for file system operations 2014-12-25 18:05:42 +01:00
e877087127 make user and group management more robust
- remove TaskResultInline and subclasses
- add custom perform_delete_selected action to UserAdmin and GroupAdmin
- properly clean asynchronous tasks in rabbitmq
- wrap user operations in transactions
2014-12-22 20:07:11 +01:00
6984033444 wrap UserManager.create_user in a transaction 2014-12-17 22:19:44 +01:00
e73e46da3f update to Django 1.7, remove south_migrations, fix tests 2014-12-17 21:22:37 +01:00
d5b0382f88 update South to 1.0.1, rename migrations to south_migrations 2014-12-17 21:08:14 +01:00
2204f7df43 add osusers.tests.test_tasks.LdapRouterTest 2014-06-01 23:22:13 +02:00
f01c3dbabb remove empty osusers/views.py 2014-06-01 23:14:16 +02:00
55f77c8e17 Merge branch 'feature/osusers_admin_tests' 2014-06-01 23:11:34 +02:00
fa5f296c0f add test for UserCreationForm.save_m2m 2014-06-01 23:10:26 +02:00
0a48619f3c implement osusers.tests.test_admin.DeleteTaskResultAdminTest 2014-06-01 23:05:58 +02:00
6b36cc95ff really test that update_taskstatus is called 2014-06-01 23:05:28 +02:00
266794d447 add osusers.tests.test_admin.GroupAdminTest 2014-06-01 22:53:38 +02:00
338b575983 add type check 2014-06-01 22:53:29 +02:00
b9d39f31a4 rename test class names from Test* to *Test 2014-06-01 22:41:42 +02:00
09f72fc091 add osusers.tests.test_admin.UserAdminTest 2014-06-01 22:37:43 +02:00
3db6b99a00 add osuser.tests.test_admin.UserCreationFormTest 2014-06-01 22:20:28 +02:00
5cc86b4790 change osusers.admin.UserCreationForm.save_m2m
- replace pass with a doc string to explain why this method does nothing
2014-06-01 22:18:16 +02:00
773dbea0fe implement osusers.tests.test_admin.TaskResultInlineTest 2014-06-01 22:01:04 +02:00
a95c5044bd remove unused gnuviechadmin.celery.debug_task 2014-06-01 21:29:39 +02:00
a663093433 make sure to not execute LDAP task 2014-06-01 21:28:24 +02:00
15ba5bd653 remove empty managemails.views 2014-06-01 18:32:47 +02:00
32de6257d3 add test for managemails.models.Mailbox.__str__ 2014-06-01 18:29:41 +02:00
3407a5ed24 add tests for managemails.admin 2014-06-01 18:25:30 +02:00
33e7fb29af remove empty domains.views 2014-06-01 16:45:37 +02:00
6a931ad21c add test for domains admin 2014-06-01 16:44:42 +02:00
842e207acc complete coverage for osusers.models
- add tests for AdditionalGroups methods save, delete and __str__
- add TaskResultTest.test_update_taskstatus_finished
2014-06-01 16:30:14 +02:00
c270a6087e add osusers.tests.test_models.ShadowTest 2014-06-01 16:09:30 +02:00
20f5686d85 add ShadowManagerTest 2014-06-01 15:42:32 +02:00
b37e44ccfd add tests for osusers.models.User
- fix task name in Group.delete
- remove duplicate task from User.delete
- adapt osusers.tests.test_models.GroupTest.test_delete
- add tests to UserTest
  - test_save
  - test_delete_only_user
  - test_delete_additional_groups
2014-06-01 15:26:01 +02:00
ceeffb6d1c refactor UserManager.create_user
- remove duplicate create_ldap_group task
- create Shadow in User.set_password if necessary
- add test UserManagerTest.test_create_user_tasks for group task
2014-06-01 15:03:15 +02:00
83562ba2bf implement test for User.set_password, add Shadow.set_password 2014-06-01 14:51:33 +02:00
df9800b827 add tests for osusers.models.UserManager 2014-06-01 14:43:42 +02:00
c45e93be03 add tests for Group and GroupManager 2014-06-01 11:56:42 +02:00
7d9224db63 implement tests for TaskResult
- implement TaskResultTest and TaskResultManagerTest
2014-06-01 11:25:30 +02:00
8cec71fe1f add test for osusers.models.Shadow.__str__ 2014-06-01 01:45:50 +02:00
b9dd34d527 add initial osusers unit tests 2014-06-01 01:36:50 +02:00
e8285518a3 fix small group handling bugs
- use create_grouptaskresult instead of create for creating
  GroupTaskResult
- use group.gid instead of non-existing group.id
2014-06-01 00:33:42 +02:00
59783e986d implement classes for tracking task status 2014-05-30 21:46:10 +02:00
865f54ab67 use primitive fields instead of models for tasks
- modify osusers.tasks and osusers.models to avoid serialization of full
  models for celery tasks and use the required fields only
2014-05-30 18:39:51 +02:00
0c5706d886 use YAML for celery serialization
- add CELERY_ACCEPT_CONTENT, CELERY_TASK_SERIALIZER and
  CELERY_RESULT_SERIALIZER in gnuviechadmin.settings.base
- add pyaml to requirements/base.txt
2014-05-30 18:36:26 +02:00
6a40a5eded pass groupname only to delete_ldap_group_if_empty 2014-05-30 17:18:42 +02:00
6eb74f5b79 add more ldap tasks
- add custom celery router osusers.tasks.LdapRouter
- add tasks add_ldap_user_to_group, delete_ldap_group_if_empty,
  delete_ldap_user and remove_ldap_user_from_group
- implement osusers.models.Group.save and osusers.models.Group.delete
- implement save, delete and set_password methods in osusers.models.User
- implement save and delete methods in osusers.models.AdditionalGroup
2014-05-30 17:10:22 +02:00
1e717556ba refine ldap create commands
- define gnuviechadmin.settins.base.CELERY_ROUTES to properly route ldap tasks
- return dummy values from osusers.tasks
- add billiard, kombu and pytz to requirements/base.txt
2014-05-30 12:17:04 +02:00
caab322beb implement user creation in osusers.admin
- add osusers.admin.UserCreationForm
- add dummy osusers.tasks implementation with create_ldap_group and
  create_ldap_user
- fix UserManager.get_next_username
- add proper transaction handling in UserManager.create_user
- add calls to create_ldap_user and create_ldap_group to
  UserManager.create_user
2014-05-25 23:35:14 +02:00
86b8f03704 add celery configuration to settings 2014-05-25 23:35:06 +02:00
97634bb36a add celery app to project 2014-05-25 23:34:27 +02:00
23de57e138 move MailDomain admin to domains.admin 2014-05-25 15:21:04 +02:00
ecaff6a4af move existing MailDomains to domains table 2014-05-25 15:17:08 +02:00
5db6223bc0 introduce new app domains
- generate domains app
- duplicate managemails.models.MailDomain as domains.models.MailDomain
- add domains app to gnuviechadmin.settings.base.LOCAL_APPS
- repair managemails.tests.test_models
- fix handling of empty results in osusers.models.GroupManager.get_next_gid and
  osusers.models.UserManager.get_next_uid
2014-05-25 14:53:58 +02:00
e132c9a56c add user creation manager code
- add OSUSER_* settings
- add UserManager, GroupManager and ShadowManager for user creation
2014-05-25 00:55:02 +02:00
a85ad4e420 improve osusers model classes
- add __str__ methods
- add verbose names and help texts
2014-05-24 23:40:54 +02:00
9d447cac0b improve osusers admin interface
- set user uid to readonly
- set shadow password readonly
- set can_delete on shadow to False
2014-05-24 23:15:14 +02:00
da8ba6ed1d change Mailbox admin to work with osuser field 2014-05-24 22:56:33 +02:00
f085dab017 let mailboxes reference os users
- refer to osuser instead of own home, uid and gid entries in mailboxes
- add data and schema migrations
2014-05-24 22:50:43 +02:00
3de357d394 add migration for timestamp fields 2014-05-24 22:02:14 +02:00
3473b14e62 add timestamps to managemails models 2014-05-24 21:56:30 +02:00
9edbe6c898 add support for additional groups 2014-05-24 21:53:49 +02:00
1082128f22 add osusers app 2014-05-24 21:28:33 +02:00
d5e1128ff6 allow only one mailbox for a mailaddress
- add migration to place a unique constraint on MailAddressMailbox.mailaddress
  and drop existing primary_key
- change managemails.models.MailAddressMailbox.mailaddress to OneToOneField
2014-05-24 20:57:17 +02:00
ee46a61e6d add inline editing for mail address targets
- move active flag into managemails.models.ActivateAbleMixin
- refactor Mailbox and Mailaddress to use ActivateAbleMixin
- implement managemails.models.Mailbox.__str__
- add managemails.admin.ActivationChangeMixin to provide activate and
  deactivate actions for model admin classes
- add activate and deactivate actions for managemails.admin.MailboxAdmin
- add managemails.admin.MailAddressAdmin and inlines for MailAddressMailbox and
  MailAddressForward management on the MailAddress management admin page
2014-05-24 14:58:54 +02:00
b044fe2dd9 add model tests 2014-05-24 13:56:45 +02:00
7e49bd3039 add first tests, add .coveragerc, ignore coverage files 2014-05-24 13:38:08 +02:00
cadcc3fa68 remove domain field from Mailbox admin classes 2014-05-23 23:27:06 +02:00
cc7f5247ab decouple mailbox from domain 2014-05-22 22:57:21 +02:00
618a9b8c11 add separate models for mail addresses, domains and mailboxes 2014-05-19 22:28:25 +02:00
540871865f add initial data model for managemails 2014-05-18 21:35:00 +02:00
46a65b5624 streamline settings
- use get_env_variable and other two scoops best practice
- add managemails to INSTALLED_APPS
2014-05-18 20:26:31 +02:00
123eedaeb1 add generated managemails app 2014-05-18 20:02:39 +02:00
8e19d3630d auto generated project 2014-05-18 00:07:32 +02:00