Merge branch 'musician-settings'

Closes #3.
This commit is contained in:
Santiago Lamora 2020-01-23 16:35:29 +01:00
commit af3bf2cda7
6 changed files with 70 additions and 19 deletions

View File

@ -5,6 +5,8 @@ from django.utils.dateparse import parse_datetime
from django.utils.html import format_html from django.utils.html import format_html
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from . import settings as musician_settings
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -249,9 +251,8 @@ class MailinglistService(OrchestraModel):
return "{}@{}".format(self.data['address_name'], self.data['address_domain']['name']) return "{}@{}".format(self.data['address_name'], self.data['address_domain']['name'])
@property @property
def configure(self): def manager_url(self):
# TODO(@slamora): build mailtran absolute URL return musician_settings.URL_MAILTRAIN
return format_html('<a href="#TODO">Mailtrain</a>')
class SaasService(OrchestraModel): 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): class WebSite(OrchestraModel):
api_name = 'website' api_name = 'website'
param_defaults = { param_defaults = {

View File

@ -1,14 +1,41 @@
# allowed resources limit hardcoded because cannot be retrieved from the API. from django.conf import settings
ALLOWED_RESOURCES = {
'INDIVIDUAL':
{ def getsetting(name):
# 'disk': 1024, value = getattr(settings, name, None)
# 'traffic': 2048, return value or DEFAULTS.get(name)
'mailbox': 2,
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': { "URL_DB_PHPMYADMIN": "https://www.phpmyadmin.net/",
# 'disk': 5 * 1024, "URL_MAILTRAIN": "https://mailtrain.org/",
# 'traffic': 20 * 1024, "URL_SAAS_GITLAB": "https://gitlab.org/",
'mailbox': 10, "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")

View File

@ -66,9 +66,9 @@
<p class="card-text"><i class="fas fa-envelope fa-3x"></i></p> <p class="card-text"><i class="fas fa-envelope fa-3x"></i></p>
<p class="card-text text-dark"> <p class="card-text text-dark">
{{ domain.mails|length }} {% trans "mail addresses created" %} {{ domain.mails|length }} {% trans "mail addresses created" %}
{% if domain.address_left.alert_level %} {% if domain.addresses_left.alert_level %}
<br/> <br/>
<span class="text-{{ domain.address_left.alert_level }}">{{ domain.address_left.count }} mail address left</span> <span class="text-{{ domain.addresses_left.alert_level }}">{{ domain.addresses_left.count }} mail address left</span>
{% endif %} {% endif %}
</p> </p>
<a class="stretched-link" href="{% url 'musician:mails' %}?domain={{ domain.id }}"></a> <a class="stretched-link" href="{% url 'musician:mails' %}?domain={{ domain.id }}"></a>

View File

@ -37,7 +37,7 @@
{% endif %} {% endif %}
<td>{{ resource.address_name}}</td> <td>{{ resource.address_name}}</td>
<td>{{ resource.admin_email }}</td> <td>{{ resource.admin_email }}</td>
<td><a href="#TODO-{{ resource.manager_url }}" target="_blank" rel="noopener noreferrer">Mailtrain</a></td> <td><a href="{{ resource.manager_url }}" target="_blank" rel="noopener noreferrer">Mailtrain <i class="fas fa-external-link-alt"></i></a></td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>

View File

@ -34,7 +34,7 @@
</div> </div>
<div class="col-md-5 text-right"> <div class="col-md-5 text-right">
<div class="service-manager-link"> <div class="service-manager-link">
<a class="btn btn-primary" href="#open-service">{% trans "Open service admin panel" %} <i class="fas fa-external-link-alt"></i></a> <a class="btn btn-primary" href="{{ saas.manager_url }}" target="_blank" rel="noopener noreferrer">{% trans "Open service admin panel" %} <i class="fas fa-external-link-alt"></i></a>
</div> </div>
</div> </div>
</div> </div>

View File

@ -147,3 +147,15 @@ STATIC_ROOT = config('STATIC_ROOT')
# Backend API configuration # Backend API configuration
API_BASE_URL = config('API_BASE_URL') API_BASE_URL = config('API_BASE_URL')
# External services URLs
URL_DB_PHPMYADMIN = config('URL_DB_PHPMYADMIN', None)
URL_MAILTRAIN = config('URL_MAILTRAIN', None)
URL_SAAS_GITLAB = config('URL_SAAS_GITLAB', None)
URL_SAAS_OWNCLOUD = config('URL_SAAS_OWNCLOUD', None)
URL_SAAS_WORDPRESS = config('URL_SAAS_WORDPRESS', None)