From 658450a22a81925a84cc94226aeb48b7e3da7470 Mon Sep 17 00:00:00 2001 From: yomguy Date: Mon, 26 Nov 2012 23:20:06 +0100 Subject: [PATCH] add seminar doc templates --- teleforma/models/core.py | 4 +- teleforma/models/pro.py | 32 ++++------ .../teleforma/inc/document_simple_list.html | 25 ++++++++ .../teleforma/inc/media_package_list.html | 51 +++++++++++++++ .../teleforma/inc/question_list.html | 51 +++++++++++++++ .../templates/teleforma/seminar_detail.html | 62 ++++++------------- teleforma/templates/teleforma/seminars.html | 15 +++-- teleforma/urls.py | 3 +- teleforma/views/pro.py | 19 +++--- 9 files changed, 180 insertions(+), 82 deletions(-) create mode 100644 teleforma/templates/teleforma/inc/document_simple_list.html create mode 100644 teleforma/templates/teleforma/inc/media_package_list.html create mode 100644 teleforma/templates/teleforma/inc/question_list.html diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 3eb718bb..eed12aaa 100644 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -454,7 +454,7 @@ class DocumentSimple(MediaBase): readers = ManyToManyField(User, related_name="document_simple", verbose_name=_('readers'), blank=True, null=True) rank = models.IntegerField(_('rank'), blank=True, null=True) - + def is_image(self): is_url_image = False if self.url: @@ -477,7 +477,7 @@ class DocumentSimple(MediaBase): class Meta(MetaCore): db_table = app_label + '_' + 'document_simple' - ordering = ['-date_added'] + ordering = ['rank'] diff --git a/teleforma/models/pro.py b/teleforma/models/pro.py index 68a385c8..bea2fbce 100644 --- a/teleforma/models/pro.py +++ b/teleforma/models/pro.py @@ -126,15 +126,27 @@ class Seminar(models.Model): def __unicode__(self): return ' - '.join([self.course.title, str(self.rank), self.title]) + @property + def scenario(self): + self.steps = [] + self.steps.append(self.doc_1) + self.steps.append(self.media) + self.steps.append(self.doc_2) + self.steps.append(self.question) + self.steps.append(self.doc_correct) + self.steps.append(self.testimonial) + return self.steps + class Meta(MetaCore): db_table = app_label + '_' + 'seminar' verbose_name = _('Seminar') + ordering = ['rank'] class Question(models.Model): element_type = 'question' - + seminar = models.ForeignKey(Seminar, related_name="question", verbose_name=_('seminar')) title = models.CharField(_('title'), max_length=255, blank=True) description = models.CharField(_('description'), max_length=1024, blank=True) @@ -218,24 +230,6 @@ class Evaluation(models.Model): verbose_name = _('Evaluation') -class SeminarScenario1(): - - def __init__(self, seminar): - self.seminar = seminar - self.steps = [] - - self.append(self.seminar.doc_1) - self.append(self.seminar.media) - self.append(self.seminar.doc_2) - self.append(self.seminar.question) - self.append(self.seminar.doc_correct) - self.steps.append(self.seminar.evaluation.all()[0]) - self.append(self.seminar.testimonial) - - def append(self, models): - for mod in models.all().order_by('rank'): - self.steps.append(mod) - class Auditor(models.Model): diff --git a/teleforma/templates/teleforma/inc/document_simple_list.html b/teleforma/templates/teleforma/inc/document_simple_list.html new file mode 100644 index 00000000..c289271b --- /dev/null +++ b/teleforma/templates/teleforma/inc/document_simple_list.html @@ -0,0 +1,25 @@ +{% load teleforma_tags %} +{% load i18n %} + +
+ +
+

{% trans "Documents"%}

+
+ + +{{ doc_type }} + + + {% for doc in docs %} + + + + + + {% endfor %} + +
{% if doc.file %}{% endif %} {{ doc.title }}{% if doc.file %}{% endif %}{{ doc.date_modified }}{% if doc.file %}{% endif %}
+ +
+ diff --git a/teleforma/templates/teleforma/inc/media_package_list.html b/teleforma/templates/teleforma/inc/media_package_list.html new file mode 100644 index 00000000..57840dc4 --- /dev/null +++ b/teleforma/templates/teleforma/inc/media_package_list.html @@ -0,0 +1,51 @@ +{% load teleforma_tags %} +{% load i18n %} + +{% with course.conference.all|from_course_type:type as conferences %} +{% if conferences %} +
+
+

{% trans "Live conferences"%}

+
+ + + {% for conference in conferences|from_periods:periods %} + {% for stream in conference.livestream.all %} + {% if stream.stream_type == 'webm' %} + + {% if stream.streaming %} + + + + {% else %} +
+ +
+ {% endif %} + + {% endif %} + {% endfor %} + {% endfor %} + +
+ + {% trans 'Click here' %} + + +
+
+
{% trans "Title" %}
{{ stream.conference.course.title }}
+
{% trans "Session" %}
{{ stream.conference.session }}
+
{% trans "Professor" %}
{{ stream.conference.professor }}
+
{% trans "Begin" %}
{{ stream.conference.date_begin }}
+
+
+
+ {% if stream.streaming %} + + + {% endif %} +
+
+{% endif %} +{% endwith %} \ No newline at end of file diff --git a/teleforma/templates/teleforma/inc/question_list.html b/teleforma/templates/teleforma/inc/question_list.html new file mode 100644 index 00000000..57840dc4 --- /dev/null +++ b/teleforma/templates/teleforma/inc/question_list.html @@ -0,0 +1,51 @@ +{% load teleforma_tags %} +{% load i18n %} + +{% with course.conference.all|from_course_type:type as conferences %} +{% if conferences %} +
+
+

{% trans "Live conferences"%}

+
+ + + {% for conference in conferences|from_periods:periods %} + {% for stream in conference.livestream.all %} + {% if stream.stream_type == 'webm' %} + + {% if stream.streaming %} + + + + {% else %} +
+ +
+ {% endif %} + + {% endif %} + {% endfor %} + {% endfor %} + +
+ + {% trans 'Click here' %} + + +
+
+
{% trans "Title" %}
{{ stream.conference.course.title }}
+
{% trans "Session" %}
{{ stream.conference.session }}
+
{% trans "Professor" %}
{{ stream.conference.professor }}
+
{% trans "Begin" %}
{{ stream.conference.date_begin }}
+
+
+
+ {% if stream.streaming %} + + + {% endif %} +
+
+{% endif %} +{% endwith %} \ No newline at end of file diff --git a/teleforma/templates/teleforma/seminar_detail.html b/teleforma/templates/teleforma/seminar_detail.html index 61fcde74..b0a9f436 100644 --- a/teleforma/templates/teleforma/seminar_detail.html +++ b/teleforma/templates/teleforma/seminar_detail.html @@ -1,56 +1,30 @@ -{% extends "teleforma/courses.html" %} +{% extends "teleforma/seminars.html" %} {% load i18n %} -{% block extra_javascript %} - -{% endblock extra_javascript %} -{% block courses %} -{% for c in all_courses %} - {% with c.course as course %} -
  • {{ course.title }}
  • - {% endwith %} - {% endfor %} -{% endblock courses %} {% block course %}
    - {% for c in courses %} - {% with c.course as course %} - {% for type in c.types %}
    -
    {{ course.title }}{% if type.name != "None" %} - {{ type }}{% endif %}{% if course.description %} - {{ course.description }}{% endif %} + - {% 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 %} + {% for step in seminar.steps %} + + {% if step.element_type == 'document_simple' %} + {% include "teleforma/inc/document_simple_list.html" %} + + {% elif step.element_type == 'media_package' %} + {% include "teleforma/inc/media_package_list.html" % + + {% elif step.element_type == 'question' %} + {% include "teleforma/inc/question_list.html" %} + + {% endif %} + {% endfor %} + +
    {% endblock course %} -{% block chat %} -{% if room %} -{% with "General tweeter" as title %} -{% include "teleforma/inc/chat_room.html" %} -{% endwith %} -{% endif %} -{% endblock chat %} \ No newline at end of file diff --git a/teleforma/templates/teleforma/seminars.html b/teleforma/templates/teleforma/seminars.html index acbd28b5..e133937a 100644 --- a/teleforma/templates/teleforma/seminars.html +++ b/teleforma/templates/teleforma/seminars.html @@ -15,7 +15,7 @@