From b6b9cb2c96978c321841b8e94fbcb0a93c4b838f Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Thu, 4 Jul 2013 22:58:17 +0200 Subject: [PATCH] update desk to always handle periods --- teleforma/templates/teleforma/annals.html | 2 +- .../templates/teleforma/conferences.html | 119 ------------------ .../teleforma/course_conference.html | 4 +- .../teleforma/course_conference_audio.html | 2 +- .../templates/teleforma/course_detail.html | 2 +- .../templates/teleforma/course_media.html | 4 +- teleforma/templates/teleforma/courses.html | 6 +- .../templates/teleforma/inc/media_list.html | 2 +- teleforma/templates/telemeta/base.html | 4 +- .../templates/telemeta/profile_detail.html | 6 +- teleforma/urls.py | 31 ++--- teleforma/views/core.py | 18 ++- 12 files changed, 45 insertions(+), 155 deletions(-) delete mode 100644 teleforma/templates/teleforma/conferences.html diff --git a/teleforma/templates/teleforma/annals.html b/teleforma/templates/teleforma/annals.html index 23308c4f..2e0c8f5b 100644 --- a/teleforma/templates/teleforma/annals.html +++ b/teleforma/templates/teleforma/annals.html @@ -12,7 +12,7 @@
-

playlists{% trans "My courses" %}

+

playlists{% trans "My courses" %}

    {% block courses %} diff --git a/teleforma/templates/teleforma/conferences.html b/teleforma/templates/teleforma/conferences.html deleted file mode 100644 index 94e8472d..00000000 --- a/teleforma/templates/teleforma/conferences.html +++ /dev/null @@ -1,119 +0,0 @@ -{% extends "telemeta/base.html" %} -{% load teleforma_tags %} -{% load telemeta_utils %} -{% load i18n %} - - -{% block extra_javascript %} -{% endblock extra_javascript %} - - -{% block content %} - -
    - -{% block modules %} -
    - -

    playlists{% trans "My courses" %}

    -
    -
      -{% block courses %} -{% for c in all_courses %} - {% with c.course as course %} -
    • {{ course.title }}
    • - {% endwith %} - {% endfor %} -{% endblock courses %} -
    -
    -
    - -{% block module-action %} -{% get_telecaster as telecaster %} -{% if telecaster %} - -{% endif %} -{% endblock module-action %} - -{% block notes %} - -{% endblock notes %} - -
    -{% endblock modules %} - - -{% block course %} -
    - {% for c in object_list %} - {% with c.course as course %} - {% for type in c.types %} -
    - - - {% block conference %} - {% include "teleforma/inc/conference_list.html" %} - {% endblock %} - - {% block media %} - {% include "teleforma/inc/media_list.html" %} - {% endblock %} - - {% block document %} - {% with forloop.counter as type_counter %} - {% include "teleforma/inc/document_list.html" %} - {% endwith %} - {% endblock %} - -
    - {% endfor %} - {% endwith %} - {% endfor %} -
    -{% endblock course %} - - -
    - -{% block status %} -{% get_telecaster as telecaster %} -{% if telecaster %} -
    -

    status {% trans "Status" %}

    -
    -
    - - -{% endif %} -{% endblock status %} - -{% block chat %} -{% if room %} -{% with "General tweeter" as title %} -{% include "teleforma/inc/chat_room.html" %} -{% endwith %} -{% endif %} -{% endblock chat %} - -
    - -{% endblock content %} diff --git a/teleforma/templates/teleforma/course_conference.html b/teleforma/templates/teleforma/course_conference.html index 0cfc6b37..a5120265 100644 --- a/teleforma/templates/teleforma/course_conference.html +++ b/teleforma/templates/teleforma/course_conference.html @@ -37,7 +37,7 @@  {% trans "Audio" %}
-{{ course.title }} - {{ type }} - {% trans "Session" %} {{ conference.session }} +{{ course.title }} - {{ type }} - {% trans "Session" %} {{ conference.session }}
@@ -67,7 +67,7 @@
{% if conference.professor %} -
{% trans "Course" %}
{{ conference.course.title }} - {{ conference.course_type }}
+
{% trans "Course" %}
{{ conference.course.title }} - {{ conference.course_type }}
{% trans "Session" %}
{{ conference.session }}
{% trans "Professor" %}
{{ conference.professor }}
diff --git a/teleforma/templates/teleforma/course_conference_audio.html b/teleforma/templates/teleforma/course_conference_audio.html index a2995f30..bc9692a4 100644 --- a/teleforma/templates/teleforma/course_conference_audio.html +++ b/teleforma/templates/teleforma/course_conference_audio.html @@ -8,7 +8,7 @@ var conferenceUtils = { stop : function(id){ json([id],'teleforma.conference_stop',function(){ - location.href = '{% url teleforma-desk %}';}); + location.href = '{% url teleforma-home %}';}); }} jQuery(window).ready(function(){ diff --git a/teleforma/templates/teleforma/course_detail.html b/teleforma/templates/teleforma/course_detail.html index 60d58f6f..d6c94409 100644 --- a/teleforma/templates/teleforma/course_detail.html +++ b/teleforma/templates/teleforma/course_detail.html @@ -12,7 +12,7 @@ $(document).ready(function(){ {% block courses %} {% for c in all_courses %} {% with c.course as course %} -
  • {{ course.title }}
  • +
  • {{ course.title }}
  • {% endwith %} {% endfor %} {% endblock courses %} diff --git a/teleforma/templates/teleforma/course_media.html b/teleforma/templates/teleforma/course_media.html index c57eb0bc..92632182 100644 --- a/teleforma/templates/teleforma/course_media.html +++ b/teleforma/templates/teleforma/course_media.html @@ -83,7 +83,7 @@ $(document).ready(function(){ {% endif %}
    - {{ course.title }} - {{ type }}{% if media.conference.session %} - {% trans "Session" %} {{ media.conference.session }}{% endif %} + {{ course.title }} - {{ type }}{% if media.conference.session %} - {% trans "Session" %} {{ media.conference.session }}{% endif %} @@ -130,7 +130,7 @@ $(document).ready(function(){
    {% if media.conference %} -
    {% trans "Course" %}
    {{ media.course.title }} - {{ media.course_type }}
    +
    {% trans "Course" %}
    {{ media.course.title }} - {{ media.course_type }}
    {% trans "Session" %}
    {{ media.conference.session }}
    {% if media.conference.professor %}
    {% trans "Professor" %}
    diff --git a/teleforma/templates/teleforma/courses.html b/teleforma/templates/teleforma/courses.html index b28c41f7..dec2defb 100644 --- a/teleforma/templates/teleforma/courses.html +++ b/teleforma/templates/teleforma/courses.html @@ -20,13 +20,13 @@ $(document).ready(function(){ {% block modules %}
    -

    playlists{% trans "My courses" %}

    +

    playlists{% trans "My courses" %}

      {% block courses %} {% for c in all_courses %} {% with c.course as course %} -
    • {{ course.title }}
    • +
    • {{ course.title }}
    • {% endwith %} {% endfor %} {% endblock courses %} @@ -71,7 +71,7 @@ $(document).ready(function(){ {% for type in c.types %}
      {% block conference %} diff --git a/teleforma/templates/teleforma/inc/media_list.html b/teleforma/templates/teleforma/inc/media_list.html index bc1eb967..d5a2bbe6 100644 --- a/teleforma/templates/teleforma/inc/media_list.html +++ b/teleforma/templates/teleforma/inc/media_list.html @@ -10,7 +10,7 @@ {% for media in course.media.all|from_course_type:type|from_period:period %} - {% if media.is_published or user.is_staff %} + {% if media.is_published or user.is_staff and course_view %} {% if media.type == 'webm' %}
      diff --git a/teleforma/templates/telemeta/base.html b/teleforma/templates/telemeta/base.html index 7dd8c6a6..40585fcc 100644 --- a/teleforma/templates/telemeta/base.html +++ b/teleforma/templates/telemeta/base.html @@ -91,12 +91,12 @@ alt="logo" />
    •  {% trans "Desk" %} 
    • {% else %} -
    • {% trans "Desk" %}
    • +
    • {% trans "Desk" %}
    • {% endif %} {% else %} diff --git a/teleforma/templates/telemeta/profile_detail.html b/teleforma/templates/telemeta/profile_detail.html index 53bd0212..efb267a2 100644 --- a/teleforma/templates/telemeta/profile_detail.html +++ b/teleforma/templates/telemeta/profile_detail.html @@ -13,14 +13,14 @@ {% block modules %}
      -

      playlists{% if user.username != usr.username%}{% trans "His courses" %}{% else %}{% trans "My courses" %}{% endif %}

      +

      playlists{% if user.username != usr.username%}{% trans "His courses" %}{% else %}{% trans "My courses" %}{% endif %}

        {% block courses %} {% with usr|user_courses as courses %} {% for c in courses %} {% with c.course as course %} -
      • {{ course.title}} {{ course.type }}
      • +
      • {{ course.title}} {{ course.type }}
      • {% endwith %} {% endfor %} {% endwith %} @@ -60,7 +60,7 @@
        {% trans "Last Name" %}
        {{ usr.last_name }}
        {% trans "Username" %}
        {{ usr.username }}
        - {% if usr.student.get %} + {% if usr.crfpa_student.get %} {% if user.is_staff %}
        {% trans "IEJ" %}
        {{ usr.student.get.iej }}
        {% trans "Training" %}
        {{ usr.student.get.training }}
        diff --git a/teleforma/urls.py b/teleforma/urls.py index 6f2d7ace..d90f95e2 100644 --- a/teleforma/urls.py +++ b/teleforma/urls.py @@ -63,41 +63,44 @@ urlpatterns = patterns('', # Telemeta url(r'^', include('telemeta.urls')), - # Desk + # Desk (no periods) url(r'^desk/$', CoursesView.as_view(), name="teleforma-desk"), - url(r'^desk/periods/(?P.*)/$', PeriodView.as_view(), name="teleforma-desk-period"), - url(r'^desk/courses/(?P.*)/$', CourseView.as_view(), name="teleforma-course-detail"), + url(r'^desk/course/(?P.*)/list/$', CourseView.as_view(), name="teleforma-course-detail"), - url(r'^desk/medias/(?P.*)/detail/$', MediaView.as_view(), name="teleforma-media-detail"), - url(r'^desk/medias/(?P.*)/download/$', media.download, name="teleforma-media-download"), + # Desk (with periods) + url(r'^desk/period/(?P.*)/list/$', PeriodListView.as_view(), name="teleforma-desk-period-list"), + url(r'^desk/period/(?P.*)/course/(?P.*)/$', PeriodCourseView.as_view(), + name="teleforma-desk-period-course"), - url(r'^desk/documents/(?P.*)/detail/$', DocumentView.as_view(), + url(r'^desk/media/(?P.*)/detail/$', MediaView.as_view(), name="teleforma-media-detail"), + url(r'^desk/media/(?P.*)/download/$', media.download, name="teleforma-media-download"), + + url(r'^desk/document/(?P.*)/detail/$', DocumentView.as_view(), name="teleforma-document-detail"), - url(r'^desk/documents/(?P.*)/download/$', document.download, + url(r'^desk/document/(?P.*)/download/$', document.download, name="teleforma-document-download"), - url(r'^desk/documents/(?P.*)/view/$', document.view, + url(r'^desk/document/(?P.*)/view/$', document.view, name="teleforma-document-view"), url(r'^archives/annals/$', AnnalsView.as_view(), name="teleforma-annals"), url(r'^archives/annals/by-iej/(\w+)/$', AnnalsIEJView.as_view(), name="teleforma-annals-iej"), url(r'^archives/annals/by-course/(\w+)/$', AnnalsCourseView.as_view(), name="teleforma-annals-course"), - url(r'^desk/conferences/(?P.*)/video/$', - ConferenceView.as_view(), - name="teleforma-conference-detail"), - url(r'^desk/conferences/(?P.*)/audio/$', + url(r'^desk/conference/(?P.*)/video/$', + ConferenceView.as_view(), name="teleforma-conference-detail"), + url(r'^desk/conference/(?P.*)/audio/$', ConferenceView.as_view(template_name="teleforma/course_conference_audio.html"), name="teleforma-conference-audio"), url(r'^desk/conference_record/$', ConferenceRecordView.as_view(), name="teleforma-conference-record"), - url(r'^desk/conferences/$', ConferenceListView.as_view(), + url(r'^desk/conference/list/$', ConferenceListView.as_view(), name="teleforma-conferences"), # Postman url(r'^messages/', include('postman.urls')), # Users - url(r'^users/$', UsersView.as_view(), name="teleforma-users"), + url(r'^users/all/$', UsersView.as_view(), name="teleforma-users"), url(r'^users/(?P[A-Za-z0-9._-]+)/profile/$', profile_view.profile_detail, name="teleforma-profile-detail"), url(r'^users/(?P.*)/login/$', UserLoginView.as_view(), name="teleforma-user-login"), diff --git a/teleforma/views/core.py b/teleforma/views/core.py index d4508226..83c3cd78 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -180,10 +180,7 @@ class HomeRedirectView(View): def get(self, request): if request.user.is_authenticated(): periods = get_periods(request.user) - if len(periods) > 1: - return HttpResponseRedirect(reverse('teleforma-desk-period', kwargs={'period_id': periods[0].id})) - else: - return HttpResponseRedirect(reverse('teleforma-desk')) + return HttpResponseRedirect(reverse('teleforma-desk-period-list', kwargs={'period_id': periods[0].id})) else: return HttpResponseRedirect(reverse('teleforma-login')) @@ -207,6 +204,7 @@ class CourseView(DetailView): context['room'] = get_room(name=course.title, content_type=content_type, id=course.id) context['doc_types'] = DocumentType.objects.all() + context['course_view'] = True return context @method_decorator(login_required) @@ -214,6 +212,14 @@ class CourseView(DetailView): return super(CourseView, self).dispatch(*args, **kwargs) +class PeriodCourseView(CourseView): + + def get_context_data(self, **kwargs): + context = super(PeriodCourseView, self).get_context_data(**kwargs) + context['period'] = Period.objects.get(id=int(self.kwargs['period_id'])) + return context + + class CoursesView(ListView): model = Course @@ -237,7 +243,7 @@ class CoursesView(ListView): return super(CoursesView, self).dispatch(*args, **kwargs) -class PeriodView(CoursesView): +class PeriodListView(CoursesView): def get_queryset(self): self.period = Period.objects.get(id=int(self.kwargs['period_id'])) @@ -245,7 +251,7 @@ class PeriodView(CoursesView): return self.all_courses[:5] def get_context_data(self, **kwargs): - context = super(PeriodView, self).get_context_data(**kwargs) + context = super(PeriodListView, self).get_context_data(**kwargs) context['period'] = self.period return context -- 2.39.5