Commit ade5a5e283be72f0eeca12d31ddc3930ed315da9

Authored by Zambom
1 parent 5b858dde

Adding goals reports initial template

goals/templates/goals/reports.html 0 → 100644
... ... @@ -0,0 +1,58 @@
  1 +{% extends 'subjects/view.html' %}
  2 +
  3 +{% load static i18n pagination permissions_tags subject_counter %}
  4 +{% load django_bootstrap_breadcrumbs %}
  5 +
  6 +{% block style %}
  7 + {{block.super}}
  8 +{% endblock %}
  9 +
  10 +{% block javascript%}
  11 + {{ block.super }}
  12 +{% endblock%}
  13 +
  14 +{% block breadcrumbs %}
  15 + {{ block.super }}
  16 + {% breadcrumb topic 'subjects:topic_view' subject.slug topic.slug %}
  17 + {% breadcrumb goal 'goals:submit' goal.slug %}
  18 +
  19 + {% trans 'Reports: Answered' as bread %}
  20 + {% breadcrumb bread 'goals:answered_reports' goal.slug %}
  21 +{% endblock %}
  22 +
  23 +{% block content %}
  24 + {% resource_permissions request.user goal as has_resource_permissions %}
  25 +
  26 + {% if goal.visible %}
  27 + <div class="panel panel-info topic-panel">
  28 + <div class="panel-heading">
  29 + {% elif has_resource_permissions %}
  30 + <div class="panel panel-info topic-panel-invisible">
  31 + <div class="panel-heading panel-invisible">
  32 + {% endif %}
  33 + <div class="row">
  34 + <div class="col-md-12 category-header">
  35 + <h4 class="panel-title" style="margin-top: 10px; margin-bottom: 8px">
  36 + <span>{{ goal }}</span>
  37 + </h4>
  38 +
  39 + <div class="col-md-5 pull-right category-card-items">
  40 + <a href="{% url 'mural:resource_view' goal.slug %}" class="pull-right action_icon">
  41 + <i class="fa fa-list" aria-hidden="true"></i>
  42 + {% resource_mural_number goal request.user %}
  43 + </a>
  44 + </div>
  45 + </div>
  46 + </div>
  47 + </div>
  48 + <div id="{{subject.slug}}" class="panel-collapse in collapse category-panel-content">
  49 + <div id="core-subjects-options-div">
  50 + <ul class="core-subjects-options">
  51 + <a href=""><li class="active">{% trans "Answered" %}</li></a>
  52 + <a href=""><li class="">{% trans "Unanswered" %}</li></a>
  53 + <a href=""><li class="">{% trans "Resource History" %}</li></a>
  54 + </ul>
  55 + </div>
  56 + </div>
  57 + </div>
  58 +{% endblock %}
0 59 \ No newline at end of file
... ...
goals/urls.py
... ... @@ -11,4 +11,5 @@ urlpatterns = [
11 11 url(r'^view/(?P<slug>[\w_-]+)/$', views.InsideView.as_view(), name = 'view'),
12 12 url(r'^submit/(?P<slug>[\w_-]+)/$', views.SubmitView.as_view(), name = 'submit'),
13 13 url(r'^update_submit/(?P<slug>[\w_-]+)/$', views.UpdateSubmit.as_view(), name = 'update_submit'),
  14 + url(r'^answered_reports/(?P<slug>[\w_-]+)/$', views.AnsweredReport.as_view(), name = 'answered_reports'),
14 15 ]
... ...
goals/views.py
... ... @@ -13,6 +13,45 @@ from topics.models import Topic
13 13 from .forms import GoalsForm, MyGoalsForm, InlinePendenciesFormset, InlineGoalItemFormset
14 14 from .models import Goals, MyGoals
15 15  
  16 +class AnsweredReport(LoginRequiredMixin, generic.ListView):
  17 + login_url = reverse_lazy("users:login")
  18 + redirect_field_name = 'next'
  19 +
  20 + template_name = 'goals/reports.html'
  21 + model = MyGoals
  22 + context_object_name = 'answered'
  23 +
  24 + def get_queryset(self):
  25 + slug = self.kwargs.get('slug', '')
  26 + goal = get_object_or_404(Goals, slug = slug)
  27 +
  28 + goals = MyGoals.objects.filter(item__goal = goal)
  29 +
  30 + return goals
  31 +
  32 + def dispatch(self, request, *args, **kwargs):
  33 + slug = self.kwargs.get('slug', '')
  34 + goals = get_object_or_404(Goals, slug = slug)
  35 +
  36 + if not has_resource_permissions(request.user, goals):
  37 + return redirect(reverse_lazy('subjects:home'))
  38 +
  39 + return super(AnsweredReport, self).dispatch(request, *args, **kwargs)
  40 +
  41 + def get_context_data(self, **kwargs):
  42 + context = super(AnsweredReport, self).get_context_data(**kwargs)
  43 +
  44 + slug = self.kwargs.get('slug', '')
  45 + goals = get_object_or_404(Goals, slug = slug)
  46 +
  47 + context['title'] = _("Reports: Answered")
  48 +
  49 + context['goal'] = goals
  50 + context['topic'] = goals.topic
  51 + context['subject'] = goals.topic.subject
  52 +
  53 + return context
  54 +
16 55 class InsideView(LoginRequiredMixin, generic.ListView):
17 56 login_url = reverse_lazy("users:login")
18 57 redirect_field_name = 'next'
... ...
topics/templates/resources/list.html
... ... @@ -29,6 +29,9 @@
29 29 </button>
30 30 <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="moreResources">
31 31 <li><a href="{% url resource.update_link topic.slug resource.slug %}" class="edit"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>{% trans 'Edit' %}</a></li>
  32 + {% if resource|class_name == 'goals' %}
  33 + <li><a href="{% url 'goals:answered_reports' resource.slug %}" class="edit"><i class="fa fa-file-pdf-o fa-fw" aria-hidden="true"></i>{% trans 'Reports' %}</a></li>
  34 + {% endif %}
32 35 <li><a href="javascript:delete_resource('{% url resource.delete_link resource.slug %}')" class="delete"><i class="fa fa-trash fa-fw" aria-hidden="true"></i>{% trans 'Remove' %}</a></li>
33 36 </ul>
34 37 </span>
... ...