diff --git a/reports/forms.py b/reports/forms.py index d0f2380..9064ee2 100644 --- a/reports/forms.py +++ b/reports/forms.py @@ -2,11 +2,23 @@ from django import forms from django.utils.translation import ugettext_lazy as _ import datetime + + class CreateInteractionReportForm(forms.Form): - topics = forms.ChoiceField(required=True) + topic = forms.ChoiceField(required=True, label= _("topics to select data from")) init_date = forms.DateField(required=True) end_date = forms.DateField(required=True) from_mural = forms.BooleanField() from_messages = forms.BooleanField() + class Meta: + fields = ('topic', 'init_date', 'end_date', 'from_mural' , 'from_messages') + + def __init__(self, *args, **kwargs): + super(CreateInteractionReportForm, self).__init__(*args, **kwargs) + + initial = kwargs['initial'] + topics = list(initial['topic']) + + self.fields['topic'].choices = [(topic.id, topic.name) for topic in topics] diff --git a/reports/templates/reports/_form.html b/reports/templates/reports/_form.html new file mode 100644 index 0000000..71615f5 --- /dev/null +++ b/reports/templates/reports/_form.html @@ -0,0 +1,18 @@ +{% load widget_tweaks static i18n %} + +
{% csrf_token %} + {% for field in form %} + {% if field.auto_id == 'id_init_date' or field.auto_id == 'id_end_date' %} + + {% render_field field class='form-control date-picker' %} + + {% else %} + + {% render_field field class='form-control' %} + {% endif %} + + {% endfor %} +
+ +
+
diff --git a/reports/templates/reports/report.html b/reports/templates/reports/report.html index c509bc0..9f7f58c 100644 --- a/reports/templates/reports/report.html +++ b/reports/templates/reports/report.html @@ -38,14 +38,8 @@ -
{% csrf_token %} - {% for field in form %} - - {% render_field field class='form-control' %} - {% endfor %} - -
- + {% include "reports/_form.html" %} + {% for user, datum in data.items %} diff --git a/reports/views.py b/reports/views.py index 48dfb5a..b753c4e 100644 --- a/reports/views.py +++ b/reports/views.py @@ -1,6 +1,8 @@ from django.shortcuts import render from django.http import HttpResponse, JsonResponse +from django.utils.translation import ugettext_lazy as _ +from django import forms import django.views.generic as generic from mural.models import SubjectPost, Comment, MuralVisualizations @@ -15,19 +17,16 @@ from log.models import Log class ReportView(LoginRequiredMixin, generic.FormView): template_name = "reports/report.html" form_class = CreateInteractionReportForm - success_url = "/teste" + def get_initial(self): """ Returns the initial data to use for forms on this view. """ - initial = super(ReportView, self).get_initial() + initial = {} params = self.request.GET subject = Subject.objects.get(id=params['subject_id']) - - initial['topics'] = subject.topic_subject.all() - + topics = subject.topic_subject.all() + initial['topic'] = topics + initial['end_date'] = date.today() return initial - - - diff --git a/subjects/templates/subjects/view.html b/subjects/templates/subjects/view.html index b8af93e..46dd188 100644 --- a/subjects/templates/subjects/view.html +++ b/subjects/templates/subjects/view.html @@ -56,7 +56,7 @@ {% endif %} - + {% notifies_number subject request.user %} -- libgit2 0.21.2