diff --git a/musician/models.py b/musician/models.py index aa3ebd4..a0c058f 100644 --- a/musician/models.py +++ b/musician/models.py @@ -5,6 +5,8 @@ from django.utils.dateparse import parse_datetime from django.utils.html import format_html from django.utils.translation import gettext_lazy as _ +from . import settings as musician_settings + logger = logging.getLogger(__name__) @@ -249,9 +251,8 @@ class MailinglistService(OrchestraModel): return "{}@{}".format(self.data['address_name'], self.data['address_domain']['name']) @property - def configure(self): - # TODO(@slamora): build mailtran absolute URL - return format_html('Mailtrain') + def manager_url(self): + return musician_settings.URL_MAILTRAIN class SaasService(OrchestraModel): @@ -266,6 +267,17 @@ class SaasService(OrchestraModel): } + @property + def manager_url(self): + URLS = { + 'gitlab': musician_settings.URL_SAAS_GITLAB, + 'owncloud': musician_settings.URL_SAAS_OWNCLOUD, + 'wordpress': musician_settings.URL_SAAS_WORDPRESS, + } + + return URLS.get(self.service, '#none') + + class WebSite(OrchestraModel): api_name = 'website' param_defaults = { diff --git a/musician/settings.py b/musician/settings.py index 5581061..7dab46f 100644 --- a/musician/settings.py +++ b/musician/settings.py @@ -1,14 +1,41 @@ -# allowed resources limit hardcoded because cannot be retrieved from the API. -ALLOWED_RESOURCES = { - 'INDIVIDUAL': - { - # 'disk': 1024, - # 'traffic': 2048, - 'mailbox': 2, +from django.conf import settings + + +def getsetting(name): + value = getattr(settings, name, None) + return value or DEFAULTS.get(name) + + +DEFAULTS = { + # allowed resources limit hardcoded because cannot be retrieved from the API. + "ALLOWED_RESOURCES": { + 'INDIVIDUAL': + { + # 'disk': 1024, + # 'traffic': 2048, + 'mailbox': 2, + }, + 'ASSOCIATION': { + # 'disk': 5 * 1024, + # 'traffic': 20 * 1024, + 'mailbox': 10, + } }, - 'ASSOCIATION': { - # 'disk': 5 * 1024, - # 'traffic': 20 * 1024, - 'mailbox': 10, - } + "URL_DB_PHPMYADMIN": "https://www.phpmyadmin.net/", + "URL_MAILTRAIN": "https://mailtrain.org/", + "URL_SAAS_GITLAB": "https://gitlab.org/", + "URL_SAAS_OWNCLOUD": "https://owncloud.org/", + "URL_SAAS_WORDPRESS": "https://wordpress.org/", } + +ALLOWED_RESOURCES = getsetting("ALLOWED_RESOURCES") + +URL_DB_PHPMYADMIN = getsetting("URL_DB_PHPMYADMIN") + +URL_MAILTRAIN = getsetting("URL_MAILTRAIN") + +URL_SAAS_GITLAB = getsetting("URL_SAAS_GITLAB") + +URL_SAAS_OWNCLOUD = getsetting("URL_SAAS_OWNCLOUD") + +URL_SAAS_WORDPRESS = getsetting("URL_SAAS_WORDPRESS") diff --git a/musician/templates/musician/dashboard.html b/musician/templates/musician/dashboard.html index 7988f31..69c9239 100644 --- a/musician/templates/musician/dashboard.html +++ b/musician/templates/musician/dashboard.html @@ -66,9 +66,9 @@
{{ domain.mails|length }} {% trans "mail addresses created" %}
- {% if domain.address_left.alert_level %}
+ {% if domain.addresses_left.alert_level %}
- {{ domain.address_left.count }} mail address left
+ {{ domain.addresses_left.count }} mail address left
{% endif %}