Nicer displaying of advanced lessons.
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Wed, 6 Feb 2013 14:35:13 +0000 (15:35 +0100)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Wed, 6 Feb 2013 14:35:13 +0000 (15:35 +0100)
catalogue/management/commands/importlessons.py
catalogue/models.py
catalogue/static/catalogue/css/layout.css
catalogue/static/catalogue/css/layout.scss
catalogue/static/catalogue/css/section_list.css
catalogue/static/catalogue/css/section_list.scss
catalogue/templates/catalogue/lesson_detail.html
catalogue/templates/catalogue/snippets/section_box.html

index 1d65d18..43823bb 100755 (executable)
@@ -88,7 +88,8 @@ class Command(BaseCommand):
                             # We're in a loop, nothing's being imported - some lesson is really missing.
                             raise e
                     except BaseException, e:
-                        print e
+                        import trackback
+                        trackback.print_exc()
                         files_skipped += 1
 
         # Print results
index e5ee3a9..46338c4 100644 (file)
@@ -56,10 +56,9 @@ class Section(models.Model):
 
         return section
 
-
-    def syntetic_lesson(self):
+    def syntetic_lesson(self, level):
         try:
-            return self.lesson_set.filter(type='synthetic')[0]
+            return self.lesson_set.filter(type='synthetic', level=level)[0]
         except IndexError:
             return None
 
@@ -166,6 +165,9 @@ class Lesson(models.Model):
             "%s%s.zip" % (self.slug, "_student" if student else ""),
             ContentFile(buff.getvalue()))
 
+    def get_syntetic(self):
+        return self.section.syntetic_lesson(self.level)
+
 
 class Attachment(models.Model):
     slug = models.CharField(max_length=255)
index b972784..0757538 100644 (file)
     #sidebar .section-minor h1 {
       font-weight: normal;
       font-size: 1em; }
+  #sidebar .section-micro {
+    font-size: .8em;
+    color: #888;
+    border-top: 1px solid #c9ccce;
+    padding-top: 1.063em; }
+    #sidebar .section-micro h1 {
+      font-weight: normal;
+      font-size: 1em; }
+    #sidebar .section-micro .link-list a {
+      color: #888; }
 
 #main-bar {
   width: 40em; }
index ed4cb33..318c444 100755 (executable)
@@ -58,6 +58,19 @@ $new_black: #363a3e;
             font-size: 1em;
         }
     }
+    .section-micro {
+        font-size: .8em;
+        color: #888;
+        border-top: 1px solid #c9ccce;
+        padding-top: 17*$px;
+        h1 {
+            font-weight: normal;
+            font-size: 1em;
+        }
+        .link-list a {
+            color: #888;
+        }
+    }
 }
 #main-bar {
     width: 640*$px;
index 2446ded..1793d85 100644 (file)
@@ -2,6 +2,8 @@
   width: 40em;
   border-radius: 0.938em;
   margin: 1em 0; }
+  .section-level a:hover {
+    text-decoration: underline; }
 
 .section-type {
   display: inline-block;
@@ -24,7 +26,7 @@
 .section-level-gimnazjum {
   background: #f4ae83;
   color: #67584f; }
-  .section-level-gimnazjum a {
+  .section-level-gimnazjum a, .section-level-gimnazjum a:hover {
     color: #67584f; }
   .section-level-gimnazjum .section-type-course {
     background: #ed7831;
       color: #fff; }
 
 .section-level-liceum {
-  background: #f4ae83;
-  color: #67584f; }
-  .section-level-liceum a {
-    color: #67584f; }
+  background: #44b69f;
+  color: #363a3e; }
+  .section-level-liceum a, .section-level-liceum a:hover {
+    color: #363a3e; }
   .section-level-liceum .section-type-course {
-    background: #ed7831;
+    background: #16a487;
     color: #fff; }
     .section-level-liceum .section-type-course a {
       color: #fff; }
index 23f248b..141cba1 100755 (executable)
@@ -4,6 +4,9 @@ $px: 0.0625em;
     width: 640*$px;
     border-radius: 15*$px;
     margin: 1em 0;
+    a:hover {
+        text-decoration: underline;
+    }
 }
 
 .section-type {
@@ -32,7 +35,7 @@ $px: 0.0625em;
 .section-level-gimnazjum {
     background: #f4ae83;
     color: #67584f;
-    a {
+    a, a:hover {
         color: #67584f;
     }
 
@@ -49,16 +52,16 @@ $px: 0.0625em;
 
 
 .section-level-liceum {
-    background: #f4ae83;
-    color: #67584f;
-    a {
-        color: #67584f;
+    background: #44b69f;
+    color: #363a3e;
+    a, a:hover {
+        color: #363a3e;
     }
 
     .section-type-synthetic {
     }
     .section-type-course {
-        background: #ed7831;
+        background: #16a487;
         color: #fff;
         a {
             color: #fff;
index 74e6c3a..629af17 100755 (executable)
@@ -14,7 +14,9 @@
         <h1 class="realisation">Realizacja i czas lekcji</h1>
         {% if object.type == 'synthetic' %}
         <p>To lekcja jest syntezą działu
-        <strong>{{ object.section }}</strong>.
+        <strong>{{ object.section }}</strong></a>{% if object.level.slug = "liceum" %}
+            (na poziomie zaawansowanym)
+        {% endif %}.
         Dostępny jest również
         <strong><a href="{% url 'catalogue_lessons' %}#{{ object.section.slug }}">szczegółowy kurs</a></strong>
         dla tego działu.
         <p>Czas trwania: 45 minut.</p>
         {% elif object.type == 'course' %}
         <p>Ta lekcja jest częścią działu
-        <strong>{{ object.section }}</strong>.
+        <a href="{{ object.section.get_absolute_url }}"><strong>{{ object.section }}</strong></a>{% if object.level.slug = "liceum" %}
+            (na poziomie zaawansowanym)
+        {% endif %}.
+        {% with object.get_syntetic as synth %}
+        {% if synth %}
         Dostępna jest również
-        <strong><a href="{{ object.section.syntetic_lesson.get_absolute_url }}">lekcja syntetyczna</a></strong>
+        <strong><a href="{{ object.get_syntetic.get_absolute_url }}">lekcja syntetyczna</a></strong>
         dla tego działu.
+        {% endif %}
+        {% endwith %}
         </p>
         <p>Czas trwania: 45 minut.</p>
         {% else %}
         {% lesson_nav object %}
     </section>
 
-    <section class="section-minor">
-        <p>Autor: {{ object.dc.authors|person_list }}</p>
-        <p>Licencja: <a href="{{ object.dc.license }}">{{ object.dc.license_description }}</a>.</p>
-    </section>
-
-    <section class="section-minor">
-        <ul class="link-list">
-            <li><a href="{{ object.xml_file.url }}">źródłowy plik XML</a></li>
-            <li><a href="{{ object.dc.about }}">lekcja na Platformie Redakcyjnej</a></li>
-        </ul>
-    </section>
-
     {% if object.dc.competences %}
     <section class="section-minor">
+        <h1>Kompetencje:</h1>
         <ul class="link-list">
         {% for comp_text in object.dc.competences %}
             {% with comp_text|find_competence as competence %}
     </section>
     {% endif %}
 
-    <section class="section-minor">
+    <section class="section-micro">
+        <h1>Informacje:</h1>
+        <p>
+        {% if object.dc.authors_textbook %}
+        Autor podręcznika: {{ object.dc.authors_textbook|person_list }}<br/>
+        {% endif %}
+        {% if object.dc.authors_scenario %}
+        Autor scenariusza: {{ object.dc.authors_scenario|person_list }}<br/>
+        {% endif %}
+        {% if object.dc.authors_expert %}
+        Ekspert: {{ object.dc.authors_expert|person_list }}<br/>
+        {% endif %}
+        Licencja: <a href="{{ object.dc.license }}">{{ object.dc.license_description }}</a>.</p>
+    </section>
+
+    <section class="section-micro">
+        <h1>Narzędzia:</h1>
+        <ul class="link-list">
+            <li><a href="{{ object.xml_file.url }}">źródłowy plik XML</a></li>
+            <!--li><a href="{{ object.dc.about }}">lekcja na Platformie Redakcyjnej</a></li-->
+        </ul>
+    </section>
+
+    <section class="section-micro">
         <p>{{ object.dc.description }}</p>
     </section>
 
index 6a3b6ec..8e8a581 100755 (executable)
             {% else %}
                 <h1>Pełny kurs</h1>
             {% endif %}
-            <ul class="section-lessons">
+            {% if lesson_list %}
+            <ul class="section-lessons link-list">
                 {% for lesson in lesson_list %}
                     <li class="section-lesson">
-                        <a href="{{ lesson.get_absolute_url }}">{{ lesson }}{% if depth == 'synthetic' %}
-                            (przegląd całego działu w 45 minut)
+                        <a href="{{ lesson.get_absolute_url }}">{{ lesson }}{% if lesson_type == 'synthetic' %}
+                            <br/>(przegląd całego działu w 45 minut)
                         {% endif %}</a>
                     </li>
                 {% endfor %}
             </ul>
+            {% else %}
+                <p>(W przygotowaniu)</p>
+            {% endif %}
         </section>
     {% endfor %}
     {% endspaceless %}