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)
{% endblock courses %}
</ul>
</div>
+
</div>
{% block module-action %}
<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 %}
<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>
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(),
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)
+