diff --git a/libstat/models.py b/libstat/models.py index 40fa8662..94c3c927 100644 --- a/libstat/models.py +++ b/libstat/models.py @@ -127,13 +127,22 @@ def __unicode__(self): class SurveyResponseQuerySet(QuerySet): - def by_year_or_group(self, sample_year=None, target_group=None ): + def by_year_or_group(self, sample_year=None, target_group=None): filters = {} if target_group: filters["target_group"] = target_group if sample_year: filters["sample_year"] = int(sample_year) return self.filter(__raw__=filters) + + def unpublished_by_year_or_group(self, sample_year=None, target_group=None): + filters = {} + if target_group: + filters["target_group"] = target_group + if sample_year: + filters["sample_year"] = int(sample_year) + filters["published_at__isnull"] = True + return self.filter(__raw__=filters) class SurveyObservation(EmbeddedDocument): diff --git a/libstat/templates/libstat/survey_responses.html b/libstat/templates/libstat/survey_responses.html index 9fb27f09..4f83694b 100644 --- a/libstat/templates/libstat/survey_responses.html +++ b/libstat/templates/libstat/survey_responses.html @@ -42,10 +42,10 @@

{% trans "Enkätsvar uppdelat på målgrupp och år" %}< - +
diff --git a/libstat/views.py b/libstat/views.py index 32a9969e..bce169f0 100644 --- a/libstat/views.py +++ b/libstat/views.py @@ -78,15 +78,25 @@ def survey_responses(request): action = request.GET.get("action", "") target_group = request.GET.get("target_group", "") sample_year = request.GET.get("sample_year", "") + unpublished_only = request.GET.get("unpublished_only", False); + if "True" == unpublished_only: + unpublished_only = True + else: + unpublished_only = False if action == "list": - s_responses = SurveyResponse.objects.by_year_or_group(sample_year=sample_year, target_group=target_group).order_by("library") + # TODO: Pagination + if unpublished_only: + s_responses = SurveyResponse.objects.unpublished_by_year_or_group(sample_year=sample_year, target_group=target_group).order_by("library") + else: + s_responses = SurveyResponse.objects.by_year_or_group(sample_year=sample_year, target_group=target_group).order_by("library") context = { 'sample_years': sample_years, 'survey_responses': s_responses, 'target_group': target_group, 'sample_year': sample_year, + 'unpublished_only': unpublished_only, 'bibdb_library_base_url': u"{}/library".format(settings.BIBDB_BASE_URL) } return render(request, 'libstat/survey_responses.html', context)