diff --git a/preferences/models.py b/preferences/models.py index 5c0dd5de..cf4e5a33 100644 --- a/preferences/models.py +++ b/preferences/models.py @@ -307,6 +307,10 @@ class MailContact(AclMixin, models.Model): max_length = 256 ) + @cached_property + def get_name(self): + return self.address.split("@")[0] + class Meta: permissions = ( ("view_mailcontact", "Peut voir les mails de contact"), diff --git a/re2o/templates/re2o/contact.html b/re2o/templates/re2o/contact.html new file mode 100644 index 00000000..474ac7e8 --- /dev/null +++ b/re2o/templates/re2o/contact.html @@ -0,0 +1,52 @@ +{% extends "re2o/sidebar.html" %} +{% comment %} +Re2o est un logiciel d'administration développé initiallement au rezometz. Il +se veut agnostique au réseau considéré, de manière à être installable en +quelques clics. + +Copyright © 2017 Gabriel Détraz +Copyright © 2017 Goulven Kermarec +Copyright © 2017 Augustin Lemesle + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +{% endcomment %} + +{% load bootstrap3 %} +{% load i18n %} + +{% block title %}{% trans "Contact" %}{% endblock %} + +{% block content %} +

{% blocktrans %}Contacter l'association {{asso_name}}{% endblocktrans %}

+
+ +{% for contact in contacts %} + +
+

{{ contact.get_name }}

+
+
+
{{ contact.commentary}}
+ +
+
+
+ +{% endfor %} + + + +{% endblock %} + diff --git a/re2o/views.py b/re2o/views.py index 45b6ea73..75c8c694 100644 --- a/re2o/views.py +++ b/re2o/views.py @@ -43,6 +43,7 @@ from django.views.decorators.cache import cache_page import preferences from preferences.models import ( Service, + MailContact, GeneralOption, AssoOption, HomeOption @@ -86,6 +87,7 @@ HISTORY_BIND = { 'users': { 'user': users.models.User, 'ban': users.models.Ban, + 'mailalias': users.models.MailAlias, 'whitelist': users.models.Whitelist, 'school': users.models.School, 'listright': users.models.ListRight, @@ -94,6 +96,7 @@ HISTORY_BIND = { }, 'preferences': { 'service': preferences.models.Service, + 'mailcontact': preferences.models.MailContact, }, 'cotisations': { 'facture': cotisations.models.Facture, @@ -229,6 +232,21 @@ def about_page(request): } ) +def contact_page(request): + """The view for the contact page + Send all the objects MailContact + """ + address = MailContact.objects.all() + + return render( + request, + "re2o/contact.html", + { + 'contacts': address, + 'asso_name': AssoOption.objects.first().name + } + ) + def handler500(request): """The handler view for a 500 error"""