|
import os
|
|
|
|
from quixote import get_publisher, redirect
|
|
from quixote.directory import Directory
|
|
from quixote.html import TemplateIO, htmltext
|
|
|
|
from qommon.publisher import get_publisher_class
|
|
|
|
import wcs.backoffice.root
|
|
import wcs.root
|
|
from wcs.admin.menu import *
|
|
from wcs.categories import Category
|
|
from wcs.formdef import FormDef
|
|
|
|
from wcs.backoffice.root import FormsDirectory, WorkflowsDirectory
|
|
|
|
from qommon import get_cfg
|
|
from qommon.form import *
|
|
|
|
class BackofficeRootDirectory(wcs.backoffice.root.RootDirectory):
|
|
_q_exports = ['', 'home']
|
|
|
|
menu_items = [
|
|
('home', N_('Pending Forms')),
|
|
('forms/', N_('Forms'), FormsDirectory.is_accessible),
|
|
('workflows/', N_('Workflows'), WorkflowsDirectory.is_accessible),
|
|
('/', N_('WCS Form Server'))]
|
|
|
|
def _q_index(self):
|
|
return self.home()
|
|
|
|
def home(self):
|
|
r = TemplateIO(html=True)
|
|
r += htmltext('<p>')
|
|
r += _('Welcome on Au Quotidien back office interface')
|
|
r += htmltext('</p>')
|
|
r += wcs.backoffice.root.RootDirectory.management(self)
|
|
from qommon.backoffice.menu import html_top
|
|
html_top('home', _('Pending Forms'))
|
|
get_response().breadcrumb[-1:] = [('home', _('Pending Forms'))]
|
|
return r.getvalue()
|
|
|
|
def _q_lookup(self, component):
|
|
if component == 'forms':
|
|
return FormsDirectory()
|
|
if component == 'workflows':
|
|
return WorkflowsDirectory()
|
|
return FormPage(component)
|
|
|
|
class FormPage(wcs.backoffice.root.FormPage):
|
|
def get_fields_from_query(self):
|
|
field_ids = [x for x in get_request().form.keys()]
|
|
fields = wcs.backoffice.root.FormPage.get_fields_from_query(self)
|
|
if not field_ids:
|
|
# do not display the user-label field by default, as it will most
|
|
# most often be redundant (the formdata itself will have a name
|
|
# field)
|
|
return [x for x in fields if x.id != 'user-label']
|
|
return fields
|
|
|
|
get_publisher_class().backoffice_directory_class = BackofficeRootDirectory
|
|
|