8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-23 11:53:12 +00:00

add translations for topologie/

This commit is contained in:
Laouen Fernet 2019-01-09 00:40:48 +01:00
parent 4a8c161edc
commit 69d80fcdb0
31 changed files with 530 additions and 378 deletions

View file

@ -21,7 +21,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2.5\n" "Project-Id-Version: 2.5\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-11 19:49+0200\n" "POT-Creation-Date: 2019-01-09 00:01+0100\n"
"PO-Revision-Date: 2018-06-25 14:53+0200\n" "PO-Revision-Date: 2018-06-25 14:53+0200\n"
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n" "Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
"Language-Team: \n" "Language-Team: \n"
@ -34,11 +34,11 @@ msgstr ""
msgid "You don't have the right to view this application." msgid "You don't have the right to view this application."
msgstr "Vous n'avez pas le droit de voir cette application." msgstr "Vous n'avez pas le droit de voir cette application."
#: forms.py:179 #: forms.py:181
msgid "Start:" msgid "Start:"
msgstr "Début :" msgstr "Début :"
#: forms.py:180 #: forms.py:182
msgid "End:" msgid "End:"
msgstr "Fin :" msgstr "Fin :"
@ -79,119 +79,204 @@ msgid "Number of ports"
msgstr "Nombre de ports" msgstr "Nombre de ports"
#: models.py:228 templates/topologie/aff_switch.html:48 #: models.py:228 templates/topologie/aff_switch.html:48
#: templates/topologie/index_p.html:38 views.py:826 #: templates/topologie/index_p.html:38 views.py:843
msgid "Switch model" msgid "Switch model"
msgstr "Modèle de commutateur réseau" msgstr "Modèle de commutateur réseau"
#: models.py:258 #: models.py:241
msgid "RADIUS key of the switch"
msgstr "Clé RADIUS du commutateur réseau"
#: models.py:248
msgid "Management credentials for the switch"
msgstr "Identifiants de gestion du commutateur réseau"
#: models.py:252
msgid "Automatic provision for the switch"
msgstr "Provision automatique pour le commutateur réseau"
#: models.py:259
msgid "Can view a switch object" msgid "Can view a switch object"
msgstr "Peut voir un objet commutateur réseau" msgstr "Peut voir un objet commutateur réseau"
#: models.py:260 #: models.py:261
msgid "switch" msgid "switch"
msgstr "commutateur réseau" msgstr "commutateur réseau"
#: models.py:261 #: models.py:262
msgid "switches" msgid "switches"
msgstr "commutateurs réseau" msgstr "commutateurs réseau"
#: models.py:272 #: models.py:273
msgid "The switch ID exceeds the limits allowed by the stack." msgid "The switch ID exceeds the limits allowed by the stack."
msgstr "L'ID du commutateur réseau dépasse les bornes autorisées par la pile." msgstr "L'ID du commutateur réseau dépasse les bornes autorisées par la pile."
#: models.py:277 #: models.py:278
msgid "The stack member ID can't be void." msgid "The stack member ID can't be void."
msgstr "L'ID de membre dans la pile ne peut-être vide." msgstr "L'ID de membre dans la pile ne peut-être vide."
#: models.py:293 #: models.py:286
msgid "The end port is less than the start port." msgid "The end port is less than the start port."
msgstr "Le port de fin est inférieur au port de début." msgstr "Le port de fin est inférieur au port de début."
#: models.py:296 #: models.py:293
msgid "This switch can't have that many ports." msgid "This switch can't have that many ports."
msgstr "Ce commutateur réseau ne peut pas avoir autant de ports." msgstr "Ce commutateur réseau ne peut pas avoir autant de ports."
#: models.py:306 #: models.py:295
msgid "Creation" msgid "Creation"
msgstr "Création" msgstr "Création"
#: models.py:308 #: models.py:406
msgid "Creation of an existing port." msgid "The switch model is modular."
msgstr "Création d'un port existant." msgstr "Le modèle de commutateur réseau est modulaire."
#: models.py:408 #: models.py:410
msgid "The switch is considered as a module."
msgstr "Le commutateur réseau est considéré comme un module."
#: models.py:415
msgid "Can view a switch model object" msgid "Can view a switch model object"
msgstr "Peut voir un objet modèle de commutateur réseau" msgstr "Peut voir un objet modèle de commutateur réseau"
#: models.py:410 #: models.py:417
msgid "switch model" msgid "switch model"
msgstr "modèle de commutateur réseau" msgstr "modèle de commutateur réseau"
#: models.py:411 #: models.py:418
msgid "switch models" msgid "switch models"
msgstr "modèles de commutateur réseau" msgstr "modèles de commutateur réseau"
#: models.py:424 #: models.py:431
msgid "Reference of a module"
msgstr "Référence d'un module"
#: models.py:432
msgid "Module reference"
msgstr "Référence de module"
#: models.py:438 models.py:439 templates/topologie/aff_modules.html:37
msgid "Comment"
msgstr "Commentaire"
#: models.py:444
msgid "Can view a switch module object"
msgstr "Peut voir un objet module de commutateur réseau"
#: models.py:446
msgid "switch module"
msgstr "module de commutateur réseau"
#: models.py:447
msgid "switch modules"
msgstr "modules de commutateur réseau"
#: models.py:460
msgid "Slot on switch"
msgstr "Emplacement sur le commutateur réseau"
#: models.py:461 templates/topologie/aff_modules.html:48
#: templates/topologie/aff_modules.html:82
msgid "Slot"
msgstr "Emplacement"
#: models.py:466
msgid "Can view a link between switch and module object"
msgstr "Peut voir un objet lien entre commutateur réseau et module"
#: models.py:469
msgid "link between switch and module"
msgstr "lien entre commutateur réseau et module"
#: models.py:470
msgid "links between switch and module"
msgstr "liens entre commutateur réseau et module"
#: models.py:474
msgid "On slot "
msgstr "Sur l'emplacement "
#: models.py:474
msgid " of "
msgstr " de "
#: models.py:484
msgid "Can view a switch constructor object" msgid "Can view a switch constructor object"
msgstr "Peut voir un objet constructeur de commutateur réseau" msgstr "Peut voir un objet constructeur de commutateur réseau"
#: models.py:427 #: models.py:487
msgid "switch constructor" msgid "switch constructor"
msgstr "constructeur de commutateur réseau" msgstr "constructeur de commutateur réseau"
#: models.py:450 #: models.py:510
msgid "Can view a switch bay object" msgid "Can view a switch bay object"
msgstr "Peut voir un objet baie de brassage" msgstr "Peut voir un objet baie de brassage"
#: models.py:452 #: models.py:512
msgid "switch bay" msgid "switch bay"
msgstr "baie de brassage" msgstr "baie de brassage"
#: models.py:453 #: models.py:513
msgid "switch bays" msgid "switch bays"
msgstr "baies de brassage" msgstr "baies de brassage"
#: models.py:466 #: models.py:526
msgid "Can view a building object" msgid "Can view a building object"
msgstr "Peut voir un objet bâtiment" msgstr "Peut voir un objet bâtiment"
#: models.py:468 #: models.py:528
msgid "building" msgid "building"
msgstr "bâtiment" msgstr "bâtiment"
#: models.py:469 #: models.py:529
msgid "buildings" msgid "buildings"
msgstr "bâtiments" msgstr "bâtiments"
#: models.py:525 #: models.py:588 models.py:589
msgid "Port state Active" msgid "Port state Active"
msgstr "État du port Actif" msgstr "État du port Actif"
#: models.py:532 #: models.py:596
msgid "Can view a port object" msgid "Can view a port object"
msgstr "Peut voir un objet port" msgstr "Peut voir un objet port"
#: models.py:534 #: models.py:598
msgid "port" msgid "port"
msgstr "port" msgstr "port"
#: models.py:535 #: models.py:599
msgid "ports" msgid "ports"
msgstr "ports" msgstr "ports"
#: models.py:614 #: models.py:605
msgid "Uplink: "
msgstr "Liaison montante : "
#: models.py:607
msgid "Machine: "
msgstr "Machine : "
#: models.py:609
msgid "Room: "
msgstr "Chambre : "
#: models.py:611
msgid "Unknown"
msgstr "Inconnu"
#: models.py:678
msgid "The port can't exist, its number is too great." msgid "The port can't exist, its number is too great."
msgstr "Le port ne peut pas exister, son numéro est trop grand." msgstr "Le port ne peut pas exister, son numéro est trop grand."
#: models.py:620 #: models.py:684
msgid "Room, interface and related port are mutually exclusive." msgid "Room, interface and related port are mutually exclusive."
msgstr "Chambre, interface et port relié sont mutuellement exclusifs." msgstr "Chambre, interface et port relié sont mutuellement exclusifs."
#: models.py:623 #: models.py:687
msgid "A port can't be related to itself." msgid "A port can't be related to itself."
msgstr "Un port ne peut être relié à lui-même." msgstr "Un port ne peut être relié à lui-même."
#: models.py:627 #: models.py:691
msgid "" msgid ""
"The related port is already used, please clear it before creating the " "The related port is already used, please clear it before creating the "
"relation." "relation."
@ -199,124 +284,146 @@ msgstr ""
"Le port relié est déjà utilisé, veuillez le modifier avant de créer la " "Le port relié est déjà utilisé, veuillez le modifier avant de créer la "
"relation." "relation."
#: models.py:648 #: models.py:712
msgid "Can view a room object" msgid "Can view a room object"
msgstr "Peut voir un objet chambre" msgstr "Peut voir un objet chambre"
#: models.py:650 #: models.py:714
msgid "room" msgid "room"
msgstr "chambre" msgstr "chambre"
#: models.py:651 #: models.py:715
msgid "rooms" msgid "rooms"
msgstr "chambres" msgstr "chambres"
#: models.py:685 templates/topologie/aff_port_profile.html:37 #: models.py:726
msgid "MAC-RADIUS"
msgstr "MAC-RADIUS"
#: models.py:743 templates/topologie/aff_chambres.html:36
#: templates/topologie/aff_port.html:38 views.py:784
msgid "Room"
msgstr "Chambre"
#: models.py:744 templates/topologie/aff_ap.html:36
msgid "Access point"
msgstr "Point d'accès sans fil"
#: models.py:745
msgid "Uplink"
msgstr "Liaison montante"
#: models.py:746
msgid "Organisation machine"
msgstr "Machine d'association"
#: models.py:747
msgid "Nothing"
msgstr "Rien"
#: models.py:749 templates/topologie/aff_port_profile.html:37
#: templates/topologie/aff_vlanoptions.html:34
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#: models.py:692 #: models.py:756
msgid "Default profile" msgid "Default profile"
msgstr "Profil par défaut" msgstr "Profil par défaut"
#: models.py:700 #: models.py:764
msgid "VLAN untagged" msgid "VLAN untagged"
msgstr "VLAN untagged" msgstr "VLAN untagged"
#: models.py:706 #: models.py:770
msgid "VLAN(s) tagged" msgid "VLAN(s) tagged"
msgstr "VLAN(s) tagged" msgstr "VLAN(s) tagged"
#: models.py:711 #: models.py:775
msgid "Type of RADIUS authentication : inactive, MAC-address or 802.1X" msgid "Type of RADIUS authentication : inactive, MAC-address or 802.1X"
msgstr "Type d'authentification RADIUS : inactive, MAC-address ou 802.1X" msgstr "Type d'authentification RADIUS : inactive, MAC-address ou 802.1X"
#: models.py:713 #: models.py:777
msgid "RADIUS type" msgid "RADIUS type"
msgstr "Type de RADIUS" msgstr "Type de RADIUS"
#: models.py:719 #: models.py:783
msgid "In case of MAC-authentication : mode COMMON or STRICT on this port" msgid "In case of MAC-authentication : mode COMMON or STRICT on this port"
msgstr "" msgstr ""
"Dans le cas d'authentification par adresse MAC : mode COMMON ou STRICT sur " "Dans le cas d'authentification par adresse MAC : mode COMMON ou STRICT sur "
"ce port" "ce port"
#: models.py:721 #: models.py:785
msgid "RADIUS mode" msgid "RADIUS mode"
msgstr "Mode de RADIUS" msgstr "Mode de RADIUS"
#: models.py:727 #: models.py:791
msgid "Port speed limit" msgid "Port speed limit"
msgstr "Limite de vitesse du port" msgstr "Limite de vitesse du port"
#: models.py:732 #: models.py:796
msgid "Limit of MAC-address on this port" msgid "Limit of MAC-address on this port"
msgstr "Limite de MAC-address sur ce port" msgstr "Limite de MAC-address sur ce port"
#: models.py:733 #: models.py:797
msgid "MAC limit" msgid "MAC limit"
msgstr "Limite MAC" msgstr "Limite MAC"
#: models.py:737 #: models.py:801
msgid "Flow control" msgid "Flow control"
msgstr "Contrôle du flux" msgstr "Contrôle du flux"
#: models.py:741 #: models.py:805
msgid "Protect against rogue DHCP" msgid "Protect against rogue DHCP"
msgstr "Protège contre les DHCP pirates" msgstr "Protège contre les DHCP pirates"
#: models.py:742 #: models.py:806 templates/topologie/aff_vlanoptions.html:36
msgid "DHCP snooping" msgid "DHCP snooping"
msgstr "DHCP snooping" msgstr "DHCP snooping"
#: models.py:746 #: models.py:810
msgid "Protect against rogue DHCPv6" msgid "Protect against rogue DHCPv6"
msgstr "Protège contre les DHCPv6 pirates" msgstr "Protège contre les DHCPv6 pirates"
#: models.py:747 #: models.py:811 templates/topologie/aff_vlanoptions.html:37
msgid "DHCPv6 snooping" msgid "DHCPv6 snooping"
msgstr "DHCPv6 snooping" msgstr "DHCPv6 snooping"
#: models.py:751 #: models.py:815
msgid "Check if IP adress is DHCP assigned" msgid "Check if IP adress is DHCP assigned"
msgstr "Vérifie si l'adresse IP est attribuée par DHCP" msgstr "Vérifie si l'adresse IP est attribuée par DHCP"
#: models.py:752 #: models.py:816
msgid "ARP protection" msgid "ARP protection"
msgstr "Protection ARP" msgstr "Protection ARP"
#: models.py:756 #: models.py:820
msgid "Protect against rogue RA" msgid "Protect against rogue RA"
msgstr "Protège contre les RA pirates" msgstr "Protège contre les RA pirates"
#: models.py:757 #: models.py:821
msgid "RA guard" msgid "RA guard"
msgstr "RA guard" msgstr "RA guard"
#: models.py:761 #: models.py:825
msgid "Protect against loop" msgid "Protect against loop"
msgstr "Protège contre un boucle" msgstr "Protège contre une boucle"
#: models.py:762 #: models.py:826
msgid "Loop protection" msgid "Loop protection"
msgstr "Protection contre une boucle" msgstr "Protection contre une boucle"
#: models.py:767 #: models.py:831
msgid "Can view a port profile object" msgid "Can view a port profile object"
msgstr "Peut voir un objet profil de port" msgstr "Peut voir un objet profil de port"
#: models.py:769 #: models.py:833
msgid "port profile" msgid "port profile"
msgstr "profil de port" msgstr "profil de port"
#: models.py:770 #: models.py:834
msgid "port profiles" msgid "port profiles"
msgstr "profils de port" msgstr "profils de port"
#: templates/topologie/aff_ap.html:36
msgid "Access point"
msgstr "Point d'accès sans fil"
#: templates/topologie/aff_ap.html:38 #: templates/topologie/aff_ap.html:38
msgid "MAC address" msgid "MAC address"
msgstr "Adresse MAC" msgstr "Adresse MAC"
@ -336,44 +443,24 @@ msgstr "Détails"
msgid "Location" msgid "Location"
msgstr "Emplacement" msgstr "Emplacement"
#: templates/topologie/aff_ap.html:56 templates/topologie/aff_building.html:46
#: templates/topologie/aff_chambres.html:48
#: templates/topologie/aff_constructor_switch.html:46
#: templates/topologie/aff_model_switch.html:61
#: templates/topologie/aff_port.html:99 templates/topologie/aff_stacks.html:55
#: templates/topologie/aff_switch_bay.html:59
#: templates/topologie/edit_stack_sw.html:44 views.py:380 views.py:434
#: views.py:745 views.py:804 views.py:859 views.py:914 views.py:973
#: views.py:1028
msgid "Edit"
msgstr "Modifier"
#: templates/topologie/aff_ap.html:62 templates/topologie/aff_building.html:52
#: templates/topologie/aff_chambres.html:54
#: templates/topologie/aff_constructor_switch.html:52
#: templates/topologie/aff_model_switch.html:67
#: templates/topologie/aff_port.html:105 templates/topologie/aff_stacks.html:61
#: templates/topologie/aff_switch_bay.html:65
#: templates/topologie/edit_stack_sw.html:50
msgid "Delete"
msgstr "Supprimer"
#: templates/topologie/aff_building.html:36 #: templates/topologie/aff_building.html:36
#: templates/topologie/aff_switch_bay.html:38 views.py:936 #: templates/topologie/aff_switch_bay.html:38 views.py:953
msgid "Building" msgid "Building"
msgstr "Bâtiment" msgstr "Bâtiment"
#: templates/topologie/aff_chambres.html:36 #: templates/topologie/aff_building.html:38
#: templates/topologie/aff_port.html:38 views.py:767 #: templates/topologie/index_ap.html:33 templates/topologie/sidebar.html:47
msgid "Room" msgid "Access points"
msgstr "Chambre" msgstr "Points d'accès sans fil"
#: templates/topologie/aff_constructor_switch.html:36 #: templates/topologie/aff_constructor_switch.html:36
#: templates/topologie/aff_model_switch.html:40 views.py:996 #: templates/topologie/aff_model_switch.html:40 views.py:1013
msgid "Switch constructor" msgid "Switch constructor"
msgstr "Constructeur de commutateur réseau" msgstr "Constructeur de commutateur réseau"
#: templates/topologie/aff_model_switch.html:36 #: templates/topologie/aff_model_switch.html:36
#: templates/topologie/aff_modules.html:36
#: templates/topologie/aff_modules.html:81
msgid "Reference" msgid "Reference"
msgstr "Référence" msgstr "Référence"
@ -382,20 +469,27 @@ msgid "Commercial name"
msgstr "Nom commercial" msgstr "Nom commercial"
#: templates/topologie/aff_model_switch.html:42 #: templates/topologie/aff_model_switch.html:42
#: templates/topologie/index.html:66 templates/topologie/sidebar.html:35 #: templates/topologie/aff_modules.html:38 templates/topologie/index.html:66
#: templates/topologie/sidebar.html:35
msgid "Switches" msgid "Switches"
msgstr "Commutateurs réseau" msgstr "Commutateurs réseau"
#: templates/topologie/aff_modules.html:48
msgid "of"
msgstr "de"
#: templates/topologie/aff_modules.html:76
msgid "All modular switchs"
msgstr "Tous les commutateurs réseau modulaires"
#: templates/topologie/aff_modules.html:80 templates/topologie/aff_port.html:36
msgid "Switch"
msgstr "Commutateur réseau"
#: templates/topologie/aff_port.html:33 #: templates/topologie/aff_port.html:33
msgid "Port" msgid "Port"
msgstr "Port" msgstr "Port"
#: templates/topologie/aff_port.html:36
#, fuzzy
#| msgid "Switch:"
msgid "Switch"
msgstr "Commutateur réseau :"
#: templates/topologie/aff_port.html:40 #: templates/topologie/aff_port.html:40
msgid "Interface" msgid "Interface"
msgstr "Interface" msgstr "Interface"
@ -408,7 +502,7 @@ msgstr "Port relié"
msgid "Port state" msgid "Port state"
msgstr "État du port" msgstr "État du port"
#: templates/topologie/aff_port.html:45 views.py:1048 #: templates/topologie/aff_port.html:45 views.py:1065
msgid "Port profile" msgid "Port profile"
msgstr "Profil de port" msgstr "Profil de port"
@ -464,6 +558,11 @@ msgstr "Type de RADIUS : "
msgid "RADIUS mode: " msgid "RADIUS mode: "
msgstr "Mode de RADIUS : " msgstr "Mode de RADIUS : "
#: templates/topologie/aff_repr_switch.html:67
#: templates/topologie/aff_repr_switch.html:110
msgid "Empty"
msgstr "Vide"
#: templates/topologie/aff_stacks.html:32 #: templates/topologie/aff_stacks.html:32
#: templates/topologie/aff_switch.html:45 #: templates/topologie/aff_switch.html:45
#: templates/topologie/edit_stack_sw.html:32 #: templates/topologie/edit_stack_sw.html:32
@ -472,6 +571,7 @@ msgid "Stack"
msgstr "Pile" msgstr "Pile"
#: templates/topologie/aff_stacks.html:34 #: templates/topologie/aff_stacks.html:34
#: templates/topologie/aff_vlanoptions.html:33
msgid "ID" msgid "ID"
msgstr "ID" msgstr "ID"
@ -485,7 +585,7 @@ msgstr "Nom DNS"
#: templates/topologie/aff_switch.html:41 #: templates/topologie/aff_switch.html:41
#: templates/topologie/aff_switch_bay.html:36 #: templates/topologie/aff_switch_bay.html:36
#: templates/topologie/index_p.html:37 views.py:881 #: templates/topologie/index_p.html:37 views.py:898
msgid "Switch bay" msgid "Switch bay"
msgstr "Baie de brassage" msgstr "Baie de brassage"
@ -510,10 +610,22 @@ msgstr "Informations"
msgid "Switches of the bay" msgid "Switches of the bay"
msgstr "Commutateurs réseau de la baie" msgstr "Commutateurs réseau de la baie"
#: templates/topologie/aff_vlanoptions.html:35
msgid "ARP protect"
msgstr "Protection ARP"
#: templates/topologie/aff_vlanoptions.html:38
msgid "IGMP"
msgstr "IGMP"
#: templates/topologie/aff_vlanoptions.html:39
msgid "MLD"
msgstr "MLD"
#: templates/topologie/delete.html:29 templates/topologie/index.html:30 #: templates/topologie/delete.html:29 templates/topologie/index.html:30
#: templates/topologie/index_ap.html:30 #: templates/topologie/index_ap.html:30
#: templates/topologie/index_model_switch.html:30 #: templates/topologie/index_model_switch.html:30
#: templates/topologie/index_p.html:30 #: templates/topologie/index_module.html:30 templates/topologie/index_p.html:30
#: templates/topologie/index_physical_grouping.html:30 #: templates/topologie/index_physical_grouping.html:30
#: templates/topologie/index_portprofile.html:29 #: templates/topologie/index_portprofile.html:29
#: templates/topologie/index_room.html:30 templates/topologie/switch.html:30 #: templates/topologie/index_room.html:30 templates/topologie/switch.html:30
@ -542,10 +654,6 @@ msgstr "Topologie des commutateurs réseau"
msgid " Add a switch" msgid " Add a switch"
msgstr " Ajouter un commutateur réseau" msgstr " Ajouter un commutateur réseau"
#: templates/topologie/index_ap.html:33 templates/topologie/sidebar.html:43
msgid "Access points"
msgstr "Points d'accès sans fil"
#: templates/topologie/index_ap.html:35 #: templates/topologie/index_ap.html:35
msgid " Add an access point" msgid " Add an access point"
msgstr " Ajouter un point d'accès sans fil" msgstr " Ajouter un point d'accès sans fil"
@ -566,22 +674,18 @@ msgstr "Constructeurs de commutateur réseau"
msgid " Add a switch constructor" msgid " Add a switch constructor"
msgstr " Ajouter un constructeur de commutateur réseau" msgstr " Ajouter un constructeur de commutateur réseau"
#: templates/topologie/index_module.html:33 templates/topologie/sidebar.html:39
msgid "Switch modules"
msgstr "Modules de commutateur réseau"
#: templates/topologie/index_module.html:35
msgid " Add a module"
msgstr " Ajouter un module"
#: templates/topologie/index_p.html:33 #: templates/topologie/index_p.html:33
msgid "Switch:" msgid "Switch:"
msgstr "Commutateur réseau :" msgstr "Commutateur réseau :"
#: templates/topologie/index_p.html:49
msgid " Edit"
msgstr " Modifier"
#: templates/topologie/index_p.html:51
msgid " Add a port"
msgstr " Ajouter un port"
#: templates/topologie/index_p.html:52
msgid " Add ports"
msgstr " Ajouter des ports"
#: templates/topologie/index_physical_grouping.html:33 #: templates/topologie/index_physical_grouping.html:33
msgid "Stacks" msgid "Stacks"
msgstr "Piles" msgstr "Piles"
@ -607,7 +711,7 @@ msgid " Add a building"
msgstr " Ajouter un bâtiment" msgstr " Ajouter un bâtiment"
#: templates/topologie/index_portprofile.html:34 #: templates/topologie/index_portprofile.html:34
#: templates/topologie/sidebar.html:39 #: templates/topologie/sidebar.html:43
msgid "Port profiles" msgid "Port profiles"
msgstr "Profils de port" msgstr "Profils de port"
@ -616,8 +720,8 @@ msgid " Add a port profile"
msgstr " Ajouter un profil de port" msgstr " Ajouter un profil de port"
#: templates/topologie/index_portprofile.html:42 #: templates/topologie/index_portprofile.html:42
msgid "Sécurité par vlan" msgid "VLAN security"
msgstr "" msgstr "Sécurité de VLAN"
#: templates/topologie/index_room.html:33 #: templates/topologie/index_room.html:33
msgid "Rooms" msgid "Rooms"
@ -631,11 +735,11 @@ msgstr " Ajouter une chambre"
msgid "Rooms and premises" msgid "Rooms and premises"
msgstr "Chambres et locaux" msgstr "Chambres et locaux"
#: templates/topologie/sidebar.html:47 #: templates/topologie/sidebar.html:51
msgid "Physical grouping" msgid "Physical grouping"
msgstr "Groupements physiques" msgstr "Groupements physiques"
#: templates/topologie/sidebar.html:51 #: templates/topologie/sidebar.html:55
msgid "Switch models and constructors" msgid "Switch models and constructors"
msgstr "Modèles et constructeurs de commutateur réseau" msgstr "Modèles et constructeurs de commutateur réseau"
@ -647,7 +751,8 @@ msgstr " Aller à la liste des ports"
msgid "Specific settings for the switch" msgid "Specific settings for the switch"
msgstr "Réglages spécifiques pour le commutateur réseau" msgstr "Réglages spécifiques pour le commutateur réseau"
#: templates/topologie/switch.html:46 views.py:418 views.py:1010 #: templates/topologie/switch.html:46 views.py:441 views.py:745 views.py:800
#: views.py:859 views.py:914 views.py:969 views.py:1027 views.py:1081
msgid "Create" msgid "Create"
msgstr "Créer" msgstr "Créer"
@ -665,51 +770,60 @@ msgstr "Réglages généraux pour la machine liée à l'objet %(device)s"
msgid "Create or edit" msgid "Create or edit"
msgstr "Créer ou modifier" msgstr "Créer ou modifier"
#: views.py:340 #: views.py:347
msgid "The VLAN was edited."
msgstr "Le VLAN a été modifié."
#: views.py:350 views.py:403 views.py:457 views.py:762 views.py:821
#: views.py:876 views.py:931 views.py:990 views.py:1045 views.py:1098
#: views.py:1152
msgid "Edit"
msgstr "Modifier"
#: views.py:363 views.py:554
msgid "Nonexistent switch." msgid "Nonexistent switch."
msgstr "Commutateur réseau inexistant." msgstr "Commutateur réseau inexistant."
#: views.py:348 #: views.py:371
msgid "The port was added." msgid "The port was added."
msgstr "Le port a été ajouté." msgstr "Le port a été ajouté."
#: views.py:350 #: views.py:373
msgid "The port already exists." msgid "The port already exists."
msgstr "Le port existe déjà." msgstr "Le port existe déjà."
#: views.py:356 views.py:728 views.py:783 views.py:842 views.py:897 #: views.py:379 views.py:1135
#: views.py:952
msgid "Add" msgid "Add"
msgstr "Ajouter" msgstr "Ajouter"
#: views.py:371 #: views.py:394
msgid "The port was edited." msgid "The port was edited."
msgstr "Le port a été modifié." msgstr "Le port a été modifié."
#: views.py:394 #: views.py:417
msgid "The port was deleted." msgid "The port was deleted."
msgstr "Le port a été supprimé." msgstr "Le port a été supprimé."
#: views.py:398 #: views.py:421
#, python-format #, python-format
msgid "The port %s is used by another object, impossible to delete it." msgid "The port %s is used by another object, impossible to delete it."
msgstr "Le port %s est utilisé par un autre objet, impossible de le supprimer." msgstr "Le port %s est utilisé par un autre objet, impossible de le supprimer."
#: views.py:415 #: views.py:438
msgid "The stack was created." msgid "The stack was created."
msgstr "La pile a été créée." msgstr "La pile a été créée."
#: views.py:447 #: views.py:470
msgid "The stack was deleted." msgid "The stack was deleted."
msgstr "La pile a été supprimée." msgstr "La pile a été supprimée."
#: views.py:451 #: views.py:474
#, python-format #, python-format
msgid "The stack %s is used by another object, impossible to deleted it." msgid "The stack %s is used by another object, impossible to deleted it."
msgstr "" msgstr ""
"La pile %s est utilisée par un autre objet, impossible de la supprimer." "La pile %s est utilisée par un autre objet, impossible de la supprimer."
#: views.py:493 views.py:634 views.py:689 #: views.py:516 views.py:651 views.py:706
msgid "" msgid ""
"The organisation's user doesn't exist yet, please create or link it in the " "The organisation's user doesn't exist yet, please create or link it in the "
"preferences." "preferences."
@ -717,117 +831,113 @@ msgstr ""
"L'utilisateur de l'association n'existe pas encore, veuillez le créer ou le " "L'utilisateur de l'association n'existe pas encore, veuillez le créer ou le "
"relier dans les préférences." "relier dans les préférences."
#: views.py:508 #: views.py:531
msgid "The switch was created." msgid "The switch was created."
msgstr "Le commutateur réseau a été créé." msgstr "Le commutateur réseau a été créé."
#: views.py:531 #: views.py:568
msgid "Nonexistent switch"
msgstr "Commutateur réseau inexistant."
#: views.py:551
msgid "The ports were created." msgid "The ports were created."
msgstr "Les ports ont été créés." msgstr "Les ports ont été créés."
#: views.py:595 #: views.py:612
msgid "The switch was edited." msgid "The switch was edited."
msgstr "Le commutateur réseau a été modifié." msgstr "Le commutateur réseau a été modifié."
#: views.py:649 #: views.py:666
msgid "The access point was created." msgid "The access point was created."
msgstr "Le point d'accès sans fil a été créé." msgstr "Le point d'accès sans fil a été créé."
#: views.py:702 #: views.py:719
msgid "The access point was edited." msgid "The access point was edited."
msgstr "Le point d'accès sans fil a été modifié." msgstr "Le point d'accès sans fil a été modifié."
#: views.py:725 #: views.py:742
msgid "The room was created." msgid "The room was created."
msgstr "La chambre a été créée." msgstr "La chambre a été créée."
#: views.py:742 #: views.py:759
msgid "The room was edited." msgid "The room was edited."
msgstr "La chambre a été modifiée." msgstr "La chambre a été modifiée."
#: views.py:758 #: views.py:775
msgid "The room was deleted." msgid "The room was deleted."
msgstr "La chambre a été supprimée." msgstr "La chambre a été supprimée."
#: views.py:762 #: views.py:779
#, python-format #, python-format
msgid "The room %s is used by another object, impossible to deleted it." msgid "The room %s is used by another object, impossible to deleted it."
msgstr "" msgstr ""
"La chambre %s est utilisée par un autre objet, impossible de la supprimer." "La chambre %s est utilisée par un autre objet, impossible de la supprimer."
#: views.py:780 #: views.py:797
msgid "The swich model was created." msgid "The switch model was created."
msgstr "Le modèle de commutateur réseau a été créé." msgstr "Le modèle de commutateur réseau a été créé."
#: views.py:801 #: views.py:818
msgid "The switch model was edited." msgid "The switch model was edited."
msgstr "Le modèle de commutateur réseau a été modifié." msgstr "Le modèle de commutateur réseau a été modifié."
#: views.py:817 #: views.py:834
msgid "The switch model was deleted." msgid "The switch model was deleted."
msgstr "Le modèle de commutateur réseau a été supprimé." msgstr "Le modèle de commutateur réseau a été supprimé."
#: views.py:821 #: views.py:838
#, python-format #, python-format
msgid "The switch model %s is used by another object, impossible to delete it." msgid "The switch model %s is used by another object, impossible to delete it."
msgstr "" msgstr ""
"Le modèle de commutateur réseau %s est utilisé par un autre objet, " "Le modèle de commutateur réseau %s est utilisé par un autre objet, "
"impossible de le supprimer." "impossible de le supprimer."
#: views.py:839 #: views.py:856
msgid "The switch bay was created." msgid "The switch bay was created."
msgstr "La baie de brassage a été créée." msgstr "La baie de brassage a été créée."
#: views.py:856 #: views.py:873
msgid "The switch bay was edited." msgid "The switch bay was edited."
msgstr "La baie de brassage a été modifiée." msgstr "La baie de brassage a été modifiée."
#: views.py:872 #: views.py:889
msgid "The switch bay was deleted." msgid "The switch bay was deleted."
msgstr "La baie de brassage a été supprimée." msgstr "La baie de brassage a été supprimée."
#: views.py:876 #: views.py:893
#, python-format #, python-format
msgid "The switch bay %s is used by another object, impossible to delete it." msgid "The switch bay %s is used by another object, impossible to delete it."
msgstr "" msgstr ""
"La baie de brassage %s est utilisée par un autre objet, impossible de la " "La baie de brassage %s est utilisée par un autre objet, impossible de la "
"supprimer." "supprimer."
#: views.py:894 #: views.py:911
msgid "The building was created." msgid "The building was created."
msgstr "Le bâtiment a été créé." msgstr "Le bâtiment a été créé."
#: views.py:911 #: views.py:928
msgid "The building was edited." msgid "The building was edited."
msgstr "Le bâtiment a été modifié." msgstr "Le bâtiment a été modifié."
#: views.py:927 #: views.py:944
msgid "The building was deleted." msgid "The building was deleted."
msgstr "Le bâtiment a été supprimé." msgstr "Le bâtiment a été supprimé."
#: views.py:931 #: views.py:948
#, python-format #, python-format
msgid "The building %s is used by another object, impossible to delete it." msgid "The building %s is used by another object, impossible to delete it."
msgstr "" msgstr ""
"Le bâtiment %s est utilisé par un autre objet, impossible de le supprimer." "Le bâtiment %s est utilisé par un autre objet, impossible de le supprimer."
#: views.py:949 #: views.py:966
msgid "The switch constructor was created." msgid "The switch constructor was created."
msgstr "Le constructeur de commutateur réseau a été créé." msgstr "Le constructeur de commutateur réseau a été créé."
#: views.py:970 #: views.py:987
msgid "The switch constructor was edited." msgid "The switch constructor was edited."
msgstr "Le constructeur de commutateur réseau a été modifié." msgstr "Le constructeur de commutateur réseau a été modifié."
#: views.py:986 #: views.py:1003
msgid "The switch constructor was deleted." msgid "The switch constructor was deleted."
msgstr "Le constructeur de commutateur réseau a été supprimé." msgstr "Le constructeur de commutateur réseau a été supprimé."
#: views.py:990 #: views.py:1007
#, python-format #, python-format
msgid "" msgid ""
"The switch constructor %s is used by another object, impossible to delete it." "The switch constructor %s is used by another object, impossible to delete it."
@ -835,23 +945,49 @@ msgstr ""
"Le constructeur de commutateur réseau %s est utilisé par un autre objet, " "Le constructeur de commutateur réseau %s est utilisé par un autre objet, "
"impossible de le supprimer." "impossible de le supprimer."
#: views.py:1007 #: views.py:1024
msgid "The port profile was created." msgid "The port profile was created."
msgstr "Le profil de port a été créé." msgstr "Le profil de port a été créé."
#: views.py:1025 #: views.py:1042
msgid "The port profile was edited." msgid "The port profile was edited."
msgstr "Le profil de port a été modifié." msgstr "Le profil de port a été modifié."
#: views.py:1042 #: views.py:1059
msgid "The port profile was deleted." msgid "The port profile was deleted."
msgstr "Le profil de port a été supprimé." msgstr "Le profil de port a été supprimé."
#: views.py:1045 #: views.py:1062
msgid "Impossible to delete the port profile." msgid "Impossible to delete the port profile."
msgstr "Impossible de supprimer le profil de port." msgstr "Impossible de supprimer le profil de port."
#: views.py:1165 #: views.py:1078
msgid "The module was created."
msgstr "Le module a été créé."
#: views.py:1095 views.py:1149
msgid "The module was edited."
msgstr "Le module a été modifié."
#: views.py:1111 views.py:1165
msgid "The module was deleted."
msgstr "Le module a été supprimé."
#: views.py:1115 views.py:1169
#, python-format
msgid "The module %s is used by another object, impossible to deleted it."
msgstr ""
"Le module %s est utilisé par un autre objet, impossible de le supprimer."
#: views.py:1120 views.py:1174
msgid "Module"
msgstr "Module"
#: views.py:1132
msgid "The module was added."
msgstr "Le module a été ajouté."
#: views.py:1291
msgid "" msgid ""
"The default Django template isn't used. This can lead to rendering errors. " "The default Django template isn't used. This can lead to rendering errors. "
"Check the parameters." "Check the parameters."

View file

@ -0,0 +1,59 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2019-01-08 20:39
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('topologie', '0068_auto_20190102_1758'),
]
operations = [
migrations.AlterModelOptions(
name='moduleonswitch',
options={'permissions': (('view_moduleonswitch', 'Can view a link between switch and module object'),), 'verbose_name': 'link between switch and module', 'verbose_name_plural': 'links between switch and module'},
),
migrations.AlterModelOptions(
name='moduleswitch',
options={'permissions': (('view_moduleswitch', 'Can view a switch module object'),), 'verbose_name': 'switch module', 'verbose_name_plural': 'switch modules'},
),
migrations.AlterField(
model_name='modelswitch',
name='is_itself_module',
field=models.BooleanField(default=False, help_text='The switch is considered as a module.'),
),
migrations.AlterField(
model_name='modelswitch',
name='is_modular',
field=models.BooleanField(default=False, help_text='The switch model is modular.'),
),
migrations.AlterField(
model_name='portprofile',
name='profil_default',
field=models.CharField(blank=True, choices=[('room', 'Room'), ('access_point', 'Access point'), ('uplink', 'Uplink'), ('asso_machine', 'Organisation machine'), ('nothing', 'Nothing')], max_length=32, null=True, unique=True, verbose_name='Default profile'),
),
migrations.AlterField(
model_name='portprofile',
name='radius_type',
field=models.CharField(choices=[('NO', 'NO'), ('802.1X', '802.1X'), ('MAC-radius', 'MAC-RADIUS')], help_text='Type of RADIUS authentication : inactive, MAC-address or 802.1X', max_length=32, verbose_name='RADIUS type'),
),
migrations.AlterField(
model_name='switch',
name='automatic_provision',
field=models.BooleanField(default=False, help_text='Automatic provision for the switch'),
),
migrations.AlterField(
model_name='switch',
name='management_creds',
field=models.ForeignKey(blank=True, help_text='Management credentials for the switch', null=True, on_delete=django.db.models.deletion.PROTECT, to='preferences.SwitchManagementCred'),
),
migrations.AlterField(
model_name='switch',
name='radius_key',
field=models.ForeignKey(blank=True, help_text='RADIUS key of the switch', null=True, on_delete=django.db.models.deletion.PROTECT, to='preferences.RadiusKey'),
),
]

View file

@ -238,18 +238,18 @@ class Switch(AclMixin, Machine):
blank=True, blank=True,
null=True, null=True,
on_delete=models.PROTECT, on_delete=models.PROTECT,
help_text="Clef radius du switch" help_text=_("RADIUS key of the switch")
) )
management_creds = models.ForeignKey( management_creds = models.ForeignKey(
'preferences.SwitchManagementCred', 'preferences.SwitchManagementCred',
blank=True, blank=True,
null=True, null=True,
on_delete=models.PROTECT, on_delete=models.PROTECT,
help_text="Identifiant de management de ce switch" help_text=_("Management credentials for the switch")
) )
automatic_provision = models.BooleanField( automatic_provision = models.BooleanField(
default=False, default=False,
help_text='Provision automatique de ce switch', help_text=_("Automatic provision for the switch")
) )
@ -403,11 +403,11 @@ class ModelSwitch(AclMixin, RevMixin, models.Model):
) )
is_modular = models.BooleanField( is_modular = models.BooleanField(
default=False, default=False,
help_text=_("Is this switch model modular"), help_text=_("The switch model is modular."),
) )
is_itself_module = models.BooleanField( is_itself_module = models.BooleanField(
default=False, default=False,
help_text=_("Is the switch, itself, considered as a module"), help_text=_("The switch is considered as a module."),
) )
class Meta: class Meta:
@ -441,9 +441,10 @@ class ModuleSwitch(AclMixin, RevMixin, models.Model):
class Meta: class Meta:
permissions = ( permissions = (
("view_moduleswitch", _("Can view a module object")), ("view_moduleswitch", _("Can view a switch module object")),
) )
verbose_name = _("Module of a switch") verbose_name = _("switch module")
verbose_name_plural = _("switch modules")
def __str__(self): def __str__(self):
@ -462,13 +463,15 @@ class ModuleOnSwitch(AclMixin, RevMixin, models.Model):
class Meta: class Meta:
permissions = ( permissions = (
("view_moduleonswitch", _("Can view a moduleonswitch object")), ("view_moduleonswitch", _("Can view a link between switch and"
" module object")),
) )
verbose_name = _("link between switchs and modules") verbose_name = _("link between switch and module")
verbose_name_plural = _("links between switch and module")
unique_together = ['slot', 'switch'] unique_together = ['slot', 'switch']
def __str__(self): def __str__(self):
return 'On slot ' + str(self.slot) + ' of ' + str(self.switch) return _("On slot ") + str(self.slot) + _(" of ") + str(self.switch)
class ConstructorSwitch(AclMixin, RevMixin, models.Model): class ConstructorSwitch(AclMixin, RevMixin, models.Model):
@ -582,7 +585,7 @@ class Port(AclMixin, RevMixin, models.Model):
) )
state = models.BooleanField( state = models.BooleanField(
default=True, default=True,
help_text='Port state Active', help_text=_("Port state Active"),
verbose_name=_("Port state Active") verbose_name=_("Port state Active")
) )
details = models.CharField(max_length=255, blank=True) details = models.CharField(max_length=255, blank=True)
@ -599,13 +602,13 @@ class Port(AclMixin, RevMixin, models.Model):
def pretty_name(self): def pretty_name(self):
"""More elaborated name for label on switch conf""" """More elaborated name for label on switch conf"""
if self.related: if self.related:
return "Uplink : " + self.related.switch.short_name return _("Uplink: ") + self.related.switch.short_name
elif self.machine_interface: elif self.machine_interface:
return "Machine : " + str(self.machine_interface.domain) return _("Machine: ") + str(self.machine_interface.domain)
elif self.room: elif self.room:
return "Chambre : " + str(self.room) return _("Room: ") + str(self.room)
else: else:
return "Inconnue" return _("Unknown")
@cached_property @cached_property
def get_port_profile(self): def get_port_profile(self):
@ -720,7 +723,7 @@ class PortProfile(AclMixin, RevMixin, models.Model):
TYPES = ( TYPES = (
('NO', 'NO'), ('NO', 'NO'),
('802.1X', '802.1X'), ('802.1X', '802.1X'),
('MAC-radius', 'MAC-radius'), ('MAC-radius', _("MAC-RADIUS")),
) )
MODES = ( MODES = (
('STRICT', 'STRICT'), ('STRICT', 'STRICT'),
@ -737,11 +740,11 @@ class PortProfile(AclMixin, RevMixin, models.Model):
('auto-100', 'auto-100'), ('auto-100', 'auto-100'),
) )
PROFIL_DEFAULT = ( PROFIL_DEFAULT = (
('room', 'room'), ('room', _("Room")),
('access_point', 'access_point'), ('access_point', _("Access point")),
('uplink', 'uplink'), ('uplink', _("Uplink")),
('asso_machine', 'asso_machine'), ('asso_machine', _("Organisation machine")),
('nothing', 'nothing'), ('nothing', _("Nothing")),
) )
name = models.CharField(max_length=255, verbose_name=_("Name")) name = models.CharField(max_length=255, verbose_name=_("Name"))
profil_default = models.CharField( profil_default = models.CharField(

View file

@ -28,17 +28,17 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<div class="table-responsive"> <div class="table-responsive">
{% if ap_list.paginator %} {% if ap_list.paginator %}
{% include "pagination.html" with list=ap_list %} {% include 'pagination.html' with list=ap_list %}
{% endif %} {% endif %}
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
{% trans "Access point" as tr_ap %} {% trans "Access point" as tr_ap %}
<th>{% include "buttons/sort.html" with prefix='ap' col='name' text=tr_ap %}</th> <th>{% include 'buttons/sort.html' with prefix='ap' col='name' text=tr_ap %}</th>
{% trans "MAC address" as tr_mac %} {% trans "MAC address" as tr_mac %}
<th>{% include "buttons/sort.html" with prefix='ap' col='mac' text=tr_mac %}</th> <th>{% include 'buttons/sort.html' with prefix='ap' col='mac' text=tr_mac %}</th>
{% trans "IPv4 address" as tr_ip %} {% trans "IPv4 address" as tr_ip %}
<th>{% include "buttons/sort.html" with prefix='ap' col='ip' text=tr_ip %}</th> <th>{% include 'buttons/sort.html' with prefix='ap' col='ip' text=tr_ip %}</th>
<th>{% trans "Details" %}</th> <th>{% trans "Details" %}</th>
<th>{% trans "Location" %}</th> <th>{% trans "Location" %}</th>
<th></th> <th></th>
@ -53,15 +53,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ ap.location }}</td> <td>{{ ap.location }}</td>
<td class="text-right"> <td class="text-right">
{% can_edit ap %} {% can_edit ap %}
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-ap' ap.id %}"> {% include 'buttons/edit.html' with href='topologie:edit-ap' id=ap.id %}
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% history_button ap %} {% history_button ap %}
{% can_delete ap %} {% can_delete ap %}
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'machines:del-machine' ap.id %}"> {% include 'buttons/suppr.html' with href='machines:del-machine' id=ap.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>
@ -69,7 +65,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</table> </table>
{% if ap_list.paginator %} {% if ap_list.paginator %}
{% include "pagination.html" with list=ap_list %} {% include 'pagination.html' with list=ap_list %}
{% endif %} {% endif %}
</div> </div>

View file

@ -27,15 +27,15 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load i18n %} {% load i18n %}
{% if building_list.paginator %} {% if building_list.paginator %}
{% include "pagination.html" with list=building_list %} {% include 'pagination.html' with list=building_list %}
{% endif %} {% endif %}
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
{% trans "Building" as tr_building %} {% trans "Building" as tr_building %}
<th>{% include "buttons/sort.html" with prefix='building' col='name' text=tr_building %}</th> <th>{% include 'buttons/sort.html' with prefix='building' col='name' text=tr_building %}</th>
<th>Wireless AP</th> <th>{% trans "Access points" %}</th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>
@ -45,15 +45,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{% for ap in building.all_ap_in %} {{ ap.short_name }} {% endfor %}</td> <td>{% for ap in building.all_ap_in %} {{ ap.short_name }} {% endfor %}</td>
<td class="text-right"> <td class="text-right">
{% can_edit building %} {% can_edit building %}
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-building' building.id %}"> {% include 'buttons/edit.html' with href='topologie:edit-building' id=building.id %}
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% history_button building %} {% history_button building %}
{% can_delete building %} {% can_delete building %}
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-building' building.id %}"> {% include 'buttons/suppr.html' with href='topologie:del-building' id=building.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>
@ -61,6 +57,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</table> </table>
{% if building_list.paginator %} {% if building_list.paginator %}
{% include "pagination.html" with list=building_list %} {% include 'pagination.html' with list=building_list %}
{% endif %} {% endif %}

View file

@ -27,14 +27,14 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load i18n %} {% load i18n %}
{% if room_list.paginator %} {% if room_list.paginator %}
{% include "pagination.html" with list=room_list %} {% include 'pagination.html' with list=room_list %}
{% endif %} {% endif %}
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
{% trans "Room" as tr_room %} {% trans "Room" as tr_room %}
<th>{% include "buttons/sort.html" with prefix='room' col='name' text=tr_room %}</th> <th>{% include 'buttons/sort.html' with prefix='room' col='name' text=tr_room %}</th>
<th>{% trans "Details" %}</th> <th>{% trans "Details" %}</th>
<th></th> <th></th>
</tr> </tr>
@ -45,15 +45,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ room.details }}</td> <td>{{ room.details }}</td>
<td class="text-right"> <td class="text-right">
{% can_edit room %} {% can_edit room %}
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-room' room.id %}"> {% include 'buttons/edit.html' with href='topologie:edit-room' id=room.id %}
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% history_button room %} {% history_button room %}
{% can_delete room %} {% can_delete room %}
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-room' room.id %}"> {% include 'buttons/suppr.html' with href='topologie:del-room' id=room.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>
@ -61,6 +57,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</table> </table>
{% if room_list.paginator %} {% if room_list.paginator %}
{% include "pagination.html" with list=room_list %} {% include 'pagination.html' with list=room_list %}
{% endif %} {% endif %}

View file

@ -27,14 +27,14 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load i18n %} {% load i18n %}
{% if constructor_switch_list.paginator %} {% if constructor_switch_list.paginator %}
{% include "pagination.html" with list=constructor_switch_list %} {% include 'pagination.html' with list=constructor_switch_list %}
{% endif %} {% endif %}
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
{% trans "Switch constructor" as tr_constructor %} {% trans "Switch constructor" as tr_constructor %}
<th>{% include "buttons/sort.html" with prefix='constructor-switch' col='name' text=tr_constructor %}</th> <th>{% include 'buttons/sort.html' with prefix='constructor-switch' col='name' text=tr_constructor %}</th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>
@ -43,15 +43,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ constructor_switch }}</td> <td>{{ constructor_switch }}</td>
<td class="text-right"> <td class="text-right">
{% can_edit constructor_switch %} {% can_edit constructor_switch %}
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-constructor-switch' constructor_switch.id %}"> {% include 'buttons/edit.html' with href='topologie:edit-constructor-switch' id=constructor_switch.id %}
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% history_button constructor_switch %} {% history_button constructor_switch %}
{% can_delete constructor_switch %} {% can_delete constructor_switch %}
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-constructor-switch' constructor_switch.id %}"> {% include 'buttons/suppr.html' with href='topologie:del-constructor-switch' id=constructor_switch.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>
@ -59,6 +55,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</table> </table>
{% if constructor_switch_list.paginator %} {% if constructor_switch_list.paginator %}
{% include "pagination.html" with list=constructor_switch_list %} {% include 'pagination.html' with list=constructor_switch_list %}
{% endif %} {% endif %}

View file

@ -27,18 +27,18 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load i18n %} {% load i18n %}
{% if model_switch_list.paginator %} {% if model_switch_list.paginator %}
{% include "pagination.html" with list=model_switch_list %} {% include 'pagination.html' with list=model_switch_list %}
{% endif %} {% endif %}
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
{% trans "Reference" as tr_ref %} {% trans "Reference" as tr_ref %}
<th>{% include "buttons/sort.html" with prefix='model-switch' col='reference' text=tr_ref %}</th> <th>{% include 'buttons/sort.html' with prefix='model-switch' col='reference' text=tr_ref %}</th>
<th>{% trans "Commercial name" %}</th> <th>{% trans "Commercial name" %}</th>
<th>Firmware</th> <th>Firmware</th>
{% trans "Switch constructor" as tr_constructor %} {% trans "Switch constructor" as tr_constructor %}
<th>{% include "buttons/sort.html" with prefix='model-switch' col='constructor' text=tr_constructor %}</th> <th>{% include 'buttons/sort.html' with prefix='model-switch' col='constructor' text=tr_constructor %}</th>
<th>{% trans "Switches" %} <th>{% trans "Switches" %}
<th></th> <th></th>
</tr> </tr>
@ -58,15 +58,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</td> </td>
<td class="text-right"> <td class="text-right">
{% can_edit model_switch %} {% can_edit model_switch %}
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-model-switch' model_switch.id %}"> {% include 'buttons/edit.html' with href='topologie:edit-model-switch' id=model_switch.id %}
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% history_button model_switch %} {% history_button model_switch %}
{% can_delete model_switch %} {% can_delete model_switch %}
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-model-switch' model_switch.id %}"> {% include 'buttons/suppr.html' with href='topologie:del-model-switch' id=model_switch.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>
@ -74,8 +70,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</table> </table>
{% if model_switch_list.paginator %} {% if model_switch_list.paginator %}
{% include "pagination.html" with list=model_switch_list %} {% include 'pagination.html' with list=model_switch_list %}
{% endif %} {% endif %}

View file

@ -27,7 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load i18n %} {% load i18n %}
{% if module_list.paginator %} {% if module_list.paginator %}
{% include "pagination.html" with list=module_list %} {% include 'pagination.html' with list=module_list %}
{% endif %} {% endif %}
<table class="table table-striped"> <table class="table table-striped">
@ -35,7 +35,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<tr> <tr>
<th>{% trans "Reference" %}</th> <th>{% trans "Reference" %}</th>
<th>{% trans "Comment" %}</th> <th>{% trans "Comment" %}</th>
<th>{% trans "Switchs" %}</th> <th>{% trans "Switches" %}</th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>
@ -45,34 +45,24 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ module.comment }}</td> <td>{{ module.comment }}</td>
<td> <td>
{% for module_switch in module.moduleonswitch_set.all %} {% for module_switch in module.moduleonswitch_set.all %}
<b>Slot</b> {{ module_switch.slot }} <b>of</b> {{ module_switch.switch }} <b>{% trans "Slot" %}</b> {{ module_switch.slot }} <b>{% trans "of" %}</b> {{ module_switch.switch }}
{% can_edit module_switch %} {% can_edit module_switch %}
<a class="btn btn-primary btn-xs" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-module-on' module_switch.id %}"> {% include 'buttons/edit.html' with href='topologie:edit-module-on' id=module_switch.id %}
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% can_delete module_switch %} {% can_delete module_switch %}
<a class="btn btn-danger btn-xs" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-module-on' module_switch.id %}"> {% include 'buttons/suppr.html' with href='topologie:del-module-on' id=module_switch.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
<br> <br>
{% endfor %} {% endfor %}
</td> </td>
<td class="text-right"> <td class="text-right">
{% can_edit module %} {% can_edit module %}
<a class="btn btn-primary btn-sm" role="button" title={% trans "Add" %} href="{% url 'topologie:add-module-on' %}"> {% include 'buttons/add.html' with href='topologie:add-module-on' %}
<i class="fa fa-plus"></i> {% include 'buttons/edit.html' with href='topologie:edit-module' id=module.id %}
</a>
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-module' module.id %}">
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% history_button module %} {% history_button module %}
{% can_delete module %} {% can_delete module %}
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-module' module.id %}"> {% include 'buttons/suppr.html' with href='topologie:del-module' id=module.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>
@ -80,7 +70,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</table> </table>
{% if module_list.paginator %} {% if module_list.paginator %}
{% include "pagination.html" with list=module_list %} {% include 'pagination.html' with list=module_list %}
{% endif %} {% endif %}
<h4>{% trans "All modular switchs" %}</h4> <h4>{% trans "All modular switchs" %}</h4>

View file

@ -31,16 +31,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<thead> <thead>
<tr> <tr>
{% trans "Port" as tr_port %} {% trans "Port" as tr_port %}
<th>{% include "buttons/sort.html" with prefix='port' col='port' text=tr_port %}</th> <th>{% include 'buttons/sort.html' with prefix='port' col='port' text=tr_port %}</th>
{% if search %} {% if search %}
<th>{% trans "Switch" %}</th> <th>{% trans "Switch" %}</th>
{% endif %} {% endif %}
{% trans "Room" as tr_room %} {% trans "Room" as tr_room %}
<th>{% include "buttons/sort.html" with prefix='port' col='room' text=tr_room %}</th> <th>{% include 'buttons/sort.html' with prefix='port' col='room' text=tr_room %}</th>
{% trans "Interface" as tr_interface %} {% trans "Interface" as tr_interface %}
<th>{% include "buttons/sort.html" with prefix='port' col='interface' text=tr_interface %}</th> <th>{% include 'buttons/sort.html' with prefix='port' col='interface' text=tr_interface %}</th>
{% trans "Related port" as tr_related_port %} {% trans "Related port" as tr_related_port %}
<th>{% include "buttons/sort.html" with prefix='port' col='related' text=tr_related_port %}</th> <th>{% include 'buttons/sort.html' with prefix='port' col='related' text=tr_related_port %}</th>
<th>{% trans "Port state" %}</th> <th>{% trans "Port state" %}</th>
<th>{% trans "Port profile" %}</th> <th>{% trans "Port profile" %}</th>
<th>{% trans "Details" %}</th> <th>{% trans "Details" %}</th>
@ -96,15 +96,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ port.details }}</td> <td>{{ port.details }}</td>
<td class="text-right"> <td class="text-right">
{% can_edit port %} {% can_edit port %}
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-port' port.id %}"> {% include 'buttons/edit.html' with href='topologie:edit-port' id=port.id %}
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% history_button port %} {% history_button port %}
{% can_delete port %} {% can_delete port %}
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-port' port.pk %}"> {% include 'buttons/suppr.html' with href='topologie:del-port' id=port.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>

View file

@ -27,7 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<div class="table-responsive"> <div class="table-responsive">
{% if port_profile_list.paginator %} {% if port_profile_list.paginator %}
{% include "pagination.html" with list=port_profile_list %} {% include 'pagination.html' with list=port_profile_list %}
{% endif %} {% endif %}
@ -68,11 +68,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ port_profile.security_parameters_enabled|join:"<br>" }}</td> <td>{{ port_profile.security_parameters_enabled|join:"<br>" }}</td>
<td class="text-right"> <td class="text-right">
{% can_edit port_profile %} {% can_edit port_profile %}
{% include 'buttons/edit.html' with href='topologie:edit-port-profile' id=port_profile.pk %} {% include 'buttons/edit.html' with href='topologie:edit-port-profile' id=port_profile.id %}
{% acl_end %} {% acl_end %}
{% history_button port_profile %} {% history_button port_profile %}
{% can_delete port_profile %} {% can_delete port_profile %}
{% include 'buttons/suppr.html' with href='topologie:del-port-profile' id=port_profile.pk %} {% include 'buttons/suppr.html' with href='topologie:del-port-profile' id=port_profile.id %}
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>
@ -80,7 +80,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</table> </table>
{% if port_profile_list.paginator %} {% if port_profile_list.paginator %}
{% include "pagination.html" with list=port_profile_list %} {% include 'pagination.html' with list=port_profile_list %}
{% endif %} {% endif %}
</div> </div>

View file

@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% endcomment %} {% endcomment %}
{% load acl %} {% load acl %}
{% load i18n %}
<div class="table-responsive" style="font-size: 12px"> <div class="table-responsive" style="font-size: 12px">
<table class="table table-bordered text-center text-nowrap"> <table class="table table-bordered text-center text-nowrap">
@ -63,7 +64,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</td> </td>
{% else %} {% else %}
<td class="p-3 mb-2 bg-info text-dark"> <td class="p-3 mb-2 bg-info text-dark">
Vide {% trans "Empty" %}
</td> </td>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
@ -106,7 +107,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</td> </td>
{% else %} {% else %}
<td class="p-3 mb-2 bg-info text-dark"> <td class="p-3 mb-2 bg-info text-dark">
Vide {% trans "Empty" %}
</td> </td>
{% endif %} {% endif %}
{% endfor %} {% endfor %}

View file

@ -30,9 +30,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<thead> <thead>
<tr> <tr>
{% trans "Stack" as tr_stack %} {% trans "Stack" as tr_stack %}
<th>{% include "buttons/sort.html" with prefix='stack' col='name' text=tr_stack %}</th> <th>{% include 'buttons/sort.html' with prefix='stack' col='name' text=tr_stack %}</th>
{% trans "ID" as tr_id %} {% trans "ID" as tr_id %}
<th>{% include "buttons/sort.html" with prefix='stack' col='id' text=id %}</th> <th>{% include 'buttons/sort.html' with prefix='stack' col='id' text=id %}</th>
<th>{% trans "Details" %}</th> <th>{% trans "Details" %}</th>
<th>{% trans "Members" %}</th> <th>{% trans "Members" %}</th>
<th></th> <th></th>
@ -45,22 +45,18 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ stack.details }}</td> <td>{{ stack.details }}</td>
<td> <td>
{% for switch in stack.switch_set.all %} {% for switch in stack.switch_set.all %}
<a href="{% url 'topologie:index-port' switch.pk %}"> <a href="{% url 'topologie:index-port' switch.id %}">
{{ switch }} {{ switch }}
</a> </a>
{% endfor %} {% endfor %}
</td> </td>
<td class="text-right"> <td class="text-right">
{% can_edit stack %} {% can_edit stack %}
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-stack' stack.id %}"> {% include 'buttons/edit.html' with href='topologie:edit-stack' id=stack.id %}
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% history_button stack %} {% history_button stack %}
{% can_delete stack %} {% can_delete stack %}
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-stack' stack.pk %}"> {% include 'buttons/suppr.html' with href='topologie:del-stack' id=stack.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>

View file

@ -28,22 +28,22 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<div class="table-responsive"> <div class="table-responsive">
{% if switch_list.paginator %} {% if switch_list.paginator %}
{% include "pagination.html" with list=switch_list %} {% include 'pagination.html' with list=switch_list %}
{% endif %} {% endif %}
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
{% trans "DNS name" as tr_dns %} {% trans "DNS name" as tr_dns %}
<th>{% include "buttons/sort.html" with prefix='switch' col='dns' text=tr_dns %}</th> <th>{% include 'buttons/sort.html' with prefix='switch' col='dns' text=tr_dns %}</th>
{% trans "IPv4 address" as tr_ip %} {% trans "IPv4 address" as tr_ip %}
<th>{% include "buttons/sort.html" with prefix='switch' col='ip' text=tr_ip %}</th> <th>{% include 'buttons/sort.html' with prefix='switch' col='ip' text=tr_ip %}</th>
{% trans "Switch bay" as tr_bay %} {% trans "Switch bay" as tr_bay %}
<th>{% include "buttons/sort.html" with prefix='switch' col='loc' text=tr_bay %}</th> <th>{% include 'buttons/sort.html' with prefix='switch' col='loc' text=tr_bay %}</th>
{% trans "Ports" as tr_ports %} {% trans "Ports" as tr_ports %}
<th>{% include "buttons/sort.html" with prefix='switch' col='ports' text=tr_ports %}</th> <th>{% include 'buttons/sort.html' with prefix='switch' col='ports' text=tr_ports %}</th>
{% trans "Stack" as tr_stack %} {% trans "Stack" as tr_stack %}
<th>{% include "buttons/sort.html" with prefix='switch' col='stack' text=tr_stack %}</th> <th>{% include 'buttons/sort.html' with prefix='switch' col='stack' text=tr_stack %}</th>
<th>{% trans "Stack ID" %}</th> <th>{% trans "Stack ID" %}</th>
<th>{% trans "Switch model" %}</th> <th>{% trans "Switch model" %}</th>
<th>{% trans "Details" %}</th> <th>{% trans "Details" %}</th>
@ -53,7 +53,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% for switch in switch_list %} {% for switch in switch_list %}
<tr> <tr>
<td> <td>
<a href="{% url 'topologie:index-port' switch.pk %}"> <a href="{% url 'topologie:index-port' switch.id %}">
{{ switch }} {{ switch }}
</a> </a>
</td> </td>
@ -66,7 +66,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ switch.interface_set.first.details }}</td> <td>{{ switch.interface_set.first.details }}</td>
<td class="text-right"> <td class="text-right">
{% can_edit switch %} {% can_edit switch %}
{% include 'buttons/edit.html' with href='topologie:edit-switch' id=switch.pk %} {% include 'buttons/edit.html' with href='topologie:edit-switch' id=switch.id %}
{% acl_end %} {% acl_end %}
{% history_button switch %} {% history_button switch %}
{% can_delete switch %} {% can_delete switch %}
@ -74,7 +74,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% acl_end %} {% acl_end %}
{% can_create Port %} {% can_create Port %}
{% trans "Creation of ports" as tr_creation %} {% trans "Creation of ports" as tr_creation %}
{% include 'buttons/add.html' with href='topologie:create-ports' id=switch.pk desc=tr_creation %} {% include 'buttons/add.html' with href='topologie:create-ports' id=switch.id desc=tr_creation %}
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>
@ -82,7 +82,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</table> </table>
{% if switch_list.paginator %} {% if switch_list.paginator %}
{% include "pagination.html" with list=switch_list %} {% include 'pagination.html' with list=switch_list %}
{% endif %} {% endif %}
</div> </div>

View file

@ -27,16 +27,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load i18n %} {% load i18n %}
{% if switch_bay_list.paginator %} {% if switch_bay_list.paginator %}
{% include "pagination.html" with list=switch_bay_list %} {% include 'pagination.html' with list=switch_bay_list %}
{% endif %} {% endif %}
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
{% trans "Switch bay" as tr_bay %} {% trans "Switch bay" as tr_bay %}
<th>{% include "buttons/sort.html" with prefix='switch-bay' col='name' text=tr_bay %}</th> <th>{% include 'buttons/sort.html' with prefix='switch-bay' col='name' text=tr_bay %}</th>
{% trans "Building" as tr_building %} {% trans "Building" as tr_building %}
<th>{% include "buttons/sort.html" with prefix='switch-bay' col='building' text=tr_building %}</th> <th>{% include 'buttons/sort.html' with prefix='switch-bay' col='building' text=tr_building %}</th>
<th>{% trans "Information" %}</th> <th>{% trans "Information" %}</th>
<th>{% trans "Switches of the bay" %}</th> <th>{% trans "Switches of the bay" %}</th>
<th></th> <th></th>
@ -49,22 +49,18 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ switch_bay.info }}</td> <td>{{ switch_bay.info }}</td>
<td> <td>
{% for switch in switch_bay.switch_set.all %} {% for switch in switch_bay.switch_set.all %}
<a href="{% url 'topologie:index-port' switch.pk %}"> <a href="{% url 'topologie:index-port' switch.id %}">
{{ switch }} {{ switch }}
</a> </a>
{% endfor %} {% endfor %}
</td> </td>
<td class="text-right"> <td class="text-right">
{% can_edit switch_bay %} {% can_edit switch_bay %}
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-switch-bay' switch_bay.id %}"> {% include 'buttons/edit.html' with href='topologie:edit-switch-bay' id=switch_bay.id %}
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% history_button switch_bay %} {% history_button switch_bay %}
{% can_delete switch_bay %} {% can_delete switch_bay %}
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-switch-bay' switch_bay.id %}"> {% include 'buttons/suppr.html' with href='topologie:del-switch-bay' id=switch_bay.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>
@ -72,6 +68,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</table> </table>
{% if switch_bay_list.paginator %} {% if switch_bay_list.paginator %}
{% include "pagination.html" with list=switch_bay_list %} {% include 'pagination.html' with list=switch_bay_list %}
{% endif %} {% endif %}

View file

@ -24,18 +24,19 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load acl %} {% load acl %}
{% load logs_extra %} {% load logs_extra %}
{% load i18n %}
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
<th>Id</th> <th>{% trans "ID" %}</th>
<th>Nom</th> <th>{% trans "Name" %}</th>
<th>Arp Protect</th> <th>{% trans "ARP protect" %}</th>
<th>Dhcp Snooping</th> <th>{% trans "DHCP snooping" %}</th>
<th>Dhcpv6 Snooping</th> <th>{% trans "DHCPv6 snooping" %}</th>
<th>Igmp</th> <th>{% trans "IGMP" %}</th>
<th>Mld</th> <th>{% trans "MLD" %}</th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en

View file

@ -41,15 +41,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ stack.details }}</td> <td>{{ stack.details }}</td>
<td class="text-right"> <td class="text-right">
{% can_edit stack %} {% can_edit stack %}
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-stack' stack.id %}"> {% include 'buttons/edit.html' with href='topologie:edit-stack' id=stack.id %}
<i class="fa fa-edit"></i>
</a>
{% acl_end %} {% acl_end %}
{% history_button stack %} {% history_button stack %}
{% can_delete stack %} {% can_delete stack %}
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-stack' stack.pk %}"> {% include 'buttons/suppr.html' with href='topologie:del-stack' id=stack.id %}
<i class="fa fa-trash"></i>
</a>
{% acl_end %} {% acl_end %}
</td> </td>
</tr> </tr>

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -68,7 +68,7 @@ function toggle_graph() {
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-switch' %}"><i class="fa fa-plus"></i>{% trans " Add a switch" %}</a> <a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-switch' %}"><i class="fa fa-plus"></i>{% trans " Add a switch" %}</a>
<hr> <hr>
{% acl_end %} {% acl_end %}
{% include "topologie/aff_switch.html" with switch_list=switch_list %} {% include 'topologie/aff_switch.html' with switch_list=switch_list %}
<br /> <br />
<br /> <br />
<br /> <br />

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -35,7 +35,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-ap' %}"><i class="fa fa-plus"></i>{% trans " Add an access point" %}</a> <a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-ap' %}"><i class="fa fa-plus"></i>{% trans " Add an access point" %}</a>
<hr> <hr>
{% acl_end %} {% acl_end %}
{% include "topologie/aff_ap.html" with ap_list=ap_list %} {% include 'topologie/aff_ap.html' with ap_list=ap_list %}
<br /> <br />
<br /> <br />
<br /> <br />

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -37,7 +37,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</a> </a>
<hr> <hr>
{% acl_end %} {% acl_end %}
{% include "topologie/aff_model_switch.html" with model_switch_list=model_switch_list %} {% include 'topologie/aff_model_switch.html' with model_switch_list=model_switch_list %}
<h2>{% trans "Switch constructors" %}</h2> <h2>{% trans "Switch constructors" %}</h2>
{% can_create ConstructorSwitch %} {% can_create ConstructorSwitch %}
@ -46,6 +46,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</a> </a>
<hr> <hr>
{% acl_end %} {% acl_end %}
{% include "topologie/aff_constructor_switch.html" with constructor_switch_list=constructor_switch_list %} {% include 'topologie/aff_constructor_switch.html' with constructor_switch_list=constructor_switch_list %}
{% endblock %} {% endblock %}

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -30,12 +30,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% block title %}{% trans "Topology" %}{% endblock %} {% block title %}{% trans "Topology" %}{% endblock %}
{% block content %} {% block content %}
<h2>{% trans "Modules of switchs" %}</h2> <h2>{% trans "Switch modules" %}</h2>
{% can_create ModuleSwitch %} {% can_create ModuleSwitch %}
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:add-module' %}"><i class="fa fa-plus"></i>{% trans " Add a module" %}</a> <a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:add-module' %}"><i class="fa fa-plus"></i>{% trans " Add a module" %}</a>
<hr> <hr>
{% acl_end %} {% acl_end %}
{% include "topologie/aff_modules.html" with module_list=module_list modular_switchs=modular_switchs %} {% include 'topologie/aff_modules.html' with module_list=module_list modular_switchs=modular_switchs %}
<br /> <br />
<br /> <br />
<br /> <br />

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -46,14 +46,14 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</tr> </tr>
</table> </table>
<hr> <hr>
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:edit-switch' id_switch %}"><i class="fa fa-edit"></i>{% trans " Edit" %}</a> {% include 'buttons/edit.html' with href='topologie:edit-switch' id=id_switch %}
{% can_create Port %} {% can_create Port %}
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-port' id_switch %}"><i class="fa fa-plus"></i>{% trans " Add a port" %}</a> {% include 'buttons/add.html' with href='topologie:new-port' id=id_switch %}
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:create-ports' id_switch %}"><i class="fa fa-plus"></i>{% trans " Add ports" %}</a> {% include 'buttons/add.html' with href='topologie:create-ports' id=id_switch %}
{% acl_end %} {% acl_end %}
<hr> <hr>
{% include "topologie/aff_repr_switch.html" with port_list=port_list %} {% include 'topologie/aff_repr_switch.html' with port_list=port_list %}
{% include "topologie/aff_port.html" with port_list=port_list %} {% include 'topologie/aff_port.html' with port_list=port_list %}
<br /> <br />
<br /> <br />
<br /> <br />

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -36,7 +36,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<i class="fa fa-plus"></i>{% trans " Add a stack" %} <i class="fa fa-plus"></i>{% trans " Add a stack" %}
</a> </a>
{% acl_end %} {% acl_end %}
{% include "topologie/aff_stacks.html" with stack_list=stack_list %} {% include 'topologie/aff_stacks.html' with stack_list=stack_list %}
<h2>{% trans "Switch bays" %}</h2> <h2>{% trans "Switch bays" %}</h2>
{% can_create SwitchBay %} {% can_create SwitchBay %}
@ -45,7 +45,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</a> </a>
<hr> <hr>
{% acl_end %} {% acl_end %}
{% include "topologie/aff_switch_bay.html" with switch_bay_list=switch_bay_list %} {% include 'topologie/aff_switch_bay.html' with switch_bay_list=switch_bay_list %}
<h2>{% trans "Buildings" %}</h2> <h2>{% trans "Buildings" %}</h2>
{% can_create Building %} {% can_create Building %}
@ -54,6 +54,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</a> </a>
<hr> <hr>
{% acl_end %} {% acl_end %}
{% include "topologie/aff_building.html" with building_list=building_list %} {% include 'topologie/aff_building.html' with building_list=building_list %}
{% endblock %} {% endblock %}

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -36,11 +36,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-port-profile' %}"><i class="fa fa-plus"></i>{% trans " Add a port profile" %}</a> <a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-port-profile' %}"><i class="fa fa-plus"></i>{% trans " Add a port profile" %}</a>
<hr> <hr>
{% acl_end %} {% acl_end %}
{% include "topologie/aff_port_profile.html" with port_profile_list=port_profile_list %} {% include 'topologie/aff_port_profile.html' with port_profile_list=port_profile_list %}
<h2>{% trans "Sécurité par vlan" %}</h2> <h2>{% trans "VLAN security" %}</h2>
{% include "topologie/aff_vlanoptions.html" with vlan_list=vlan_list %} {% include 'topologie/aff_vlanoptions.html' with vlan_list=vlan_list %}
<br /> <br />
<br /> <br />

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -35,7 +35,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-room' %}"><i class="fa fa-plus"></i>{% trans " Add a room" %}</a> <a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-room' %}"><i class="fa fa-plus"></i>{% trans " Add a room" %}</a>
<hr> <hr>
{% acl_end %} {% acl_end %}
{% include "topologie/aff_chambres.html" with room_list=room_list %} {% include 'topologie/aff_chambres.html' with room_list=room_list %}
<br /> <br />
<br /> <br />
<br /> <br />

View file

@ -1,4 +1,4 @@
{% extends "base.html" %} {% extends 'base.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -26,31 +26,31 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load i18n %} {% load i18n %}
{% block sidebar %} {% block sidebar %}
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-room" %}"> <a class="list-group-item list-group-item-info" href="{% url 'topologie:index-room' %}">
<i class="fa fa-home"></i> <i class="fa fa-home"></i>
{% trans "Rooms and premises" %} {% trans "Rooms and premises" %}
</a> </a>
<a class="list-group-item list-group-item-info" href="{% url "topologie:index" %}"> <a class="list-group-item list-group-item-info" href="{% url 'topologie:index' %}">
<i class="fa fa-microchip"></i> <i class="fa fa-microchip"></i>
{% trans "Switches" %} {% trans "Switches" %}
</a> </a>
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-module" %}"> <a class="list-group-item list-group-item-info" href="{% url 'topologie:index-module' %}">
<i class="fa fa-microchip"></i> <i class="fa fa-microchip"></i>
{% trans "Switches modules" %} {% trans "Switch modules" %}
</a> </a>
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-port-profile" %}"> <a class="list-group-item list-group-item-info" href="{% url 'topologie:index-port-profile' %}">
<i class="fa fa-cogs"></i> <i class="fa fa-cogs"></i>
{% trans "Port profiles" %} {% trans "Port profiles" %}
</a> </a>
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-ap" %}"> <a class="list-group-item list-group-item-info" href="{% url 'topologie:index-ap' %}">
<i class="fa fa-wifi"></i> <i class="fa fa-wifi"></i>
{% trans "Access points" %} {% trans "Access points" %}
</a> </a>
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-physical-grouping" %}"> <a class="list-group-item list-group-item-info" href="{% url 'topologie:index-physical-grouping' %}">
<i class="fa fa-list-ul"></i> <i class="fa fa-list-ul"></i>
{% trans "Physical grouping" %} {% trans "Physical grouping" %}
</a> </a>
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-model-switch" %}"> <a class="list-group-item list-group-item-info" href="{% url 'topologie:index-model-switch' %}">
<i class="fa fa-list-ul"></i> <i class="fa fa-list-ul"></i>
{% trans "Switch models and constructors" %} {% trans "Switch models and constructors" %}
</a> </a>

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -36,7 +36,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<a class="btn btn-primary" href="{% url "topologie:index-port" id_switch %}" role="button">{% bootstrap_icon "list" %}{% trans " Go to the ports list" %}</a> <a class="btn btn-primary" href="{% url 'topologie:index-port' id_switch %}" role="button">{% bootstrap_icon "list" %}{% trans " Go to the ports list" %}</a>
<form class="form" method="post"> <form class="form" method="post">
{% csrf_token %} {% csrf_token %}
{% if topoform %} {% if topoform %}

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en
@ -33,7 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% bootstrap_form_errors topoform %} {% bootstrap_form_errors topoform %}
{% if id_switch %} {% if id_switch %}
<a class="btn btn-primary" href="{% url "topologie:index-port" id_switch %}" role="button">{% bootstrap_icon "list" %}{% trans " Go to the ports list" %}</a> <a class="btn btn-primary" href="{% url 'topologie:index-port' id_switch %}" role="button">{% bootstrap_icon "list" %}{% trans " Go to the ports list" %}</a>
{% endif %} {% endif %}
<form class="form" method="post"> <form class="form" method="post">
{% csrf_token %} {% csrf_token %}

View file

@ -1,4 +1,4 @@
{% extends "topologie/sidebar.html" %} {% extends 'topologie/sidebar.html' %}
{% comment %} {% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il 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 se veut agnostique au réseau considéré, de manière à être installable en

View file

@ -344,10 +344,10 @@ def edit_vlanoptions(request, vlan_instance, **_kwargs):
if vlan.is_valid(): if vlan.is_valid():
if vlan.changed_data: if vlan.changed_data:
vlan.save() vlan.save()
messages.success(request, "Vlan modifié") messages.success(request, _("The VLAN was edited."))
return redirect(reverse('topologie:index-port-profile')) return redirect(reverse('topologie:index-port-profile'))
return form( return form(
{'vlanform': vlan, 'action_name': 'Editer'}, {'vlanform': vlan, 'action_name': _("Edit")},
'machines/machine.html', 'machines/machine.html',
request request
) )
@ -551,7 +551,7 @@ def create_ports(request, switchid):
try: try:
switch = Switch.objects.get(pk=switchid) switch = Switch.objects.get(pk=switchid)
except Switch.DoesNotExist: except Switch.DoesNotExist:
messages.error(request, _("Nonexistent switch")) messages.error(request, _("Nonexistent switch."))
return redirect(reverse('topologie:index')) return redirect(reverse('topologie:index'))
first_port = getattr(switch.ports.order_by('port').first(), 'port', 1) first_port = getattr(switch.ports.order_by('port').first(), 'port', 1)
@ -742,7 +742,7 @@ def new_room(request):
messages.success(request, _("The room was created.")) messages.success(request, _("The room was created."))
return redirect(reverse('topologie:index-room')) return redirect(reverse('topologie:index-room'))
return form( return form(
{'topoform': room, 'action_name': _("Add")}, {'topoform': room, 'action_name': _("Create")},
'topologie/topo.html', 'topologie/topo.html',
request request
) )
@ -794,10 +794,10 @@ def new_model_switch(request):
model_switch = EditModelSwitchForm(request.POST or None) model_switch = EditModelSwitchForm(request.POST or None)
if model_switch.is_valid(): if model_switch.is_valid():
model_switch.save() model_switch.save()
messages.success(request, _("The swich model was created.")) messages.success(request, _("The switch model was created."))
return redirect(reverse('topologie:index-model-switch')) return redirect(reverse('topologie:index-model-switch'))
return form( return form(
{'topoform': model_switch, 'action_name': _("Add")}, {'topoform': model_switch, 'action_name': _("Create")},
'topologie/topo.html', 'topologie/topo.html',
request request
) )
@ -856,7 +856,7 @@ def new_switch_bay(request):
messages.success(request, _("The switch bay was created.")) messages.success(request, _("The switch bay was created."))
return redirect(reverse('topologie:index-physical-grouping')) return redirect(reverse('topologie:index-physical-grouping'))
return form( return form(
{'topoform': switch_bay, 'action_name': _("Add")}, {'topoform': switch_bay, 'action_name': _("Create")},
'topologie/topo.html', 'topologie/topo.html',
request request
) )
@ -911,7 +911,7 @@ def new_building(request):
messages.success(request, _("The building was created.")) messages.success(request, _("The building was created."))
return redirect(reverse('topologie:index-physical-grouping')) return redirect(reverse('topologie:index-physical-grouping'))
return form( return form(
{'topoform': building, 'action_name': _("Add")}, {'topoform': building, 'action_name': _("Create")},
'topologie/topo.html', 'topologie/topo.html',
request request
) )
@ -966,7 +966,7 @@ def new_constructor_switch(request):
messages.success(request, _("The switch constructor was created.")) messages.success(request, _("The switch constructor was created."))
return redirect(reverse('topologie:index-model-switch')) return redirect(reverse('topologie:index-model-switch'))
return form( return form(
{'topoform': constructor_switch, 'action_name': _("Add")}, {'topoform': constructor_switch, 'action_name': _("Create")},
'topologie/topo.html', 'topologie/topo.html',
request request
) )
@ -1078,7 +1078,7 @@ def add_module(request):
messages.success(request, _("The module was created.")) messages.success(request, _("The module was created."))
return redirect(reverse('topologie:index-module')) return redirect(reverse('topologie:index-module'))
return form( return form(
{'topoform': module, 'action_name': _("Create a module")}, {'topoform': module, 'action_name': _("Create")},
'topologie/topo.html', 'topologie/topo.html',
request request
) )
@ -1129,10 +1129,10 @@ def add_module_on(request):
module_switch = EditSwitchModuleForm(request.POST or None) module_switch = EditSwitchModuleForm(request.POST or None)
if module_switch.is_valid(): if module_switch.is_valid():
module_switch.save() module_switch.save()
messages.success(request, _("The module added to that switch")) messages.success(request, _("The module was added."))
return redirect(reverse('topologie:index-module')) return redirect(reverse('topologie:index-module'))
return form( return form(
{'topoform': module_switch, 'action_name': _("Create")}, {'topoform': module_switch, 'action_name': _("Add")},
'topologie/topo.html', 'topologie/topo.html',
request request
) )