feat(buildings): add dedicated edit form, view, permission checks and template for PublicBuilding

This commit is contained in:
kdeterme 2026-07-27 10:07:21 +02:00
parent a88a77e74e
commit c86fb5fb70
13 changed files with 910 additions and 216 deletions

View file

@ -4,6 +4,7 @@ from assets.models import TrafficLightIntersectionDocument, PublicLightingStreet
from assets.models import SignStreetDocument, RoadStreetDocument, ITSLocationDocument
from assets.models import TrafficLightIntersection
from assets.models.its import ITSLocation
from assets.models.buildings import PublicBuilding
from assets.models.trafficlights import TL_INTERSECTION_STATUS_CHOICES, TL_VOLTAGE_CHOICES
@ -270,4 +271,71 @@ LOCATION_FORM_REGISTRY = {
'thematic_code': 'its',
'label': 'Localisation ITS',
},
}
}
class PublicBuildingForm(forms.ModelForm):
"""Formulaire de création et d'édition d'un Bâtiment Public."""
class Meta:
model = PublicBuilding
fields = [
'code', 'name_fr', 'name_nl', 'address', 'description',
'owner', 'manager', 'occupant_entity',
'usage_type', 'building_status',
'construction_year', 'floors_count', 'basement_count',
'total_surface_m2', 'usable_surface_m2',
'is_erp', 'erp_category', 'erp_type', 'max_capacity', 'pmr_accessible',
'dpe_rating', 'ges_rating', 'has_asbestos_diag', 'has_lead_diag',
'lat', 'lon',
]
widgets = {
'code': forms.TextInput(attrs={'class': 'form-control'}),
'name_fr': forms.TextInput(attrs={'class': 'form-control'}),
'name_nl': forms.TextInput(attrs={'class': 'form-control'}),
'address': forms.TextInput(attrs={'class': 'form-control'}),
'description': forms.Textarea(attrs={'class': 'form-control', 'rows': 3}),
'owner': forms.TextInput(attrs={'class': 'form-control'}),
'manager': forms.Select(attrs={'class': 'form-select'}),
'occupant_entity': forms.TextInput(attrs={'class': 'form-control'}),
'usage_type': forms.Select(attrs={'class': 'form-select'}),
'building_status': forms.Select(attrs={'class': 'form-select'}),
'construction_year': forms.NumberInput(attrs={'class': 'form-control'}),
'floors_count': forms.NumberInput(attrs={'class': 'form-control'}),
'basement_count': forms.NumberInput(attrs={'class': 'form-control'}),
'total_surface_m2': forms.NumberInput(attrs={'class': 'form-control', 'step': 'any'}),
'usable_surface_m2': forms.NumberInput(attrs={'class': 'form-control', 'step': 'any'}),
'is_erp': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
'erp_category': forms.Select(attrs={'class': 'form-select'}),
'erp_type': forms.Select(attrs={'class': 'form-select'}),
'max_capacity': forms.NumberInput(attrs={'class': 'form-control'}),
'pmr_accessible': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
'dpe_rating': forms.Select(attrs={'class': 'form-select'}),
'ges_rating': forms.Select(attrs={'class': 'form-select'}),
'has_asbestos_diag': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
'has_lead_diag': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
'lat': forms.NumberInput(attrs={'class': 'form-control', 'step': 'any'}),
'lon': forms.NumberInput(attrs={'class': 'form-control', 'step': 'any'}),
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['name_fr'].required = False
self.fields['name_nl'].required = False
self.fields['address'].required = False
self.fields['description'].required = False
self.fields['owner'].required = False
self.fields['manager'].required = False
self.fields['occupant_entity'].required = False
self.fields['construction_year'].required = False
self.fields['floors_count'].required = False
self.fields['basement_count'].required = False
self.fields['total_surface_m2'].required = False
self.fields['usable_surface_m2'].required = False
self.fields['erp_category'].required = False
self.fields['erp_type'].required = False
self.fields['max_capacity'].required = False
self.fields['dpe_rating'].required = False
self.fields['ges_rating'].required = False
self.fields['lat'].required = False
self.fields['lon'].required = False

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-27 09:58+0200\n"
"POT-Creation-Date: 2026-07-27 10:06+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -180,101 +180,123 @@ msgid "Emprise cartographique"
msgstr "Map footprint"
#: streetup/assets/models/buildings.py:96
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:63
msgid "Adresse complète"
msgstr "Full address"
#: streetup/assets/models/buildings.py:97
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:68
#: streetup/assets/templates/assets/components/asset_model_card.html:38
msgid "Description"
msgstr "Description"
#: streetup/assets/models/buildings.py:100
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:102
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:104
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:84
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:99
msgid "Propriétaire"
msgstr "Owner"
#: streetup/assets/models/buildings.py:101
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:106
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:108
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:89
msgid "Gestionnaire référent"
msgstr "Referent manager"
#: streetup/assets/models/buildings.py:102
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:94
msgid "Direction / Service occupant"
msgstr "Department / Occupant service"
#: streetup/assets/models/buildings.py:105
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:110
msgid "Type d'usage principal"
msgstr "Main usage type"
#: streetup/assets/models/buildings.py:106
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:115
msgid "Statut d'occupation"
msgstr "Occupancy status"
#: streetup/assets/models/buildings.py:109
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:123
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:125
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:120
msgid "Année de construction"
msgstr "Construction year"
#: streetup/assets/models/buildings.py:110
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:125
msgid "Nombre d'étages hors-sol"
msgstr "Number of above-ground floors"
#: streetup/assets/models/buildings.py:111
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:130
msgid "Nombre de niveaux en sous-sol"
msgstr "Number of basement levels"
#: streetup/assets/models/buildings.py:112
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:135
msgid "Surface brute totale (m²)"
msgstr "Total gross area (m²)"
#: streetup/assets/models/buildings.py:113
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:140
msgid "Surface utile (m²)"
msgstr "Usable area (m²)"
#: streetup/assets/models/buildings.py:116
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:151
msgid "Accueil & Sécurité du Public (ERP / PMR)"
msgstr "Public Reception & Safety (ERP / PRM)"
#: streetup/assets/models/buildings.py:117
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:172
msgid "Catégorie d'accueil / ERP"
msgstr "Reception Category / ERP"
#: streetup/assets/models/buildings.py:118
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:177
msgid "Type d'établissement / ERP"
msgstr "Establishment Type / ERP"
#: streetup/assets/models/buildings.py:119
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:182
msgid "Jauge maximale d'accueil du public"
msgstr "Maximum public capacity"
#: streetup/assets/models/buildings.py:122
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:198
msgid "Performance Énergétique (PEB / DPE / EPC)"
msgstr "Energy Performance (PEB / DPE / EPC)"
#: streetup/assets/models/buildings.py:123
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:203
msgid "Émissions de Carbone & GES"
msgstr "Carbon & GHG Emissions"
#: streetup/assets/models/buildings.py:124
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:211
msgid "Diagnostic Amiante réalisé"
msgstr "Asbestos Inspection completed"
#: streetup/assets/models/buildings.py:125
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:219
msgid "Diagnostic Plomb réalisé"
msgstr "Lead Inspection completed"
#: streetup/assets/models/buildings.py:126
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:167
msgid "Accessible PMR"
msgstr "PRM Accessible"
#: streetup/assets/models/buildings.py:129
#: streetup/assets/views/buildings.py:100 streetup/assets/views/core.py:407
#: streetup/assets/views/buildings.py:103 streetup/assets/views/core.py:407
msgid "Bâtiment public"
msgstr "Public building"
#: streetup/assets/models/buildings.py:130
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:18
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:13
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:4
#: streetup/assets/views/core.py:782
msgid "Bâtiments publics"
@ -337,12 +359,12 @@ msgid "Pièces / Locaux"
msgstr "Rooms / Locaux"
#: streetup/assets/models/buildings.py:191
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:318
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:320
msgid "Local"
msgstr "Room"
#: streetup/assets/models/buildings.py:192
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:317
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:319
#: streetup/assets/templates/assets/components/add_asset_modal.html:47
#: streetup/assets/templates/assets/trafficlights_intersection_detail.html:1002
msgid "Type d'équipement"
@ -993,7 +1015,7 @@ msgid "(vide)"
msgstr "(empty)"
#: streetup/assets/models/history.py:325
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:362
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:364
#: streetup/assets/templates/assets/clean_index.html:65
#: streetup/assets/templates/assets/clean_index.html:71
#: streetup/assets/templates/assets/clean_location_detail.html:158
@ -1016,17 +1038,19 @@ msgid "Code"
msgstr "Code"
#: streetup/assets/models/history.py:326
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:53
msgid "Nom (FR)"
msgstr "Name (FR)"
#: streetup/assets/models/history.py:327
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:58
msgid "Nom (NL)"
msgstr "Name (NL)"
#: streetup/assets/models/history.py:328
#: streetup/assets/templates/assets/artworks_index.html:8
#: streetup/assets/templates/assets/artworks_index.html:36
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:365
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:367
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:42
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:79
#: streetup/assets/templates/assets/controlcenters_location_detail.html:245
@ -1170,12 +1194,14 @@ msgid "Structure"
msgstr "Structure"
#: streetup/assets/models/history.py:342
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:240
#: streetup/assets/templates/assets/detail_generic.html:672
#: streetup/assets/views/export.py:109
msgid "Longitude"
msgstr "Longitude"
#: streetup/assets/models/history.py:343
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:235
#: streetup/assets/templates/assets/detail_generic.html:683
#: streetup/assets/views/export.py:110
msgid "Latitude"
@ -2390,7 +2416,7 @@ msgid "Retour à la vue Artworks"
msgstr "Back to Artworks view"
#: streetup/assets/templates/assets/artworks_street_detail.html:27
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:167
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:169
msgid "Niveau"
msgstr "Level"
@ -2400,7 +2426,7 @@ msgstr "Monuments"
#: streetup/assets/templates/assets/artworks_street_detail.html:51
#: streetup/assets/templates/assets/artworks_street_detail.html:78
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:372
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:374
#: streetup/assets/templates/assets/controlcenters_location_detail.html:251
#: streetup/assets/templates/assets/its_location_detail.html:175
#: streetup/assets/templates/assets/nature_locations_detail.html:81
@ -2631,6 +2657,8 @@ msgid "Choisissez le format d'export :"
msgstr "Choose export format:"
#: streetup/assets/templates/assets/base_assets_index.html:320
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:24
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:251
#: streetup/assets/templates/assets/components/add_asset_modal.html:138
#: streetup/assets/templates/assets/components/asset_documents.html:87
#: streetup/assets/templates/assets/components/asset_location_link.html:75
@ -2661,27 +2689,35 @@ msgstr "Choose export format:"
msgid "Annuler"
msgstr "Cancel"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:24
msgid "Modifier dans l'admin"
msgstr "Edit in admin"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:25
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:15
#: streetup/assets/templates/assets/permissions/panel.html:69
#: streetup/assets/templates/assets/permissions/panel.html:111
#: streetup/assets/templates/assets/permissions/panel.html:211
#: streetup/assets/templates/assets/permissions/type_page.html:71
#: streetup/assets/templates/assets/permissions/type_page.html:157
#: streetup/assets/templates/assets/permissions/type_page.html:238
#: streetup/assets/templates/assets/permissions/type_page.html:360
msgid "Modifier"
msgstr "Edit"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:27
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:29
msgid "Retour à la liste"
msgstr "Back to list"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:40
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:42
msgid "Adresse non renseignée"
msgstr "Address not specified"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:71
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:73
msgid "Vue d'ensemble"
msgstr "Overview"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:76
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:78
msgid "Équipements"
msgstr "Equipments"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:81
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:83
#: streetup/assets/templates/assets/clean_location_detail.html:147
#: streetup/assets/templates/assets/controlcenters_location_detail.html:231
#: streetup/assets/templates/assets/its_location_detail.html:155
@ -2695,39 +2731,39 @@ msgstr "Equipments"
msgid "Interventions"
msgstr "Interventions"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:98
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:100
msgid "Propriété & Responsables"
msgstr "Ownership & Managers"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:110
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:112
msgid "Service occupant"
msgstr "Occupant department"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:119
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:121
msgid "Caractéristiques physiques &"
msgstr "Physical characteristics &"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:127
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:129
msgid "Étages / Sous-sols"
msgstr "Floors / Basements"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:128
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:130
msgid "étage(s)"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:128
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:130
msgid "sous-sol(s)"
msgstr "Floors / Basements"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:131
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:133
msgid "Surface Utile / Brut"
msgstr "Net / Gross Floor Area"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:139
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:141
msgid "Accessibilité PMR"
msgstr "PRM Accessibility"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:140
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:142
#: streetup/assets/templates/assets/detail_generic.html:432
#: streetup/assets/templates/assets/trafficlights_index.html:35
#: streetup/assets/templatetags/asset_tags.py:129
@ -2736,7 +2772,7 @@ msgstr "PRM Accessibility"
msgid "Oui"
msgstr "Yes"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:140
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:142
#: streetup/assets/templates/assets/detail_generic.html:433
#: streetup/assets/templates/assets/trafficlights_index.html:39
#: streetup/assets/templatetags/asset_tags.py:129
@ -2745,48 +2781,48 @@ msgstr "Yes"
msgid "Non"
msgstr "No"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:149
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:151
msgid "Arborescence du bâtiment"
msgstr "Building hierarchy"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:150
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:152
msgid "niveau(x)"
msgstr "level(s)"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:170
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:172
msgid "local(aux)"
msgstr "room(s)"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:199
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:201
msgid "équipement(s)"
msgstr "equipment(s)"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:224
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:226
msgid "Aucun local enregistré pour ce niveau."
msgstr "No room registered for this level."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:230
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:232
msgid "Aucun niveau enregistré pour ce bâtiment."
msgstr "No level registered for this building."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:244
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:246
msgid "Localisation & Carte"
msgstr "Location & Map"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:258
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:260
msgid "Adresse"
msgstr "Address"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:258
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:260
msgid "Non renseignée"
msgstr "Not specified"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:271
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:273
#: streetup/assets/templates/assets/components/asset_documents.html:6
msgid "Documents associés"
msgstr "Associated documents"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:273
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:275
#: streetup/assets/templates/assets/cleanlitterbin_detail.html:23
#: streetup/assets/templates/assets/components/asset_documents.html:14
#: streetup/assets/templates/assets/controlcenters_location_detail.html:46
@ -2810,56 +2846,102 @@ msgstr "Associated documents"
msgid "Ajouter"
msgstr "Add"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:285
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:287
#: streetup/assets/templates/assets/document_version_history_list.html:50
msgid "Télécharger"
msgstr "Download"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:289
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:291
msgid "Fichier indisponible"
msgstr "File unavailable"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:296
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:298
msgid "Aucun document associé."
msgstr "No associated document."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:316
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:318
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:74
msgid "Code / Nom"
msgstr "Code / Name"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:319
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:321
msgid "Prochain contrôle"
msgstr "Next control"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:326
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:328
msgid "Détail de l\\"
msgstr "Detail of "
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:339
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:341
msgid "Aucun équipement technique enregistré."
msgstr "No technical equipment registered."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:352
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:354
msgid "Interventions & Maintenance"
msgstr "Interventions & Maintenance"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:354
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:356
msgid "Nouvelle intervention"
msgstr "New intervention"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:363
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:365
msgid "Titre / Objet"
msgstr "Title / Subject"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:364
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:366
msgid "Date de début"
msgstr "Start date"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:385
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:387
msgid "Aucune intervention enregistrée pour ce bâtiment."
msgstr "No intervention registered for this building."
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:4
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:19
msgid "Modifier le bâtiment"
msgstr "Edit building"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:35
msgid "Certains champs contiennent des erreurs."
msgstr "Some fields contain errors."
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:35
msgid "Veuillez vérifier les informations ci-dessous."
msgstr "Please check the information below."
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:43
#: streetup/assets/templates/assets/detail_generic.html:204
msgid "Informations générales"
msgstr "General information"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:48
msgid "Code du bâtiment"
msgstr "Building code"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:79
msgid "Propriété & Gestion"
msgstr "Ownership & Management"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:105
msgid "Usage & Caractéristiques physiques"
msgstr "Usage & Physical Characteristics"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:159
msgid "Bâtiment recevant du public (ERP / PMR)"
msgstr "Public reception building (ERP / PRM)"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:193
msgid "Diagnostics & Énergie"
msgstr "Diagnostics & Energy"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:230
msgid "Coordonnées géographiques (GPS WGS84)"
msgstr "Geographic Coordinates (GPS WGS84)"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:254
msgid "Enregistrer les modifications"
msgstr "Save changes"
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:11
msgid "Gestion des Bâtiments Publics"
msgstr "Public Buildings Management"
@ -2933,13 +3015,13 @@ msgstr ""
msgid "Voir détails"
msgstr "Details"
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:131
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:132
#: streetup/assets/templates/assets/detail_generic.html:144
#: streetup/assets/templates/assets/detail_generic.html:188
msgid "Éditer"
msgstr "Edit"
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:140
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:142
msgid "Aucun bâtiment public ne correspond à vos critères."
msgstr ""
@ -3882,10 +3964,6 @@ msgstr "Asset"
msgid "Sauvegarder"
msgstr "Save"
#: streetup/assets/templates/assets/detail_generic.html:204
msgid "Informations générales"
msgstr "General information"
#: streetup/assets/templates/assets/detail_generic.html:277
#: streetup/assets/templates/assets/unified_index.html:212
msgid "Statut de validation"
@ -4367,16 +4445,6 @@ msgstr ""
msgid "Voir"
msgstr "View"
#: streetup/assets/templates/assets/permissions/panel.html:69
#: streetup/assets/templates/assets/permissions/panel.html:111
#: streetup/assets/templates/assets/permissions/panel.html:211
#: streetup/assets/templates/assets/permissions/type_page.html:71
#: streetup/assets/templates/assets/permissions/type_page.html:157
#: streetup/assets/templates/assets/permissions/type_page.html:238
#: streetup/assets/templates/assets/permissions/type_page.html:360
msgid "Modifier"
msgstr "Edit"
#: streetup/assets/templates/assets/permissions/panel.html:71
msgid "Champs"
msgstr "Fields"
@ -5923,6 +5991,17 @@ msgstr "User required."
msgid "Utilisateur introuvable."
msgstr "User not found."
#: streetup/assets/views/buildings.py:253
#, fuzzy
#| msgid "Vous n'avez pas la permission de modifier cet asset"
msgid "Vous n'avez pas la permission de modifier ce bâtiment."
msgstr "You do not have permission to edit this asset"
#: streetup/assets/views/buildings.py:259
#, python-format
msgid "Le bâtiment '%s' a été mis à jour avec succès."
msgstr ""
#: streetup/assets/views/clean.py:259
msgid "Locations"
msgstr "Locations"
@ -6367,6 +6446,9 @@ msgstr ""
msgid "Aucune localisation GIEP trouvée à proximité"
msgstr "No location found"
#~ msgid "Modifier dans l'admin"
#~ msgstr "Edit in admin"
#, fuzzy
#~| msgid "Changer le modèle"
#~ msgid "Charger le plan"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-27 09:58+0200\n"
"POT-Creation-Date: 2026-07-27 10:06+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -179,101 +179,123 @@ msgid "Emprise cartographique"
msgstr ""
#: streetup/assets/models/buildings.py:96
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:63
msgid "Adresse complète"
msgstr "À compléter"
#: streetup/assets/models/buildings.py:97
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:68
#: streetup/assets/templates/assets/components/asset_model_card.html:38
msgid "Description"
msgstr "Description"
#: streetup/assets/models/buildings.py:100
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:102
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:104
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:84
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:99
msgid "Propriétaire"
msgstr "Propreté"
#: streetup/assets/models/buildings.py:101
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:106
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:108
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:89
msgid "Gestionnaire référent"
msgstr ""
#: streetup/assets/models/buildings.py:102
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:94
msgid "Direction / Service occupant"
msgstr ""
#: streetup/assets/models/buildings.py:105
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:110
msgid "Type d'usage principal"
msgstr "Type d'asset inconnu"
#: streetup/assets/models/buildings.py:106
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:115
msgid "Statut d'occupation"
msgstr "Statut de validation"
#: streetup/assets/models/buildings.py:109
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:123
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:125
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:120
msgid "Année de construction"
msgstr "Numéro de contrat"
#: streetup/assets/models/buildings.py:110
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:125
msgid "Nombre d'étages hors-sol"
msgstr "Nombre de brins"
#: streetup/assets/models/buildings.py:111
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:130
msgid "Nombre de niveaux en sous-sol"
msgstr ""
#: streetup/assets/models/buildings.py:112
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:135
msgid "Surface brute totale (m²)"
msgstr "Surface (m²)"
#: streetup/assets/models/buildings.py:113
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:140
msgid "Surface utile (m²)"
msgstr "Surface (m²)"
#: streetup/assets/models/buildings.py:116
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:151
msgid "Accueil & Sécurité du Public (ERP / PMR)"
msgstr ""
#: streetup/assets/models/buildings.py:117
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:172
msgid "Catégorie d'accueil / ERP"
msgstr ""
#: streetup/assets/models/buildings.py:118
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:177
msgid "Type d'établissement / ERP"
msgstr "Type d'élément"
#: streetup/assets/models/buildings.py:119
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:182
msgid "Jauge maximale d'accueil du public"
msgstr ""
#: streetup/assets/models/buildings.py:122
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:198
msgid "Performance Énergétique (PEB / DPE / EPC)"
msgstr ""
#: streetup/assets/models/buildings.py:123
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:203
msgid "Émissions de Carbone & GES"
msgstr ""
#: streetup/assets/models/buildings.py:124
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:211
msgid "Diagnostic Amiante réalisé"
msgstr ""
#: streetup/assets/models/buildings.py:125
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:219
msgid "Diagnostic Plomb réalisé"
msgstr ""
#: streetup/assets/models/buildings.py:126
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:167
msgid "Accessible PMR"
msgstr "Accessoire"
#: streetup/assets/models/buildings.py:129
#: streetup/assets/views/buildings.py:100 streetup/assets/views/core.py:407
#: streetup/assets/views/buildings.py:103 streetup/assets/views/core.py:407
msgid "Bâtiment public"
msgstr ""
#: streetup/assets/models/buildings.py:130
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:18
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:13
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:4
#: streetup/assets/views/core.py:782
msgid "Bâtiments publics"
@ -336,12 +358,12 @@ msgid "Pièces / Locaux"
msgstr ""
#: streetup/assets/models/buildings.py:191
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:318
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:320
msgid "Local"
msgstr "Location"
#: streetup/assets/models/buildings.py:192
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:317
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:319
#: streetup/assets/templates/assets/components/add_asset_modal.html:47
#: streetup/assets/templates/assets/trafficlights_intersection_detail.html:1002
msgid "Type d'équipement"
@ -994,7 +1016,7 @@ msgid "(vide)"
msgstr "(vide)"
#: streetup/assets/models/history.py:325
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:362
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:364
#: streetup/assets/templates/assets/clean_index.html:65
#: streetup/assets/templates/assets/clean_index.html:71
#: streetup/assets/templates/assets/clean_location_detail.html:158
@ -1017,17 +1039,19 @@ msgid "Code"
msgstr "Code"
#: streetup/assets/models/history.py:326
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:53
msgid "Nom (FR)"
msgstr "Nom (FR)"
#: streetup/assets/models/history.py:327
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:58
msgid "Nom (NL)"
msgstr "Nom (NL)"
#: streetup/assets/models/history.py:328
#: streetup/assets/templates/assets/artworks_index.html:8
#: streetup/assets/templates/assets/artworks_index.html:36
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:365
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:367
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:42
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:79
#: streetup/assets/templates/assets/controlcenters_location_detail.html:245
@ -1171,12 +1195,14 @@ msgid "Structure"
msgstr "Structure"
#: streetup/assets/models/history.py:342
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:240
#: streetup/assets/templates/assets/detail_generic.html:672
#: streetup/assets/views/export.py:109
msgid "Longitude"
msgstr "Longitude"
#: streetup/assets/models/history.py:343
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:235
#: streetup/assets/templates/assets/detail_generic.html:683
#: streetup/assets/views/export.py:110
msgid "Latitude"
@ -2391,7 +2417,7 @@ msgid "Retour à la vue Artworks"
msgstr "Retour à la vue Artworks"
#: streetup/assets/templates/assets/artworks_street_detail.html:27
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:167
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:169
msgid "Niveau"
msgstr "Niveau"
@ -2401,7 +2427,7 @@ msgstr "Monuments"
#: streetup/assets/templates/assets/artworks_street_detail.html:51
#: streetup/assets/templates/assets/artworks_street_detail.html:78
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:372
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:374
#: streetup/assets/templates/assets/controlcenters_location_detail.html:251
#: streetup/assets/templates/assets/its_location_detail.html:175
#: streetup/assets/templates/assets/nature_locations_detail.html:81
@ -2632,6 +2658,8 @@ msgid "Choisissez le format d'export :"
msgstr "Choisissez le format d'export :"
#: streetup/assets/templates/assets/base_assets_index.html:320
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:24
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:251
#: streetup/assets/templates/assets/components/add_asset_modal.html:138
#: streetup/assets/templates/assets/components/asset_documents.html:87
#: streetup/assets/templates/assets/components/asset_location_link.html:75
@ -2662,27 +2690,35 @@ msgstr "Choisissez le format d'export :"
msgid "Annuler"
msgstr "Annuler"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:24
msgid "Modifier dans l'admin"
msgstr "Modifier l'accès"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:25
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:15
#: streetup/assets/templates/assets/permissions/panel.html:69
#: streetup/assets/templates/assets/permissions/panel.html:111
#: streetup/assets/templates/assets/permissions/panel.html:211
#: streetup/assets/templates/assets/permissions/type_page.html:71
#: streetup/assets/templates/assets/permissions/type_page.html:157
#: streetup/assets/templates/assets/permissions/type_page.html:238
#: streetup/assets/templates/assets/permissions/type_page.html:360
msgid "Modifier"
msgstr "Modifier"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:27
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:29
msgid "Retour à la liste"
msgstr "Retour à la vue Artworks"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:40
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:42
msgid "Adresse non renseignée"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:71
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:73
msgid "Vue d'ensemble"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:76
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:78
msgid "Équipements"
msgstr "Type d'élément"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:81
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:83
#: streetup/assets/templates/assets/clean_location_detail.html:147
#: streetup/assets/templates/assets/controlcenters_location_detail.html:231
#: streetup/assets/templates/assets/its_location_detail.html:155
@ -2696,39 +2732,39 @@ msgstr "Type d'élément"
msgid "Interventions"
msgstr "Interventions"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:98
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:100
msgid "Propriété & Responsables"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:110
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:112
msgid "Service occupant"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:119
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:121
msgid "Caractéristiques physiques &"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:127
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:129
msgid "Étages / Sous-sols"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:128
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:130
msgid "étage(s)"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:128
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:130
msgid "sous-sol(s)"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:131
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:133
msgid "Surface Utile / Brut"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:139
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:141
msgid "Accessibilité PMR"
msgstr "Accessibilité"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:140
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:142
#: streetup/assets/templates/assets/detail_generic.html:432
#: streetup/assets/templates/assets/trafficlights_index.html:35
#: streetup/assets/templatetags/asset_tags.py:129
@ -2737,7 +2773,7 @@ msgstr "Accessibilité"
msgid "Oui"
msgstr "Oui"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:140
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:142
#: streetup/assets/templates/assets/detail_generic.html:433
#: streetup/assets/templates/assets/trafficlights_index.html:39
#: streetup/assets/templatetags/asset_tags.py:129
@ -2746,48 +2782,48 @@ msgstr "Oui"
msgid "Non"
msgstr "Non"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:149
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:151
msgid "Arborescence du bâtiment"
msgstr "Arborescence"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:150
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:152
msgid "niveau(x)"
msgstr "Niveau"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:170
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:172
msgid "local(aux)"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:199
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:201
msgid "équipement(s)"
msgstr "Type d'élément"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:224
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:226
msgid "Aucun local enregistré pour ce niveau."
msgstr "Aucune modification enregistrée pour cet asset."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:230
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:232
msgid "Aucun niveau enregistré pour ce bâtiment."
msgstr "Aucune modification enregistrée pour cet asset."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:244
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:246
msgid "Localisation & Carte"
msgstr "Localisation parente:"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:258
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:260
msgid "Adresse"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:258
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:260
msgid "Non renseignée"
msgstr "Non identifié"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:271
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:273
#: streetup/assets/templates/assets/components/asset_documents.html:6
msgid "Documents associés"
msgstr "Documents associés"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:273
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:275
#: streetup/assets/templates/assets/cleanlitterbin_detail.html:23
#: streetup/assets/templates/assets/components/asset_documents.html:14
#: streetup/assets/templates/assets/controlcenters_location_detail.html:46
@ -2811,56 +2847,108 @@ msgstr "Documents associés"
msgid "Ajouter"
msgstr "Ajouter"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:285
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:287
#: streetup/assets/templates/assets/document_version_history_list.html:50
msgid "Télécharger"
msgstr "Télécharger"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:289
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:291
msgid "Fichier indisponible"
msgstr "Aucun champ disponible"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:296
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:298
msgid "Aucun document associé."
msgstr "Aucun contrat associé."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:316
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:318
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:74
msgid "Code / Nom"
msgstr "Code EAN"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:319
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:321
msgid "Prochain contrôle"
msgstr "Aucun contrôleur"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:326
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:328
msgid "Détail de l\\"
msgstr "Détail"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:339
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:341
msgid "Aucun équipement technique enregistré."
msgstr "Aucun équipement trouvé"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:352
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:354
msgid "Interventions & Maintenance"
msgstr "Interventions"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:354
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:356
msgid "Nouvelle intervention"
msgstr "No interventions"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:363
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:365
msgid "Titre / Objet"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:364
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:366
msgid "Date de début"
msgstr "Date de déinstallation"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:385
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:387
msgid "Aucune intervention enregistrée pour ce bâtiment."
msgstr "Aucune modification enregistrée pour cet asset."
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:4
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:19
#, fuzzy
#| msgid "Modifier les contrats"
msgid "Modifier le bâtiment"
msgstr "Modifier les contrats"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:35
msgid "Certains champs contiennent des erreurs."
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:35
msgid "Veuillez vérifier les informations ci-dessous."
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:43
#: streetup/assets/templates/assets/detail_generic.html:204
msgid "Informations générales"
msgstr "Informations générales"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:48
#, fuzzy
#| msgid "Document de bâtiment"
msgid "Code du bâtiment"
msgstr "Documents des assets"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:79
msgid "Propriété & Gestion"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:105
msgid "Usage & Caractéristiques physiques"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:159
msgid "Bâtiment recevant du public (ERP / PMR)"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:193
msgid "Diagnostics & Énergie"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:230
msgid "Coordonnées géographiques (GPS WGS84)"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:254
#, fuzzy
#| msgid "Historique des modifications"
msgid "Enregistrer les modifications"
msgstr "Historique des modifications"
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:11
msgid "Gestion des Bâtiments Publics"
msgstr ""
@ -2934,13 +3022,13 @@ msgstr ""
msgid "Voir détails"
msgstr "Détails"
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:131
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:132
#: streetup/assets/templates/assets/detail_generic.html:144
#: streetup/assets/templates/assets/detail_generic.html:188
msgid "Éditer"
msgstr "Éditer"
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:140
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:142
msgid "Aucun bâtiment public ne correspond à vos critères."
msgstr ""
@ -3888,10 +3976,6 @@ msgstr "Asset"
msgid "Sauvegarder"
msgstr "Sauvegarder"
#: streetup/assets/templates/assets/detail_generic.html:204
msgid "Informations générales"
msgstr "Informations générales"
#: streetup/assets/templates/assets/detail_generic.html:277
#: streetup/assets/templates/assets/unified_index.html:212
msgid "Statut de validation"
@ -4375,16 +4459,6 @@ msgstr ""
msgid "Voir"
msgstr "Voir"
#: streetup/assets/templates/assets/permissions/panel.html:69
#: streetup/assets/templates/assets/permissions/panel.html:111
#: streetup/assets/templates/assets/permissions/panel.html:211
#: streetup/assets/templates/assets/permissions/type_page.html:71
#: streetup/assets/templates/assets/permissions/type_page.html:157
#: streetup/assets/templates/assets/permissions/type_page.html:238
#: streetup/assets/templates/assets/permissions/type_page.html:360
msgid "Modifier"
msgstr "Modifier"
#: streetup/assets/templates/assets/permissions/panel.html:71
msgid "Champs"
msgstr "Champs"
@ -5946,6 +6020,17 @@ msgstr "Utilisateur requis."
msgid "Utilisateur introuvable."
msgstr "Utilisateur introuvable."
#: streetup/assets/views/buildings.py:253
#, fuzzy
#| msgid "Vous n'avez pas la permission de modifier cet asset"
msgid "Vous n'avez pas la permission de modifier ce bâtiment."
msgstr "Vous n'avez pas la permission de modifier cet asset"
#: streetup/assets/views/buildings.py:259
#, python-format
msgid "Le bâtiment '%s' a été mis à jour avec succès."
msgstr ""
#: streetup/assets/views/clean.py:259
msgid "Locations"
msgstr "Locations"
@ -6390,6 +6475,9 @@ msgstr ""
msgid "Aucune localisation GIEP trouvée à proximité"
msgstr "Aucune localisation trouvée"
#~ msgid "Modifier dans l'admin"
#~ msgstr "Modifier l'accès"
#, fuzzy
#~| msgid "Changer le modèle"
#~ msgid "Charger le plan"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-27 09:58+0200\n"
"POT-Creation-Date: 2026-07-27 10:06+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -179,101 +179,123 @@ msgid "Emprise cartographique"
msgstr "Cartografische omtrek"
#: streetup/assets/models/buildings.py:96
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:63
msgid "Adresse complète"
msgstr "Volledig adres"
#: streetup/assets/models/buildings.py:97
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:68
#: streetup/assets/templates/assets/components/asset_model_card.html:38
msgid "Description"
msgstr "Beschrijving"
#: streetup/assets/models/buildings.py:100
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:102
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:104
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:84
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:99
msgid "Propriétaire"
msgstr "Netheid"
#: streetup/assets/models/buildings.py:101
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:106
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:108
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:89
msgid "Gestionnaire référent"
msgstr ""
#: streetup/assets/models/buildings.py:102
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:94
msgid "Direction / Service occupant"
msgstr ""
#: streetup/assets/models/buildings.py:105
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:110
msgid "Type d'usage principal"
msgstr "Hoofdgebruikstype"
#: streetup/assets/models/buildings.py:106
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:115
msgid "Statut d'occupation"
msgstr "Bezettingsstatus"
#: streetup/assets/models/buildings.py:109
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:123
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:125
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:120
msgid "Année de construction"
msgstr "Bouwjaar"
#: streetup/assets/models/buildings.py:110
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:125
msgid "Nombre d'étages hors-sol"
msgstr "Aantal bovengrondse verdiepingen"
#: streetup/assets/models/buildings.py:111
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:130
msgid "Nombre de niveaux en sous-sol"
msgstr "Aantal kelderniveaus"
#: streetup/assets/models/buildings.py:112
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:135
msgid "Surface brute totale (m²)"
msgstr "Totale bruto oppervlakte (m²)"
#: streetup/assets/models/buildings.py:113
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:140
msgid "Surface utile (m²)"
msgstr "Nuttige oppervlakte (m²)"
#: streetup/assets/models/buildings.py:116
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:151
msgid "Accueil & Sécurité du Public (ERP / PMR)"
msgstr "Publieksontvangst & Veiligheid (ERP / PMR)"
#: streetup/assets/models/buildings.py:117
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:172
msgid "Catégorie d'accueil / ERP"
msgstr "Ontvangstcategorie / ERP"
#: streetup/assets/models/buildings.py:118
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:177
msgid "Type d'établissement / ERP"
msgstr "Type inrichting / ERP"
#: streetup/assets/models/buildings.py:119
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:182
msgid "Jauge maximale d'accueil du public"
msgstr "Maximale publiekscapaciteit"
#: streetup/assets/models/buildings.py:122
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:198
msgid "Performance Énergétique (PEB / DPE / EPC)"
msgstr "Energieprestatie (PEB / DPE / EPC)"
#: streetup/assets/models/buildings.py:123
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:203
msgid "Émissions de Carbone & GES"
msgstr "Koolstofemissies & BKG"
#: streetup/assets/models/buildings.py:124
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:211
msgid "Diagnostic Amiante réalisé"
msgstr "Asbestdiagnose uitgevoerd"
#: streetup/assets/models/buildings.py:125
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:219
msgid "Diagnostic Plomb réalisé"
msgstr "Looddiagnose uitgevoerd"
#: streetup/assets/models/buildings.py:126
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:167
msgid "Accessible PMR"
msgstr "Accessoire"
#: streetup/assets/models/buildings.py:129
#: streetup/assets/views/buildings.py:100 streetup/assets/views/core.py:407
#: streetup/assets/views/buildings.py:103 streetup/assets/views/core.py:407
msgid "Bâtiment public"
msgstr "Openbaar gebouw"
#: streetup/assets/models/buildings.py:130
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:18
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:13
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:4
#: streetup/assets/views/core.py:782
msgid "Bâtiments publics"
@ -336,12 +358,12 @@ msgid "Pièces / Locaux"
msgstr "Ruimten / Lokalen"
#: streetup/assets/models/buildings.py:191
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:318
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:320
msgid "Local"
msgstr "Lokaal"
#: streetup/assets/models/buildings.py:192
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:317
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:319
#: streetup/assets/templates/assets/components/add_asset_modal.html:47
#: streetup/assets/templates/assets/trafficlights_intersection_detail.html:1002
msgid "Type d'équipement"
@ -992,7 +1014,7 @@ msgid "(vide)"
msgstr "(leeg)"
#: streetup/assets/models/history.py:325
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:362
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:364
#: streetup/assets/templates/assets/clean_index.html:65
#: streetup/assets/templates/assets/clean_index.html:71
#: streetup/assets/templates/assets/clean_location_detail.html:158
@ -1015,17 +1037,19 @@ msgid "Code"
msgstr "Code"
#: streetup/assets/models/history.py:326
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:53
msgid "Nom (FR)"
msgstr "Naam (FR)"
#: streetup/assets/models/history.py:327
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:58
msgid "Nom (NL)"
msgstr "Naam (NL)"
#: streetup/assets/models/history.py:328
#: streetup/assets/templates/assets/artworks_index.html:8
#: streetup/assets/templates/assets/artworks_index.html:36
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:365
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:367
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:42
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:79
#: streetup/assets/templates/assets/controlcenters_location_detail.html:245
@ -1169,12 +1193,14 @@ msgid "Structure"
msgstr "Structuur"
#: streetup/assets/models/history.py:342
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:240
#: streetup/assets/templates/assets/detail_generic.html:672
#: streetup/assets/views/export.py:109
msgid "Longitude"
msgstr "Lengtegraad"
#: streetup/assets/models/history.py:343
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:235
#: streetup/assets/templates/assets/detail_generic.html:683
#: streetup/assets/views/export.py:110
msgid "Latitude"
@ -2389,7 +2415,7 @@ msgid "Retour à la vue Artworks"
msgstr "Terug naar Kunstwerken overzicht"
#: streetup/assets/templates/assets/artworks_street_detail.html:27
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:167
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:169
msgid "Niveau"
msgstr "Niveau"
@ -2399,7 +2425,7 @@ msgstr "Monumenten"
#: streetup/assets/templates/assets/artworks_street_detail.html:51
#: streetup/assets/templates/assets/artworks_street_detail.html:78
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:372
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:374
#: streetup/assets/templates/assets/controlcenters_location_detail.html:251
#: streetup/assets/templates/assets/its_location_detail.html:175
#: streetup/assets/templates/assets/nature_locations_detail.html:81
@ -2626,6 +2652,8 @@ msgid "Choisissez le format d'export :"
msgstr "Kies exportformaat:"
#: streetup/assets/templates/assets/base_assets_index.html:320
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:24
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:251
#: streetup/assets/templates/assets/components/add_asset_modal.html:138
#: streetup/assets/templates/assets/components/asset_documents.html:87
#: streetup/assets/templates/assets/components/asset_location_link.html:75
@ -2656,27 +2684,35 @@ msgstr "Kies exportformaat:"
msgid "Annuler"
msgstr "Annuleren"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:24
msgid "Modifier dans l'admin"
msgstr "Bewerken in admin"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:25
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:15
#: streetup/assets/templates/assets/permissions/panel.html:69
#: streetup/assets/templates/assets/permissions/panel.html:111
#: streetup/assets/templates/assets/permissions/panel.html:211
#: streetup/assets/templates/assets/permissions/type_page.html:71
#: streetup/assets/templates/assets/permissions/type_page.html:157
#: streetup/assets/templates/assets/permissions/type_page.html:238
#: streetup/assets/templates/assets/permissions/type_page.html:360
msgid "Modifier"
msgstr "Bewerken"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:27
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:29
msgid "Retour à la liste"
msgstr "Terug naar lijst"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:40
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:42
msgid "Adresse non renseignée"
msgstr "Adres niet opgegeven"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:71
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:73
msgid "Vue d'ensemble"
msgstr "Overzicht"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:76
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:78
msgid "Équipements"
msgstr "Uitrusting"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:81
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:83
#: streetup/assets/templates/assets/clean_location_detail.html:147
#: streetup/assets/templates/assets/controlcenters_location_detail.html:231
#: streetup/assets/templates/assets/its_location_detail.html:155
@ -2690,39 +2726,39 @@ msgstr "Uitrusting"
msgid "Interventions"
msgstr "Interventies"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:98
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:100
msgid "Propriété & Responsables"
msgstr "Eigendom & Verantwoordelijken"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:110
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:112
msgid "Service occupant"
msgstr "Gebruikersdienst"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:119
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:121
msgid "Caractéristiques physiques &"
msgstr "Fysieke kenmerken &"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:127
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:129
msgid "Étages / Sous-sols"
msgstr "Verdiepingen / Kelders"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:128
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:130
msgid "étage(s)"
msgstr ""
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:128
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:130
msgid "sous-sol(s)"
msgstr "Verdiepingen / Kelders"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:131
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:133
msgid "Surface Utile / Brut"
msgstr "Nuttige / Bruto oppervlakte"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:139
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:141
msgid "Accessibilité PMR"
msgstr "Toegankelijkheid beperkte mobiliteit"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:140
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:142
#: streetup/assets/templates/assets/detail_generic.html:432
#: streetup/assets/templates/assets/trafficlights_index.html:35
#: streetup/assets/templatetags/asset_tags.py:129
@ -2731,7 +2767,7 @@ msgstr "Toegankelijkheid beperkte mobiliteit"
msgid "Oui"
msgstr "Ja"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:140
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:142
#: streetup/assets/templates/assets/detail_generic.html:433
#: streetup/assets/templates/assets/trafficlights_index.html:39
#: streetup/assets/templatetags/asset_tags.py:129
@ -2740,48 +2776,48 @@ msgstr "Ja"
msgid "Non"
msgstr "Nee"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:149
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:151
msgid "Arborescence du bâtiment"
msgstr "Gebouwstructuur"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:150
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:152
msgid "niveau(x)"
msgstr "niveau(s)"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:170
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:172
msgid "local(aux)"
msgstr "lokaal/lokalen"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:199
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:201
msgid "équipement(s)"
msgstr "uitrusting(en)"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:224
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:226
msgid "Aucun local enregistré pour ce niveau."
msgstr "Geen lokaal geregistreerd voor dit niveau."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:230
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:232
msgid "Aucun niveau enregistré pour ce bâtiment."
msgstr "Geen niveau geregistreerd voor dit gebouw."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:244
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:246
msgid "Localisation & Carte"
msgstr "Locatie & Kaart"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:258
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:260
msgid "Adresse"
msgstr "Adres"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:258
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:260
msgid "Non renseignée"
msgstr "Niet opgegeven"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:271
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:273
#: streetup/assets/templates/assets/components/asset_documents.html:6
msgid "Documents associés"
msgstr "Gekoppelde documenten"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:273
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:275
#: streetup/assets/templates/assets/cleanlitterbin_detail.html:23
#: streetup/assets/templates/assets/components/asset_documents.html:14
#: streetup/assets/templates/assets/controlcenters_location_detail.html:46
@ -2805,56 +2841,102 @@ msgstr "Gekoppelde documenten"
msgid "Ajouter"
msgstr "Toevoegen"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:285
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:287
#: streetup/assets/templates/assets/document_version_history_list.html:50
msgid "Télécharger"
msgstr "Downloaden"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:289
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:291
msgid "Fichier indisponible"
msgstr "Bestand niet beschikbaar"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:296
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:298
msgid "Aucun document associé."
msgstr "Geen gekoppeld document."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:316
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:318
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:74
msgid "Code / Nom"
msgstr "Code / Naam"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:319
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:321
msgid "Prochain contrôle"
msgstr "Volgende controle"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:326
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:328
msgid "Détail de l\\"
msgstr "Detail van "
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:339
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:341
msgid "Aucun équipement technique enregistré."
msgstr "Geen technische uitrusting geregistreerd."
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:352
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:354
msgid "Interventions & Maintenance"
msgstr "Interventies & Onderhoud"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:354
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:356
msgid "Nouvelle intervention"
msgstr "Nieuwe interventie"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:363
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:365
msgid "Titre / Objet"
msgstr "Titel / Onderwerp"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:364
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:366
msgid "Date de début"
msgstr "Startdatum"
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:385
#: streetup/assets/templates/assets/buildings/publicbuilding_detail.html:387
msgid "Aucune intervention enregistrée pour ce bâtiment."
msgstr "Geen interventie geregistreerd voor dit gebouw."
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:4
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:19
msgid "Modifier le bâtiment"
msgstr "Gebouw bewerken"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:35
msgid "Certains champs contiennent des erreurs."
msgstr "Sommige velden bevatten fouten."
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:35
msgid "Veuillez vérifier les informations ci-dessous."
msgstr "Controleer de onderstaande informatie."
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:43
#: streetup/assets/templates/assets/detail_generic.html:204
msgid "Informations générales"
msgstr "Algemene informatie"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:48
msgid "Code du bâtiment"
msgstr "Gebouwcode"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:79
msgid "Propriété & Gestion"
msgstr "Eigendom & Beheer"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:105
msgid "Usage & Caractéristiques physiques"
msgstr "Gebruik & Fysieke kenmerken"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:159
msgid "Bâtiment recevant du public (ERP / PMR)"
msgstr "Publiek toegankelijk gebouw (ERP / PMR)"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:193
msgid "Diagnostics & Énergie"
msgstr "Diagnoses & Energie"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:230
msgid "Coordonnées géographiques (GPS WGS84)"
msgstr "Geografische coördinaten (GPS WGS84)"
#: streetup/assets/templates/assets/buildings/publicbuilding_form.html:254
msgid "Enregistrer les modifications"
msgstr "Wijzigingen opslaan"
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:11
msgid "Gestion des Bâtiments Publics"
msgstr "Beheer van Openbare Gebouwen"
@ -2928,13 +3010,13 @@ msgstr ""
msgid "Voir détails"
msgstr "Details"
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:131
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:132
#: streetup/assets/templates/assets/detail_generic.html:144
#: streetup/assets/templates/assets/detail_generic.html:188
msgid "Éditer"
msgstr "Bewerken"
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:140
#: streetup/assets/templates/assets/buildings/publicbuilding_list.html:142
msgid "Aucun bâtiment public ne correspond à vos critères."
msgstr ""
@ -3877,10 +3959,6 @@ msgstr "Asset"
msgid "Sauvegarder"
msgstr "Opslaan"
#: streetup/assets/templates/assets/detail_generic.html:204
msgid "Informations générales"
msgstr "Algemene informatie"
#: streetup/assets/templates/assets/detail_generic.html:277
#: streetup/assets/templates/assets/unified_index.html:212
msgid "Statut de validation"
@ -4365,16 +4443,6 @@ msgstr ""
msgid "Voir"
msgstr "Bekijken"
#: streetup/assets/templates/assets/permissions/panel.html:69
#: streetup/assets/templates/assets/permissions/panel.html:111
#: streetup/assets/templates/assets/permissions/panel.html:211
#: streetup/assets/templates/assets/permissions/type_page.html:71
#: streetup/assets/templates/assets/permissions/type_page.html:157
#: streetup/assets/templates/assets/permissions/type_page.html:238
#: streetup/assets/templates/assets/permissions/type_page.html:360
msgid "Modifier"
msgstr "Bewerken"
#: streetup/assets/templates/assets/permissions/panel.html:71
msgid "Champs"
msgstr "Velden"
@ -5917,6 +5985,17 @@ msgstr "Gebruiker vereist."
msgid "Utilisateur introuvable."
msgstr "Gebruiker niet gevonden."
#: streetup/assets/views/buildings.py:253
#, fuzzy
#| msgid "Vous n'avez pas la permission de modifier cet asset"
msgid "Vous n'avez pas la permission de modifier ce bâtiment."
msgstr "Je hebt geen toestemming om dit asset te bewerken"
#: streetup/assets/views/buildings.py:259
#, python-format
msgid "Le bâtiment '%s' a été mis à jour avec succès."
msgstr ""
#: streetup/assets/views/clean.py:259
msgid "Locations"
msgstr "Locaties"
@ -6361,6 +6440,9 @@ msgstr ""
msgid "Aucune localisation GIEP trouvée à proximité"
msgstr "Geen locatie gevonden."
#~ msgid "Modifier dans l'admin"
#~ msgstr "Bewerken in admin"
#, fuzzy
#~| msgid "Changer le modèle"
#~ msgid "Charger le plan"

View file

@ -19,10 +19,12 @@
<li class="breadcrumb-item active" aria-current="page">{{ building.code }}</li>
</ol>
</nav>
<div>
<a href="{% url 'admin:assets_publicbuilding_change' building.pk %}" class="btn btn-outline-secondary btn-sm">
<i class="bi bi-pencil me-1"></i>{% translate "Modifier dans l'admin" %}
</a>
<div class="d-flex gap-2">
{% if can_edit %}
<a href="{% url 'assets:publicbuilding_edit' building.pk %}" class="btn btn-primary btn-sm">
<i class="bi bi-pencil me-1"></i>{% translate "Modifier" %}
</a>
{% endif %}
<a href="{% url 'assets:buildings_index' %}" class="btn btn-secondary btn-sm">
<i class="bi bi-arrow-left me-1"></i>{% translate "Retour à la liste" %}
</a>
@ -104,7 +106,7 @@
</tr>
<tr>
<th class="text-muted">{% translate "Gestionnaire référent" %} :</th>
<td>{{ building.manager.get_full_name|default:building.manager.username|default:"-" }}</td>
<td>{% if building.manager %}{{ building.manager.get_full_name|default:building.manager.username }}{% else %}-{% endif %}</td>
</tr>
<tr>
<th class="text-muted">{% translate "Service occupant" %} :</th>

View file

@ -0,0 +1,259 @@
{% extends "base.html" %}
{% load static i18n %}
{% block title %}{% translate "Modifier le bâtiment" %} {{ building.code }} | StreetUp{% endblock %}
{% block content %}
<div class="container py-4">
<!-- Breadcrumb & Title -->
<div class="d-flex justify-content-between align-items-center mb-4">
<div>
<nav aria-label="breadcrumb">
<ol class="breadcrumb mb-1">
<li class="breadcrumb-item"><a href="{% url 'assets:buildings_index' %}">{% translate "Bâtiments publics" %}</a></li>
<li class="breadcrumb-item"><a href="{% url 'assets:publicbuilding_detail' building.pk %}">{{ building.code }}</a></li>
<li class="breadcrumb-item active" aria-current="page">{% translate "Modifier" %}</li>
</ol>
</nav>
<h1 class="h3 mb-0">
<i class="bi bi-pencil-square text-primary me-2"></i>{% translate "Modifier le bâtiment" %} {{ building.code }}
</h1>
</div>
<div>
<a href="{% url 'assets:publicbuilding_detail' building.pk %}" class="btn btn-outline-secondary">
<i class="bi bi-arrow-left me-1"></i>{% translate "Annuler" %}
</a>
</div>
</div>
<form method="post" action="" class="needs-validation" novalidate>
{% csrf_token %}
{% if form.errors %}
<div class="alert alert-danger alert-dismissible fade show mb-4" role="alert">
<i class="bi bi-exclamation-triangle-fill me-2"></i>
<strong>{% translate "Certains champs contiennent des erreurs." %}</strong> {% translate "Veuillez vérifier les informations ci-dessous." %}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endif %}
<!-- Card 1: Identités & Localisation -->
<div class="card shadow-sm mb-4">
<div class="card-header bg-light fw-bold">
<i class="bi bi-info-circle me-2"></i>{% translate "Informations générales" %}
</div>
<div class="card-body">
<div class="row g-3">
<div class="col-md-4">
<label for="{{ form.code.id_for_label }}" class="form-label fw-semibold">{% translate "Code du bâtiment" %} <span class="text-danger">*</span></label>
{{ form.code }}
{% if form.code.errors %}<div class="text-danger small mt-1">{{ form.code.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-4">
<label for="{{ form.name_fr.id_for_label }}" class="form-label fw-semibold">{% translate "Nom (FR)" %}</label>
{{ form.name_fr }}
{% if form.name_fr.errors %}<div class="text-danger small mt-1">{{ form.name_fr.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-4">
<label for="{{ form.name_nl.id_for_label }}" class="form-label fw-semibold">{% translate "Nom (NL)" %}</label>
{{ form.name_nl }}
{% if form.name_nl.errors %}<div class="text-danger small mt-1">{{ form.name_nl.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-12">
<label for="{{ form.address.id_for_label }}" class="form-label fw-semibold">{% translate "Adresse complète" %}</label>
{{ form.address }}
{% if form.address.errors %}<div class="text-danger small mt-1">{{ form.address.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-12">
<label for="{{ form.description.id_for_label }}" class="form-label fw-semibold">{% translate "Description" %}</label>
{{ form.description }}
{% if form.description.errors %}<div class="text-danger small mt-1">{{ form.description.errors.0 }}</div>{% endif %}
</div>
</div>
</div>
</div>
<!-- Card 2: Propriété & Gestion -->
<div class="card shadow-sm mb-4">
<div class="card-header bg-light fw-bold">
<i class="bi bi-person-badge me-2"></i>{% translate "Propriété & Gestion" %}
</div>
<div class="card-body">
<div class="row g-3">
<div class="col-md-4">
<label for="{{ form.owner.id_for_label }}" class="form-label fw-semibold">{% translate "Propriétaire" %}</label>
{{ form.owner }}
{% if form.owner.errors %}<div class="text-danger small mt-1">{{ form.owner.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-4">
<label for="{{ form.manager.id_for_label }}" class="form-label fw-semibold">{% translate "Gestionnaire référent" %}</label>
{{ form.manager }}
{% if form.manager.errors %}<div class="text-danger small mt-1">{{ form.manager.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-4">
<label for="{{ form.occupant_entity.id_for_label }}" class="form-label fw-semibold">{% translate "Direction / Service occupant" %}</label>
{{ form.occupant_entity }}
{% if form.occupant_entity.errors %}<div class="text-danger small mt-1">{{ form.occupant_entity.errors.0 }}</div>{% endif %}
</div>
</div>
</div>
</div>
<!-- Card 3: Usage & Caractéristiques physiques -->
<div class="card shadow-sm mb-4">
<div class="card-header bg-light fw-bold">
<i class="bi bi-building-gear me-2"></i>{% translate "Usage & Caractéristiques physiques" %}
</div>
<div class="card-body">
<div class="row g-3">
<div class="col-md-6">
<label for="{{ form.usage_type.id_for_label }}" class="form-label fw-semibold">{% translate "Type d'usage principal" %}</label>
{{ form.usage_type }}
{% if form.usage_type.errors %}<div class="text-danger small mt-1">{{ form.usage_type.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-6">
<label for="{{ form.building_status.id_for_label }}" class="form-label fw-semibold">{% translate "Statut d'occupation" %}</label>
{{ form.building_status }}
{% if form.building_status.errors %}<div class="text-danger small mt-1">{{ form.building_status.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-4">
<label for="{{ form.construction_year.id_for_label }}" class="form-label fw-semibold">{% translate "Année de construction" %}</label>
{{ form.construction_year }}
{% if form.construction_year.errors %}<div class="text-danger small mt-1">{{ form.construction_year.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-4">
<label for="{{ form.floors_count.id_for_label }}" class="form-label fw-semibold">{% translate "Nombre d'étages hors-sol" %}</label>
{{ form.floors_count }}
{% if form.floors_count.errors %}<div class="text-danger small mt-1">{{ form.floors_count.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-4">
<label for="{{ form.basement_count.id_for_label }}" class="form-label fw-semibold">{% translate "Nombre de niveaux en sous-sol" %}</label>
{{ form.basement_count }}
{% if form.basement_count.errors %}<div class="text-danger small mt-1">{{ form.basement_count.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-6">
<label for="{{ form.total_surface_m2.id_for_label }}" class="form-label fw-semibold">{% translate "Surface brute totale (m²)" %}</label>
{{ form.total_surface_m2 }}
{% if form.total_surface_m2.errors %}<div class="text-danger small mt-1">{{ form.total_surface_m2.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-6">
<label for="{{ form.usable_surface_m2.id_for_label }}" class="form-label fw-semibold">{% translate "Surface utile (m²)" %}</label>
{{ form.usable_surface_m2 }}
{% if form.usable_surface_m2.errors %}<div class="text-danger small mt-1">{{ form.usable_surface_m2.errors.0 }}</div>{% endif %}
</div>
</div>
</div>
</div>
<!-- Card 4: Réglementation & Accueil du Public (ERP / PMR) -->
<div class="card shadow-sm mb-4">
<div class="card-header bg-light fw-bold">
<i class="bi bi-shield-check me-2"></i>{% translate "Accueil & Sécurité du Public (ERP / PMR)" %}
</div>
<div class="card-body">
<div class="row g-3">
<div class="col-md-6 d-flex align-items-center">
<div class="form-check mt-3">
{{ form.is_erp }}
<label for="{{ form.is_erp.id_for_label }}" class="form-check-label fw-semibold">
{% translate "Bâtiment recevant du public (ERP / PMR)" %}
</label>
</div>
</div>
<div class="col-md-6 d-flex align-items-center">
<div class="form-check mt-3">
{{ form.pmr_accessible }}
<label for="{{ form.pmr_accessible.id_for_label }}" class="form-check-label fw-semibold">
{% translate "Accessible PMR" %}
</label>
</div>
</div>
<div class="col-md-4">
<label for="{{ form.erp_category.id_for_label }}" class="form-label fw-semibold">{% translate "Catégorie d'accueil / ERP" %}</label>
{{ form.erp_category }}
{% if form.erp_category.errors %}<div class="text-danger small mt-1">{{ form.erp_category.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-4">
<label for="{{ form.erp_type.id_for_label }}" class="form-label fw-semibold">{% translate "Type d'établissement / ERP" %}</label>
{{ form.erp_type }}
{% if form.erp_type.errors %}<div class="text-danger small mt-1">{{ form.erp_type.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-4">
<label for="{{ form.max_capacity.id_for_label }}" class="form-label fw-semibold">{% translate "Jauge maximale d'accueil du public" %}</label>
{{ form.max_capacity }}
{% if form.max_capacity.errors %}<div class="text-danger small mt-1">{{ form.max_capacity.errors.0 }}</div>{% endif %}
</div>
</div>
</div>
</div>
<!-- Card 5: Diagnostics & Énergie -->
<div class="card shadow-sm mb-4">
<div class="card-header bg-light fw-bold">
<i class="bi bi-lightning-charge me-2"></i>{% translate "Diagnostics & Énergie" %}
</div>
<div class="card-body">
<div class="row g-3">
<div class="col-md-6">
<label for="{{ form.dpe_rating.id_for_label }}" class="form-label fw-semibold">{% translate "Performance Énergétique (PEB / DPE / EPC)" %}</label>
{{ form.dpe_rating }}
{% if form.dpe_rating.errors %}<div class="text-danger small mt-1">{{ form.dpe_rating.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-6">
<label for="{{ form.ges_rating.id_for_label }}" class="form-label fw-semibold">{% translate "Émissions de Carbone & GES" %}</label>
{{ form.ges_rating }}
{% if form.ges_rating.errors %}<div class="text-danger small mt-1">{{ form.ges_rating.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-6 d-flex align-items-center">
<div class="form-check mt-2">
{{ form.has_asbestos_diag }}
<label for="{{ form.has_asbestos_diag.id_for_label }}" class="form-check-label fw-semibold">
{% translate "Diagnostic Amiante réalisé" %}
</label>
</div>
</div>
<div class="col-md-6 d-flex align-items-center">
<div class="form-check mt-2">
{{ form.has_lead_diag }}
<label for="{{ form.has_lead_diag.id_for_label }}" class="form-check-label fw-semibold">
{% translate "Diagnostic Plomb réalisé" %}
</label>
</div>
</div>
</div>
</div>
</div>
<!-- Card 6: Géolocalisation (Coordonnées) -->
<div class="card shadow-sm mb-4">
<div class="card-header bg-light fw-bold">
<i class="bi bi-geo-alt me-2"></i>{% translate "Coordonnées géographiques (GPS WGS84)" %}
</div>
<div class="card-body">
<div class="row g-3">
<div class="col-md-6">
<label for="{{ form.lat.id_for_label }}" class="form-label fw-semibold">{% translate "Latitude" %}</label>
{{ form.lat }}
{% if form.lat.errors %}<div class="text-danger small mt-1">{{ form.lat.errors.0 }}</div>{% endif %}
</div>
<div class="col-md-6">
<label for="{{ form.lon.id_for_label }}" class="form-label fw-semibold">{% translate "Longitude" %}</label>
{{ form.lon }}
{% if form.lon.errors %}<div class="text-danger small mt-1">{{ form.lon.errors.0 }}</div>{% endif %}
</div>
</div>
</div>
</div>
<!-- Form Submit & Cancel -->
<div class="d-flex justify-content-end gap-2 mb-5">
<a href="{% url 'assets:publicbuilding_detail' building.pk %}" class="btn btn-secondary px-4">
<i class="bi bi-x-lg me-1"></i>{% translate "Annuler" %}
</a>
<button type="submit" class="btn btn-primary px-4">
<i class="bi bi-check-circle me-1"></i>{% translate "Enregistrer les modifications" %}
</button>
</div>
</form>
</div>
{% endblock %}

View file

@ -128,9 +128,11 @@
<a href="{% url 'assets:publicbuilding_detail' b.pk %}" class="btn btn-sm btn-outline-primary" title="{% translate 'Voir détails' %}">
<i class="bi bi-eye"></i>
</a>
<a href="{% url 'admin:assets_publicbuilding_change' b.pk %}" class="btn btn-sm btn-outline-secondary" title="{% translate 'Éditer' %}">
<i class="bi bi-pencil"></i>
</a>
{% if b.can_edit %}
<a href="{% url 'assets:publicbuilding_edit' b.pk %}" class="btn btn-sm btn-outline-secondary" title="{% translate 'Éditer' %}">
<i class="bi bi-pencil"></i>
</a>
{% endif %}
</td>
</tr>
{% empty %}

View file

@ -2434,6 +2434,74 @@ class PublicBuildingTestCase(TestCase):
self.assertEqual(eq.equipment_type, "hvac")
class PublicBuildingEditViewTest(TestCase):
def setUp(self):
self.thematic = Thematic.objects.create(
code="publicbuildings",
name_fr="Bâtiments Publics",
name_nl="Openbare Gebouwen"
)
self.building = PublicBuilding.objects.create(
code="BAT-999",
name_fr="Bâtiment de Test",
owner="Commune Test"
)
# User without edit permissions
self.viewer_user = User.objects.create_user(username="viewer", password="password123")
self.viewer_config = UserConfig.objects.create(user=self.viewer_user)
UserThematics.objects.create(
user_config=self.viewer_config,
thematic=self.thematic,
can_view_assets=True,
can_edit_assets=False
)
# User with edit permissions
self.editor_user = User.objects.create_user(username="editor", password="password123")
self.editor_config = UserConfig.objects.create(user=self.editor_user)
UserThematics.objects.create(
user_config=self.editor_config,
thematic=self.thematic,
can_view_assets=True,
can_edit_assets=True
)
def test_publicbuilding_edit_permission_denied_for_viewer(self):
self.client.login(username="viewer", password="password123")
url = reverse('assets:publicbuilding_edit', kwargs={'pk': self.building.pk})
response = self.client.get(url)
self.assertEqual(response.status_code, 403)
def test_publicbuilding_edit_allowed_for_editor(self):
self.client.login(username="editor", password="password123")
url = reverse('assets:publicbuilding_edit', kwargs={'pk': self.building.pk})
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
self.assertContains(response, "BAT-999")
def test_publicbuilding_edit_post_updates_building(self):
self.client.login(username="editor", password="password123")
url = reverse('assets:publicbuilding_edit', kwargs={'pk': self.building.pk})
post_data = {
'code': 'BAT-999',
'name_fr': 'Bâtiment Modifié',
'name_nl': 'Gewijzigd Gebouw',
'address': 'Rue du Test 123',
'owner': 'Nouveau Propriétaire',
'usage_type': 'administrative',
'building_status': 'in_service',
'is_erp': True,
}
response = self.client.post(url, post_data)
self.assertRedirects(response, reverse('assets:publicbuilding_detail', kwargs={'pk': self.building.pk}))
self.building.refresh_from_db()
self.assertEqual(self.building.name_fr, 'Bâtiment Modifié')
self.assertEqual(self.building.address, 'Rue du Test 123')
self.assertEqual(self.building.owner, 'Nouveau Propriétaire')

View file

@ -7,6 +7,7 @@ urlpatterns = [
path("", core.unified_assets_index, name="index"),
path("buildings/", buildings.buildings_index, name="buildings_index"),
path("buildings/<int:pk>/", buildings.building_detail, name="publicbuilding_detail"),
path("buildings/<int:pk>/edit/", buildings.publicbuilding_edit, name="publicbuilding_edit"),
path("buildings/<str:asset_model>/<int:asset_id>/", buildings.publicbuildings_assets_detail, name="publicbuildings_assets_detail"),
path("export/", export.export_assets, name="export_assets"),

View file

@ -1,14 +1,17 @@
import json
from django.shortcuts import render, get_object_or_404, redirect
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.db.models import Q, F
from django.http import JsonResponse
from django.http import JsonResponse, HttpResponseForbidden
from django.urls import reverse
from django.utils.translation import gettext as _, get_language
from django.contrib.gis.geos import GEOSGeometry
from common.models import UserThematics
from common.utils import check_thematic_access
from common.utils import check_thematic_access, get_regional_terms
from assets.permissions import can_edit_asset
from assets.forms import PublicBuildingForm
from assets.models.buildings import (
PublicBuilding, BuildingLevel, BuildingRoom, BuildingEquipment, PublicBuildingDocument,
USAGE_TYPE_CHOICES, BUILDING_STATUS_CHOICES, DPE_RATING_CHOICES, ERP_CATEGORY_CHOICES
@ -165,8 +168,13 @@ def buildings_index(request):
if dpe_filter:
buildings = buildings.filter(dpe_rating=dpe_filter)
building_list = []
for b in buildings:
b.can_edit = can_edit_asset(request.user, b)
building_list.append(b)
context = {
'buildings': buildings,
'buildings': building_list,
'search_query': search_query,
'usage_type_choices': USAGE_TYPE_CHOICES,
'building_status_choices': BUILDING_STATUS_CHOICES,
@ -190,6 +198,9 @@ def building_detail(request, pk):
from interventions.permissions import filter_viewable_interventions_for_user
building = get_object_or_404(PublicBuilding, pk=pk)
can_edit = can_edit_asset(request.user, building)
regional_terms = get_regional_terms(getattr(building, '_regional_standard', 'BE'))
levels = building.levels.all().prefetch_related('rooms')
rooms = building.rooms.all()
equipments = building.equipments.all()
@ -216,6 +227,8 @@ def building_detail(request, pk):
context = {
'building': building,
'can_edit': can_edit,
'regional_terms': regional_terms,
'levels': levels,
'rooms': rooms,
'equipments': equipments,
@ -229,6 +242,35 @@ def building_detail(request, pk):
return render(request, 'assets/buildings/publicbuilding_detail.html', context)
@login_required
def publicbuilding_edit(request, pk):
"""
Vue d'édition d'un Bâtiment Public réservée aux utilisateurs autorisés.
"""
building = get_object_or_404(PublicBuilding, pk=pk)
if not can_edit_asset(request.user, building):
return HttpResponseForbidden(_("Vous n'avez pas la permission de modifier ce bâtiment."))
if request.method == 'POST':
form = PublicBuildingForm(request.POST, instance=building)
if form.is_valid():
saved_building = form.save()
messages.success(request, _("Le bâtiment '%s' a été mis à jour avec succès.") % saved_building.code)
return redirect('assets:publicbuilding_detail', pk=saved_building.pk)
else:
form = PublicBuildingForm(instance=building)
regional_terms = get_regional_terms(getattr(building, '_regional_standard', 'BE'))
context = {
'building': building,
'form': form,
'regional_terms': regional_terms,
}
return render(request, 'assets/buildings/publicbuilding_form.html', context)
@login_required
def publicbuildings_assets_detail(request, asset_model, asset_id):
"""