]> git.parisson.com Git - teleforma.git/commitdiff
begin annals
authoryomguy <yomguy@parisson.com>
Fri, 1 Mar 2013 14:52:22 +0000 (15:52 +0100)
committeryomguy <yomguy@parisson.com>
Fri, 1 Mar 2013 14:52:22 +0000 (15:52 +0100)
teleforma/models/core.py
teleforma/templates/teleforma/courses.html
teleforma/templates/telemeta/base.html
teleforma/urls.py
teleforma/views/crfpa.py

index 3bace0ea9d72f8cc66d6035aa55a9a8dbea3cea2..af0e7d1a58d42d7fef6e63bdd00ab7436abf38b3 100644 (file)
@@ -457,6 +457,7 @@ class Document(MediaBase):
     iej             = ForeignKey('IEJ', related_name='document', verbose_name=_('iej'),
                                  blank=True, null=True, on_delete=models.SET_NULL)
     is_annal        = BooleanField(_('annal'))
+    annal_year      = IntegerField(_('year'), blank=True, null=True)
     file            = FileField(_('file'), upload_to='items/%Y/%m/%d', db_column="filename", blank=True)
     readers         = ManyToManyField(User, related_name="document", verbose_name=_('readers'),
                                         blank=True, null=True)
index 80123246604357a379084b5b37edad04cf7d9bf5..b28c41f7afa23094dbfda9b3a64f5b9a082c7187 100644 (file)
@@ -32,6 +32,7 @@ $(document).ready(function(){
 {% endblock courses %}
 </ul>
 </div>
+
 </div>
 
 {% block module-action %}
index 869c6fd9fbf25b4e46a0103b0f90e15015533344..65574673be8318f040cdddba0634ba86b0b398c7 100644 (file)
@@ -97,7 +97,9 @@ alt="logo" />
  <li><a href="{% url postman_inbox %}m/" class="orange">{% trans "Messaging" %}{% if postman_unread_count %} ({{ postman_unread_count }}){% endif %}</a></li>
 
  {% if user.is_staff %}
- <li><a href="{% url teleforma-users %}" class="yellow">{% trans "Users" %}</a></li>
+  <li><a href="{% url teleforma-users %}" class="yellow">{% trans "Users" %}</a></li>
+ {% else %}
+  <li><a href="{% url teleforma-annals %}" class="yellow">{% trans "Annals" %}</a></li>
  {% endif %}
 
  {% if user.is_authenticated %}
@@ -107,6 +109,7 @@ alt="logo" />
  <li><a href="{% url telemeta-search-criteria %}">{% trans "Search" %}</a></li>
  <li><a href="{% url telemeta-collections %}">{% trans "Collections" %}</a></li>
  <li><a href="{% url telemeta-items %}">{% trans "Items" %}</a></li>
+ <li><a href="{% url teleforma-annals %}">{% trans "Annals" %}</a></li>
  </ul>
  </li>
  <li><a href="{% url telemeta-admin-general %}" class="blue">{% trans "Admin" %}</a></li>
index c0bbe3b790cb64f5d8cc8eec08cc56704cb12119..5065695eb5aa97bf128213fb80f68df5d704ff78 100644 (file)
@@ -71,7 +71,7 @@ urlpatterns = patterns('',
         name="teleforma-document-download"),
     url(r'^desk/documents/(?P<pk>.*)/view/$', document.view,
         name="teleforma-document-view"),
-#    url(r'^desk/documents/(?P<pk>.*)/view/$', document_view, name="teleforma-document-view"),
+    url(r'^desk/annals/$', AnnalsView.as_view(), name="teleforma-annals"),
 
     url(r'^desk/conferences/(?P<pk>.*)/video/$',
         ConferenceView.as_view(),
index 61ebbbd6fce91c25573fd76c07d8e7715a2a7a5a..9c43d81a2681b2b0591984b359e96fea341d255b 100644 (file)
@@ -297,3 +297,33 @@ class UsersXLSExport(object):
         self.users = User.objects.filter(student__training__courses__in=course)
         return self.export(request)
 
+
+
+class AnnalsView(ListView):
+
+    model = Document
+    template_name='teleforma/annals.html'
+
+    def get_queryset(self):
+        self.iej = None
+        user = self.request.user
+        if user.is_staff or user.is_superuser or user.professor.all():
+            return Document.objects.filter(is_annal=True)
+        else:
+            auditors = user.auditor.all()
+            if auditors:
+                auditor = auditors[0]
+                self.iej = auditor.iej
+                return Document.objects.filter(is_annal=True, iej=self.iej)
+            else:
+                return None
+
+    def get_context_data(self, **kwargs):
+        context = super(AnnalsView, self).get_context_data(**kwargs)
+        context['iej'] = self.iej
+        return context
+
+    @method_decorator(permission_required('is_staff'))
+    def dispatch(self, *args, **kwargs):
+        return super(AnnalsView, self).dispatch(*args, **kwargs)
+