mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-25 22:22:26 +00:00
Create preferences models and edition template
This commit is contained in:
parent
623df4a9c3
commit
b4edd7f4dc
7 changed files with 310 additions and 232 deletions
|
@ -256,57 +256,57 @@ msgstr "Modèles de document actuels"
|
||||||
msgid "Current attributes"
|
msgid "Current attributes"
|
||||||
msgstr "Attributs actuels"
|
msgstr "Attributs actuels"
|
||||||
|
|
||||||
#: preferences/models.py:78
|
#: preferences/models.py:56
|
||||||
msgid "Users can't select their room"
|
msgid "Users can't select their room"
|
||||||
msgstr "Les utilisateurs ne peuvent pas modifier leur chambre"
|
msgstr "Les utilisateurs ne peuvent pas modifier leur chambre"
|
||||||
|
|
||||||
#: preferences/models.py:79
|
#: preferences/models.py:57
|
||||||
msgid ""
|
msgid ""
|
||||||
"Users can only select a room occupied by a user with a disabled connection."
|
"Users can only select a room occupied by a user with a disabled connection."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Les utilisateurs peuvent sélectionner la chambre d'un adhérent dont la "
|
"Les utilisateurs peuvent sélectionner la chambre d'un adhérent dont la "
|
||||||
"connexion est désactivée."
|
"connexion est désactivée."
|
||||||
|
|
||||||
#: preferences/models.py:80
|
#: preferences/models.py:58
|
||||||
msgid "Users can select all rooms"
|
msgid "Users can select all rooms"
|
||||||
msgstr "Les utilisateurs peuvent choisir toutes les chambres"
|
msgstr "Les utilisateurs peuvent choisir toutes les chambres"
|
||||||
|
|
||||||
#: preferences/models.py:86
|
#: preferences/models.py:64
|
||||||
msgid "Users can create a club."
|
msgid "Users can create a club."
|
||||||
msgstr "Les utilisateurs peuvent créer un club."
|
msgstr "Les utilisateurs peuvent créer un club."
|
||||||
|
|
||||||
#: preferences/models.py:89
|
#: preferences/models.py:67
|
||||||
msgid "Users can create a member."
|
msgid "Users can create a member."
|
||||||
msgstr "Les utilisateurs peuvent créer un adhérent."
|
msgstr "Les utilisateurs peuvent créer un adhérent."
|
||||||
|
|
||||||
#: preferences/models.py:95
|
#: preferences/models.py:73
|
||||||
msgid "Users can edit their shell."
|
msgid "Users can edit their shell."
|
||||||
msgstr "Les utilisateurs peuvent modifier leur interface en ligne de commande."
|
msgstr "Les utilisateurs peuvent modifier leur interface en ligne de commande."
|
||||||
|
|
||||||
#: preferences/models.py:101
|
#: preferences/models.py:79
|
||||||
msgid "Policy on self users room edition"
|
msgid "Policy on self users room edition"
|
||||||
msgstr "Autorisation d'édtion du champ chambre par les utilisateurs"
|
msgstr "Autorisation d'édtion du champ chambre par les utilisateurs"
|
||||||
|
|
||||||
#: preferences/models.py:104
|
#: preferences/models.py:82
|
||||||
msgid "Enable local email accounts for users."
|
msgid "Enable local email accounts for users."
|
||||||
msgstr "Activer les comptes mail locaux pour les utilisateurs."
|
msgstr "Activer les comptes mail locaux pour les utilisateurs."
|
||||||
|
|
||||||
#: preferences/models.py:109
|
#: preferences/models.py:87
|
||||||
msgid "Domain to use for local email accounts."
|
msgid "Domain to use for local email accounts."
|
||||||
msgstr "Domaine à utiliser pour les comptes mail locaux."
|
msgstr "Domaine à utiliser pour les comptes mail locaux."
|
||||||
|
|
||||||
#: preferences/models.py:113
|
#: preferences/models.py:91
|
||||||
msgid "Maximum number of local email addresses for a standard user."
|
msgid "Maximum number of local email addresses for a standard user."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Nombre maximum d'adresses mail locales autorisé pour un utilisateur standard."
|
"Nombre maximum d'adresses mail locales autorisé pour un utilisateur standard."
|
||||||
|
|
||||||
#: preferences/models.py:118
|
#: preferences/models.py:96
|
||||||
msgid "Not yet active users will be deleted after this number of days."
|
msgid "Not yet active users will be deleted after this number of days."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Les utilisateurs n'ayant jamais adhéré seront supprimés après ce nombre de "
|
"Les utilisateurs n'ayant jamais adhéré seront supprimés après ce nombre de "
|
||||||
"jours."
|
"jours."
|
||||||
|
|
||||||
#: preferences/models.py:124
|
#: preferences/models.py:102
|
||||||
msgid ""
|
msgid ""
|
||||||
"Users with an email address not yet confirmed will be disabled after this "
|
"Users with an email address not yet confirmed will be disabled after this "
|
||||||
"number of days."
|
"number of days."
|
||||||
|
@ -314,11 +314,11 @@ msgstr ""
|
||||||
"Les utilisateurs n'ayant pas confirmé leur addresse mail seront désactivés "
|
"Les utilisateurs n'ayant pas confirmé leur addresse mail seront désactivés "
|
||||||
"après ce nombre de jours"
|
"après ce nombre de jours"
|
||||||
|
|
||||||
#: preferences/models.py:128
|
#: preferences/models.py:106
|
||||||
msgid "A new user can create their account on Re2o."
|
msgid "A new user can create their account on Re2o."
|
||||||
msgstr "Un nouvel utilisateur peut créer son compte sur Re2o."
|
msgstr "Un nouvel utilisateur peut créer son compte sur Re2o."
|
||||||
|
|
||||||
#: preferences/models.py:133
|
#: preferences/models.py:111
|
||||||
msgid ""
|
msgid ""
|
||||||
"If True, all new created and connected users are active. If False, only when "
|
"If True, all new created and connected users are active. If False, only when "
|
||||||
"a valid registration has been paid."
|
"a valid registration has been paid."
|
||||||
|
@ -326,7 +326,7 @@ msgstr ""
|
||||||
"Si True, tous les nouveaux utilisations créés et connectés sont actifs. Si "
|
"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."
|
"False, seulement quand une inscription validée a été payée."
|
||||||
|
|
||||||
#: preferences/models.py:140
|
#: preferences/models.py:118
|
||||||
msgid ""
|
msgid ""
|
||||||
"If True, users have the choice to receive an email containing a link to "
|
"If True, users have the choice to receive an email containing a link to "
|
||||||
"reset their password during creation, or to directly set their password in "
|
"reset their password during creation, or to directly set their password in "
|
||||||
|
@ -337,172 +337,172 @@ msgstr ""
|
||||||
"de choisir leur mot de passe immédiatement. Si False, un mail est toujours "
|
"de choisir leur mot de passe immédiatement. Si False, un mail est toujours "
|
||||||
"envoyé."
|
"envoyé."
|
||||||
|
|
||||||
#: preferences/models.py:147
|
#: preferences/models.py:125
|
||||||
msgid "If True, archived users are allowed to connect."
|
msgid "If True, archived users are allowed to connect."
|
||||||
msgstr "Si True, les utilisateurs archivés sont autorisés à se connecter."
|
msgstr "Si True, les utilisateurs archivés sont autorisés à se connecter."
|
||||||
|
|
||||||
#: preferences/models.py:151
|
#: preferences/models.py:129
|
||||||
msgid "Can view the user preferences"
|
msgid "Can view the user preferences"
|
||||||
msgstr "Peut voir les préférences d'utilisateur"
|
msgstr "Peut voir les préférences d'utilisateur"
|
||||||
|
|
||||||
#: preferences/models.py:152
|
#: preferences/models.py:130
|
||||||
msgid "user preferences"
|
msgid "user preferences"
|
||||||
msgstr "Préférences d'utilisateur"
|
msgstr "Préférences d'utilisateur"
|
||||||
|
|
||||||
#: preferences/models.py:159
|
#: preferences/models.py:137
|
||||||
msgid "Email domain must begin with @."
|
msgid "Email domain must begin with @."
|
||||||
msgstr "Un domaine mail doit commencer par @."
|
msgstr "Un domaine mail doit commencer par @."
|
||||||
|
|
||||||
#: preferences/models.py:177
|
#: preferences/models.py:155
|
||||||
msgid "Automatic configuration by RA"
|
msgid "Automatic configuration by RA"
|
||||||
msgstr "Configuration automatique par RA"
|
msgstr "Configuration automatique par RA"
|
||||||
|
|
||||||
#: preferences/models.py:178
|
#: preferences/models.py:156
|
||||||
msgid "IP addresses assignment by DHCPv6"
|
msgid "IP addresses assignment by DHCPv6"
|
||||||
msgstr "Attribution d'adresses IP par DHCPv6"
|
msgstr "Attribution d'adresses IP par DHCPv6"
|
||||||
|
|
||||||
#: preferences/models.py:179
|
#: preferences/models.py:157
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "Désactivé"
|
msgstr "Désactivé"
|
||||||
|
|
||||||
#: preferences/models.py:188
|
#: preferences/models.py:166
|
||||||
msgid "default Time To Live (TTL) for CNAME, A and AAAA records"
|
msgid "default Time To Live (TTL) for CNAME, A and AAAA records"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Temps de vie (TTL) par défault pour des enregistrements CNAME, A et AAAA"
|
"Temps de vie (TTL) par défault pour des enregistrements CNAME, A et AAAA"
|
||||||
|
|
||||||
#: preferences/models.py:198
|
#: preferences/models.py:176
|
||||||
msgid "Can view the machine preferences"
|
msgid "Can view the machine preferences"
|
||||||
msgstr "Peut voir les préférences de machine"
|
msgstr "Peut voir les préférences de machine"
|
||||||
|
|
||||||
#: preferences/models.py:199
|
#: preferences/models.py:177
|
||||||
msgid "machine preferences"
|
msgid "machine preferences"
|
||||||
msgstr "Préférences de machine"
|
msgstr "Préférences de machine"
|
||||||
|
|
||||||
#: preferences/models.py:219 preferences/models.py:677
|
#: preferences/models.py:197 preferences/models.py:655
|
||||||
msgid "On the IP range's VLAN of the machine"
|
msgid "On the IP range's VLAN of the machine"
|
||||||
msgstr "Sur le VLAN de la plage d'IP de la machine"
|
msgstr "Sur le VLAN de la plage d'IP de la machine"
|
||||||
|
|
||||||
#: preferences/models.py:220 preferences/models.py:678
|
#: preferences/models.py:198 preferences/models.py:656
|
||||||
msgid "Preset in \"VLAN for machines accepted by RADIUS\""
|
msgid "Preset in \"VLAN for machines accepted by RADIUS\""
|
||||||
msgstr "Prédéfinie dans « VLAN pour les machines acceptées par RADIUS »"
|
msgstr "Prédéfinie dans « VLAN pour les machines acceptées par RADIUS »"
|
||||||
|
|
||||||
#: preferences/models.py:226
|
#: preferences/models.py:204
|
||||||
msgid "Web management, activated in case of automatic provision."
|
msgid "Web management, activated in case of automatic provision."
|
||||||
msgstr "Gestion web, activée en cas de provision automatique."
|
msgstr "Gestion web, activée en cas de provision automatique."
|
||||||
|
|
||||||
#: preferences/models.py:231
|
#: preferences/models.py:209
|
||||||
msgid ""
|
msgid ""
|
||||||
"SSL web management, make sure that a certificate is installed on the switch."
|
"SSL web management, make sure that a certificate is installed on the switch."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Gestion web SSL, vérifiez qu'un certificat est installé sur le commutateur "
|
"Gestion web SSL, vérifiez qu'un certificat est installé sur le commutateur "
|
||||||
"réseau."
|
"réseau."
|
||||||
|
|
||||||
#: preferences/models.py:237
|
#: preferences/models.py:215
|
||||||
msgid "REST management, activated in case of automatic provision."
|
msgid "REST management, activated in case of automatic provision."
|
||||||
msgstr "Gestion REST, activée en cas de provision automatique."
|
msgstr "Gestion REST, activée en cas de provision automatique."
|
||||||
|
|
||||||
#: preferences/models.py:244
|
#: preferences/models.py:222
|
||||||
msgid "IP range for the management of switches."
|
msgid "IP range for the management of switches."
|
||||||
msgstr "Plage d'IP pour la gestion des commutateurs réseau."
|
msgstr "Plage d'IP pour la gestion des commutateurs réseau."
|
||||||
|
|
||||||
#: preferences/models.py:250
|
#: preferences/models.py:228
|
||||||
msgid "Provision of configuration mode for switches."
|
msgid "Provision of configuration mode for switches."
|
||||||
msgstr "Mode de provision de configuration pour les commutateurs réseau."
|
msgstr "Mode de provision de configuration pour les commutateurs réseau."
|
||||||
|
|
||||||
#: preferences/models.py:253
|
#: preferences/models.py:231
|
||||||
msgid "SFTP login for switches."
|
msgid "SFTP login for switches."
|
||||||
msgstr "Identifiant SFTP pour les commutateurs réseau."
|
msgstr "Identifiant SFTP pour les commutateurs réseau."
|
||||||
|
|
||||||
#: preferences/models.py:256
|
#: preferences/models.py:234
|
||||||
msgid "SFTP password."
|
msgid "SFTP password."
|
||||||
msgstr "Mot de passe SFTP."
|
msgstr "Mot de passe SFTP."
|
||||||
|
|
||||||
#: preferences/models.py:360
|
#: preferences/models.py:338
|
||||||
msgid "Can view the topology preferences"
|
msgid "Can view the topology preferences"
|
||||||
msgstr "Peut voir les préférences de topologie"
|
msgstr "Peut voir les préférences de topologie"
|
||||||
|
|
||||||
#: preferences/models.py:361
|
#: preferences/models.py:339
|
||||||
msgid "topology preferences"
|
msgid "topology preferences"
|
||||||
msgstr "préférences de topologie"
|
msgstr "préférences de topologie"
|
||||||
|
|
||||||
#: preferences/models.py:374
|
#: preferences/models.py:352
|
||||||
msgid "RADIUS key."
|
msgid "RADIUS key."
|
||||||
msgstr "Clé RADIUS."
|
msgstr "Clé RADIUS."
|
||||||
|
|
||||||
#: preferences/models.py:376
|
#: preferences/models.py:354
|
||||||
msgid "Comment for this key."
|
msgid "Comment for this key."
|
||||||
msgstr "Commentaire pour cette clé."
|
msgstr "Commentaire pour cette clé."
|
||||||
|
|
||||||
#: preferences/models.py:379
|
#: preferences/models.py:357
|
||||||
msgid "Default key for switches."
|
msgid "Default key for switches."
|
||||||
msgstr "Clé par défaut pour les commutateurs réseau."
|
msgstr "Clé par défaut pour les commutateurs réseau."
|
||||||
|
|
||||||
#: preferences/models.py:383
|
#: preferences/models.py:361
|
||||||
msgid "Can view a RADIUS key object"
|
msgid "Can view a RADIUS key object"
|
||||||
msgstr "Peut voir un objet clé RADIUS"
|
msgstr "Peut voir un objet clé RADIUS"
|
||||||
|
|
||||||
#: preferences/models.py:384 preferences/views.py:331
|
#: preferences/models.py:362 preferences/views.py:307
|
||||||
msgid "RADIUS key"
|
msgid "RADIUS key"
|
||||||
msgstr "Clé RADIUS"
|
msgstr "Clé RADIUS"
|
||||||
|
|
||||||
#: preferences/models.py:385
|
#: preferences/models.py:363
|
||||||
#: preferences/templates/preferences/display_preferences.html:221
|
#: preferences/templates/preferences/display_preferences.html:221
|
||||||
msgid "RADIUS keys"
|
msgid "RADIUS keys"
|
||||||
msgstr "clés RADIUS"
|
msgstr "clés RADIUS"
|
||||||
|
|
||||||
#: preferences/models.py:392
|
#: preferences/models.py:370
|
||||||
msgid "Default RADIUS key for switches already exists."
|
msgid "Default RADIUS key for switches already exists."
|
||||||
msgstr "Clé par défaut pour les commutateurs réseau."
|
msgstr "Clé par défaut pour les commutateurs réseau."
|
||||||
|
|
||||||
#: preferences/models.py:395
|
#: preferences/models.py:373
|
||||||
msgid "RADIUS key "
|
msgid "RADIUS key "
|
||||||
msgstr "clé RADIUS "
|
msgstr "clé RADIUS "
|
||||||
|
|
||||||
#: preferences/models.py:401
|
#: preferences/models.py:379
|
||||||
msgid "Switch login."
|
msgid "Switch login."
|
||||||
msgstr "Identifiant du commutateur réseau."
|
msgstr "Identifiant du commutateur réseau."
|
||||||
|
|
||||||
#: preferences/models.py:402
|
#: preferences/models.py:380
|
||||||
msgid "Password."
|
msgid "Password."
|
||||||
msgstr "Mot de passe."
|
msgstr "Mot de passe."
|
||||||
|
|
||||||
#: preferences/models.py:404
|
#: preferences/models.py:382
|
||||||
msgid "Default credentials for switches."
|
msgid "Default credentials for switches."
|
||||||
msgstr "Identifiants par défaut pour les commutateurs réseau."
|
msgstr "Identifiants par défaut pour les commutateurs réseau."
|
||||||
|
|
||||||
#: preferences/models.py:411
|
#: preferences/models.py:389
|
||||||
msgid "Can view a switch management credentials object"
|
msgid "Can view a switch management credentials object"
|
||||||
msgstr "Peut voir un objet identifiants de gestion de commutateur réseau"
|
msgstr "Peut voir un objet identifiants de gestion de commutateur réseau"
|
||||||
|
|
||||||
#: preferences/models.py:414 preferences/views.py:394
|
#: preferences/models.py:392 preferences/views.py:370
|
||||||
msgid "switch management credentials"
|
msgid "switch management credentials"
|
||||||
msgstr "identifiants de gestion de commutateur réseau"
|
msgstr "identifiants de gestion de commutateur réseau"
|
||||||
|
|
||||||
#: preferences/models.py:417
|
#: preferences/models.py:395
|
||||||
msgid "Switch login "
|
msgid "Switch login "
|
||||||
msgstr "Identifiant du commutateur réseau "
|
msgstr "Identifiant du commutateur réseau "
|
||||||
|
|
||||||
#: preferences/models.py:429
|
#: preferences/models.py:407
|
||||||
msgid "Delay between the email and the membership's end."
|
msgid "Delay between the email and the membership's end."
|
||||||
msgstr "Délai entre le mail et la fin d'adhésion."
|
msgstr "Délai entre le mail et la fin d'adhésion."
|
||||||
|
|
||||||
#: preferences/models.py:435
|
#: preferences/models.py:413
|
||||||
msgid "Message displayed specifically for this reminder."
|
msgid "Message displayed specifically for this reminder."
|
||||||
msgstr "Message affiché spécifiquement pour ce rappel."
|
msgstr "Message affiché spécifiquement pour ce rappel."
|
||||||
|
|
||||||
#: preferences/models.py:439
|
#: preferences/models.py:417
|
||||||
msgid "Can view a reminder object"
|
msgid "Can view a reminder object"
|
||||||
msgstr "Peut voir un objet rappel"
|
msgstr "Peut voir un objet rappel"
|
||||||
|
|
||||||
#: preferences/models.py:440 preferences/views.py:276
|
#: preferences/models.py:418 preferences/views.py:252
|
||||||
msgid "reminder"
|
msgid "reminder"
|
||||||
msgstr "rappel"
|
msgstr "rappel"
|
||||||
|
|
||||||
#: preferences/models.py:441
|
#: preferences/models.py:419
|
||||||
msgid "reminders"
|
msgid "reminders"
|
||||||
msgstr "rappels"
|
msgstr "rappels"
|
||||||
|
|
||||||
#: preferences/models.py:462
|
#: preferences/models.py:440
|
||||||
msgid ""
|
msgid ""
|
||||||
"General message displayed on the French version of the website (e.g. in case "
|
"General message displayed on the French version of the website (e.g. in case "
|
||||||
"of maintenance)."
|
"of maintenance)."
|
||||||
|
@ -510,7 +510,7 @@ msgstr ""
|
||||||
"Message général affiché sur la version française du site (ex : en cas de "
|
"Message général affiché sur la version française du site (ex : en cas de "
|
||||||
"maintenance)."
|
"maintenance)."
|
||||||
|
|
||||||
#: preferences/models.py:470
|
#: preferences/models.py:448
|
||||||
msgid ""
|
msgid ""
|
||||||
"General message displayed on the English version of the website (e.g. in "
|
"General message displayed on the English version of the website (e.g. in "
|
||||||
"case of maintenance)."
|
"case of maintenance)."
|
||||||
|
@ -518,75 +518,75 @@ msgstr ""
|
||||||
"Message général affiché sur la version anglaise du site (ex : en cas de "
|
"Message général affiché sur la version anglaise du site (ex : en cas de "
|
||||||
"maintenance)."
|
"maintenance)."
|
||||||
|
|
||||||
#: preferences/models.py:485
|
#: preferences/models.py:463
|
||||||
msgid "Can view the general preferences"
|
msgid "Can view the general preferences"
|
||||||
msgstr "Peut voir les préférences générales"
|
msgstr "Peut voir les préférences générales"
|
||||||
|
|
||||||
#: preferences/models.py:486
|
#: preferences/models.py:464
|
||||||
msgid "general preferences"
|
msgid "general preferences"
|
||||||
msgstr "préférences générales"
|
msgstr "préférences générales"
|
||||||
|
|
||||||
#: preferences/models.py:506
|
#: preferences/models.py:484
|
||||||
msgid "Can view the service preferences"
|
msgid "Can view the service preferences"
|
||||||
msgstr "Peut voir les préférences de service"
|
msgstr "Peut voir les préférences de service"
|
||||||
|
|
||||||
#: preferences/models.py:507 preferences/views.py:227
|
#: preferences/models.py:485 preferences/views.py:203
|
||||||
msgid "service"
|
msgid "service"
|
||||||
msgstr "service"
|
msgstr "service"
|
||||||
|
|
||||||
#: preferences/models.py:508
|
#: preferences/models.py:486
|
||||||
msgid "services"
|
msgid "services"
|
||||||
msgstr "services"
|
msgstr "services"
|
||||||
|
|
||||||
#: preferences/models.py:518
|
#: preferences/models.py:496
|
||||||
msgid "Contact email address."
|
msgid "Contact email address."
|
||||||
msgstr "Adresse mail de contact."
|
msgstr "Adresse mail de contact."
|
||||||
|
|
||||||
#: preferences/models.py:524
|
#: preferences/models.py:502
|
||||||
msgid "Description of the associated email address."
|
msgid "Description of the associated email address."
|
||||||
msgstr "Description de l'adresse mail associée."
|
msgstr "Description de l'adresse mail associée."
|
||||||
|
|
||||||
#: preferences/models.py:534
|
#: preferences/models.py:512
|
||||||
msgid "Can view a contact email address object"
|
msgid "Can view a contact email address object"
|
||||||
msgstr "Peut voir un objet adresse mail de contact"
|
msgstr "Peut voir un objet adresse mail de contact"
|
||||||
|
|
||||||
#: preferences/models.py:536
|
#: preferences/models.py:514
|
||||||
msgid "contact email address"
|
msgid "contact email address"
|
||||||
msgstr "adresse mail de contact"
|
msgstr "adresse mail de contact"
|
||||||
|
|
||||||
#: preferences/models.py:537
|
#: preferences/models.py:515
|
||||||
msgid "contact email addresses"
|
msgid "contact email addresses"
|
||||||
msgstr "adresses mail de contact"
|
msgstr "adresses mail de contact"
|
||||||
|
|
||||||
#: preferences/models.py:545 preferences/views.py:634
|
#: preferences/models.py:523 preferences/views.py:610
|
||||||
msgid "mandate"
|
msgid "mandate"
|
||||||
msgstr "mandat"
|
msgstr "mandat"
|
||||||
|
|
||||||
#: preferences/models.py:546
|
#: preferences/models.py:524
|
||||||
msgid "mandates"
|
msgid "mandates"
|
||||||
msgstr "mandats"
|
msgstr "mandats"
|
||||||
|
|
||||||
#: preferences/models.py:547
|
#: preferences/models.py:525
|
||||||
msgid "Can view a mandate object"
|
msgid "Can view a mandate object"
|
||||||
msgstr "Peut voir un objet mandat"
|
msgstr "Peut voir un objet mandat"
|
||||||
|
|
||||||
#: preferences/models.py:554
|
#: preferences/models.py:532
|
||||||
msgid "president of the association"
|
msgid "president of the association"
|
||||||
msgstr "président de l'association"
|
msgstr "président de l'association"
|
||||||
|
|
||||||
#: preferences/models.py:555
|
#: preferences/models.py:533
|
||||||
msgid "Displayed on subscription vouchers."
|
msgid "Displayed on subscription vouchers."
|
||||||
msgstr "Affiché sur les reçus de cotisation."
|
msgstr "Affiché sur les reçus de cotisation."
|
||||||
|
|
||||||
#: preferences/models.py:557
|
#: preferences/models.py:535
|
||||||
msgid "start date"
|
msgid "start date"
|
||||||
msgstr "date de début"
|
msgstr "date de début"
|
||||||
|
|
||||||
#: preferences/models.py:558
|
#: preferences/models.py:536
|
||||||
msgid "end date"
|
msgid "end date"
|
||||||
msgstr "date de fin"
|
msgstr "date de fin"
|
||||||
|
|
||||||
#: preferences/models.py:571
|
#: preferences/models.py:549
|
||||||
msgid ""
|
msgid ""
|
||||||
"No mandates have been created. Please go to the preferences page to create "
|
"No mandates have been created. Please go to the preferences page to create "
|
||||||
"one."
|
"one."
|
||||||
|
@ -594,140 +594,140 @@ msgstr ""
|
||||||
"Aucun mandat n'a été créé. Veuillez vous rendre sur la page de préférences "
|
"Aucun mandat n'a été créé. Veuillez vous rendre sur la page de préférences "
|
||||||
"pour en créer un."
|
"pour en créer un."
|
||||||
|
|
||||||
#: preferences/models.py:586
|
#: preferences/models.py:564
|
||||||
msgid "Networking organisation school Something"
|
msgid "Networking organisation school Something"
|
||||||
msgstr "Association de réseau de l'école Machin"
|
msgstr "Association de réseau de l'école Machin"
|
||||||
|
|
||||||
#: preferences/models.py:589
|
#: preferences/models.py:567
|
||||||
msgid "Threadneedle Street"
|
msgid "Threadneedle Street"
|
||||||
msgstr "1 rue de la Vrillière"
|
msgstr "1 rue de la Vrillière"
|
||||||
|
|
||||||
#: preferences/models.py:590
|
#: preferences/models.py:568
|
||||||
msgid "London EC2R 8AH"
|
msgid "London EC2R 8AH"
|
||||||
msgstr "75001 Paris"
|
msgstr "75001 Paris"
|
||||||
|
|
||||||
#: preferences/models.py:593
|
#: preferences/models.py:571
|
||||||
msgid "Organisation"
|
msgid "Organisation"
|
||||||
msgstr "Association"
|
msgstr "Association"
|
||||||
|
|
||||||
#: preferences/models.py:600
|
#: preferences/models.py:578
|
||||||
msgid "Can view the organisation preferences"
|
msgid "Can view the organisation preferences"
|
||||||
msgstr "Peut voir les préférences d'association"
|
msgstr "Peut voir les préférences d'association"
|
||||||
|
|
||||||
#: preferences/models.py:601
|
#: preferences/models.py:579
|
||||||
msgid "organisation preferences"
|
msgid "organisation preferences"
|
||||||
msgstr "préférences d'association"
|
msgstr "préférences d'association"
|
||||||
|
|
||||||
#: preferences/models.py:619
|
#: preferences/models.py:597
|
||||||
msgid "Can view the homepage preferences"
|
msgid "Can view the homepage preferences"
|
||||||
msgstr "Peut voir les préférences de page d'accueil"
|
msgstr "Peut voir les préférences de page d'accueil"
|
||||||
|
|
||||||
#: preferences/models.py:620
|
#: preferences/models.py:598
|
||||||
msgid "homepage preferences"
|
msgid "homepage preferences"
|
||||||
msgstr "Préférences de page d'accueil"
|
msgstr "Préférences de page d'accueil"
|
||||||
|
|
||||||
#: preferences/models.py:634
|
#: preferences/models.py:612
|
||||||
msgid "Welcome email in French."
|
msgid "Welcome email in French."
|
||||||
msgstr "Mail de bienvenue en français."
|
msgstr "Mail de bienvenue en français."
|
||||||
|
|
||||||
#: preferences/models.py:637
|
#: preferences/models.py:615
|
||||||
msgid "Welcome email in English."
|
msgid "Welcome email in English."
|
||||||
msgstr "Mail de bienvenue en anglais."
|
msgstr "Mail de bienvenue en anglais."
|
||||||
|
|
||||||
#: preferences/models.py:642
|
#: preferences/models.py:620
|
||||||
msgid "Can view the email message preferences"
|
msgid "Can view the email message preferences"
|
||||||
msgstr "Peut voir les préférences de message pour les mails"
|
msgstr "Peut voir les préférences de message pour les mails"
|
||||||
|
|
||||||
#: preferences/models.py:644
|
#: preferences/models.py:622
|
||||||
msgid "email message preferences"
|
msgid "email message preferences"
|
||||||
msgstr "préférences de messages pour les mails"
|
msgstr "préférences de messages pour les mails"
|
||||||
|
|
||||||
#: preferences/models.py:649
|
#: preferences/models.py:627
|
||||||
msgid "RADIUS attribute"
|
msgid "RADIUS attribute"
|
||||||
msgstr "attribut RADIUS"
|
msgstr "attribut RADIUS"
|
||||||
|
|
||||||
#: preferences/models.py:650
|
#: preferences/models.py:628
|
||||||
msgid "RADIUS attributes"
|
msgid "RADIUS attributes"
|
||||||
msgstr "attributs RADIUS"
|
msgstr "attributs RADIUS"
|
||||||
|
|
||||||
#: preferences/models.py:654 preferences/views.py:587
|
#: preferences/models.py:632 preferences/views.py:563
|
||||||
msgid "attribute"
|
msgid "attribute"
|
||||||
msgstr "attribut"
|
msgstr "attribut"
|
||||||
|
|
||||||
#: preferences/models.py:655
|
#: preferences/models.py:633
|
||||||
msgid "See https://freeradius.org/rfc/attributes.html."
|
msgid "See https://freeradius.org/rfc/attributes.html."
|
||||||
msgstr "Voir https://freeradius.org/rfc/attributes.html."
|
msgstr "Voir https://freeradius.org/rfc/attributes.html."
|
||||||
|
|
||||||
#: preferences/models.py:657
|
#: preferences/models.py:635
|
||||||
msgid "value"
|
msgid "value"
|
||||||
msgstr "valeur"
|
msgstr "valeur"
|
||||||
|
|
||||||
#: preferences/models.py:659
|
#: preferences/models.py:637
|
||||||
msgid "comment"
|
msgid "comment"
|
||||||
msgstr "commentaire"
|
msgstr "commentaire"
|
||||||
|
|
||||||
#: preferences/models.py:660
|
#: preferences/models.py:638
|
||||||
msgid "Use this field to document this attribute."
|
msgid "Use this field to document this attribute."
|
||||||
msgstr "Utilisez ce champ pour documenter cet attribut."
|
msgstr "Utilisez ce champ pour documenter cet attribut."
|
||||||
|
|
||||||
#: preferences/models.py:671
|
#: preferences/models.py:649
|
||||||
msgid "RADIUS policy"
|
msgid "RADIUS policy"
|
||||||
msgstr "politique de RADIUS"
|
msgstr "politique de RADIUS"
|
||||||
|
|
||||||
#: preferences/models.py:672
|
#: preferences/models.py:650
|
||||||
#: preferences/templates/preferences/display_preferences.html:299
|
#: preferences/templates/preferences/display_preferences.html:299
|
||||||
msgid "RADIUS policies"
|
msgid "RADIUS policies"
|
||||||
msgstr "politiques de RADIUS"
|
msgstr "politiques de RADIUS"
|
||||||
|
|
||||||
#: preferences/models.py:683
|
#: preferences/models.py:661
|
||||||
msgid "Reject the machine"
|
msgid "Reject the machine"
|
||||||
msgstr "Rejeter la machine"
|
msgstr "Rejeter la machine"
|
||||||
|
|
||||||
#: preferences/models.py:684
|
#: preferences/models.py:662
|
||||||
msgid "Place the machine on the VLAN"
|
msgid "Place the machine on the VLAN"
|
||||||
msgstr "Placer la machine sur le VLAN"
|
msgstr "Placer la machine sur le VLAN"
|
||||||
|
|
||||||
#: preferences/models.py:693
|
#: preferences/models.py:671
|
||||||
msgid "policy for unknown machines"
|
msgid "policy for unknown machines"
|
||||||
msgstr "politique pour les machines inconnues"
|
msgstr "politique pour les machines inconnues"
|
||||||
|
|
||||||
#: preferences/models.py:701
|
#: preferences/models.py:679
|
||||||
msgid "unknown machines VLAN"
|
msgid "unknown machines VLAN"
|
||||||
msgstr "VLAN pour les machines inconnues"
|
msgstr "VLAN pour les machines inconnues"
|
||||||
|
|
||||||
#: preferences/models.py:702
|
#: preferences/models.py:680
|
||||||
msgid "VLAN for unknown machines if not rejected."
|
msgid "VLAN for unknown machines if not rejected."
|
||||||
msgstr "VLAN pour les machines inconnues si non rejeté."
|
msgstr "VLAN pour les machines inconnues si non rejeté."
|
||||||
|
|
||||||
#: preferences/models.py:708
|
#: preferences/models.py:686
|
||||||
msgid "unknown machines attributes"
|
msgid "unknown machines attributes"
|
||||||
msgstr "attributs pour les machines inconnues"
|
msgstr "attributs pour les machines inconnues"
|
||||||
|
|
||||||
#: preferences/models.py:709
|
#: preferences/models.py:687
|
||||||
msgid "Answer attributes for unknown machines."
|
msgid "Answer attributes for unknown machines."
|
||||||
msgstr "Attributs de réponse pour les machines inconnues."
|
msgstr "Attributs de réponse pour les machines inconnues."
|
||||||
|
|
||||||
#: preferences/models.py:715
|
#: preferences/models.py:693
|
||||||
msgid "policy for unknown ports"
|
msgid "policy for unknown ports"
|
||||||
msgstr "politique pour les ports inconnus"
|
msgstr "politique pour les ports inconnus"
|
||||||
|
|
||||||
#: preferences/models.py:723
|
#: preferences/models.py:701
|
||||||
msgid "unknown ports VLAN"
|
msgid "unknown ports VLAN"
|
||||||
msgstr "VLAN pour les ports inconnus"
|
msgstr "VLAN pour les ports inconnus"
|
||||||
|
|
||||||
#: preferences/models.py:724
|
#: preferences/models.py:702
|
||||||
msgid "VLAN for unknown ports if not rejected."
|
msgid "VLAN for unknown ports if not rejected."
|
||||||
msgstr "VLAN pour les ports inconnus si non rejeté."
|
msgstr "VLAN pour les ports inconnus si non rejeté."
|
||||||
|
|
||||||
#: preferences/models.py:730
|
#: preferences/models.py:708
|
||||||
msgid "unknown ports attributes"
|
msgid "unknown ports attributes"
|
||||||
msgstr "attributs pour les ports inconnus"
|
msgstr "attributs pour les ports inconnus"
|
||||||
|
|
||||||
#: preferences/models.py:731
|
#: preferences/models.py:709
|
||||||
msgid "Answer attributes for unknown ports."
|
msgid "Answer attributes for unknown ports."
|
||||||
msgstr "Attributs de réponse pour les ports inconnus."
|
msgstr "Attributs de réponse pour les ports inconnus."
|
||||||
|
|
||||||
#: preferences/models.py:738
|
#: preferences/models.py:716
|
||||||
msgid ""
|
msgid ""
|
||||||
"Policy for machines connecting from unregistered rooms (relevant on ports "
|
"Policy for machines connecting from unregistered rooms (relevant on ports "
|
||||||
"with STRICT RADIUS mode)"
|
"with STRICT RADIUS mode)"
|
||||||
|
@ -735,87 +735,87 @@ msgstr ""
|
||||||
"Politique pour les machines se connectant depuis des chambre non "
|
"Politique pour les machines se connectant depuis des chambre non "
|
||||||
"enregistrées (pertinent pour les ports avec le mode de RADIUS STRICT)"
|
"enregistrées (pertinent pour les ports avec le mode de RADIUS STRICT)"
|
||||||
|
|
||||||
#: preferences/models.py:748
|
#: preferences/models.py:726
|
||||||
msgid "unknown rooms VLAN"
|
msgid "unknown rooms VLAN"
|
||||||
msgstr "VLAN pour les chambres inconnues"
|
msgstr "VLAN pour les chambres inconnues"
|
||||||
|
|
||||||
#: preferences/models.py:749
|
#: preferences/models.py:727
|
||||||
msgid "VLAN for unknown rooms if not rejected."
|
msgid "VLAN for unknown rooms if not rejected."
|
||||||
msgstr "VLAN pour les chambres inconnues si non rejeté."
|
msgstr "VLAN pour les chambres inconnues si non rejeté."
|
||||||
|
|
||||||
#: preferences/models.py:755
|
#: preferences/models.py:733
|
||||||
msgid "unknown rooms attributes"
|
msgid "unknown rooms attributes"
|
||||||
msgstr "attributs pour les chambres inconnues"
|
msgstr "attributs pour les chambres inconnues"
|
||||||
|
|
||||||
#: preferences/models.py:756
|
#: preferences/models.py:734
|
||||||
msgid "Answer attributes for unknown rooms."
|
msgid "Answer attributes for unknown rooms."
|
||||||
msgstr "Attributs de réponse pour les chambres inconnues."
|
msgstr "Attributs de réponse pour les chambres inconnues."
|
||||||
|
|
||||||
#: preferences/models.py:762
|
#: preferences/models.py:740
|
||||||
msgid "policy for non members"
|
msgid "policy for non members"
|
||||||
msgstr "politique pour les non adhérents"
|
msgstr "politique pour les non adhérents"
|
||||||
|
|
||||||
#: preferences/models.py:770
|
#: preferences/models.py:748
|
||||||
msgid "non members VLAN"
|
msgid "non members VLAN"
|
||||||
msgstr "VLAN pour les non adhérents"
|
msgstr "VLAN pour les non adhérents"
|
||||||
|
|
||||||
#: preferences/models.py:771
|
#: preferences/models.py:749
|
||||||
msgid "VLAN for non members if not rejected."
|
msgid "VLAN for non members if not rejected."
|
||||||
msgstr "VLAN pour les non adhérents si non rejeté."
|
msgstr "VLAN pour les non adhérents si non rejeté."
|
||||||
|
|
||||||
#: preferences/models.py:777
|
#: preferences/models.py:755
|
||||||
msgid "non members attributes"
|
msgid "non members attributes"
|
||||||
msgstr "attributs pour les non adhérents"
|
msgstr "attributs pour les non adhérents"
|
||||||
|
|
||||||
#: preferences/models.py:778
|
#: preferences/models.py:756
|
||||||
msgid "Answer attributes for non members."
|
msgid "Answer attributes for non members."
|
||||||
msgstr "Attributs de réponse pour les non adhérents."
|
msgstr "Attributs de réponse pour les non adhérents."
|
||||||
|
|
||||||
#: preferences/models.py:784
|
#: preferences/models.py:762
|
||||||
msgid "policy for banned users"
|
msgid "policy for banned users"
|
||||||
msgstr "politique pour les utilisateurs bannis"
|
msgstr "politique pour les utilisateurs bannis"
|
||||||
|
|
||||||
#: preferences/models.py:792
|
#: preferences/models.py:770
|
||||||
msgid "banned users VLAN"
|
msgid "banned users VLAN"
|
||||||
msgstr "VLAN pour les utilisateurs bannis"
|
msgstr "VLAN pour les utilisateurs bannis"
|
||||||
|
|
||||||
#: preferences/models.py:793
|
#: preferences/models.py:771
|
||||||
msgid "VLAN for banned users if not rejected."
|
msgid "VLAN for banned users if not rejected."
|
||||||
msgstr "VLAN pour les utilisateurs bannis si non rejeté."
|
msgstr "VLAN pour les utilisateurs bannis si non rejeté."
|
||||||
|
|
||||||
#: preferences/models.py:799
|
#: preferences/models.py:777
|
||||||
msgid "banned users attributes"
|
msgid "banned users attributes"
|
||||||
msgstr "attributs pour les utilisateurs bannis"
|
msgstr "attributs pour les utilisateurs bannis"
|
||||||
|
|
||||||
#: preferences/models.py:800
|
#: preferences/models.py:778
|
||||||
msgid "Answer attributes for banned users."
|
msgid "Answer attributes for banned users."
|
||||||
msgstr "Attributs de réponse pour les utilisateurs bannis."
|
msgstr "Attributs de réponse pour les utilisateurs bannis."
|
||||||
|
|
||||||
#: preferences/models.py:813
|
#: preferences/models.py:791
|
||||||
msgid "accepted users attributes"
|
msgid "accepted users attributes"
|
||||||
msgstr "attributs pour les utilisateurs acceptés"
|
msgstr "attributs pour les utilisateurs acceptés"
|
||||||
|
|
||||||
#: preferences/models.py:814
|
#: preferences/models.py:792
|
||||||
msgid "Answer attributes for accepted users."
|
msgid "Answer attributes for accepted users."
|
||||||
msgstr "Attributs de réponse pour les utilisateurs acceptés."
|
msgstr "Attributs de réponse pour les utilisateurs acceptés."
|
||||||
|
|
||||||
#: preferences/models.py:841
|
#: preferences/models.py:819
|
||||||
msgid "subscription preferences"
|
msgid "subscription preferences"
|
||||||
msgstr "préférences de cotisation"
|
msgstr "préférences de cotisation"
|
||||||
|
|
||||||
#: preferences/models.py:845
|
#: preferences/models.py:823
|
||||||
msgid "template for invoices"
|
msgid "template for invoices"
|
||||||
msgstr "modèle pour les factures"
|
msgstr "modèle pour les factures"
|
||||||
|
|
||||||
#: preferences/models.py:852
|
#: preferences/models.py:830
|
||||||
msgid "template for subscription vouchers"
|
msgid "template for subscription vouchers"
|
||||||
msgstr "modèle pour les reçus de cotisation"
|
msgstr "modèle pour les reçus de cotisation"
|
||||||
|
|
||||||
#: preferences/models.py:858
|
#: preferences/models.py:836
|
||||||
msgid "send voucher by email when the invoice is controlled"
|
msgid "send voucher by email when the invoice is controlled"
|
||||||
msgstr "envoyer le reçu par mail quand la facture est contrôlée"
|
msgstr "envoyer le reçu par mail quand la facture est contrôlée"
|
||||||
|
|
||||||
#: preferences/models.py:860
|
#: preferences/models.py:838
|
||||||
msgid ""
|
msgid ""
|
||||||
"Be careful, if no mandate is defined on the preferences page, errors will be "
|
"Be careful, if no mandate is defined on the preferences page, errors will be "
|
||||||
"triggered when generating vouchers."
|
"triggered when generating vouchers."
|
||||||
|
@ -823,19 +823,19 @@ msgstr ""
|
||||||
"Faites attention, si aucun mandat n'est défini sur la page de préférences, "
|
"Faites attention, si aucun mandat n'est défini sur la page de préférences, "
|
||||||
"des erreurs seront déclenchées en générant des reçus."
|
"des erreurs seront déclenchées en générant des reçus."
|
||||||
|
|
||||||
#: preferences/models.py:872
|
#: preferences/models.py:850
|
||||||
msgid "template"
|
msgid "template"
|
||||||
msgstr "modèle"
|
msgstr "modèle"
|
||||||
|
|
||||||
#: preferences/models.py:873
|
#: preferences/models.py:851
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr "nom"
|
msgstr "nom"
|
||||||
|
|
||||||
#: preferences/models.py:876
|
#: preferences/models.py:854
|
||||||
msgid "document template"
|
msgid "document template"
|
||||||
msgstr "modèle de document"
|
msgstr "modèle de document"
|
||||||
|
|
||||||
#: preferences/models.py:877
|
#: preferences/models.py:855
|
||||||
msgid "document templates"
|
msgid "document templates"
|
||||||
msgstr "modèles de document"
|
msgstr "modèles de document"
|
||||||
|
|
||||||
|
@ -1035,9 +1035,9 @@ msgstr "Préférences générales"
|
||||||
#: preferences/templates/preferences/display_preferences.html:417
|
#: preferences/templates/preferences/display_preferences.html:417
|
||||||
#: preferences/templates/preferences/display_preferences.html:495
|
#: preferences/templates/preferences/display_preferences.html:495
|
||||||
#: preferences/templates/preferences/edit_preferences.html:46
|
#: preferences/templates/preferences/edit_preferences.html:46
|
||||||
#: preferences/views.py:212 preferences/views.py:261 preferences/views.py:307
|
#: preferences/views.py:188 preferences/views.py:237 preferences/views.py:283
|
||||||
#: preferences/views.py:367 preferences/views.py:431 preferences/views.py:496
|
#: preferences/views.py:343 preferences/views.py:407 preferences/views.py:472
|
||||||
#: preferences/views.py:572 preferences/views.py:619
|
#: preferences/views.py:548 preferences/views.py:595
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Modifier"
|
msgstr "Modifier"
|
||||||
|
|
||||||
|
@ -1359,75 +1359,75 @@ msgstr "URL du compte Facebook"
|
||||||
msgid "Editing of preferences"
|
msgid "Editing of preferences"
|
||||||
msgstr "Modification des préférences"
|
msgstr "Modification des préférences"
|
||||||
|
|
||||||
#: preferences/views.py:160
|
#: preferences/utils/views.py:45
|
||||||
msgid "Unknown object."
|
msgid "Unknown object."
|
||||||
msgstr "Objet inconnu."
|
msgstr "Objet inconnu."
|
||||||
|
|
||||||
#: preferences/views.py:179
|
#: preferences/utils/views.py:64
|
||||||
msgid "The preferences were edited."
|
msgid "The preferences were edited."
|
||||||
msgstr "Les préférences ont été modifiées."
|
msgstr "Les préférences ont été modifiées."
|
||||||
|
|
||||||
#: preferences/views.py:191
|
#: preferences/views.py:167
|
||||||
msgid "The service was added."
|
msgid "The service was added."
|
||||||
msgstr "Le service a été ajouté."
|
msgstr "Le service a été ajouté."
|
||||||
|
|
||||||
#: preferences/views.py:194 preferences/views.py:243 preferences/views.py:292
|
#: preferences/views.py:170 preferences/views.py:219 preferences/views.py:268
|
||||||
#: preferences/views.py:349 preferences/views.py:412 preferences/views.py:471
|
#: preferences/views.py:325 preferences/views.py:388 preferences/views.py:447
|
||||||
#: preferences/views.py:554 preferences/views.py:603
|
#: preferences/views.py:530 preferences/views.py:579
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "Ajouter"
|
msgstr "Ajouter"
|
||||||
|
|
||||||
#: preferences/views.py:209
|
#: preferences/views.py:185
|
||||||
msgid "The service was edited."
|
msgid "The service was edited."
|
||||||
msgstr "Le service a été modifié."
|
msgstr "Le service a été modifié."
|
||||||
|
|
||||||
#: preferences/views.py:224
|
#: preferences/views.py:200
|
||||||
msgid "The service was deleted."
|
msgid "The service was deleted."
|
||||||
msgstr "Le service a été supprimé."
|
msgstr "Le service a été supprimé."
|
||||||
|
|
||||||
#: preferences/views.py:240
|
#: preferences/views.py:216
|
||||||
msgid "The reminder was added."
|
msgid "The reminder was added."
|
||||||
msgstr "Le rappel a été ajouté."
|
msgstr "Le rappel a été ajouté."
|
||||||
|
|
||||||
#: preferences/views.py:258
|
#: preferences/views.py:234
|
||||||
msgid "The reminder was edited."
|
msgid "The reminder was edited."
|
||||||
msgstr "Le rappel a été modifié."
|
msgstr "Le rappel a été modifié."
|
||||||
|
|
||||||
#: preferences/views.py:273
|
#: preferences/views.py:249
|
||||||
msgid "The reminder was deleted."
|
msgid "The reminder was deleted."
|
||||||
msgstr "Le rappel a été supprimé."
|
msgstr "Le rappel a été supprimé."
|
||||||
|
|
||||||
#: preferences/views.py:289
|
#: preferences/views.py:265
|
||||||
msgid "The RADIUS key was added."
|
msgid "The RADIUS key was added."
|
||||||
msgstr "La clé RADIUS a été ajoutée."
|
msgstr "La clé RADIUS a été ajoutée."
|
||||||
|
|
||||||
#: preferences/views.py:304
|
#: preferences/views.py:280
|
||||||
msgid "The RADIUS key was edited."
|
msgid "The RADIUS key was edited."
|
||||||
msgstr "La clé RADIUS a été modifiée."
|
msgstr "La clé RADIUS a été modifiée."
|
||||||
|
|
||||||
#: preferences/views.py:320
|
#: preferences/views.py:296
|
||||||
msgid "The RADIUS key was deleted."
|
msgid "The RADIUS key was deleted."
|
||||||
msgstr "La clé RADIUS a été supprimée."
|
msgstr "La clé RADIUS a été supprimée."
|
||||||
|
|
||||||
#: preferences/views.py:325
|
#: preferences/views.py:301
|
||||||
msgid "The RADIUS key is assigned to at least one switch, you can't delete it."
|
msgid "The RADIUS key is assigned to at least one switch, you can't delete it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La clé RADIUS est assignée a au moins un commutateur réseau, vous ne pouvez "
|
"La clé RADIUS est assignée a au moins un commutateur réseau, vous ne pouvez "
|
||||||
"pas la supprimer."
|
"pas la supprimer."
|
||||||
|
|
||||||
#: preferences/views.py:344
|
#: preferences/views.py:320
|
||||||
msgid "The switch management credentials were added."
|
msgid "The switch management credentials were added."
|
||||||
msgstr "Les identifiants de gestion de commutateur réseay ont été ajoutés."
|
msgstr "Les identifiants de gestion de commutateur réseay ont été ajoutés."
|
||||||
|
|
||||||
#: preferences/views.py:364
|
#: preferences/views.py:340
|
||||||
msgid "The switch management credentials were edited."
|
msgid "The switch management credentials were edited."
|
||||||
msgstr "Les identifiants de gestion de commutateur réseau ont été modifiés."
|
msgstr "Les identifiants de gestion de commutateur réseau ont été modifiés."
|
||||||
|
|
||||||
#: preferences/views.py:381
|
#: preferences/views.py:357
|
||||||
msgid "The switch management credentials were deleted."
|
msgid "The switch management credentials were deleted."
|
||||||
msgstr "Les identifiants de gestion de commutateur réseau ont été supprimés."
|
msgstr "Les identifiants de gestion de commutateur réseau ont été supprimés."
|
||||||
|
|
||||||
#: preferences/views.py:387
|
#: preferences/views.py:363
|
||||||
msgid ""
|
msgid ""
|
||||||
"The switch management credentials are assigned to at least one switch, you "
|
"The switch management credentials are assigned to at least one switch, you "
|
||||||
"can't delete them."
|
"can't delete them."
|
||||||
|
@ -1435,44 +1435,44 @@ msgstr ""
|
||||||
"Les identifiants de gestion de commutateur réseau sont assignés à au moins "
|
"Les identifiants de gestion de commutateur réseau sont assignés à au moins "
|
||||||
"un commutateur réseau , vous ne pouvez pas les supprimer."
|
"un commutateur réseau , vous ne pouvez pas les supprimer."
|
||||||
|
|
||||||
#: preferences/views.py:407
|
#: preferences/views.py:383
|
||||||
msgid "The contact email address was created."
|
msgid "The contact email address was created."
|
||||||
msgstr "L'adresse mail de contact a été supprimée."
|
msgstr "L'adresse mail de contact a été supprimée."
|
||||||
|
|
||||||
#: preferences/views.py:428
|
#: preferences/views.py:404
|
||||||
msgid "The contact email address was edited."
|
msgid "The contact email address was edited."
|
||||||
msgstr "L'adresse mail de contact a été modifiée."
|
msgstr "L'adresse mail de contact a été modifiée."
|
||||||
|
|
||||||
#: preferences/views.py:446
|
#: preferences/views.py:422
|
||||||
msgid "The contact email adress was deleted."
|
msgid "The contact email adress was deleted."
|
||||||
msgstr "L'adresse mail de contact a été supprimée."
|
msgstr "L'adresse mail de contact a été supprimée."
|
||||||
|
|
||||||
#: preferences/views.py:449 preferences/views.py:536
|
#: preferences/views.py:425 preferences/views.py:512
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Supprimer"
|
msgstr "Supprimer"
|
||||||
|
|
||||||
#: preferences/views.py:466
|
#: preferences/views.py:442
|
||||||
msgid "The document template was created."
|
msgid "The document template was created."
|
||||||
msgstr "Le modèle de document a été créé."
|
msgstr "Le modèle de document a été créé."
|
||||||
|
|
||||||
#: preferences/views.py:472
|
#: preferences/views.py:448
|
||||||
msgid "New document template"
|
msgid "New document template"
|
||||||
msgstr "Nouveau modèle de document"
|
msgstr "Nouveau modèle de document"
|
||||||
|
|
||||||
#: preferences/views.py:491
|
#: preferences/views.py:467
|
||||||
msgid "The document template was edited."
|
msgid "The document template was edited."
|
||||||
msgstr "Le modèle de document a été édité."
|
msgstr "Le modèle de document a été édité."
|
||||||
|
|
||||||
#: preferences/views.py:497
|
#: preferences/views.py:473
|
||||||
msgid "Edit document template"
|
msgid "Edit document template"
|
||||||
msgstr "Modifier le modèle de document"
|
msgstr "Modifier le modèle de document"
|
||||||
|
|
||||||
#: preferences/views.py:520
|
#: preferences/views.py:496
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The document template %(document_template)s was deleted."
|
msgid "The document template %(document_template)s was deleted."
|
||||||
msgstr "Le modèle de document %(document_template)s a été supprimé."
|
msgstr "Le modèle de document %(document_template)s a été supprimé."
|
||||||
|
|
||||||
#: preferences/views.py:527
|
#: preferences/views.py:503
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The document template %(document_template)s can't be deleted because it is "
|
"The document template %(document_template)s can't be deleted because it is "
|
||||||
|
@ -1481,31 +1481,31 @@ msgstr ""
|
||||||
"Le modèle de document %(document_template)s ne peut pas être supprimé car il "
|
"Le modèle de document %(document_template)s ne peut pas être supprimé car il "
|
||||||
"est actuellement utilisé."
|
"est actuellement utilisé."
|
||||||
|
|
||||||
#: preferences/views.py:537
|
#: preferences/views.py:513
|
||||||
msgid "Delete document template"
|
msgid "Delete document template"
|
||||||
msgstr "Supprimer le modèle de document"
|
msgstr "Supprimer le modèle de document"
|
||||||
|
|
||||||
#: preferences/views.py:551
|
#: preferences/views.py:527
|
||||||
msgid "The attribute was added."
|
msgid "The attribute was added."
|
||||||
msgstr "L'attribut a été ajouté."
|
msgstr "L'attribut a été ajouté."
|
||||||
|
|
||||||
#: preferences/views.py:569
|
#: preferences/views.py:545
|
||||||
msgid "The attribute was edited."
|
msgid "The attribute was edited."
|
||||||
msgstr "L'attribut a été modifié."
|
msgstr "L'attribut a été modifié."
|
||||||
|
|
||||||
#: preferences/views.py:584
|
#: preferences/views.py:560
|
||||||
msgid "The attribute was deleted."
|
msgid "The attribute was deleted."
|
||||||
msgstr "L'attribut a été supprimé."
|
msgstr "L'attribut a été supprimé."
|
||||||
|
|
||||||
#: preferences/views.py:600
|
#: preferences/views.py:576
|
||||||
msgid "The mandate was added."
|
msgid "The mandate was added."
|
||||||
msgstr "Le mandat a été ajouté."
|
msgstr "Le mandat a été ajouté."
|
||||||
|
|
||||||
#: preferences/views.py:616
|
#: preferences/views.py:592
|
||||||
msgid "The mandate was edited."
|
msgid "The mandate was edited."
|
||||||
msgstr "Le mandat a été modifié."
|
msgstr "Le mandat a été modifié."
|
||||||
|
|
||||||
#: preferences/views.py:631
|
#: preferences/views.py:607
|
||||||
msgid "The mandate was deleted."
|
msgid "The mandate was deleted."
|
||||||
msgstr "Le mandat été supprimé."
|
msgstr "Le mandat été supprimé."
|
||||||
|
|
||||||
|
|
|
@ -37,36 +37,14 @@ from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
import machines.models
|
import machines.models
|
||||||
|
|
||||||
|
from .utils.models import PreferencesModel
|
||||||
|
|
||||||
from re2o.mixins import AclMixin, RevMixin
|
from re2o.mixins import AclMixin, RevMixin
|
||||||
from re2o.aes_field import AESEncryptedField
|
from re2o.aes_field import AESEncryptedField
|
||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
|
|
||||||
class PreferencesModel(models.Model):
|
|
||||||
""" Base object for the Preferences objects
|
|
||||||
Defines methods to handle the cache of the settings (they should
|
|
||||||
not change a lot) """
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def set_in_cache(cls):
|
|
||||||
""" Save the preferences in a server-side cache """
|
|
||||||
instance, _created = cls.objects.get_or_create()
|
|
||||||
cache.set(cls().__class__.__name__.lower(), instance, None)
|
|
||||||
return instance
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def get_cached_value(cls, key):
|
|
||||||
""" Get the preferences from the server-side cache """
|
|
||||||
instance = cache.get(cls().__class__.__name__.lower())
|
|
||||||
if instance is None:
|
|
||||||
instance = cls.set_in_cache()
|
|
||||||
return getattr(instance, key)
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
abstract = True
|
|
||||||
|
|
||||||
|
|
||||||
class OptionalUser(AclMixin, PreferencesModel):
|
class OptionalUser(AclMixin, PreferencesModel):
|
||||||
"""Options pour l'user : obligation ou nom du telephone,
|
"""Options pour l'user : obligation ou nom du telephone,
|
||||||
activation ou non du solde, autorisation du negatif, fingerprint etc"""
|
activation ou non du solde, autorisation du negatif, fingerprint etc"""
|
||||||
|
|
|
@ -28,52 +28,53 @@ from __future__ import unicode_literals
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
|
|
||||||
from . import views
|
from . import views
|
||||||
|
from .views import edit_options
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(
|
url(
|
||||||
r"^edit_options/(?P<section>OptionalUser)$",
|
r"^edit_options/(?P<section>OptionalUser)$",
|
||||||
views.edit_options,
|
edit_options,
|
||||||
name="edit-options",
|
name="edit-options",
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r"^edit_options/(?P<section>OptionalMachine)$",
|
r"^edit_options/(?P<section>OptionalMachine)$",
|
||||||
views.edit_options,
|
edit_options,
|
||||||
name="edit-options",
|
name="edit-options",
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r"^edit_options/(?P<section>OptionalTopologie)$",
|
r"^edit_options/(?P<section>OptionalTopologie)$",
|
||||||
views.edit_options,
|
edit_options,
|
||||||
name="edit-options",
|
name="edit-options",
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r"^edit_options/(?P<section>GeneralOption)$",
|
r"^edit_options/(?P<section>GeneralOption)$",
|
||||||
views.edit_options,
|
edit_options,
|
||||||
name="edit-options",
|
name="edit-options",
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r"^edit_options/(?P<section>AssoOption)$",
|
r"^edit_options/(?P<section>AssoOption)$",
|
||||||
views.edit_options,
|
edit_options,
|
||||||
name="edit-options",
|
name="edit-options",
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r"^edit_options/(?P<section>HomeOption)$",
|
r"^edit_options/(?P<section>HomeOption)$",
|
||||||
views.edit_options,
|
edit_options,
|
||||||
name="edit-options",
|
name="edit-options",
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r"^edit_options/(?P<section>MailMessageOption)$",
|
r"^edit_options/(?P<section>MailMessageOption)$",
|
||||||
views.edit_options,
|
edit_options,
|
||||||
name="edit-options",
|
name="edit-options",
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r"^edit_options/(?P<section>RadiusOption)$",
|
r"^edit_options/(?P<section>RadiusOption)$",
|
||||||
views.edit_options,
|
edit_options,
|
||||||
name="edit-options",
|
name="edit-options",
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r"^edit_options/(?P<section>CotisationsOption)$",
|
r"^edit_options/(?P<section>CotisationsOption)$",
|
||||||
views.edit_options,
|
edit_options,
|
||||||
name="edit-options",
|
name="edit-options",
|
||||||
),
|
),
|
||||||
url(r"^add_service/$", views.add_service, name="add-service"),
|
url(r"^add_service/$", views.add_service, name="add-service"),
|
||||||
|
|
0
preferences/utils/__init__.py
Normal file
0
preferences/utils/__init__.py
Normal file
55
preferences/utils/models.py
Normal file
55
preferences/utils/models.py
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
# 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 © 2020 Gabriel Détraz
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
# App de gestion des machines pour re2o
|
||||||
|
# Gabriel Détraz, Augustin Lemesle
|
||||||
|
# Gplv2
|
||||||
|
"""
|
||||||
|
Utils for preferences
|
||||||
|
"""
|
||||||
|
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.core.cache import cache
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
|
||||||
|
class PreferencesModel(models.Model):
|
||||||
|
""" Base object for the Preferences objects
|
||||||
|
Defines methods to handle the cache of the settings (they should
|
||||||
|
not change a lot) """
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_in_cache(cls):
|
||||||
|
""" Save the preferences in a server-side cache """
|
||||||
|
instance, _created = cls.objects.get_or_create()
|
||||||
|
cache.set(cls().__class__.__name__.lower(), instance, None)
|
||||||
|
return instance
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_cached_value(cls, key):
|
||||||
|
""" Get the preferences from the server-side cache """
|
||||||
|
instance = cache.get(cls().__class__.__name__.lower())
|
||||||
|
if instance is None:
|
||||||
|
instance = cls.set_in_cache()
|
||||||
|
return getattr(instance, key)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
abstract = True
|
68
preferences/utils/views.py
Normal file
68
preferences/utils/views.py
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
# 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 © 2020 Gabriel Détraz
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
# App de gestion des machines pour re2o
|
||||||
|
# Gabriel Détraz, Augustin Lemesle
|
||||||
|
# Gplv2
|
||||||
|
"""
|
||||||
|
Utils for preferences
|
||||||
|
"""
|
||||||
|
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
from django.urls import reverse
|
||||||
|
from django.shortcuts import redirect
|
||||||
|
from django.contrib import messages
|
||||||
|
from django.db.models import ProtectedError
|
||||||
|
from django.db import transaction
|
||||||
|
from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
|
from reversion import revisions as reversion
|
||||||
|
|
||||||
|
from re2o.views import form
|
||||||
|
|
||||||
|
def edit_options_template_function(request, section, forms, models):
|
||||||
|
""" Edition des préférences générales"""
|
||||||
|
model = getattr(models, section, None)
|
||||||
|
form_instance = getattr(forms, "Edit" + section + "Form", None)
|
||||||
|
if not (model or form_instance):
|
||||||
|
messages.error(request, _("Unknown object."))
|
||||||
|
return redirect(reverse("preferences:display-options"))
|
||||||
|
|
||||||
|
options_instance, _created = model.objects.get_or_create()
|
||||||
|
can, msg, permissions = options_instance.can_edit(request.user)
|
||||||
|
if not can:
|
||||||
|
messages.error(request, acl_error_message(msg, permissions))
|
||||||
|
return redirect(reverse("index"))
|
||||||
|
options = form_instance(
|
||||||
|
request.POST or None, request.FILES or None, instance=options_instance
|
||||||
|
)
|
||||||
|
if options.is_valid():
|
||||||
|
with transaction.atomic(), reversion.create_revision():
|
||||||
|
options.save()
|
||||||
|
reversion.set_user(request.user)
|
||||||
|
reversion.set_comment(
|
||||||
|
"Field(s) edited: %s"
|
||||||
|
% ", ".join(field for field in options.changed_data)
|
||||||
|
)
|
||||||
|
messages.success(request, _("The preferences were edited."))
|
||||||
|
return redirect(reverse("preferences:display-options"))
|
||||||
|
return form({"options": options}, "preferences/edit_preferences.html", request)
|
||||||
|
|
||||||
|
|
|
@ -86,6 +86,7 @@ from .models import (
|
||||||
from . import models
|
from . import models
|
||||||
from . import forms
|
from . import forms
|
||||||
|
|
||||||
|
from .utils.views import edit_options_template_function
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@can_view_all(
|
@can_view_all(
|
||||||
|
@ -153,32 +154,7 @@ def display_options(request):
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def edit_options(request, section):
|
def edit_options(request, section):
|
||||||
""" Edition des préférences générales"""
|
return edit_options_template_function(request, section, forms, models)
|
||||||
model = getattr(models, section, None)
|
|
||||||
form_instance = getattr(forms, "Edit" + section + "Form", None)
|
|
||||||
if not (model or form_instance):
|
|
||||||
messages.error(request, _("Unknown object."))
|
|
||||||
return redirect(reverse("preferences:display-options"))
|
|
||||||
|
|
||||||
options_instance, _created = model.objects.get_or_create()
|
|
||||||
can, msg, permissions = options_instance.can_edit(request.user)
|
|
||||||
if not can:
|
|
||||||
messages.error(request, acl_error_message(msg, permissions))
|
|
||||||
return redirect(reverse("index"))
|
|
||||||
options = form_instance(
|
|
||||||
request.POST or None, request.FILES or None, instance=options_instance
|
|
||||||
)
|
|
||||||
if options.is_valid():
|
|
||||||
with transaction.atomic(), reversion.create_revision():
|
|
||||||
options.save()
|
|
||||||
reversion.set_user(request.user)
|
|
||||||
reversion.set_comment(
|
|
||||||
"Field(s) edited: %s"
|
|
||||||
% ", ".join(field for field in options.changed_data)
|
|
||||||
)
|
|
||||||
messages.success(request, _("The preferences were edited."))
|
|
||||||
return redirect(reverse("preferences:display-options"))
|
|
||||||
return form({"options": options}, "preferences/edit_preferences.html", request)
|
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
|
|
Loading…
Reference in a new issue