diff --git a/install_re2o.sh b/install_re2o.sh index 9100bc15..aff54cb0 100755 --- a/install_re2o.sh +++ b/install_re2o.sh @@ -171,6 +171,46 @@ ldap_host="localhost" fi +TITLE="Hôte pour l'envoi de mail" +email_host=$(dialog --title "$TITLE" \ + --backtitle "$BACKTITLE" \ + --inputbox "$TITLE" $HEIGHT $WIDTH \ + 2>&1 >/dev/tty) + +TITLE="Port du serveur mail" +OPTIONS=(25 "25 (SMTP)" + 465 "465 (SMTPS)" + 587 "587 (Submission)") + +email_port=$(dialog --clear \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --menu "$MENU" \ + $HEIGHT $WIDTH $CHOICE_HEIGHT \ + "${OPTIONS[@]}" \ + 2>&1 >/dev/tty) +clear +if [ $ldap_is_local == 2 ] +then +TITLE="Cn ldap admin" +ldap_cn=$(dialog --title "$TITLE" \ + --backtitle "$BACKTITLE" \ + --inputbox "$TITLE" $HEIGHT $WIDTH \ + 2>&1 >/dev/tty) +clear +TITLE="Hote ldap" +ldap_host=$(dialog --title "$TITLE" \ + --backtitle "$BACKTITLE" \ + --inputbox "$TITLE" $HEIGHT $WIDTH \ + 2>&1 >/dev/tty) +clear +else +ldap_cn="cn=admin," +ldap_cn+=$ldap_dn +ldap_host="localhost" +fi + + echo "Installation des paquets de base" apt-get -y install python3-django python3-dateutil texlive-latex-base texlive-fonts-recommended python3-djangorestframework python3-django-reversion python3-pip libsasl2-dev libldap2-dev libssl-dev pip3 install django-bootstrap3 @@ -229,6 +269,8 @@ sed -i 's/SUPER_SECRET_LDAP/'"$ldap_password"'/g' re2o/settings_local.py sed -i 's/ldap_host_ip/'"$ldap_host"'/g' re2o/settings_local.py sed -i 's/dc=example,dc=org/'"$ldap_dn"'/g' re2o/settings_local.py sed -i 's/example.org/'"$extension_locale"'/g' re2o/settings_local.py +sed -i 's/MY_EMAIL_HOST/'"$email_host"'/g' re2o/settings_local.py +sed -i 's/MY_EMAIL_PORT/'"$email_port"'/g' re2o/settings_local.py echo "Application des migrations" python3 manage.py migrate diff --git a/preferences/admin.py b/preferences/admin.py index d4c41e62..867596fe 100644 --- a/preferences/admin.py +++ b/preferences/admin.py @@ -23,7 +23,7 @@ from django.contrib import admin from reversion.admin import VersionAdmin -from .models import OptionalUser, OptionalMachine, OptionalTopologie, GeneralOption, Service, AssoOption +from .models import OptionalUser, OptionalMachine, OptionalTopologie, GeneralOption, Service, AssoOption, MailMessageOption class OptionalUserAdmin(VersionAdmin): pass @@ -31,7 +31,6 @@ class OptionalUserAdmin(VersionAdmin): class OptionalTopologieAdmin(VersionAdmin): pass - class OptionalMachineAdmin(VersionAdmin): pass @@ -44,9 +43,13 @@ class ServiceAdmin(VersionAdmin): class AssoOptionAdmin(VersionAdmin): pass +class MailMessageOptionAdmin(VersionAdmin): + pass + admin.site.register(OptionalUser, OptionalUserAdmin) admin.site.register(OptionalMachine, OptionalMachineAdmin) admin.site.register(OptionalTopologie, OptionalTopologieAdmin) admin.site.register(GeneralOption, GeneralOptionAdmin) admin.site.register(Service, ServiceAdmin) admin.site.register(AssoOption, AssoOptionAdmin) +admin.site.register(MailMessageOption, MailMessageOptionAdmin) diff --git a/preferences/forms.py b/preferences/forms.py index 37e9c7ea..ca2df893 100644 --- a/preferences/forms.py +++ b/preferences/forms.py @@ -22,7 +22,7 @@ from django.forms import ModelForm, Form, ValidationError from django import forms -from .models import OptionalUser, OptionalMachine, OptionalTopologie, GeneralOption, AssoOption, Service +from .models import OptionalUser, OptionalMachine, OptionalTopologie, GeneralOption, AssoOption, MailMessageOption, Service from django.db.models import Q class EditOptionalUserForm(ModelForm): @@ -66,12 +66,36 @@ class EditGeneralOptionForm(ModelForm): self.fields['search_display_page'].label = 'Resultats affichés dans une recherche' self.fields['pagination_number'].label = 'Items par page, taille normale (ex users)' self.fields['pagination_large_number'].label = 'Items par page, taille élevée (machines)' + self.fields['req_expire_hrs'].label = 'Temps avant expiration du lien de reinitialisation de mot de passe (en heures)' + self.fields['site_name'].label = 'Nom du site web' + self.fields['email_from'].label = 'Adresse mail d\'expedition automatique' class EditAssoOptionForm(ModelForm): class Meta: model = AssoOption fields = '__all__' + def __init__(self, *args, **kwargs): + super(EditAssoOptionForm, self).__init__(*args, **kwargs) + self.fields['name'].label = 'Nom de l\'asso' + self.fields['siret'].label = 'SIRET' + self.fields['adresse1'].label = 'Adresse (ligne 1)' + self.fields['adresse2'].label = 'Adresse (ligne 2)' + self.fields['contact'].label = 'Email de contact' + self.fields['telephone'].label = 'Numéro de téléphone' + self.fields['pseudo'].label = 'Pseudo d\'usage' + self.fields['utilisateur_asso'].label = 'Compte utilisé pour faire les modifications depuis /admin' + +class EditMailMessageOptionForm(ModelForm): + class Meta: + model = MailMessageOption + fields = '__all__' + + def __init__(self, *args, **kwargs): + super(EditMailMessageOptionForm, self).__init__(*args, **kwargs) + self.fields['welcome_mail_fr'].label = 'Message dans le mail de bienvenue en français' + self.fields['welcome_mail_en'].label = 'Message dans le mail de bienvenue en anglais' + class ServiceForm(ModelForm): class Meta: model = Service diff --git a/preferences/migrations/0017_mailmessageoption.py b/preferences/migrations/0017_mailmessageoption.py new file mode 100644 index 00000000..31fb145c --- /dev/null +++ b/preferences/migrations/0017_mailmessageoption.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.7 on 2017-09-08 20:17 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('preferences', '0016_auto_20170902_1520'), + ] + + operations = [ + migrations.CreateModel( + name='MailMessageOption', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('welcome_mail_fr', models.TextField(default='')), + ('welcome_mail_en', models.TextField(default='')), + ], + ), + ] diff --git a/preferences/models.py b/preferences/models.py index 92822190..b56faf3d 100644 --- a/preferences/models.py +++ b/preferences/models.py @@ -87,3 +87,10 @@ class AssoOption(models.Model): telephone = models.CharField(max_length=15, default="0000000000") pseudo = models.CharField(default="Asso", max_length=32) utilisateur_asso = models.OneToOneField('users.User', on_delete=models.PROTECT, blank=True, null=True) + +class MailMessageOption(models.Model): + PRETTY_NAME = "Options de corps de mail" + + welcome_mail_fr = models.TextField(default="") + welcome_mail_en = models.TextField(default="") + diff --git a/preferences/templates/preferences/display_preferences.html b/preferences/templates/preferences/display_preferences.html index 394a4714..d96f4ed7 100644 --- a/preferences/templates/preferences/display_preferences.html +++ b/preferences/templates/preferences/display_preferences.html @@ -47,6 +47,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
+
+Mail de bienvenue (Français) | +{{ mailmessageoptions.welcome_mail_fr | safe }} | +
---|---|
Mail de bienvenue (Anglais) | +{{ mailmessageoptions.welcome_mail_en | safe }} | +
Bonjour {{nom}} !
-Vous êtes maintenant adhérent du {{asso_name}} ! Nous sommes ravis de vous accueillir
-dans l'association. Outre l'accès à Internet, vous pourrez participer aux activités
-que nous proposons et profiter des services mis en place. Ceux-ci sont à découvrir
-sur le site Re2o qui vous permet aussi de gérer vos informations personnelles.
Si vous n'avez pas été enregistré directement par un élève sur place vous devez suivre ce guide expliquant la procédure de connexion (vous devriez commencer avant d'arriver afin d'avoir internet tout de suite) : https://slides.rezometz.org/welcome
+Vous êtes maintenant adhérent de {{asso_name}} ! Nous sommes ravis de vous accueillir dans l'association.
Votre pseudo est : {{pseudo}}
-Le {{asso_name}} recrute ! Nous sommes passionnés (et bénévoles), alors si vous êtes intéressé
-de près ou de loin pour nous aider, n'hésitez pas !
Pour nous faire part de toute remarque, suggestion ou problème vous pouvez nous
-envoyer un mail à {{asso_email}}.
Pour nous faire part de toute remarque, suggestion ou problème vous pouvez nous envoyer un mail à {{asso_email}}.
À bientôt,
L'équipe de {{asso_name}}.
Welcome to the {{asso_name}} !
-We are the association that provides an internet acces in the dorm of ALOES
- -If you have never been in contact with a member of the association you need to follow this guide explaining how to connect (even if you are not in the dorm yet) : https://slides.rezometz.org/welcome
-Your username is : {{pseudo}}
-
As a member of the association, not only can you access to the Internet but also a
-variety of services that you can discover on the website Re2o (log in using your
-credentials).
For any information, suggestion or problem, you can contact us via email at
{{asso_email}}.
Regards,
-The (voluntary) {{asso_name}} team.