Userguide styles
authorOlga Brani <olgabrani@grnet.gr>
Mon, 16 Jul 2012 14:09:55 +0000 (17:09 +0300)
committerOlga Brani <olgabrani@grnet.gr>
Mon, 16 Jul 2012 14:09:55 +0000 (17:09 +0300)
cloudcms/models.py
cloudcmsguide/models.py
cloudcmsguide/templates/cloudcmsguide/archive.html
cloudcmsguide/templates/cloudcmsguide/detail.html

index ebab4e3..37758e3 100644 (file)
@@ -177,6 +177,12 @@ class Service(models.Model, translations.TranslatedObjectMixin):
         except:
             return None
         
+    def get_first_entry(self):
+        try:
+            return self.userguideentries.filter(is_active=True)[0]
+        except:
+            return None
+        
     def __unicode__(self):
         trans = translations.TranslatedObjectMixin.__unicode__(self)
         return trans or _('Unnamed category')
index 60be618..3786c08 100644 (file)
@@ -93,7 +93,7 @@ class UserGuideEntry(Base):
     author = models.ForeignKey(User, related_name='guide_pages', verbose_name=_('author'))
     language = models.CharField(max_length=255, choices=settings.LANGUAGES)
 
-    published_on = models.DateTimeField(_('published on'), blank=True, null=True, default=datetime.now,
+    published_on = models.DateTimeField(_('published on'), blank=True, null=False, default=datetime.now,
         help_text=_('Will be filled in automatically when entry gets published.'))
     last_changed = models.DateTimeField(_('last change'), auto_now=True, editable=False)
 
@@ -112,6 +112,12 @@ class UserGuideEntry(Base):
 
     def __unicode__(self):
         return self.title
+    
+    def get_next(self):
+        return self.get_next_by_published_on(service=self.service)
+
+    def get_previous(self):
+        return self.get_previous_by_published_on(service=self.service)
 
     def get_absolute_url(self):
         try:
index 9b51662..5495672 100644 (file)
@@ -1,16 +1,28 @@
-{% load applicationcontent_tags pagination_tags i18n %}
+{% load applicationcontent_tags pagination_tags i18n cloudcms_tags %}
+
+<div class="faq">
+       {% for service in services %}
+    
+    <div class="two-cols clearfix unequal-dotted">
+       <div class="rt">
+               <img src="{{ service.image_userguide.get_absolute_url }}" alt="{{ service.image_userguide.title }}" />
+       </div>
+       <div class="lt">
+               <div class="faq-category {{ service.class_name }}">
+                       <h2>{{ service.translation.title_userguide|upper }}</h2>
+                           <ul>
+                           {% for e in service.userguideentries.active %}
+                           <li {% if e == entry %}class="current"{% endif %}>
+                               <a href="{{ e.get_absolute_url }}">{{ e.title }}</a>
+                           </li>
+                           {% endfor %}
+                       </ul>
+                   </div>
+       </div>
 
-<div class="guide">
-    {% for service in services %}
-    <div class="guide-category">
-        <h2>{{ service.translation.title|upper }}</h2>
-        <ul>
-            {% for e in service.userguideentries.active %}
-            <li {% if e == entry %}class="current"{% endif %}>
-                <a href="{{ e.get_absolute_url }}">{{ e.title }}</a>
-            </li>
-            {% endfor %}
-        </ul>
     </div>
+    
     {% endfor %}
 </div>
index c420732..01f283b 100644 (file)
@@ -1,19 +1,82 @@
-{% load applicationcontent_tags i18n %}
+{% load applicationcontent_tags pagination_tags i18n cloudcms_tags %}
 
-{% fragment request "sidecol" %}
-{% include "cloudcmsguide/archive.html" %}
-{% endfragment %}
+<div class="two-cols lt-small clearfix details faq">
+       <div class="rt">
+               <div class="question details {{ entry.service.class_name }}">
+                   <h2>{{ entry.title|upper }}</h2>
+                   <div class="content">
+                       {% for content in entry.content.main %}
+                           {{ content.render }}
+                       {% endfor %}
+                   </div>
+                   <div class="clearfix next-prev">
+               {% if entry.get_next %}
+                       <a href="{{ entry.get_next.get_absolute_url }}" class="next">Next ></a>         
+               {% endif %} 
+               {% if entry.get_previous %}
+                       <a href="{{ entry.get_previous.get_absolute_url }}" class="prev">< Previous</a>
+               {% else %}
+                       <a href="{{ entry.back_url }}">{% trans "&lt; Back to User Guide" %}</a>
+               {% endif%}
+                       
+                   </div>
+               </div>
+                
+               <div class="extra-menu">
+                       {% for service in services %}
+                               {% if service == entry.service %}
+                               <div class="faq-category {{ service.class_name }}">                              
+                                               <h3>{{ service.translation.title_userguide|upper }}</h3>
+                                               {% if category == entry.category %}
+                                                  
+                                     <ul>
+                                          {% for e in service.userguideentries.active %}
+                                         <li>
+                                            {% if e != entry %}<a href="{{ e.get_absolute_url }}">{% endif %}{{ e.title }}{% if e != question %}</a>{% endif %}
+                                         </li>
+                                         {% endfor %}
+                                         <br />
+                                     </ul>
+                                  {% endif %}
+                                 
+                               </div>
+                               {% endif %}
+                       {% endfor %}
+               </div>
+       </div>
+        
+       <div class="lt">
+               {% for service in services %}
+               <div class="faq-category {{ service.class_name }}">
+                       <h2>
+                               {% if service != entry.service %}
+                                       <a href="{{ service.get_first_entry.get_absolute_url }}">
+                               {% endif %}
+                                       {{ service.translation.title_userguide|upper }}
+                               {% if service != entry.service %}
+                                       </a>
+                               {% endif %}
+                       </h2>
+                        
+                        {% for category, questions in service|get_service_faqs %}
 
-{% fragment request "maincol" %}
-<div class="user-guide-entry">
-    <h2>{{ entry.title|upper }}</h2>
-    <div class="content">
-        {% for content in entry.content.main %}
-            {{ content.render }}
-        {% endfor %}
-    </div>
-    <div class="bottom-content backlink">
-        <a href="{{ entry.back_url }}">{% trans "&lt; Back to User guide" %}</a>
-    </div>
-</div>
-{% endfragment %}
+                               {% if service == question.service %}
+              <h3>{{ category.translation.title }}</h3>
+              <ul>
+                {% for q in questions %}
+                  <li>
+                     {% if q != question %}<a href="{{ q.get_absolute_url }}">{% endif %}{{ q.title }}{% if q != question %}</a>{% endif %}
+                  </li>
+                  {% endfor %}
+                  <br />
+              </ul>
+                  {% endif %}
+                {% endfor %}
+               </div>
+               {% endfor %}
+       </div>
+</div> 
+
+