From 0dab00467fd14b740bce832a636e09818f653c28 Mon Sep 17 00:00:00 2001 From: yomguy Date: Fri, 1 Mar 2013 15:52:22 +0100 Subject: [PATCH] begin annals --- teleforma/models/core.py | 1 + teleforma/templates/teleforma/courses.html | 1 + teleforma/templates/telemeta/base.html | 5 +++- teleforma/urls.py | 2 +- teleforma/views/crfpa.py | 30 ++++++++++++++++++++++ 5 files changed, 37 insertions(+), 2 deletions(-) diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 3bace0ea..af0e7d1a 100644 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -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) diff --git a/teleforma/templates/teleforma/courses.html b/teleforma/templates/teleforma/courses.html index 80123246..b28c41f7 100644 --- a/teleforma/templates/teleforma/courses.html +++ b/teleforma/templates/teleforma/courses.html @@ -32,6 +32,7 @@ $(document).ready(function(){ {% endblock courses %} + {% block module-action %} diff --git a/teleforma/templates/telemeta/base.html b/teleforma/templates/telemeta/base.html index 869c6fd9..65574673 100644 --- a/teleforma/templates/telemeta/base.html +++ b/teleforma/templates/telemeta/base.html @@ -97,7 +97,9 @@ alt="logo" />
  • {% trans "Messaging" %}{% if postman_unread_count %} ({{ postman_unread_count }}){% endif %}
  • {% if user.is_staff %} -
  • {% trans "Users" %}
  • +
  • {% trans "Users" %}
  • + {% else %} +
  • {% trans "Annals" %}
  • {% endif %} {% if user.is_authenticated %} @@ -107,6 +109,7 @@ alt="logo" />
  • {% trans "Search" %}
  • {% trans "Collections" %}
  • {% trans "Items" %}
  • +
  • {% trans "Annals" %}
  • {% trans "Admin" %}
  • diff --git a/teleforma/urls.py b/teleforma/urls.py index c0bbe3b7..5065695e 100644 --- a/teleforma/urls.py +++ b/teleforma/urls.py @@ -71,7 +71,7 @@ urlpatterns = patterns('', name="teleforma-document-download"), url(r'^desk/documents/(?P.*)/view/$', document.view, name="teleforma-document-view"), -# url(r'^desk/documents/(?P.*)/view/$', document_view, name="teleforma-document-view"), + url(r'^desk/annals/$', AnnalsView.as_view(), name="teleforma-annals"), url(r'^desk/conferences/(?P.*)/video/$', ConferenceView.as_view(), diff --git a/teleforma/views/crfpa.py b/teleforma/views/crfpa.py index 61ebbbd6..9c43d81a 100644 --- a/teleforma/views/crfpa.py +++ b/teleforma/views/crfpa.py @@ -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) + -- 2.39.5