From 23985e42fb036e4b8edfd2a1aa1a886881d40cef Mon Sep 17 00:00:00 2001 From: Thomas NOEL Date: Fri, 17 Jun 2016 17:39:43 +0200 Subject: [PATCH] consider all user forms, even if formdef if disabled (#11288) --- extra/modules/myspace.py | 6 +-- extra/modules/root.py | 2 +- tests/test_user_pages.py | 120 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+), 4 deletions(-) create mode 100644 tests/test_user_pages.py diff --git a/extra/modules/myspace.py b/extra/modules/myspace.py index a689006..8fc0a26 100644 --- a/extra/modules/myspace.py +++ b/extra/modules/myspace.py @@ -383,7 +383,7 @@ class JsonDirectory(Directory): return Directory._q_traverse(self, path) def forms(self): - formdefs = FormDef.select(lambda x: not x.is_disabled(), order_by = 'name') + formdefs = FormDef.select(order_by='name', ignore_errors=True) user_forms = [] for formdef in formdefs: user_forms.extend(formdef.data_class().get_with_indexed_value( @@ -401,7 +401,7 @@ class JsonDirectory(Directory): forms_output = [] for form in user_forms: visible_status = form.get_visible_status(user=self.user) - # skip hidden forms + # skip drafts and hidden forms if not visible_status: continue name = form.formdef.name @@ -455,7 +455,7 @@ class MyspaceDirectory(wcs.myspace.MyspaceDirectory): user_forms = [] if user: - formdefs = FormDef.select(lambda x: not x.is_disabled(), order_by = 'name') + formdefs = FormDef.select(order_by='name', ignore_errors=True) user_forms = [] for formdef in formdefs: user_forms.extend(formdef.data_class().get_with_indexed_value( diff --git a/extra/modules/root.py b/extra/modules/root.py index 1c6729b..b2698da 100644 --- a/extra/modules/root.py +++ b/extra/modules/root.py @@ -84,7 +84,7 @@ class FormsRootDirectory(wcs.forms.root.RootDirectory): r = TemplateIO(html=True) base_url = get_publisher().get_root_url() - draft = [x for x in user_forms if x.is_draft()] + draft = [x for x in user_forms if x.is_draft() and not x.formdef.is_disabled()] if draft: r += htmltext('

%s

') % _('My Current Drafts') r += htmltext('