diff --git a/preferences/forms.py b/preferences/forms.py index 7e644808..3d461ef2 100644 --- a/preferences/forms.py +++ b/preferences/forms.py @@ -359,7 +359,7 @@ class DelMailContactForm(Form): """Delete contact email adress""" mailcontacts = forms.ModelMultipleChoiceField( queryset=MailContact.objects.none(), - label="Enregistrements adresses actuels", + label=_("Current email addresses"), widget=forms.CheckboxSelectMultiple ) diff --git a/preferences/locale/fr/LC_MESSAGES/django.po b/preferences/locale/fr/LC_MESSAGES/django.po index 65effeea..3528330e 100644 --- a/preferences/locale/fr/LC_MESSAGES/django.po +++ b/preferences/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-15 00:30+0200\n" +"POT-Creation-Date: 2019-01-12 15:13+0100\n" "PO-Revision-Date: 2018-06-24 15:54+0200\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" @@ -34,282 +34,386 @@ msgstr "" msgid "You don't have the right to view this application." msgstr "Vous n'avez pas le droit de voir cette application." -#: forms.py:62 templates/preferences/display_preferences.html:68 +#: forms.py:63 templates/preferences/display_preferences.html:142 msgid "Telephone number required" msgstr "Numéro de téléphone requis" -#: forms.py:64 +#: forms.py:65 msgid "GPG fingerprint" msgstr "Empreinte GPG" -#: forms.py:65 +#: forms.py:66 msgid "All can create a club" msgstr "Tous peuvent créer un club" -#: forms.py:66 +#: forms.py:67 msgid "All can create a member" msgstr "Tous peuvent créer un adhérent" -#: forms.py:67 templates/preferences/display_preferences.html:50 +#: forms.py:68 templates/preferences/display_preferences.html:120 msgid "Self registration" msgstr "Autoinscription" -#: forms.py:68 +#: forms.py:69 msgid "Default shell" -msgstr "Interface système par défaut" +msgstr "Interface en ligne de commande par défaut" -#: forms.py:84 +#: forms.py:85 msgid "Possibility to set a password per machine" msgstr "Possibilité de mettre un mot de passe par machine" -#: forms.py:86 templates/preferences/display_preferences.html:101 +#: forms.py:87 templates/preferences/display_preferences.html:172 msgid "Maximum number of interfaces allowed for a standard user" msgstr "Nombre maximum d'interfaces autorisé pour un utilisateur standard" -#: forms.py:90 templates/preferences/display_preferences.html:105 +#: forms.py:91 templates/preferences/display_preferences.html:176 msgid "Maximum number of DNS aliases allowed for a standard user" msgstr "Nombre maximum d'alias DNS autorisé pour un utilisateur standard" -#: forms.py:93 +#: forms.py:94 msgid "IPv6 mode" msgstr "Mode IPv6" -#: forms.py:94 +#: forms.py:95 msgid "Can create a machine" msgstr "Peut créer une machine" -#: forms.py:117 -msgid "RADIUS general policy" -msgstr "Politique générale de RADIUS" - -#: forms.py:118 templates/preferences/display_preferences.html:130 -msgid "VLAN for machines accepted by RADIUS" -msgstr "VLAN pour les machines acceptées par RADIUS" - -#: forms.py:120 templates/preferences/display_preferences.html:132 -msgid "VLAN for machines rejected by RADIUS" -msgstr "VLAN pour les machines rejetées par RADIUS" - -#: forms.py:145 -#, fuzzy -#| msgid "General message" +#: forms.py:141 msgid "General message in French" -msgstr "Message général" +msgstr "Message général en français" -#: forms.py:146 -#, fuzzy -#| msgid "General message" +#: forms.py:142 msgid "General message in English" -msgstr "Message général" +msgstr "Message général en anglais" -#: forms.py:147 templates/preferences/display_preferences.html:213 +#: forms.py:143 templates/preferences/display_preferences.html:58 msgid "Number of results displayed when searching" msgstr "Nombre de résultats affichés lors de la recherche" -#: forms.py:150 +#: forms.py:146 msgid "Number of items per page, standard size (e.g. users)" msgstr "Nombre d'éléments par page, taille standard (ex : utilisateurs)" -#: forms.py:153 +#: forms.py:149 msgid "Number of items per page, large size (e.g. machines)" msgstr "Nombre d'éléments par page, taille importante (ex : machines)" -#: forms.py:156 templates/preferences/display_preferences.html:221 +#: forms.py:152 templates/preferences/display_preferences.html:66 msgid "Time before expiration of the reset password link (in hours)" msgstr "" "Temps avant expiration du lien de réinitialisation de mot de passe (en " "heures)" -#: forms.py:159 templates/preferences/display_preferences.html:207 +#: forms.py:155 templates/preferences/display_preferences.html:52 msgid "Website name" msgstr "Nom du site" -#: forms.py:160 templates/preferences/display_preferences.html:209 +#: forms.py:156 templates/preferences/display_preferences.html:54 msgid "Email address for automatic emailing" msgstr "Adresse mail pour les mails automatiques" -#: forms.py:162 templates/preferences/display_preferences.html:227 +#: forms.py:158 templates/preferences/display_preferences.html:76 msgid "Summary of the General Terms of Use" msgstr "Résumé des Conditions Générales d'Utilisation" -#: forms.py:164 templates/preferences/display_preferences.html:231 +#: forms.py:160 templates/preferences/display_preferences.html:78 msgid "General Terms of Use" msgstr "Conditions Générales d'Utilisation" -#: forms.py:180 +#: forms.py:176 msgid "Organisation name" msgstr "Nom de l'association" -#: forms.py:181 templates/preferences/display_preferences.html:246 +#: forms.py:177 templates/preferences/display_preferences.html:323 msgid "SIRET number" msgstr "Numéro SIRET" -#: forms.py:182 +#: forms.py:178 msgid "Address (line 1)" msgstr "Adresse (ligne 1)" -#: forms.py:183 +#: forms.py:179 msgid "Address (line 2)" msgstr "Adresse (ligne 2)" -#: forms.py:184 models.py:482 -#: templates/preferences/display_preferences.html:254 +#: forms.py:180 models.py:476 +#: templates/preferences/display_preferences.html:331 msgid "Contact email address" msgstr "Adresse mail de contact" -#: forms.py:185 templates/preferences/display_preferences.html:258 +#: forms.py:181 templates/preferences/display_preferences.html:335 msgid "Telephone number" msgstr "Numéro de téléphone" -#: forms.py:186 templates/preferences/display_preferences.html:260 +#: forms.py:182 templates/preferences/display_preferences.html:337 msgid "Usual name" msgstr "Nom d'usage" -#: forms.py:187 +#: forms.py:183 msgid "Account used for editing from /admin" msgstr "Compte utilisé pour les modifications depuis /admin" -#: forms.py:189 +#: forms.py:185 msgid "Payment" msgstr "Paiement" -#: forms.py:190 +#: forms.py:186 msgid "Payment ID" msgstr "ID de paiement" -#: forms.py:191 +#: forms.py:187 msgid "Payment password" msgstr "Mot de passe de paiement" -#: forms.py:192 forms.py:243 templates/preferences/aff_service.html:33 +#: forms.py:188 forms.py:267 templates/preferences/aff_service.html:33 msgid "Description" msgstr "Description" -#: forms.py:208 +#: forms.py:204 msgid "Message for the French welcome email" msgstr "Message pour le mail de bienvenue en français" -#: forms.py:210 +#: forms.py:206 msgid "Message for the English welcome email" msgstr "Message pour le mail de bienvenue en anglais" -#: forms.py:227 +#: forms.py:223 msgid "Facebook URL" msgstr "URL du compte Facebook" -#: forms.py:228 +#: forms.py:224 msgid "Twitter URL" msgstr "URL du compte Twitter" -#: forms.py:229 templates/preferences/display_preferences.html:314 +#: forms.py:225 templates/preferences/display_preferences.html:445 msgid "Twitter account name" msgstr "Nom du compte Twitter" -#: forms.py:241 templates/preferences/aff_service.html:31 -#: templates/preferences/display_preferences.html:244 +#: forms.py:247 +msgid "You chose to set vlan but did not set any VLAN." +msgstr "" +"Vous avez choisi de paramétrer vlan mais vous n'avez indiqué aucun VLAN." + +#: forms.py:251 +msgid "Please, choose a VLAN." +msgstr "Veuillez choisir un VLAN." + +#: forms.py:265 templates/preferences/aff_service.html:31 +#: templates/preferences/display_preferences.html:321 msgid "Name" msgstr "Nom" -#: forms.py:242 templates/preferences/aff_service.html:32 +#: forms.py:266 templates/preferences/aff_service.html:32 msgid "URL" msgstr "URL" -#: forms.py:244 templates/preferences/aff_service.html:34 +#: forms.py:268 templates/preferences/aff_service.html:34 msgid "Image" msgstr "Image" -#: forms.py:251 +#: forms.py:275 msgid "Current services" msgstr "Services actuels" +#: forms.py:362 +msgid "Current email addresses" +msgstr "Adresses mail actuelles" + #: models.py:76 -msgid "Users can create a club" -msgstr "Les utilisateurs peuvent créer un club" +msgid "Users can create a club." +msgstr "Les utilisateurs peuvent créer un club." #: models.py:80 -msgid "Users can create a member" -msgstr "Les utilisateurs peuvent créer un adhérent" +msgid "Users can create a member." +msgstr "Les utilisateurs peuvent créer un adhérent." -#: models.py:91 templates/preferences/display_preferences.html:62 -msgid "Users can edit their shell" -msgstr "Les utilisateurs peuvent modifier leur interface système" +#: models.py:91 +msgid "Users can edit their shell." +msgstr "Les utilisateurs peuvent modifier leur interface en ligne de commande." -#: models.py:95 templates/preferences/display_preferences.html:66 -#, fuzzy -#| msgid "Users can edit their shell" -msgid "Users can edit their room" -msgstr "Les utilisateurs peuvent modifier leur interface système" +#: models.py:95 +msgid "Users can edit their room." +msgstr "Les utilisateurs peuvent modifier leur chambre." #: models.py:99 -msgid "Enable local email accounts for users" -msgstr "Active les comptes mail locaux pour les utilisateurs" +msgid "Enable local email accounts for users." +msgstr "Activer les comptes mail locaux pour les utilisateurs." #: models.py:104 msgid "Domain to use for local email accounts" msgstr "Domaine à utiliser pour les comptes mail locaux" #: models.py:108 -msgid "Maximum number of local email addresses for a standard user" +msgid "Maximum number of local email addresses for a standard user." msgstr "" -"Nombre maximum d'adresses mail locales autorisé pour un utilisateur standard" +"Nombre maximum d'adresses mail locales autorisé pour un utilisateur standard." #: models.py:113 -msgid "Inactive users will be deleted after this number of days" -msgstr "Les utilisateurs n'ayant jamais adhéré seront supprimés après (jours)" +msgid "Not yet active users will be deleted after this number of days." +msgstr "" +"Les utilisateurs n'ayant jamais adhéré seront supprimés après ce nombre de " +"jours." -#: models.py:117 -msgid "A new user can create their account on Re2o" -msgstr "Un nouvel utilisateur peut créer son compte sur Re2o" +#: models.py:118 +msgid "A new user can create their account on Re2o." +msgstr "Un nouvel utilisateur peut créer son compte sur Re2o." #: models.py:122 +msgid "" +"If True, all new created and connected users are active. If False, only when " +"a valid registration has been paid." +msgstr "" +"Si True, tous les nouveaux utilisations créés et connectés sont actifs. Si " +"False, seulement quand une inscription validée a été payée." + +#: models.py:128 msgid "Can view the user options" msgstr "Peut voir les options d'utilisateur" -#: models.py:124 +#: models.py:130 msgid "user options" msgstr "options d'utilisateur" -#: models.py:131 +#: models.py:137 msgid "Email domain must begin with @" msgstr "Un domaine mail doit commencer par @" -#: models.py:149 +#: models.py:155 msgid "Autoconfiguration by RA" msgstr "Configuration automatique par RA" -#: models.py:150 +#: models.py:156 msgid "IP addresses assigning by DHCPv6" msgstr "Attribution d'adresses IP par DHCPv6" -#: models.py:151 +#: models.py:157 msgid "Disabled" msgstr "Désactivé" -#: models.py:173 +#: models.py:179 msgid "Can view the machine options" msgstr "Peut voir les options de machine" -#: models.py:175 +#: models.py:181 msgid "machine options" msgstr "options de machine" -#: models.py:194 +#: models.py:200 models.py:592 msgid "On the IP range's VLAN of the machine" msgstr "Sur le VLAN de la plage d'IP de la machine" -#: models.py:195 +#: models.py:201 models.py:593 msgid "Preset in 'VLAN for machines accepted by RADIUS'" msgstr "Prédéfinie dans 'VLAN pour les machines acceptées par RADIUS'" -#: models.py:315 +#: models.py:210 templates/preferences/display_preferences.html:246 +msgid "Web management, activated in case of automatic provision" +msgstr "Gestion web, activée en cas de provision automatique" + +#: models.py:214 +msgid "" +"SSL web management, make sure that a certificate is installed on the switch" +msgstr "" +"Gestion web SSL, vérifiez qu'un certificat est installé sur le commutateur " +"réseau" + +#: models.py:219 templates/preferences/display_preferences.html:248 +msgid "REST management, activated in case of automatic provision" +msgstr "Gestion REST, activée en cas de provision automatique" + +#: models.py:226 templates/preferences/display_preferences.html:262 +msgid "IP range for the management of switches" +msgstr "Plage d'IP pour la gestion des commutateurs réseau" + +#: models.py:232 templates/preferences/display_preferences.html:270 +msgid "Provision of configuration mode for switches" +msgstr "Mode de provision de configuration pour les commutateurs réseau" + +#: models.py:238 +msgid "SFTP login for switches" +msgstr "Identifiant SFTP pour les commutateurs réseau" + +#: models.py:244 +msgid "SFTP password" +msgstr "Mot de passe SFTP" + +#: models.py:303 msgid "Can view the topology options" msgstr "Peut voir les options de topologie" -#: models.py:317 +#: models.py:305 msgid "topology options" msgstr "options de topologie" -#: models.py:419 +#: models.py:319 models.py:337 +msgid "RADIUS key" +msgstr "Clé RADIUS" + +#: models.py:325 +msgid "Comment for this key" +msgstr "Commentaire pour cette clé" + +#: models.py:330 +msgid "Default key for switches" +msgstr "Clé par défaut pour les commutateurs réseau" + +#: models.py:335 +msgid "Can view a RADIUS key object" +msgstr "Peut voir un objet clé RADIUS" + +#: models.py:338 templates/preferences/display_preferences.html:221 +msgid "RADIUS keys" +msgstr "clés RADIUS" + +#: models.py:341 +msgid "RADIUS key " +msgstr "clé RADIUS " + +#: models.py:348 templates/preferences/aff_switchmanagementcred.html:31 +msgid "Switch login" +msgstr "Identifiant du commutateur réseau" + +#: models.py:352 +msgid "Password" +msgstr "Mot de passe" + +#: models.py:357 +msgid "Default credentials for switches" +msgstr "Identifiants par défaut pour les commutateurs réseau" + +#: models.py:362 +msgid "Can view a switch management credentials object" +msgstr "Peut voir un objet identifiants de gestion de commutateur réseau" + +#: models.py:365 +msgid "switch management credentials" +msgstr "identifiants de gestion de commutateur réseau" + +#: models.py:368 +msgid "Switch login " +msgstr "Identifiant du commutateur réseau " + +#: models.py:380 +msgid "Delay between the email and the membership's end" +msgstr "Délai entre le mail et la fin d'adhésion" + +#: models.py:387 +msgid "Message displayed specifically for this reminder" +msgstr "Message affiché spécifiquement pour ce rappel" + +#: models.py:392 +msgid "Can view a reminder object" +msgstr "Peut voir un objet rappel" + +#: models.py:394 +msgid "reminder" +msgstr "rappel" + +#: models.py:395 +msgid "reminders" +msgstr "rappels" + +#: models.py:412 msgid "" "General message displayed on the French version of the website (e.g. in case " "of maintenance)" @@ -317,7 +421,7 @@ msgstr "" "Message général affiché sur la version française du site (ex : en cas de " "maintenance)" -#: models.py:425 +#: models.py:418 msgid "" "General message displayed on the English version of the website (e.g. in " "case of maintenance)" @@ -325,185 +429,199 @@ msgstr "" "Message général affiché sur la version anglaise du site (ex : en cas de " "maintenance)" -#: models.py:447 +#: models.py:441 msgid "Can view the general options" msgstr "Peut voir les options générales" -#: models.py:449 +#: models.py:443 msgid "general options" msgstr "options générales" -#: models.py:469 +#: models.py:463 msgid "Can view the service options" msgstr "Peut voir les options de service" -#: models.py:471 +#: models.py:465 msgid "service" msgstr "service" -#: models.py:472 +#: models.py:466 msgid "services" msgstr "services" -#: models.py:489 +#: models.py:482 msgid "Description of the associated email address." msgstr "Description de l'adresse mail associée." -#: models.py:499 +#: models.py:492 msgid "Can view a contact email address object" msgstr "Peut voir un objet adresse mail de contact" -#: models.py:501 +#: models.py:494 msgid "contact email address" msgstr "adresse mail de contact" -#: models.py:502 +#: models.py:495 msgid "contact email addresses" msgstr "adresses mail de contact" -#: models.py:512 +#: models.py:505 msgid "Networking organisation school Something" msgstr "Association de réseau de l'école Machin" -#: models.py:516 +#: models.py:509 msgid "Threadneedle Street" msgstr "1 rue de la Vrillière" -#: models.py:517 +#: models.py:510 msgid "London EC2R 8AH" msgstr "75001 Paris" -#: models.py:520 +#: models.py:513 msgid "Organisation" msgstr "Association" -#: models.py:534 +#: models.py:527 msgid "Can view the organisation options" msgstr "Peut voir les options d'association" -#: models.py:536 +#: models.py:529 msgid "organisation options" msgstr "options d'association" -#: models.py:565 +#: models.py:558 msgid "Can view the homepage options" msgstr "Peut voir les options de page d'accueil" -#: models.py:567 +#: models.py:560 msgid "homepage options" msgstr "options de page d'accueil" -#: models.py:585 +#: models.py:573 +msgid "Welcome email in French" +msgstr "Mail de bienvenue en français" + +#: models.py:574 +msgid "Welcome email in English" +msgstr "Mail de bienvenue en anglais" + +#: models.py:578 msgid "Can view the email message options" msgstr "Peut voir les options de message pour les mails" -#: models.py:588 +#: models.py:581 msgid "email message options" msgstr "options de messages pour les mails" +#: models.py:586 +msgid "RADIUS policy" +msgstr "Politique de RADIUS" + +#: models.py:587 +msgid "RADIUS policies" +msgstr "Politiques de RADIUS" + +#: models.py:598 +msgid "Reject the machine" +msgstr "Rejeter la machine" + +#: models.py:599 +msgid "Place the machine on the VLAN" +msgstr "Placer la machine sur le VLAN" + +#: models.py:610 +msgid "Policy for unknown machines" +msgstr "Politique pour les machines inconnues" + +#: models.py:618 +msgid "Unknown machines VLAN" +msgstr "VLAN pour les machines inconnues" + +#: models.py:619 +msgid "VLAN for unknown machines if not rejected" +msgstr "VLAN pour les machines inconnues si non rejeté" + +#: models.py:625 +msgid "Policy for unknown ports" +msgstr "Politique pour les ports inconnus" + +#: models.py:633 +msgid "Unknown ports VLAN" +msgstr "VLAN pour les ports inconnus" + +#: models.py:634 +msgid "VLAN for unknown ports if not rejected" +msgstr "VLAN pour les ports inconnus si non rejeté" + +#: models.py:640 +msgid "" +"Policy for machines connecting from unregistered rooms (relevant on ports " +"with STRICT RADIUS mode)" +msgstr "" +"Politique pour les machines se connectant depuis des chambre non " +"enregistrées (pertinent pour les ports avec le mode de RADIUS STRICT)" + +#: models.py:649 +msgid "Unknown rooms VLAN" +msgstr "VLAN pour les chambres inconnues" + +#: models.py:650 +msgid "VLAN for unknown rooms if not rejected" +msgstr "VLAN pour les chambres inconnues si non rejeté" + +#: models.py:656 +msgid "Policy for non members" +msgstr "Politique pour les non adhérents" + +#: models.py:664 +msgid "Non members VLAN" +msgstr "VLAN pour les non adhérents" + +#: models.py:665 +msgid "VLAN for non members if not rejected" +msgstr "VLAN pour les non adhérents si non rejeté" + +#: models.py:671 +msgid "Policy for banned users" +msgstr "Politique pour les utilisateurs bannis" + +#: models.py:679 +msgid "Banned users VLAN" +msgstr "VLAN pour les utilisateurs bannis" + +#: models.py:680 +msgid "VLAN for banned users if not rejected" +msgstr "VLAN pour les utilisateurs bannis si non rejeté" + #: templates/preferences/aff_mailcontact.html:31 -#: templates/preferences/display_preferences.html:250 +#: templates/preferences/display_preferences.html:327 msgid "Address" msgstr "Adresse" #: templates/preferences/aff_mailcontact.html:32 +#: templates/preferences/aff_radiuskey.html:32 msgid "Comment" msgstr "Commentaire" -#: templates/preferences/display_preferences.html:31 -#: templates/preferences/edit_preferences.html:30 -#: templates/preferences/preferences.html:30 -msgid "Preferences" -msgstr "Préférences" +#: templates/preferences/aff_radiuskey.html:31 +msgid "RADIUS key ID" +msgstr "ID de la clé RADIUS" -#: templates/preferences/display_preferences.html:34 -msgid "User preferences" -msgstr "Préférences d'utilisateur" +#: templates/preferences/aff_radiuskey.html:33 +msgid "Default RADIUS key for switches" +msgstr "Clé RADIUS par défaut pour les commutateurs réseau" -#: templates/preferences/display_preferences.html:37 -#: templates/preferences/display_preferences.html:93 -#: templates/preferences/display_preferences.html:118 -#: templates/preferences/display_preferences.html:201 -#: templates/preferences/display_preferences.html:238 -#: templates/preferences/display_preferences.html:273 -#: templates/preferences/display_preferences.html:300 -#: templates/preferences/edit_preferences.html:40 views.py:173 views.py:221 -#: views.py:375 -msgid "Edit" -msgstr "Modifier" +#: templates/preferences/aff_radiuskey.html:34 +msgid "RADIUS key used by the swithes" +msgstr "Clé RADIUS utilisée par les commutateurs réseau" -#: templates/preferences/display_preferences.html:41 -#: templates/preferences/display_preferences.html:198 -msgid "General preferences" -msgstr "Préférences générales" - -#: templates/preferences/display_preferences.html:44 -msgid "Creation of members by everyone" -msgstr "Création d'adhérents par tous" - -#: templates/preferences/display_preferences.html:46 -msgid "Creation of clubs by everyone" -msgstr "Création de clubs par tous" - -#: templates/preferences/display_preferences.html:52 -msgid "Delete not yet active users after" -msgstr "Suppression des utilisateurs n'ayant jamais adhéré après" - -#: templates/preferences/display_preferences.html:57 -#, fuzzy -#| msgid "general options" -msgid "Users general permissions" -msgstr "Permissions générales des utilisateurs" - -#: templates/preferences/display_preferences.html:60 -msgid "Default shell for users" -msgstr "Interface système par défaut pour les utilisateurs" - -#: templates/preferences/display_preferences.html:72 -msgid "GPG fingerprint field" -msgstr "Champ empreinte GPG" - -#: templates/preferences/display_preferences.html:77 -msgid "Email accounts preferences" -msgstr "Préférences de comptes mail" - -#: templates/preferences/display_preferences.html:80 -msgid "Local email accounts enabled" -msgstr "Comptes mail locaux activés" - -#: templates/preferences/display_preferences.html:82 -msgid "Local email domain" -msgstr "Domaine de mail local" - -#: templates/preferences/display_preferences.html:86 -msgid "Maximum number of email aliases allowed" -msgstr "Nombre maximum d'alias mail autorisé pour un utilisateur standard" - -#: templates/preferences/display_preferences.html:90 -msgid "Machines preferences" -msgstr "Préférences de machines" - -#: templates/preferences/display_preferences.html:99 -msgid "Password per machine" -msgstr "Mot de passe par machine" - -#: templates/preferences/display_preferences.html:107 -msgid "IPv6 support" -msgstr "Support de l'IPv6" - -#: templates/preferences/display_preferences.html:111 -msgid "Creation of machines" -msgstr "Création de machines" - -#: templates/preferences/display_preferences.html:115 -msgid "Topology preferences" -msgstr "Préférences de topologie" - -#: templates/preferences/display_preferences.html:124 +#: templates/preferences/aff_radiusoptions.html:28 +#: templates/preferences/display_preferences.html:204 msgid "General policy for VLAN setting" msgstr "Politique générale pour le placement sur un VLAN" -#: templates/preferences/display_preferences.html:126 +#: templates/preferences/aff_radiusoptions.html:30 +#: templates/preferences/display_preferences.html:206 msgid "" "This setting defines the VLAN policy after acceptance by RADIUS: either on " "the IP range's VLAN of the machine, or a VLAN preset in 'VLAN for machines " @@ -513,67 +631,356 @@ msgstr "" "par RADIUS: soit sur le VLAN de la plage d'IP de la machine, soit sur le " "VLAN prédéfini dans 'VLAN pour les machines acceptées par RADIUS'" -#: templates/preferences/display_preferences.html:215 +#: templates/preferences/aff_radiusoptions.html:33 +#: templates/preferences/display_preferences.html:210 +msgid "VLAN for machines accepted by RADIUS" +msgstr "VLAN pour les machines acceptées par RADIUS" + +#: templates/preferences/aff_radiusoptions.html:34 +#, python-format +msgid "VLAN %(vlan_decision_ok)s" +msgstr "VLAN %(vlan_decision_ok)s" + +#: templates/preferences/aff_radiusoptions.html:41 +msgid "Situation" +msgstr "Situation" + +#: templates/preferences/aff_radiusoptions.html:42 +msgid "Behaviour" +msgstr "Comportement" + +#: templates/preferences/aff_radiusoptions.html:46 +msgid "Unknown machine" +msgstr "Machine inconnue" + +#: templates/preferences/aff_radiusoptions.html:49 +#: templates/preferences/aff_radiusoptions.html:59 +#: templates/preferences/aff_radiusoptions.html:69 +#: templates/preferences/aff_radiusoptions.html:79 +#: templates/preferences/aff_radiusoptions.html:89 +msgid "Reject" +msgstr "Rejeter" + +#: templates/preferences/aff_radiusoptions.html:51 +#, python-format +msgid "VLAN %(unknown_machine_vlan)s" +msgstr "VLAN %(unknown_machine_vlan)s" + +#: templates/preferences/aff_radiusoptions.html:56 +msgid "Unknown port" +msgstr "Port inconnu" + +#: templates/preferences/aff_radiusoptions.html:61 +#, python-format +msgid "VLAN %(unknown_port_vlan)s" +msgstr "VLAN %(unknown_port_vlan)s" + +#: templates/preferences/aff_radiusoptions.html:66 +msgid "Unknown room" +msgstr "Chambre inconnue" + +#: templates/preferences/aff_radiusoptions.html:71 +#, python-format +msgid "VLAN %(unknown_room_vlan)s" +msgstr "VLAN %(unknown_room_vlan)s" + +#: templates/preferences/aff_radiusoptions.html:76 +msgid "Non member" +msgstr "Non adhérent" + +#: templates/preferences/aff_radiusoptions.html:81 +#, python-format +msgid "VLAN %(non_member_vlan)s" +msgstr "VLAN %(non_member_vlan)s" + +#: templates/preferences/aff_radiusoptions.html:86 +msgid "Banned user" +msgstr "Utilisateur banni" + +#: templates/preferences/aff_radiusoptions.html:91 +#, python-format +msgid "VLAN %(banned_vlan)s" +msgstr "VLAN %(banned_vlan)s" + +#: templates/preferences/aff_reminder.html:31 +msgid "Number of days before the reminder" +msgstr "Nombre de jours avant le rappel" + +#: templates/preferences/aff_reminder.html:32 +msgid "Message for this reminder" +msgstr "Message pour ce rappel" + +#: templates/preferences/aff_switchmanagementcred.html:32 +msgid "Default switch management credentials" +msgstr "Identifiants de gestion de commutateur réseau par défaut" + +#: templates/preferences/aff_switchmanagementcred.html:33 +msgid "Management credentials used by the switches" +msgstr "Identifiants de gestion utilisés par les commutateurs réseau" + +#: templates/preferences/delete.html:29 +msgid "Deletion of preferences" +msgstr "Suppression de préférences" + +#: templates/preferences/delete.html:35 +#, python-format +msgid "" +"Warning: are you sure you want to delete this %(objet_name)s object " +"( %(objet)s )?" +msgstr "" +"Attention : voulez-vous vraiment supprimer cet objet %(objet_name)s " +"( %(objet)s ) ?" + +#: templates/preferences/delete.html:36 +msgid "Confirm" +msgstr "Confirmer" + +#: templates/preferences/display_preferences.html:31 +#: templates/preferences/edit_preferences.html:30 +#: templates/preferences/preferences.html:30 +msgid "Preferences" +msgstr "Préférences" + +#: templates/preferences/display_preferences.html:39 +msgid "General preferences" +msgstr "Préférences générales" + +#: templates/preferences/display_preferences.html:46 +#: templates/preferences/display_preferences.html:108 +#: templates/preferences/display_preferences.html:165 +#: templates/preferences/display_preferences.html:199 +#: templates/preferences/display_preferences.html:240 +#: templates/preferences/display_preferences.html:301 +#: templates/preferences/display_preferences.html:316 +#: templates/preferences/display_preferences.html:360 +#: templates/preferences/display_preferences.html:438 +#: templates/preferences/edit_preferences.html:46 views.py:178 views.py:226 +#: views.py:272 views.py:321 views.py:381 +msgid "Edit" +msgstr "Modifier" + +#: templates/preferences/display_preferences.html:60 msgid "Number of items per page (standard size)" msgstr "Nombre d'éléments par page (taille standard)" -#: templates/preferences/display_preferences.html:219 +#: templates/preferences/display_preferences.html:64 msgid "Number of items per page (large size)" msgstr "Nombre d'éléments par page (taille importante)" -#: templates/preferences/display_preferences.html:225 +#: templates/preferences/display_preferences.html:70 msgid "General message displayed on the website" msgstr "Message général affiché sur le site" -#: templates/preferences/display_preferences.html:235 +#: templates/preferences/display_preferences.html:72 +msgid "Main site URL" +msgstr "URL du site principal" + +#: templates/preferences/display_preferences.html:84 +msgid "Local email accounts enabled" +msgstr "Comptes mail locaux activés" + +#: templates/preferences/display_preferences.html:86 +msgid "Local email domain" +msgstr "Domaine de mail local" + +#: templates/preferences/display_preferences.html:90 +msgid "Maximum number of email aliases allowed" +msgstr "Nombre maximum d'alias mail autorisé pour un utilisateur standard" + +#: templates/preferences/display_preferences.html:100 +msgid "User preferences" +msgstr "Préférences d'utilisateur" + +#: templates/preferences/display_preferences.html:114 +msgid "Creation of members by everyone" +msgstr "Création d'adhérents par tous" + +#: templates/preferences/display_preferences.html:116 +msgid "Creation of clubs by everyone" +msgstr "Création de clubs par tous" + +#: templates/preferences/display_preferences.html:122 +msgid "Delete not yet active users after" +msgstr "Suppression des utilisateurs n'ayant jamais adhéré après" + +#: templates/preferences/display_preferences.html:123 +#, python-format +msgid "%(delete_notyetactive)s days" +msgstr "%(delete_notyetactive)s jours" + +#: templates/preferences/display_preferences.html:126 +msgid "All users are active by default" +msgstr "Tous les utilisateurs sont actifs par défault" + +#: templates/preferences/display_preferences.html:131 +msgid "Users general permissions" +msgstr "Permissions générales des utilisateurs" + +#: templates/preferences/display_preferences.html:134 +msgid "Default shell for users" +msgstr "Interface en ligne de commande par défaut pour les utilisateurs" + +#: templates/preferences/display_preferences.html:136 +msgid "Users can edit their shell" +msgstr "Les utilisateurs peuvent modifier leur interface en ligne de commande" + +#: templates/preferences/display_preferences.html:140 +msgid "Users can edit their room" +msgstr "Les utilisateurs peuvent modifier leur chambre" + +#: templates/preferences/display_preferences.html:146 +msgid "GPG fingerprint field" +msgstr "Champ empreinte GPG" + +#: templates/preferences/display_preferences.html:157 +msgid "Machines preferences" +msgstr "Préférences de machines" + +#: templates/preferences/display_preferences.html:170 +msgid "Password per machine" +msgstr "Mot de passe par machine" + +#: templates/preferences/display_preferences.html:178 +msgid "IPv6 support" +msgstr "Support de l'IPv6" + +#: templates/preferences/display_preferences.html:182 +msgid "Creation of machines" +msgstr "Création de machines" + +#: templates/preferences/display_preferences.html:192 +msgid "Topology preferences" +msgstr "Préférences de topologie" + +#: templates/preferences/display_preferences.html:212 +msgid "VLAN for machines rejected by RADIUS" +msgstr "VLAN pour les machines rejetées par RADIUS" + +#: templates/preferences/display_preferences.html:216 +msgid "VLAN for non members machines" +msgstr "VLAN pour les machines des non adhérents" + +#: templates/preferences/display_preferences.html:223 +msgid " Add a RADIUS key" +msgstr " Ajouter une clé RADIUS" + +#: templates/preferences/display_preferences.html:233 +msgid "Configuration of switches" +msgstr "Configuration de commutateurs réseau" + +#: templates/preferences/display_preferences.html:255 +msgid "Provision of configuration for switches" +msgstr "Provision de configuration pour les commutateurs réseau" + +#: templates/preferences/display_preferences.html:258 +msgid "Switches with automatic provision" +msgstr "Commutateurs réseau avec provision automatique" + +#: templates/preferences/display_preferences.html:259 +#: templates/preferences/display_preferences.html:263 +#: templates/preferences/display_preferences.html:267 +#: templates/preferences/display_preferences.html:275 +#: templates/preferences/display_preferences.html:279 +#: templates/preferences/display_preferences.html:289 +msgid "OK" +msgstr "OK" + +#: templates/preferences/display_preferences.html:259 +#: templates/preferences/display_preferences.html:263 +#: templates/preferences/display_preferences.html:267 +#: templates/preferences/display_preferences.html:289 +msgid "Missing" +msgstr "Manquant" + +#: templates/preferences/display_preferences.html:266 +msgid "Server for the configuration of switches" +msgstr "Serveur pour la configuration des commutateurs réseau" + +#: templates/preferences/display_preferences.html:274 +msgid "TFTP mode" +msgstr "Mode TFTP" + +#: templates/preferences/display_preferences.html:278 +msgid "SFTP mode" +msgstr "Mode SFTP" + +#: templates/preferences/display_preferences.html:279 +msgid "Missing credentials" +msgstr "Identifiants manquants" + +#: templates/preferences/display_preferences.html:283 +msgid "Switch management credentials" +msgstr "Identifiants de gestion de commutateur réseau" + +#: templates/preferences/display_preferences.html:285 +msgid " Add switch management credentials" +msgstr " Ajouter des identifiants de gestion de commutateur réseau" + +#: templates/preferences/display_preferences.html:296 +msgid "RADIUS preferences" +msgstr "Préférences RADIUS" + +#: templates/preferences/display_preferences.html:310 msgid "Information about the organisation" msgstr "Informations sur l'association" -#: templates/preferences/display_preferences.html:264 +#: templates/preferences/display_preferences.html:341 msgid "User object of the organisation" msgstr "Objet utilisateur de l'association" -#: templates/preferences/display_preferences.html:266 +#: templates/preferences/display_preferences.html:343 msgid "Description of the organisation" msgstr "Description de l'association" -#: templates/preferences/display_preferences.html:270 -msgid "Custom email message" -msgstr "Message personnalisé pour les mails" +#: templates/preferences/display_preferences.html:353 +msgid "Message for emails" +msgstr "Message pour les mails" -#: templates/preferences/display_preferences.html:279 +#: templates/preferences/display_preferences.html:366 msgid "Welcome email (in French)" msgstr "Mail de bienvenue (en français)" -#: templates/preferences/display_preferences.html:283 +#: templates/preferences/display_preferences.html:370 msgid "Welcome email (in English)" msgstr "Mail de bienvenue (en anglais)" -#: templates/preferences/display_preferences.html:293 +#: templates/preferences/display_preferences.html:380 +msgid "Options for the membership's end email" +msgstr "Options pour le mail de fin d'adhésion" + +#: templates/preferences/display_preferences.html:386 +msgid " Add a reminder" +msgstr " Ajouter un rappel" + +#: templates/preferences/display_preferences.html:397 msgid "List of services and homepage preferences" msgstr "Liste des services et préférences de page d'accueil" -#: templates/preferences/display_preferences.html:295 +#: templates/preferences/display_preferences.html:403 msgid " Add a service" msgstr " Ajouter un service" -#: templates/preferences/display_preferences.html:302 +#: templates/preferences/display_preferences.html:414 msgid "List of contact email addresses" msgstr "Liste des adresses mail de contact" -#: templates/preferences/display_preferences.html:304 -msgid "Add an address" -msgstr "Ajouter une adresse" +#: templates/preferences/display_preferences.html:420 +msgid " Add an address" +msgstr " Ajouter une adresse" -#: templates/preferences/display_preferences.html:306 -msgid "Delete one or several addresses" +#: templates/preferences/display_preferences.html:422 +msgid " Delete one or several addresses" msgstr " Supprimer une ou plusieurs adresses" -#: templates/preferences/display_preferences.html:312 +#: templates/preferences/display_preferences.html:431 +msgid "Social networks" +msgstr "Réseaux sociaux" + +#: templates/preferences/display_preferences.html:443 msgid "Twitter account URL" msgstr "URL du compte Twitter" -#: templates/preferences/display_preferences.html:318 +#: templates/preferences/display_preferences.html:449 msgid "Facebook account URL" msgstr "URL du compte Facebook" @@ -581,61 +988,112 @@ msgstr "URL du compte Facebook" msgid "Editing of preferences" msgstr "Modification des préférences" -#: views.py:111 -msgid "Unknown object" -msgstr "Objet inconnu" +#: views.py:114 +msgid "Unknown object." +msgstr "Objet inconnu." -#: views.py:117 +#: views.py:120 msgid "You don't have the right to edit this option." msgstr "Vous n'avez pas le droit de modifier cette option." -#: views.py:134 +#: views.py:137 msgid "The preferences were edited." msgstr "Les préférences ont été modifiées." -#: views.py:150 +#: views.py:155 msgid "The service was added." msgstr "Le service a été ajouté." -#: views.py:153 views.py:202 +#: views.py:158 msgid "Add a service" -msgstr " Ajouter un service" +msgstr "Ajouter un service" -#: views.py:170 views.py:218 +#: views.py:175 msgid "The service was edited." msgstr "Le service a été modifié." -#: views.py:199 -#, fuzzy -#| msgid "The service was added." -msgid "The reminder was added." -msgstr "Le service a été ajouté." +#: views.py:189 +msgid "The service was deleted." +msgstr "Le service a été supprimé." -#: views.py:351 +#: views.py:204 +msgid "The reminder was added." +msgstr "Le rappel a été ajouté." + +#: views.py:207 +msgid "Add a reminder" +msgstr "Ajouter un rappel" + +#: views.py:223 +msgid "The reminder was edited." +msgstr "Le rappel a été modifié." + +#: views.py:239 +msgid "The reminder was deleted." +msgstr "Le rappel a été supprimé." + +#: views.py:255 +msgid "The RADIUS key was added." +msgstr "La clé RADIUS a été ajoutée." + +#: views.py:258 +msgid "Add a RADIUS key" +msgstr "Ajouter une clé RADIUS" + +#: views.py:269 +msgid "The RADIUS key was edited." +msgstr "La clé RADIUS a été modifiée." + +#: views.py:285 +msgid "The RADIUS key was deleted." +msgstr "La clé RADIUS a été supprimée." + +#: views.py:287 +msgid "The RADIUS key is assigned to at least one switch, you can't delete it." +msgstr "" +"La clé RADIUS est assignée a au moins un commutateur réseau, vous ne pouvez " +"pas la supprimer." + +#: views.py:304 +msgid "The switch management credentials were added." +msgstr "Les identifiants de gestion de commutateur réseay ont été ajoutés." + +#: views.py:307 +msgid "Add switch management credentials" +msgstr "Ajouter des identifiants de gestion de commutateur réseau" + +#: views.py:318 +msgid "The switch management credentials were edited." +msgstr "Les identifiants de gestion de commutateur réseau ont été modifiés." + +#: views.py:334 +msgid "The switch management credentials were deleted." +msgstr "Les identifiants de gestion de commutateur réseau ont été supprimés." + +#: views.py:336 +msgid "" +"The switch management credentials are assigned to at least one switch, you " +"can't delete them." +msgstr "" +"Les identifiants de gestion de commutateur réseau sont assignés à au moins " +"un commutateur réseau , vous ne pouvez pas les supprimer." + +#: views.py:357 msgid "The contact email address was created." msgstr "L'adresse mail de contact a été supprimée." -#: views.py:355 +#: views.py:361 msgid "Add a contact email address" msgstr "Ajouter une adresse mail de contact" -#: views.py:372 +#: views.py:378 msgid "The contact email address was edited." msgstr "L'adresse mail de contact a été modifiée." -#: views.py:394 +#: views.py:400 msgid "The contact email adress was deleted." msgstr "L'adresse mail de contact a été supprimée." -#: views.py:397 +#: views.py:403 msgid "Delete" msgstr "Supprimer" - -#~ msgid " Delete one or several services" -#~ msgstr " Supprimer un ou plusieurs services" - -#~ msgid "The service was deleted." -#~ msgstr "Le service a été supprimé." - -#~ msgid "Error: the service %s can't be deleted." -#~ msgstr "Erreur : le service %s ne peut pas être supprimé." diff --git a/preferences/migrations/0058_auto_20190108_1650.py b/preferences/migrations/0058_auto_20190108_1650.py new file mode 100644 index 00000000..e90b6067 --- /dev/null +++ b/preferences/migrations/0058_auto_20190108_1650.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.7 on 2019-01-08 22:50 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion +import re2o.aes_field + + +class Migration(migrations.Migration): + + dependencies = [ + ('preferences', '0057_optionaluser_all_users_active'), + ] + + operations = [ + migrations.AlterModelOptions( + name='radiuskey', + options={'permissions': (('view_radiuskey', 'Can view a RADIUS key object'),), 'verbose_name': 'RADIUS key', 'verbose_name_plural': 'RADIUS keys'}, + ), + migrations.AlterModelOptions( + name='radiusoption', + options={'verbose_name': 'RADIUS policy', 'verbose_name_plural': 'RADIUS policies'}, + ), + migrations.AlterModelOptions( + name='reminder', + options={'permissions': (('view_reminder', 'Can view a reminder object'),), 'verbose_name': 'reminder', 'verbose_name_plural': 'reminders'}, + ), + migrations.AlterModelOptions( + name='switchmanagementcred', + options={'permissions': (('view_switchmanagementcred', 'Can view a switch management credentials object'),), 'verbose_name': 'switch management credentials'}, + ), + migrations.AlterField( + model_name='mailmessageoption', + name='welcome_mail_en', + field=models.TextField(default='', help_text='Welcome email in English'), + ), + migrations.AlterField( + model_name='mailmessageoption', + name='welcome_mail_fr', + field=models.TextField(default='', help_text='Welcome email in French'), + ), + migrations.AlterField( + model_name='optionaltopologie', + name='sftp_login', + field=models.CharField(blank=True, help_text='SFTP login for switches', max_length=32, null=True), + ), + migrations.AlterField( + model_name='optionaltopologie', + name='sftp_pass', + field=re2o.aes_field.AESEncryptedField(blank=True, help_text='SFTP password', max_length=63, null=True), + ), + migrations.AlterField( + model_name='optionaltopologie', + name='switchs_ip_type', + field=models.OneToOneField(blank=True, help_text='IP range for the management of switches', null=True, on_delete=django.db.models.deletion.PROTECT, to='machines.IpType'), + ), + migrations.AlterField( + model_name='optionaltopologie', + name='switchs_provision', + field=models.CharField(choices=[('sftp', 'sftp'), ('tftp', 'tftp')], default='tftp', help_text='Provision of configuration mode for switches', max_length=32), + ), + migrations.AlterField( + model_name='optionaltopologie', + name='switchs_rest_management', + field=models.BooleanField(default=False, help_text='REST management, activated in case of automatic provision'), + ), + migrations.AlterField( + model_name='optionaltopologie', + name='switchs_web_management', + field=models.BooleanField(default=False, help_text='Web management, activated in case of automatic provision'), + ), + migrations.AlterField( + model_name='optionaltopologie', + name='switchs_web_management_ssl', + field=models.BooleanField(default=False, help_text='SSL web management, make sure that a certificate is installed on the switch'), + ), + migrations.AlterField( + model_name='optionaluser', + name='all_can_create_adherent', + field=models.BooleanField(default=False, help_text='Users can create a member.'), + ), + migrations.AlterField( + model_name='optionaluser', + name='all_can_create_club', + field=models.BooleanField(default=False, help_text='Users can create a club.'), + ), + migrations.AlterField( + model_name='optionaluser', + name='all_users_active', + field=models.BooleanField(default=False, help_text='If True, all new created and connected users are active. If False, only when a valid registration has been paid.'), + ), + migrations.AlterField( + model_name='optionaluser', + name='delete_notyetactive', + field=models.IntegerField(default=15, help_text='Not yet active users will be deleted after this number of days.'), + ), + migrations.AlterField( + model_name='optionaluser', + name='local_email_accounts_enabled', + field=models.BooleanField(default=False, help_text='Enable local email accounts for users.'), + ), + migrations.AlterField( + model_name='optionaluser', + name='max_email_address', + field=models.IntegerField(default=15, help_text='Maximum number of local email addresses for a standard user.'), + ), + migrations.AlterField( + model_name='optionaluser', + name='self_adhesion', + field=models.BooleanField(default=False, help_text='A new user can create their account on Re2o.'), + ), + migrations.AlterField( + model_name='optionaluser', + name='self_change_room', + field=models.BooleanField(default=False, help_text='Users can edit their room.'), + ), + migrations.AlterField( + model_name='optionaluser', + name='self_change_shell', + field=models.BooleanField(default=False, help_text='Users can edit their shell.'), + ), + migrations.AlterField( + model_name='radiuskey', + name='comment', + field=models.CharField(blank=True, help_text='Comment for this key', max_length=255, null=True), + ), + migrations.AlterField( + model_name='radiuskey', + name='default_switch', + field=models.BooleanField(default=True, help_text='Default key for switches', unique=True), + ), + migrations.AlterField( + model_name='radiuskey', + name='radius_key', + field=re2o.aes_field.AESEncryptedField(help_text='RADIUS key', max_length=255), + ), + migrations.AlterField( + model_name='radiusoption', + name='banned', + field=models.CharField(choices=[('REJECT', 'Reject the machine'), ('SET_VLAN', 'Place the machine on the VLAN')], default='REJECT', max_length=32, verbose_name='Policy for banned users'), + ), + migrations.AlterField( + model_name='radiusoption', + name='banned_vlan', + field=models.ForeignKey(blank=True, help_text='VLAN for banned users if not rejected', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='banned_vlan', to='machines.Vlan', verbose_name='Banned users VLAN'), + ), + migrations.AlterField( + model_name='radiusoption', + name='non_member', + field=models.CharField(choices=[('REJECT', 'Reject the machine'), ('SET_VLAN', 'Place the machine on the VLAN')], default='REJECT', max_length=32, verbose_name='Policy for non members'), + ), + migrations.AlterField( + model_name='radiusoption', + name='non_member_vlan', + field=models.ForeignKey(blank=True, help_text='VLAN for non members if not rejected', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='non_member_vlan', to='machines.Vlan', verbose_name='Non members VLAN'), + ), + migrations.AlterField( + model_name='radiusoption', + name='unknown_machine_vlan', + field=models.ForeignKey(blank=True, help_text='VLAN for unknown machines if not rejected', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='unknown_machine_vlan', to='machines.Vlan', verbose_name='Unknown machines VLAN'), + ), + migrations.AlterField( + model_name='radiusoption', + name='unknown_port', + field=models.CharField(choices=[('REJECT', 'Reject the machine'), ('SET_VLAN', 'Place the machine on the VLAN')], default='REJECT', max_length=32, verbose_name='Policy for unknown ports'), + ), + migrations.AlterField( + model_name='radiusoption', + name='unknown_port_vlan', + field=models.ForeignKey(blank=True, help_text='VLAN for unknown ports if not rejected', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='unknown_port_vlan', to='machines.Vlan', verbose_name='Unknown ports VLAN'), + ), + migrations.AlterField( + model_name='radiusoption', + name='unknown_room', + field=models.CharField(choices=[('REJECT', 'Reject the machine'), ('SET_VLAN', 'Place the machine on the VLAN')], default='REJECT', max_length=32, verbose_name='Policy for machines connecting from unregistered rooms (relevant on ports with STRICT RADIUS mode)'), + ), + migrations.AlterField( + model_name='radiusoption', + name='unknown_room_vlan', + field=models.ForeignKey(blank=True, help_text='VLAN for unknown rooms if not rejected', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='unknown_room_vlan', to='machines.Vlan', verbose_name='Unknown rooms VLAN'), + ), + migrations.AlterField( + model_name='reminder', + name='days', + field=models.IntegerField(default=7, help_text="Delay between the email and the membership's end", unique=True), + ), + migrations.AlterField( + model_name='reminder', + name='message', + field=models.CharField(blank=True, default='', help_text='Message displayed specifically for this reminder', max_length=255, null=True), + ), + migrations.AlterField( + model_name='switchmanagementcred', + name='default_switch', + field=models.BooleanField(default=True, help_text='Default credentials for switches', unique=True), + ), + migrations.AlterField( + model_name='switchmanagementcred', + name='management_id', + field=models.CharField(help_text='Switch login', max_length=63), + ), + migrations.AlterField( + model_name='switchmanagementcred', + name='management_pass', + field=re2o.aes_field.AESEncryptedField(help_text='Password', max_length=63), + ), + ] diff --git a/preferences/models.py b/preferences/models.py index 228807a6..daeb4a05 100644 --- a/preferences/models.py +++ b/preferences/models.py @@ -73,11 +73,11 @@ class OptionalUser(AclMixin, PreferencesModel): gpg_fingerprint = models.BooleanField(default=True) all_can_create_club = models.BooleanField( default=False, - help_text=_("Users can create a club") + help_text=_("Users can create a club.") ) all_can_create_adherent = models.BooleanField( default=False, - help_text=_("Users can create a member"), + help_text=_("Users can create a member."), ) shell_default = models.OneToOneField( @@ -88,15 +88,15 @@ class OptionalUser(AclMixin, PreferencesModel): ) self_change_shell = models.BooleanField( default=False, - help_text=_("Users can edit their shell") + help_text=_("Users can edit their shell.") ) self_change_room = models.BooleanField( default=False, - help_text=_("Users can edit their room") + help_text=_("Users can edit their room.") ) local_email_accounts_enabled = models.BooleanField( default=False, - help_text=_("Enable local email accounts for users") + help_text=_("Enable local email accounts for users.") ) local_email_domain = models.CharField( max_length=32, @@ -106,20 +106,21 @@ class OptionalUser(AclMixin, PreferencesModel): max_email_address = models.IntegerField( default=15, help_text=_("Maximum number of local email addresses for a standard" - " user") + " user.") ) delete_notyetactive = models.IntegerField( default=15, - help_text=_("Inactive users will be deleted after this number of days") + help_text=_("Not yet active users will be deleted after this number of" + " days.") ) self_adhesion = models.BooleanField( default=False, - help_text=_("A new user can create their account on Re2o") + help_text=_("A new user can create their account on Re2o.") ) all_users_active = models.BooleanField( default=False, - help_text=_("If True, all new created and connected users are active.\ - If False, only when a valid registration has been paid") + help_text=_("If True, all new created and connected users are active." + " If False, only when a valid registration has been paid.") ) class Meta: @@ -206,40 +207,41 @@ class OptionalTopologie(AclMixin, PreferencesModel): switchs_web_management = models.BooleanField( default=False, - help_text="Web management, activé si provision automatique" + help_text=_("Web management, activated in case of automatic provision") ) switchs_web_management_ssl = models.BooleanField( default=False, - help_text="Web management ssl. Assurez-vous que un certif est installé sur le switch !" + help_text=_("SSL web management, make sure that a certificate is" + " installed on the switch") ) switchs_rest_management = models.BooleanField( default=False, - help_text="Rest management, activé si provision auto" + help_text=_("REST management, activated in case of automatic provision") ) switchs_ip_type = models.OneToOneField( 'machines.IpType', on_delete=models.PROTECT, blank=True, null=True, - help_text="Plage d'ip de management des switchs" + help_text=_("IP range for the management of switches") ) switchs_provision = models.CharField( max_length=32, choices=CHOICE_PROVISION, default='tftp', - help_text="Mode de récupération des confs par les switchs" + help_text=_("Provision of configuration mode for switches") ) sftp_login = models.CharField( max_length=32, null=True, blank=True, - help_text="Login sftp des switchs" + help_text=_("SFTP login for switches") ) sftp_pass = AESEncryptedField( max_length=63, null=True, blank=True, - help_text="Mot de passe sftp" + help_text=_("SFTP password") ) @cached_property @@ -314,52 +316,56 @@ class RadiusKey(AclMixin, models.Model): """Class of a radius key""" radius_key = AESEncryptedField( max_length=255, - help_text="Clef radius" + help_text=_("RADIUS key") ) comment = models.CharField( max_length=255, null=True, blank=True, - help_text="Commentaire de cette clef" + help_text=_("Comment for this key") ) default_switch = models.BooleanField( default=True, unique=True, - help_text= "Clef par défaut des switchs" + help_text=_("Default key for switches") ) class Meta: permissions = ( - ("view_radiuskey", "Peut voir un objet radiuskey"), + ("view_radiuskey", _("Can view a RADIUS key object")), ) + verbose_name = _("RADIUS key") + verbose_name_plural = _("RADIUS keys") def __str__(self): - return "Clef radius " + str(self.id) + " " + str(self.comment) + return _("RADIUS key ") + str(self.id) + " " + str(self.comment) class SwitchManagementCred(AclMixin, models.Model): """Class of a management creds of a switch, for rest management""" management_id = models.CharField( max_length=63, - help_text="Login du switch" + help_text=_("Switch login") ) management_pass = AESEncryptedField( max_length=63, - help_text="Mot de passe" + help_text=_("Password") ) default_switch = models.BooleanField( default=True, unique=True, - help_text= "Creds par défaut des switchs" + help_text=_("Default credentials for switches") ) class Meta: permissions = ( - ("view_switchmanagementcred", "Peut voir un objet switchmanagementcred"), + ("view_switchmanagementcred", _("Can view a switch management" + " credentials object")), ) + verbose_name = _("switch management credentials") def __str__(self): - return "Identifiant " + str(self.management_id) + return _("Switch login ") + str(self.management_id) class Reminder(AclMixin, models.Model): @@ -367,25 +373,26 @@ class Reminder(AclMixin, models.Model): Days: liste des nombres de jours pour lesquells un mail est envoyé optionalMessage: message additionel pour le mail """ - PRETTY_NAME="Options pour le mail de fin d'adhésion" days = models.IntegerField( default=7, unique=True, - help_text="Délais entre le mail et la fin d'adhésion" + help_text=_("Delay between the email and the membership's end") ) message = models.CharField( max_length=255, default="", null=True, blank=True, - help_text="Message affiché spécifiquement pour ce rappel" + help_text=_("Message displayed specifically for this reminder") ) class Meta: permissions = ( - ("view_reminder", "Peut voir un objet reminder"), + ("view_reminder", _("Can view a reminder object")), ) + verbose_name = _("reminder") + verbose_name_plural = _("reminders") def users_to_remind(self): from re2o.utils import all_has_access @@ -472,8 +479,7 @@ class MailContact(AclMixin, models.Model): commentary = models.CharField( blank = True, null = True, - help_text = _( - "Description of the associated email address."), + help_text = _("Description of the associated email address."), max_length = 256 ) @@ -564,8 +570,8 @@ def homeoption_post_save(**kwargs): class MailMessageOption(AclMixin, models.Model): """Reglages, mail de bienvenue et autre""" - welcome_mail_fr = models.TextField(default="", help_text="Mail de bienvenue en français") - welcome_mail_en = models.TextField(default="", help_text="Mail de bienvenue en anglais") + welcome_mail_fr = models.TextField(default="", help_text=_("Welcome email in French")) + welcome_mail_en = models.TextField(default="", help_text=_("Welcome email in English")) class Meta: permissions = ( @@ -577,7 +583,8 @@ class MailMessageOption(AclMixin, models.Model): class RadiusOption(AclMixin, PreferencesModel): class Meta: - verbose_name = _("radius policies") + verbose_name = _("RADIUS policy") + verbose_name_plural = _("RADIUS policies") MACHINE = 'MACHINE' DEFINED = 'DEFINED' @@ -588,8 +595,8 @@ class RadiusOption(AclMixin, PreferencesModel): REJECT = 'REJECT' SET_VLAN = 'SET_VLAN' CHOICE_POLICY = ( - (REJECT, _('Reject the machine')), - (SET_VLAN, _('Place the machine on the VLAN')) + (REJECT, _("Reject the machine")), + (SET_VLAN, _("Place the machine on the VLAN")) ) radius_general_policy = models.CharField( max_length=32, @@ -608,16 +615,14 @@ class RadiusOption(AclMixin, PreferencesModel): related_name='unknown_machine_vlan', blank=True, null=True, - verbose_name=_('Unknown machine Vlan'), - help_text=_( - 'Vlan for unknown machines if not rejected.' - ) + verbose_name=_("Unknown machines VLAN"), + help_text=_("VLAN for unknown machines if not rejected") ) unknown_port = models.CharField( max_length=32, choices=CHOICE_POLICY, default=REJECT, - verbose_name=_("Policy for unknown port"), + verbose_name=_("Policy for unknown ports"), ) unknown_port_vlan = models.ForeignKey( 'machines.Vlan', @@ -625,20 +630,15 @@ class RadiusOption(AclMixin, PreferencesModel): related_name='unknown_port_vlan', blank=True, null=True, - verbose_name=_('Unknown port Vlan'), - help_text=_( - 'Vlan for unknown ports if not rejected.' - ) + verbose_name=_("Unknown ports VLAN"), + help_text=_("VLAN for unknown ports if not rejected") ) unknown_room = models.CharField( max_length=32, choices=CHOICE_POLICY, default=REJECT, - verbose_name=_( - "Policy for machine connecting from " - "unregistered room (relevant on ports with STRICT " - "radius mode)" - ), + verbose_name=_("Policy for machines connecting from unregistered rooms" + " (relevant on ports with STRICT RADIUS mode)"), ) unknown_room_vlan = models.ForeignKey( 'machines.Vlan', @@ -646,16 +646,14 @@ class RadiusOption(AclMixin, PreferencesModel): on_delete=models.PROTECT, blank=True, null=True, - verbose_name=_('Unknown room Vlan'), - help_text=_( - 'Vlan for unknown room if not rejected.' - ) + verbose_name=_("Unknown rooms VLAN"), + help_text=_("VLAN for unknown rooms if not rejected") ) non_member = models.CharField( max_length=32, choices=CHOICE_POLICY, default=REJECT, - verbose_name=_("Policy non member users."), + verbose_name=_("Policy for non members"), ) non_member_vlan = models.ForeignKey( 'machines.Vlan', @@ -663,16 +661,14 @@ class RadiusOption(AclMixin, PreferencesModel): on_delete=models.PROTECT, blank=True, null=True, - verbose_name=_('Non member Vlan'), - help_text=_( - 'Vlan for non members if not rejected.' - ) + verbose_name=_("Non members VLAN"), + help_text=_("VLAN for non members if not rejected") ) banned = models.CharField( max_length=32, choices=CHOICE_POLICY, default=REJECT, - verbose_name=_("Policy for banned users."), + verbose_name=_("Policy for banned users"), ) banned_vlan = models.ForeignKey( 'machines.Vlan', @@ -680,10 +676,8 @@ class RadiusOption(AclMixin, PreferencesModel): on_delete=models.PROTECT, blank=True, null=True, - verbose_name=_('Banned Vlan'), - help_text=_( - 'Vlan for banned if not rejected.' - ) + verbose_name=_("Banned users VLAN"), + help_text=_("VLAN for banned users if not rejected") ) vlan_decision_ok = models.OneToOneField( 'machines.Vlan', diff --git a/preferences/templates/preferences/aff_radiuskey.html b/preferences/templates/preferences/aff_radiuskey.html index 0d58efe3..7c972abe 100644 --- a/preferences/templates/preferences/aff_radiuskey.html +++ b/preferences/templates/preferences/aff_radiuskey.html @@ -23,35 +23,35 @@ with this program; if not, write to the Free Software Foundation, Inc., {% endcomment %} {% load acl %} {% load logs_extra %} - - - - - - - - - +{% load i18n %} + +
Id ClefCommentaireClef par default des switchsClef utilisée par les switchs
+ + + + + + + + - - {% for radiuskey in radiuskey_list %} + + {% for radiuskey in radiuskey_list %} - + - {% endfor %} -
{% trans "RADIUS key ID" %}{% trans "Comment" %}{% trans "Default RADIUS key for switches" %}{% trans "RADIUS key used by the swithes" %}
{{ radiuskey.id }} {{ radiuskey.comment }} {{ radiuskey.default_switch }}{{ radiuskey.switch_set.all|join:", " }}{{ radiuskey.switch_set.all|join:", " }} {% can_edit radiuskey %} {% include 'buttons/edit.html' with href='preferences:edit-radiuskey' id=radiuskey.id %} {% acl_end %} - {% can_delete radiuskey %} - - - + {% can_delete radiuskey %} + {% include 'buttons/suppr.html' with href='preferences:del-radiuskey' id=radiuskey.id %} {% acl_end %} {% history_button radiuskey %}
+ {% endfor %} + diff --git a/preferences/templates/preferences/aff_radiusoptions.html b/preferences/templates/preferences/aff_radiusoptions.html index 17e2a869..41cb1846 100644 --- a/preferences/templates/preferences/aff_radiusoptions.html +++ b/preferences/templates/preferences/aff_radiusoptions.html @@ -31,7 +31,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% trans "VLAN for machines accepted by RADIUS" %} - Vlan {{ radiusoptions.vlan_decision_ok }} + {% blocktrans with vlan_decision_ok=radiusoptions.vlan_decision_ok %}VLAN {{ vlan_decision_ok }}{% endblocktrans %}
@@ -39,7 +39,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% trans "Situation" %} - {% trans "Behavior" %} + {% trans "Behaviour" %} @@ -48,7 +48,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% if radiusoptions.unknown_machine == 'REJECT' %} {% trans "Reject" %} {% else %} - Vlan {{ radiusoptions.unknown_machine_vlan }} + {% blocktrans with unknown_machine_vlan=radiusoptions.unknown_machine_vlan %}VLAN {{ unknown_machine_vlan }}{% endblocktrans %} {% endif %} @@ -58,7 +58,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% if radiusoptions.unknown_port == 'REJECT' %} {% trans "Reject" %} {% else %} - Vlan {{ radiusoptions.unknown_port_vlan }} + {% blocktrans with unknown_port_vlan=radiusoptions.unknown_port_vlan %}VLAN {{ unknown_port_vlan }}{% endblocktrans %} {% endif %} @@ -68,7 +68,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% if radiusoptions.unknown_room == 'REJECT' %} {% trans "Reject" %} {% else %} - Vlan {{ radiusoptions.unknown_room_vlan }} + {% blocktrans with unknown_room_vlan=radiusoptions.unknown_room_vlan %}VLAN {{ unknown_room_vlan }}{% endblocktrans %} {% endif %} @@ -78,7 +78,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% if radiusoptions.non_member == 'REJECT' %} {% trans "Reject" %} {% else %} - Vlan {{ radiusoptions.non_member_vlan }} + {% blocktrans with non_member_vlan=radiusoptions.non_member_vlan %}VLAN {{ non_member_vlan }}{% endblocktrans %} {% endif %} @@ -88,7 +88,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% if radiusoptions.unknown_port == 'REJECT' %} {% trans "Reject" %} {% else %} - Vlan {{ radiusoptions.banned_vlan }} + {% blocktrans with banned_vlan=radiusoptions.banned_vlan %}VLAN {{ banned_vlan }}{% endblocktrans %} {% endif %} diff --git a/preferences/templates/preferences/aff_reminder.html b/preferences/templates/preferences/aff_reminder.html index 8462fe22..c0586b31 100644 --- a/preferences/templates/preferences/aff_reminder.html +++ b/preferences/templates/preferences/aff_reminder.html @@ -23,31 +23,31 @@ with this program; if not, write to the Free Software Foundation, Inc., {% endcomment %} {% load acl %} {% load logs_extra %} +{% load i18n %} + - - - + + + {% for reminder in reminder_list %} - - - - - + + + + + {% endfor %}
Nombre de jours avant le rappelMessage custom pour ce rappel{% trans "Number of days before the reminder" %}{% trans "Message for this reminder" %}
{{ reminder.days }}{{ reminder.message }} - {% can_edit reminder %} - {% include 'buttons/edit.html' with href='preferences:edit-reminder' id=reminder.id %} - {% can_delete reminder %} - - - - {% acl_end %} - {% acl_end %} - {% history_button reminder %} -
{{ reminder.days }}{{ reminder.message }} + {% can_edit reminder %} + {% include 'buttons/edit.html' with href='preferences:edit-reminder' id=reminder.id %} + {% acl_end %} + {% can_delete reminder %} + {% include 'buttons/suppr.html' with href='preferences:del-reminder' id=reminder.id %} + {% acl_end %} + {% history_button reminder %} +
diff --git a/preferences/templates/preferences/aff_service.html b/preferences/templates/preferences/aff_service.html index 926b2626..dce81768 100644 --- a/preferences/templates/preferences/aff_service.html +++ b/preferences/templates/preferences/aff_service.html @@ -42,15 +42,13 @@ with this program; if not, write to the Free Software Foundation, Inc., {{ service.description }} {{ service.image }} - {% can_edit service%} - {% include 'buttons/edit.html' with href='preferences:edit-service' id=service.id %} - {% can_delete service %} - - - - {% acl_end %} - {% acl_end %} - {% history_button service %} + {% can_edit service%} + {% include 'buttons/edit.html' with href='preferences:edit-service' id=service.id %} + {% acl_end %} + {% can_delete service %} + {% include 'buttons/suppr.html' with href='preferences:del-service' id=service.id %} + {% acl_end %} + {% history_button service %} {% endfor %} diff --git a/preferences/templates/preferences/aff_switchmanagementcred.html b/preferences/templates/preferences/aff_switchmanagementcred.html index ef8b0143..b45dd356 100644 --- a/preferences/templates/preferences/aff_switchmanagementcred.html +++ b/preferences/templates/preferences/aff_switchmanagementcred.html @@ -23,17 +23,19 @@ with this program; if not, write to the Free Software Foundation, Inc., {% endcomment %} {% load acl %} {% load logs_extra %} - - - - - - - - - - - {% for switchmanagementcred in switchmanagementcred_list %} +{% load i18n %} + +
IdentifiantCreds par default des switchsUtilisé pour les switchs
+ + + + + + + + + + {% for switchmanagementcred in switchmanagementcred_list %} @@ -43,13 +45,11 @@ with this program; if not, write to the Free Software Foundation, Inc., {% include 'buttons/edit.html' with href='preferences:edit-switchmanagementcred' id=switchmanagementcred.id %} {% acl_end %} {% can_delete switchmanagementcred %} - - - + {% include 'buttons/suppr.html' with href='preferences:del-switchmanagementcred' id=switchmanagementcred.id %} {% acl_end %} {% history_button switchmanagementcred %} - {% endfor %} -
{% trans "Switch login" %}{% trans "Default switch management credentials" %}{% trans "Management credentials used by the switches" %}
{{ switchmanagementcred.management_id }} {{ switchmanagementcred.default_switch }}
+ {% endfor %} + diff --git a/preferences/templates/preferences/delete.html b/preferences/templates/preferences/delete.html index ce277647..7897e286 100644 --- a/preferences/templates/preferences/delete.html +++ b/preferences/templates/preferences/delete.html @@ -1,4 +1,4 @@ -{% extends "topologie/sidebar.html" %} +{% extends 'preferences/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 @@ -24,15 +24,17 @@ with this program; if not, write to the Free Software Foundation, Inc., {% endcomment %} {% load bootstrap3 %} +{% load i18n %} -{% block title %}Création et modification de machines{% endblock %} +{% block title %}{% trans "Deletion of preferences" %}{% endblock %} {% block content %}
{% csrf_token %} -

Attention, voulez-vous vraiment supprimer cet objet {{ objet_name }} ( {{ objet }} ) ?

- {% bootstrap_button "Confirmer" button_type="submit" icon="trash" %} +

{% blocktrans %}Warning: are you sure you want to delete this {{ objet_name }} object ( {{ objet }} )?{% endblocktrans %}

+ {% trans "Confirm" as tr_confirm %} + {% bootstrap_button tr_confirm button_type="submit" icon="trash" %}


diff --git a/preferences/templates/preferences/display_preferences.html b/preferences/templates/preferences/display_preferences.html index e4321f5b..50b2b647 100644 --- a/preferences/templates/preferences/display_preferences.html +++ b/preferences/templates/preferences/display_preferences.html @@ -1,4 +1,4 @@ -{% extends "preferences/sidebar.html" %} +{% extends 'preferences/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 @@ -69,7 +69,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% trans "General message displayed on the website" %} {{ generaloptions.general_message }} - {% trans "Main site url" %} + {% trans "Main site URL" %} {{ generaloptions.main_site_url }} @@ -120,7 +120,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% trans "Self registration" %} {{ useroptions.self_adhesion|tick }} {% trans "Delete not yet active users after" %} - {{ useroptions.delete_notyetactive }} days + {% blocktrans with delete_notyetactive=useroptions.delete_notyetactive %}{{ delete_notyetactive }} days{% endblocktrans %} {% trans "All users are active by default" %} @@ -218,11 +218,11 @@ with this program; if not, write to the Free Software Foundation, Inc., -

Clef radius

+

{% trans "RADIUS keys" %}

{% can_create RadiusKey%} - Ajouter une clef radius + {% trans " Add a RADIUS key" %} {% acl_end %} - {% include "preferences/aff_radiuskey.html" with radiuskey_list=radiuskey_list %} + {% include 'preferences/aff_radiuskey.html' with radiuskey_list=radiuskey_list %} @@ -230,7 +230,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
@@ -243,64 +243,64 @@ with this program; if not, write to the Free Software Foundation, Inc., - + - +
Web management, activé si provision automatique{% trans "Web management, activated in case of automatic provision" %} {{ topologieoptions.switchs_web_management }}Rest management, activé si provision auto{% trans "REST management, activated in case of automatic provision" %} {{ topologieoptions.switchs_rest_management }}
-
{% if topologieoptions.provision_switchs_enabled %}Provision de la config des switchs{% else %}Provision de la config des switchs{% endif%}
+
{% if topologieoptions.provision_switchs_enabled %}{% trans "Provision of configuration for switches" %}{% else %}{% trans "Provision of configuration for switches" %}{% endif%}
- - + + - - + + - - + + - + - - + + - - + +
Switchs configurés automatiquement{{ topologieoptions.provisioned_switchs|join:", " }} {% if topologieoptions.provisioned_switchs %} OK{% else %}Manquant{% endif %}{% trans "Switches with automatic provision" %}{{ topologieoptions.provisioned_switchs|join:", " }} {% if topologieoptions.provisioned_switchs %}{% trans "OK" %}{% else %}{% trans "Missing" %}{% endif %}
Plage d'ip de management des switchs{{ topologieoptions.switchs_ip_type }} {% if topologieoptions.switchs_ip_type %} OK{% else %}Manquant{% endif %}{% trans "IP range for the management of switches" %}{{ topologieoptions.switchs_ip_type }} {% if topologieoptions.switchs_ip_type %}{% trans "OK" %}{% else %}{% trans "Missing" %}{% endif %}
Serveur des config des switchs{{ topologieoptions.switchs_management_interface }} {% if topologieoptions.switchs_management_interface %} - {{ topologieoptions.switchs_management_interface_ip }} OK{% else %}Manquant{% endif %}{% trans "Server for the configuration of switches" %}{{ topologieoptions.switchs_management_interface }} {% if topologieoptions.switchs_management_interface %} - {{ topologieoptions.switchs_management_interface_ip }} {% trans "OK" %}{% else %}{% trans "Missing" %}{% endif %}
Mode de provision des switchs{% trans "Provision of configuration mode for switches" %} {{ topologieoptions.switchs_provision }}
Mode TFTP OK{% trans "TFTP mode" %}{% trans "OK" %}
Mode SFTP{% if topologieoptions.switchs_management_sftp_creds %} OK{% else %}Creds manquants{% endif %}{% trans "SFTP mode" %}{% if topologieoptions.switchs_management_sftp_creds %}{% trans "OK" %}{% else %}{% trans "Missing credentials" %}{% endif %}
-
Creds de management des switchs
+
{% trans "Switch management credentials" %}
{% can_create SwitchManagementCred%} - Ajouter un id/mdp de management switch + {% trans " Add switch management credentials" %} {% acl_end %}

- {% if switchmanagementcred_list %} OK{% else %}Manquant{% endif %} - {% include "preferences/aff_switchmanagementcred.html" with switchmanagementcred_list=switchmanagementcred_list %} + {% if switchmanagementcred_list %}{% trans "OK" %}{% else %}{% trans "Missing" %}{% endif %} + {% include 'preferences/aff_switchmanagementcred.html' with switchmanagementcred_list=switchmanagementcred_list %}
{% trans "Edit" %} - {% include "preferences/aff_radiusoptions.html" %} + {% include 'preferences/aff_radiusoptions.html' %}
@@ -350,7 +350,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
@@ -377,16 +377,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% can_create preferences.Reminder%} - Ajouter un rappel + {% trans " Add a reminder" %}

{% acl_end %} - {% include "preferences/aff_reminder.html" with reminder_list=reminder_list %} + {% include 'preferences/aff_reminder.html' with reminder_list=reminder_list %}
@@ -403,7 +403,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% trans " Add a service" %}

{% acl_end %} - {% include "preferences/aff_service.html" with service_list=service_list %} + {% include 'preferences/aff_service.html' with service_list=service_list %}
@@ -417,18 +417,18 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% can_create preferences.MailContact %} - {% trans "Add an address" %} + {% trans " Add an address" %} {% acl_end %} - {% trans "Delete one or several addresses" %} + {% trans " Delete one or several addresses" %}

- {% include "preferences/aff_mailcontact.html" with mailcontact_list=mailcontact_list %} + {% include 'preferences/aff_mailcontact.html' with mailcontact_list=mailcontact_list %}
diff --git a/preferences/templates/preferences/edit_preferences.html b/preferences/templates/preferences/edit_preferences.html index c3dd4652..b5f8c506 100644 --- a/preferences/templates/preferences/edit_preferences.html +++ b/preferences/templates/preferences/edit_preferences.html @@ -1,4 +1,4 @@ -{% extends "preferences/sidebar.html" %} +{% extends 'preferences/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 diff --git a/preferences/templates/preferences/preferences.html b/preferences/templates/preferences/preferences.html index 8ae9b6bc..308d121e 100644 --- a/preferences/templates/preferences/preferences.html +++ b/preferences/templates/preferences/preferences.html @@ -1,4 +1,4 @@ -{% extends "preferences/sidebar.html" %} +{% extends 'preferences/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 diff --git a/preferences/templates/preferences/sidebar.html b/preferences/templates/preferences/sidebar.html index 98b597ea..2dccf639 100644 --- a/preferences/templates/preferences/sidebar.html +++ b/preferences/templates/preferences/sidebar.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends 'base.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 diff --git a/preferences/views.py b/preferences/views.py index 586be60f..0e86713c 100644 --- a/preferences/views.py +++ b/preferences/views.py @@ -111,7 +111,7 @@ def edit_options(request, section): model = getattr(models, section, None) form_instance = getattr(forms, 'Edit' + section + 'Form', None) if not (model or form_instance): - messages.error(request, _("Unknown object")) + messages.error(request, _("Unknown object.")) return redirect(reverse('preferences:display-options')) options_instance, _created = model.objects.get_or_create() @@ -186,7 +186,7 @@ def del_service(request, service_instance, **_kwargs): """Suppression d'un service de la page d'accueil""" if request.method == "POST": service_instance.delete() - messages.success(request, "Le service a été détruit") + messages.success(request, _("The service was deleted.")) return redirect(reverse('preferences:display-options')) return form( {'objet': service_instance, 'objet_name': 'service'}, @@ -204,7 +204,7 @@ def add_reminder(request): messages.success(request, _("The reminder was added.")) return redirect(reverse('preferences:display-options')) return form( - {'preferenceform': reminder, 'action_name': _("Add a service")}, + {'preferenceform': reminder, 'action_name': _("Add a reminder")}, 'preferences/preferences.html', request ) @@ -220,7 +220,7 @@ def edit_reminder(request, reminder_instance, **_kwargs): ) if reminder.is_valid(): reminder.save() - messages.success(request, _("The service was edited.")) + messages.success(request, _("The reminder was edited.")) return redirect(reverse('preferences:display-options')) return form( {'preferenceform': reminder, 'action_name': _("Edit")}, @@ -236,7 +236,7 @@ def del_reminder(request, reminder_instance, **_kwargs): """Destruction d'un reminder""" if request.method == "POST": reminder_instance.delete() - messages.success(request, "Le reminder a été détruit") + messages.success(request, _("The reminder was deleted.")) return redirect(reverse('preferences:display-options')) return form( {'objet': reminder_instance, 'objet_name': 'reminder'}, @@ -252,10 +252,10 @@ def add_radiuskey(request): radiuskey = RadiusKeyForm(request.POST or None) if radiuskey.is_valid(): radiuskey.save() - messages.success(request, "Cette clef a été ajouté") + messages.success(request, _("The RADIUS key was added.")) return redirect(reverse('preferences:display-options')) return form( - {'preferenceform': radiuskey, 'action_name': 'Ajouter'}, + {'preferenceform': radiuskey, 'action_name': _("Add a RADIUS key")}, 'preferences/preferences.html', request ) @@ -266,10 +266,10 @@ def edit_radiuskey(request, radiuskey_instance, **_kwargs): radiuskey = RadiusKeyForm(request.POST or None, instance=radiuskey_instance) if radiuskey.is_valid(): radiuskey.save() - messages.success(request, "Radiuskey modifié") + messages.success(request, _("The RADIUS key was edited.")) return redirect(reverse('preferences:display-options')) return form( - {'preferenceform': radiuskey, 'action_name': 'Editer'}, + {'preferenceform': radiuskey, 'action_name': _("Edit")}, 'preferences/preferences.html', request ) @@ -282,10 +282,10 @@ def del_radiuskey(request, radiuskey_instance, **_kwargs): if request.method == "POST": try: radiuskey_instance.delete() - messages.success(request, "La radiuskey a été détruite") + messages.success(request, _("The RADIUS key was deleted.")) except ProtectedError: - messages.error(request, "Erreur la\ - clef ne peut être supprimé, elle est affectée à des switchs") + messages.error(request, _("The RADIUS key is assigned to at least" + " one switch, you can't delete it.")) return redirect(reverse('preferences:display-options')) return form( {'objet': radiuskey_instance, 'objet_name': 'radiuskey'}, @@ -301,10 +301,10 @@ def add_switchmanagementcred(request): switchmanagementcred = SwitchManagementCredForm(request.POST or None) if switchmanagementcred.is_valid(): switchmanagementcred.save() - messages.success(request, "Ces creds ont été ajoutés") + messages.success(request, _("The switch management credentials were added.")) return redirect(reverse('preferences:display-options')) return form( - {'preferenceform': switchmanagementcred, 'action_name': 'Ajouter'}, + {'preferenceform': switchmanagementcred, 'action_name': _("Add switch management credentials")}, 'preferences/preferences.html', request ) @@ -315,10 +315,10 @@ def edit_switchmanagementcred(request, switchmanagementcred_instance, **_kwargs) switchmanagementcred = SwitchManagementCredForm(request.POST or None, instance=switchmanagementcred_instance) if switchmanagementcred.is_valid(): switchmanagementcred.save() - messages.success(request, "Creds de managament modifié") + messages.success(request, _("The switch management credentials were edited.")) return redirect(reverse('preferences:display-options')) return form( - {'preferenceform': switchmanagementcred, 'action_name': 'Editer'}, + {'preferenceform': switchmanagementcred, 'action_name': _("Edit")}, 'preferences/preferences.html', request ) @@ -331,10 +331,11 @@ def del_switchmanagementcred(request, switchmanagementcred_instance, **_kwargs): if request.method == "POST": try: switchmanagementcred_instance.delete() - messages.success(request, "Ces creds ont été détruits") + messages.success(request, _("The switch management credentials were deleted.")) except ProtectedError: - messages.error(request, "Erreur ces\ - creds ne peuvent être supprimés, ils sont affectés à des switchs") + messages.error(request, _("The switch management credentials are" + " assigned to at least one switch, you" + " can't delete them.")) return redirect(reverse('preferences:display-options')) return form( {'objet': switchmanagementcred_instance, 'objet_name': 'switchmanagementcred'},