def render(self): result = {} result['main_template'] = get_renderer( 'por.dashboard:skins/main_template.pt').implementation() result['main'] = get_renderer( 'por.dashboard.forms:templates/master.pt').implementation() schema = WizardSchema().clone() wizard_fanstatic.need() form = WizardForm(schema, formid='wizard', method='POST', buttons=[ SubmitButton(title=u'Submit'), ResetButton(title=u'Reset'), ]) form['new_users'].widget = SequenceWidget() form['users'].widget = SequenceWidget(min_len=1) users = DBSession.query(User).order_by(User.fullname) form['users']['user']['usernames'].widget.values = [('', '')] + \ [(str(u.id), u.fullname) for u in users] roles = DBSession.query(Role).order_by(Role.name) form['users']['user']['role'].widget.values = [('', '')] + \ [(str(role.id), role.name) for role in roles] form['new_users']['new_user']['role'].widget.values = [('', '')] + \ [(str(role.id), role.name) for role in roles] form['milestones'].widget = SequenceWidget(min_len=1) form['contracts'].title = '' form['contracts']['customer_requests'].widget = SequenceWidget(min_len=2) controls = self.request.POST.items() if controls != []: try: appstruct = form.validate(controls) self.handle_save(form, appstruct) except ValidationFailure as e: result['form'] = e.render() return result appstruct = {} appstruct['contracts'] ={'customer_requests': []} appstruct['contracts']['customer_requests'].append({'ticket': True, 'title': u'Analisi'}) appstruct['contracts']['customer_requests'].append({'ticket': True, 'title': u'Supporto'}) result['form'] = form.render(appstruct=appstruct) return result
def render(self): result = {} result['main_template'] = get_renderer( 'por.dashboard:skins/main_template.pt').implementation() result['main'] = get_renderer( 'por.dashboard.forms:templates/master.pt').implementation() schema = FastTicketingSchema().clone() fastticketing_fanstatic.need() form = WizardForm(schema, formid='fastticketing', method='POST', buttons=[ SubmitButton(title=u'Submit'), ResetButton(title=u'Reset'), ]) form.bootstrap_form_style = '' form['tickets'].widget = deform.widget.SequenceWidget(min_len=1) users = set() project = self.context.get_instance().project for g in getattr(project, 'groups', []): for u in g.users: users.add(u) users.add(project.manager) form['tickets']['ticket']['owner'].widget.values = [('', '')] + \ [(str(u.id), u.fullname) for u in list(users)] controls = self.request.POST.items() if controls != []: try: appstruct = form.validate(controls) self.handle_save(appstruct) except ValidationFailure as e: result['form'] = e.render() return result result['form'] = form.render() return result