diff --git a/combo/apps/wcs/forms.py b/combo/apps/wcs/forms.py index 120006db..09ebb753 100644 --- a/combo/apps/wcs/forms.py +++ b/combo/apps/wcs/forms.py @@ -107,7 +107,7 @@ class WcsFormsMixin(object): class WcsCurrentFormsCellForm(WcsFormsMixin, forms.ModelForm): class Meta: model = WcsCurrentFormsCell - fields = ['wcs_site', 'categories', 'current_forms', 'done_forms'] + fields = ['wcs_site', 'categories', 'current_forms', 'done_forms', 'include_drafts'] def __init__(self, *args, **kwargs): super(WcsCurrentFormsCellForm, self).__init__(*args, **kwargs) diff --git a/combo/apps/wcs/migrations/0019_wcscurrentformscell_include_drafts.py b/combo/apps/wcs/migrations/0019_wcscurrentformscell_include_drafts.py new file mode 100644 index 00000000..cc1ad161 --- /dev/null +++ b/combo/apps/wcs/migrations/0019_wcscurrentformscell_include_drafts.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('wcs', '0018_wcscurrentdraftscell_categories'), + ] + + operations = [ + migrations.AddField( + model_name='wcscurrentformscell', + name='include_drafts', + field=models.BooleanField(default=False, verbose_name='Include drafts'), + ), + ] diff --git a/combo/apps/wcs/models.py b/combo/apps/wcs/models.py index 7995fc12..e1830706 100644 --- a/combo/apps/wcs/models.py +++ b/combo/apps/wcs/models.py @@ -307,6 +307,7 @@ class WcsCurrentFormsCell(WcsUserDataBaseCell): categories = JSONField(_('Categories'), blank=True) current_forms = models.BooleanField(_('Current Forms'), default=True) done_forms = models.BooleanField(_('Done Forms'), default=False) + include_drafts = models.BooleanField(_('Include drafts'), default=False) class Meta: verbose_name = _('User Forms') @@ -317,11 +318,15 @@ class WcsCurrentFormsCell(WcsUserDataBaseCell): def get_api_url(self, context): user = self.get_concerned_user(context) + base_url = '/api/user/forms' if user: user_name_id = user.get_name_id() if user_name_id: - return '/api/users/%s/forms?limit=100&sort=desc' % user_name_id - return '/api/user/forms?limit=100&sort=desc' + base_url = '/api/users/%s/forms' % user_name_id + url = base_url + '?limit=100&sort=desc' + if self.include_drafts: + url += '&include-drafts=on' + return url @property def template_name(self): @@ -333,12 +338,20 @@ class WcsCurrentFormsCell(WcsUserDataBaseCell): def get_additional_label(self): initial_label = super(WcsCurrentFormsCell, self).get_additional_label() - if self.current_forms and self.done_forms: - label = _('All Forms') - elif self.done_forms: - label = _('Done Forms') + if self.include_drafts: + if self.current_forms and self.done_forms: + label = _('All Forms and Drafts') + elif self.done_forms: + label = _('Done Forms and Drafts') + else: + label = _('Current Forms and Drafts') else: - label = _('Current Forms') + if self.current_forms and self.done_forms: + label = _('All Forms') + elif self.done_forms: + label = _('Done Forms') + else: + label = _('Current Forms') if initial_label: return '%s - %s' % (initial_label, label) return label diff --git a/combo/apps/wcs/templates/combo/wcs/list_of_forms.html b/combo/apps/wcs/templates/combo/wcs/list_of_forms.html index 5d1099c3..752860b7 100644 --- a/combo/apps/wcs/templates/combo/wcs/list_of_forms.html +++ b/combo/apps/wcs/templates/combo/wcs/list_of_forms.html @@ -1,3 +1,4 @@ +{% load combo %} {% block cell-content %} {% if forms %}