Project

General

Profile

Download (2.03 KB) Statistics
| Branch: | Tag: | Revision:
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

(11-11/33)