diff --git a/planning/models.py b/planning/models.py
index 8619304..66852fe 100644
--- a/planning/models.py
+++ b/planning/models.py
@@ -22,3 +22,11 @@ class Room(models.Model):
def get_absolute_url(self):
return reverse('list-rooms')
+
+ @property
+ def talks_by_date(self):
+ return self.talk_set.filter(start_date__isnull=False).order_by('start_date').all()
+
+ @property
+ def unscheduled_talks(self):
+ return self.talk_set.filter(start_date__isnull=True).all()
diff --git a/planning/templates/planning/room_detail.html b/planning/templates/planning/room_detail.html
new file mode 100644
index 0000000..5c64cc6
--- /dev/null
+++ b/planning/templates/planning/room_detail.html
@@ -0,0 +1,31 @@
+{% extends 'base.html' %}
+
+{% load i18n %}
+
+{% block planningtab %} class="active"{% endblock %}
+
+{% block content %}
+
+
{% for room in room_list %}
-
{{ room }}
+
{% if room.label %}
{{ room.label }}
{% endif %}
{{ room.capacity }} {% trans "place" %}{{ room.capacity|pluralize }}
{% if request|staff %}
|
{{ room.talk_set.count }} {% trans "talk" %}{{ room.talk_set.count|pluralize }}
+ {% if request|orga %}
|
{% bootstrap_icon "pencil" %}
{% endif %}
+ {% endif %}
{% cycle '' '
' %}
diff --git a/planning/urls.py b/planning/urls.py
index dcb1cdb..87add48 100644
--- a/planning/urls.py
+++ b/planning/urls.py
@@ -6,5 +6,6 @@ from planning import views
urlpatterns = [
url(r'^room/$', views.RoomList.as_view(), name='list-rooms'),
url(r'^room/add/$', views.RoomCreate.as_view(), name='add-room'),
+ url(r'^room/(?P
[-\w]+)/$', views.RoomDetail.as_view(), name='show-room'),
url(r'^room/(?P[-\w]+)/edit/$', views.RoomUpdate.as_view(), name='edit-room'),
]
diff --git a/planning/views.py b/planning/views.py
index f876701..5ddc752 100644
--- a/planning/views.py
+++ b/planning/views.py
@@ -2,7 +2,7 @@ from django.shortcuts import render
from django.contrib.sites.shortcuts import get_current_site
from django.views.generic import CreateView, DetailView, ListView, UpdateView
-from accounts.mixins import OrgaRequiredMixin
+from accounts.mixins import OrgaRequiredMixin, StaffRequiredMixin
from proposals.mixins import OnSiteFormMixin
from .models import Room
@@ -18,7 +18,7 @@ class RoomFormMixin(OnSiteFormMixin):
form_class = RoomForm
-class RoomList(OrgaRequiredMixin, RoomMixin, ListView):
+class RoomList(StaffRequiredMixin, RoomMixin, ListView):
pass
@@ -27,3 +27,6 @@ class RoomCreate(OrgaRequiredMixin, RoomMixin, RoomFormMixin, CreateView):
class RoomUpdate(OrgaRequiredMixin, RoomMixin, RoomFormMixin, UpdateView):
pass
+
+class RoomDetail(StaffRequiredMixin, RoomMixin, DetailView):
+ pass