Browse Source

Fix room_name problem with building

residences2
detraz 7 years ago
parent
commit
87730a3ad2
  1. 8
      topologie/admin.py
  2. 9
      topologie/models.py
  3. 2
      topologie/templates/topologie/aff_dormitory.html

8
topologie/admin.py

@ -39,6 +39,7 @@ from .models import (
AccessPoint, AccessPoint,
SwitchBay, SwitchBay,
Building, Building,
Dormitory,
PortProfile, PortProfile,
) )
@ -87,6 +88,12 @@ class BuildingAdmin(VersionAdmin):
"""Administration d'un batiment""" """Administration d'un batiment"""
pass pass
class DormitoryAdmin(VersionAdmin):
"""Administration d'une residence"""
pass
class PortProfileAdmin(VersionAdmin): class PortProfileAdmin(VersionAdmin):
"""Administration of a port profile""" """Administration of a port profile"""
pass pass
@ -99,5 +106,6 @@ admin.site.register(Stack, StackAdmin)
admin.site.register(ModelSwitch, ModelSwitchAdmin) admin.site.register(ModelSwitch, ModelSwitchAdmin)
admin.site.register(ConstructorSwitch, ConstructorSwitchAdmin) admin.site.register(ConstructorSwitch, ConstructorSwitchAdmin)
admin.site.register(Building, BuildingAdmin) admin.site.register(Building, BuildingAdmin)
admin.site.register(Dormitory, DormitoryAdmin)
admin.site.register(SwitchBay, SwitchBayAdmin) admin.site.register(SwitchBay, SwitchBayAdmin)
admin.site.register(PortProfile, PortProfileAdmin) admin.site.register(PortProfile, PortProfileAdmin)

9
topologie/models.py

@ -558,6 +558,10 @@ class Building(AclMixin, RevMixin, models.Model):
"""Returns all ap of the building""" """Returns all ap of the building"""
return AccessPoint.all_ap_in(self) return AccessPoint.all_ap_in(self)
@cached_property
def cached_name(self):
return self.__str__()
def __str__(self): def __str__(self):
if Dormitory.objects.count() > 1: if Dormitory.objects.count() > 1:
return self.dormitory.name + " : " + self.name return self.dormitory.name + " : " + self.name
@ -749,10 +753,7 @@ class Room(AclMixin, RevMixin, models.Model):
unique_together = ('name', 'building') unique_together = ('name', 'building')
def __str__(self): def __str__(self):
if Dormitory.objects.count() > 1: return self.building.cached_name + self.name
return self.building.dormitory.name + " : " + self.building.name + self.name
else:
return self.building.name + self.name
class PortProfile(AclMixin, RevMixin, models.Model): class PortProfile(AclMixin, RevMixin, models.Model):

2
topologie/templates/topologie/aff_dormitory.html

@ -42,7 +42,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% for dormitory in dormitory_list %} {% for dormitory in dormitory_list %}
<tr> <tr>
<td>{{ dormitory.name }}</td> <td>{{ dormitory.name }}</td>
<td>{% for building in dormitory.building_set.all %} {{ building }} {% endfor %}</td> <td>{% for building in dormitory.building_set.all %} {{ building.name }} {% endfor %}</td>
<td class="text-right"> <td class="text-right">
{% can_edit dormitory %} {% can_edit dormitory %}
{% include 'buttons/edit.html' with href='topologie:edit-dormitory' id=dormitory.id %} {% include 'buttons/edit.html' with href='topologie:edit-dormitory' id=dormitory.id %}

Loading…
Cancel
Save