class ComplexForm(uvcsite.Form): """ """ grok.title(u'KomplexForm') grok.description(u"Komplexe Form") grok.context(uvcsite.IUVCSite) #uvcsite.menu(FormBeispiele) ignoreContent = False ignoreRequest = False fields = uvcsite.Fields(IAdressen) #fields['personen'].mode = "bgdp" fields['personen'].allowOrdering = False fields['personen'].inlineValidation = True label = u"Adressen" description = u"Adressen" def update(self): super(ComplexForm, self).update() @uvcsite.action(u'Abschicken') def handleButton(self): data, errors = self.extractData() print errors import pdb pdb.set_trace()
class Kontakt(uvcsite.Form): grok.context(ErsteHilfe) fields = uvcsite.Fields(IKontakt) @uvcsite.action('Abbrechen') def handle_cancel(self): self.flash(u'Die Aktion wurde abgebrochen.') self.redirect(self.application_url()) @uvcsite.action('Absenden') def handle_send(self): data, errors = self.extractData() if errors: return um = self.request.principal.getUM() acu = um.getUser(self.request.principal.id) adr = self.request.principal.getAdresse() from uvcsite.utils.mail import send_mail print "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" print acu print "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" print adr print "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" adrname = adr['iknam1'].strip() + ' ' + adr['iknam2'].strip() + ' ' + adr['iknam3'].strip() adrstrasse = adr['ikstr'].strip() + ' ' + str(adr['ikhnr']).strip() adrplzort = str(adr['ikhplz']).strip() + ' ' + adr['ikhort'].strip() acuname = acu['vname'].strip() + ' ' + acu['nname'].strip() acutel = acu['vwhl'].strip() + ' ' + acu['tlnr'].strip() acumail = acu['email'].strip() text = MT % (adrname, adrstrasse, adrplzort, data[u'betreff'], data[u'text'], acuname, acutel, acumail) send_mail('*****@*****.**', ('*****@*****.**',), u"Kontaktformular Erste Hilfe", body=text) #send_mail('*****@*****.**', ('*****@*****.**',), u"Kontaktformular Erste Hilfe", body=text) self.flash(u'Ihre Nachricht wurde an die Unfallkasse Hessen gesendet.') self.redirect(self.application_url())
class PluginOverview(uvcsite.Form): grok.context(IPlugin) grok.name('index') grok.require('grok.ManageApplications') prefix = "" fields = uvcsite.Fields() needs_fontawesome = True @property def actions(self): return self.context.actions def updateForm(self): form, action, result = self.updateActions() if action is not None: self.title = action.title if result is not FAILURE: assert isinstance(result, Result) if result.type is ResultTypes.MESSAGE: self.flash(result.value) if result.redirect: return self.redirect(self.url(self.context)) else: rendering = getMultiAdapter( (self.context, self.request, result), name=result.type.value) self.result = rendering() self.updateWidgets() def update(self): self.title = None self.result = None self.status = self.context.status self.is_installed = self.status.state == States.INSTALLED
class ChangePassword(ChangePassword): grok.context(IAccount) fields = uvcsite.Fields(IAccount).select("passworda", "password", "passwordv") def update(self): if self.context.status != "bearbeitet": self.redirect(self.url(self.context, "registerf1")) if self.context.status == "bearbeitet": if self.context.active == "nein": self.redirect(self.url(self.context, "registerfinish")) @uvcsite.action("Speichern") def handle_save(self): data, errors = self.extractData() if errors: self.flash("Es sind Fehler aufgetreten", type="error") return if data["passworda"] != self.context.password: self.flash(u"Das alte Passwort ist nicht korrekt!") return if data["password"] != data["passwordv"]: self.flash( u'Die Einträge unter "neues Passwort" und "Bestätigung" müssen identisch sein!' ) return self.context.password = data["password"] self.flash(u"Ihr Passwort wurde erfolgreich geändert.") self.redirect(self.url(self.context))
class MyForm(uvcsite.Form): grok.title(u'Beispielform') grok.description(u"Beschreibugn Beschreibugn") grok.context(Interface) ignoreContent = False ignoreRequest = False fields = uvcsite.Fields(IPerson) fields['geschlecht'].mode = "radio" fields['name'].htmlAttributes['maxlength'] = 10 fields['vorname'].htmlAttributes['placeholder'] = u"BLA" fields['datum'].htmlAttributes = {'placeholder': 'tt.mm.jjjj'} fields['check'].htmlAttributes = {'disabled': 'disabled'} fields['datum'].mode = "dp-date" label = u"Beispielform" description = u"Beschreibung" legend = "LEGENDE" def update(self): self.setContentData(uvcsite.DictDataManager(dict(name="Klaus"))) double.need() masked_input.need() @uvcsite.action(u'Abschicken') def handleButton(self): data, errors = self.extractData() if errors or self.errors: self.flash(u"FEHLER", type="error") return self.flash('Alles Klar')
class RegisterF4(RegisterF1): label = u"Datenschutz" description = u"Bitte vervollständigen Sie folgende Angaben um den \ 'Versicherten Service' der UKH zu nutzen" fields = uvcsite.Fields(IAccount).select('datenuebermittlung') fields['datenuebermittlung'].mode = "radio" @property def unter15jahre(self): alter = getAlter(self.context.getGrundDaten()) a = {} a['alter'] = alter return a @uvcsite.action(u'Zurück') def handle_back(self): data, errors = self.extractData() if errors: self.flash(u"Bitte überprüfen Sie Ihre eingaben") return apply_data_event(self.fields, self.context, data) self.redirect(self.url(self.context) + '/registerf3') @uvcsite.action('Speichern & Weiter') def handle_save(self): data, errors = self.extractData() if errors: self.flash(u"Bitte überprüfen Sie Ihre eingaben") apply_data_event(self.fields, self.context, data) self.flash(u'Speichern erfolgreich.') self.redirect(self.url(self.context) + '/registerf5')
class Step3(uvcsite.Step): grok.title('Step3') grok.context(uvcsite.IUVCSite) grok.view(MyWizard) fields = uvcsite.Fields(IPerson).select('name') ignoreContent = False label = "Step 3"
class Step2(uvcsite.Step): grok.title('Step2') grok.context(uvcsite.IUVCSite) grok.view(MyWizard) fields = uvcsite.Fields(IPerson).select('vorname') ignoreContent = False label = "Step 2 GANZ LANGER STEP"
class Mother(uvcsite.SubForm): grok.context(uvcsite.IUVCSite) grok.view(SplitContact) fields = uvcsite.Fields(IPerson).omit('name') label = "Mother" @uvcsite.action(u'Abschicken') def handleButton(self): data, errors = self.extractData()
class BasicInformation(steps.BasicInformation): grok.context(ISUnfallanzeige) grok.view(UnfallanzeigenWizard) label = u'Versand und Druck der Unfallanzeige' fields = uvcsite.Fields(ISUnfallanzeige).select('behandlung') #fields = uvcsite.Fields(ISUnfallanzeige).select('unfus2', 'behandlung') fields['behandlung'].mode = "radio" def update(self): super(BasicInformation, self).update() buttonjs.need()
class RegisterF2(RegisterF1): label = u"Anmeldung" description = u"Bitte vervollständigen Sie folgende Angaben um den \ 'Versicherten Service' der UKH zu nutzen" fields = uvcsite.Fields(IAccount).omit( 'az', 'oid', 'password', 'active', 'status', 'ansprechpartner', 'anfragedatum', 'telefon', 'datenerhebung', 'datenuebermittlung', 'kkdaten', 'hausarzt', 'jobinfo1', 'jobinfo2', 'passworda', 'passwordv', 'gebdat') fields['anrede'].mode = "radio" ignoreContent = False @property def unter15jahre(self): alter = getAlter(self.context.getGrundDaten()) a = {} if alter >= 15: a['kombianrede'] = u'Bitte prüfen Sie zunächst die persönlichen Angaben und ergänzen Sie sie bei Bedarf.' else: a['kombianrede'] = u'Bitte prüfen Sie zunächst die persönlichen Angaben Ihres Kindes und ergänzen Sie sie bei Bedarf.' return a def update(self): stepcss.need() @uvcsite.action(u'Zurück') def handle_back(self): data, errors = self.extractData() apply_data_event(self.fields, self.context, data) self.redirect(self.url(self.context) + '/registerf1') @uvcsite.action('Speichern & Weiter') def handle_save(self): data, errors = self.extractData() if errors: self.flash(u"Bitte überprüfen Sie Ihre eingaben") return if data['email'] != '': checkmail = re.compile(r"^[A-Za-z0-9\.\+_-]+@[A-Za-z0-9\._-]+\.[a-zA-Z]*$").match if not bool(checkmail(data['email'])): self.flash(u'Bitte tragen Sie eine gültige E-Mail Adresse ein (E-Mail).') return if data['email2'] != '': checkmail = re.compile(r"^[A-Za-z0-9\.\+_-]+@[A-Za-z0-9\._-]+\.[a-zA-Z]*$").match if not bool(checkmail(data['email2'])): self.flash(u'Bitte tragen Sie eine gültige E-Mail Adresse ein (E-Mail Wiederholung).') return if data['email'] != data['email2']: self.flash(u'Die E-Mail Adressen müssen übereinstimmen.') return apply_data_event(self.fields, self.context, data) self.flash(u'Speichern erfolgreich.') self.redirect(self.url(self.context) + '/registerf3')
def fields(self): adr = self.request.principal.getAdresse() oid = adr['enroid'] session = Session() s = select([traegeruaz], and_(traegeruaz.c.trgrcd == str(oid))) res = session.execute(s).fetchone() fields1 = uvcsite.Fields(ISUnfallanzeige).select('title') fields3 = uvcsite.Fields(ISUnfallanzeige).select('anspname', 'anspfon') fields2 = uvcsite.Fields(ISUnfallanzeige).select('traeger') fields4 = uvcsite.Fields(ISUnfallanzeige).select('unfus2') fields1['title'].htmlAttributes = {'maxlength': 70} fields3['anspname'].htmlAttributes = {'maxlength': 30} fields3['anspfon'].htmlAttributes = {'maxlength': 20} fields4['unfus2'].htmlAttributes = {'maxlength': 30} fields4['unfus2'].title = u'Leiter (Beauftragter) der Einrichtung' fields4['unfus2'].description = u'' fields2['traeger'].mode = "hiddendisplay" if res['trgna1'][:6] == 'PSEUDO': fields2['traeger'].defaultValue = res['trgmnr'] else: fields2['traeger'].defaultValue = res['trgna1'].strip( ) + ' ' + res['trgna2'].strip() return fields1 + fields2 + fields3 + fields4
class Person(steps.Person): grok.context(ISUnfallanzeige) grok.view(UnfallanzeigenWizard) label = u'Angaben zur versicherten Person' fields = uvcsite.Fields(ISUnfallanzeige).select('prsname', 'prsvor', 'ikstr', 'iknr', 'ikzplz', 'ikzort', 'lkz', 'prsgeb', 'prssex', 'prssta') kifields = uvcsite.Fields(ISUnfallanzeige).select('prsvtr') fields = kifields + fields fields['prssex'].mode = 'radio' fields['prsname'].htmlAttributes = {'maxlength': 30} fields['prsvor'].htmlAttributes = {'maxlength': 30} fields['ikstr'].htmlAttributes = {'maxlength': 30} fields['iknr'].htmlAttributes = {'maxlength': 10} fields['ikzplz'].htmlAttributes = {'maxlength': 5} fields['ikzort'].htmlAttributes = {'maxlength': 30} fields['prsgeb'].htmlAttributes = {'maxlength': 10} def update(self): super(Person, self).update() seite2css.need() seite2js.need() def validateStep(self, data, errors): super(Person, self).validateStep(data, errors) plz = data.get('ikzplz') if plz != NO_VALUE: checkplz = re.compile( r'^([0]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{3}$').match if not bool(checkplz(plz)): errors.append( Error( u'Die eingegebene Postleitzahl entspricht nicht dem geforderten Format.', identifier='form.person.field.ikzplz')) return errors
def fields(self): fields = uvcsite.Fields(IAccount).select('jobinfo1', 'jobinfo2', 'kkdaten', 'hausarzt') alter = getAlter(self.context.getGrundDaten()) if alter < 15: fields['jobinfo1'].title = u'Unfallbetrieb *' fields['jobinfo1'].description = u'Bitte nennen Sie uns den Namen und die Anschrift \ der Kindertagesstätte / des Kindergartens / der Schule.' fields['jobinfo2'].title = u'Unfallbringende Tätigkeit *' fields['jobinfo2'].description = u'Bitte beschreiben Sie, bei welcher Tätigkeit \ sich der Unfall ereignete.' fields['kkdaten'].title = u'Krankenkasse Ihres Kindes *' fields['hausarzt'].title = u'Kinder-/Hausärztin oder Kinder-/Hausarzt *' fields['hausarzt'].description = u'Bitte nennen Sie uns den Namen und die Anschrift \ der Kinder-/Hausärztin oder des Kinder-/Hausarztes.' return fields
class AccidentI(steps.AccidentI): grok.context(ISUnfallanzeige) grok.view(UnfallanzeigenWizard) fields = uvcsite.Fields(ISUnfallanzeige).select('unfdatum', 'unfzeit', 'unfort', 'unfhg1', 'unfhg2', 'unfkn1', 'unfkn2') fields['unfhg2'].mode = 'radio' fields['unfkn2'].mode = 'radio' def update(self): super(AccidentI, self).update() seite3css.need() seite3js.need()
class TForm(SubTableForm): grok.title('TableForm') grok.context(uvcsite.IUVCSite) grok.require('zope.Public') grok.view(TF) prefix = "G" tableFields = uvcsite.Fields(IFrage) tableActions = TableActions(MailAction(u'dd')) @uvcsite.action(u'Speichern') def handle_save(self): data, errors = self.extractData() print data, errors def getItems(self): return [dict(frage=1), dict(frage=2), dict(frage=3)]
class BGVExampleForm(uvcsite.Form): """ """ grok.name('sform') grok.title(u'oKomplexForm') grok.description(u"oKomplexe Form") grok.context(uvcsite.IUVCSite) ignoreContent = False ignoreRequest = False fields = uvcsite.Fields(IAdressen) label = u"Adressen" description = u"Adressen" @uvcsite.action(u'Abschicken') def handleButton(self): data, errors = self.extractData() print errors.title
class RegisterF1(uvcsite.Form): grok.context(IAccount) label = u"Teilnahme" description = u"Bitte vervollständigen Sie folgende Angaben um den \ 'Versicherten Service' der UKH zu nutzen" fields = uvcsite.Fields(IAccount).select('active', 'status') fields['active'].mode = "radio" ignoreContent = False dataManager = makeAdaptiveDataManager(IAccountData) #@property #def unter15jahre(self): # data = self.context.getGrundDaten() # alter = getAlter(data) # a = {} # if alter >= 15: # if self.context.anrede == 'Herr': # a['kombianrede'] = u'Sehr geehrter Herr ' + self.context.ansprechpartner # elif self.context.anrede == 'Frau': # a['kombianrede'] = u'Sehr geehrte Frau ' + self.context.ansprechpartner # else: # a['kombianrede'] = self.context.anrede + ' ' + self.context.ansprechpartner # else: # a['kombianrede'] = u'Sehr geehrte Familie ' + data['iknam1'] # return a def update(self): css.need() @uvcsite.action('Speichern & Weiter') def handle_save(self): data, errors = self.extractData() if errors: self.flash(u"Bitte überprüfen Sie Ihre eingaben") data['status'] = u'bearbeitet' apply_data_event(self.fields, self.context, data) self.flash(u'Speichern erfolgreich.') if data.get('active') == 'ja': self.redirect(self.url(self.context) + '/registerf2') else: self.redirect(self.url(self.context) + '/registerfinish')
class SimpleForm(uvcsite.Form): grok.title('SimpleForm') grok.context(uvcsite.IUVCSite) grok.require('zope.Public') ignoreContent = False ignoreRequest = False fields = uvcsite.Fields(IFrage) frage = u"0" def update(self): from js.jquery_maskmoney import jquery_maskmoney jquery_maskmoney.need() print "neeed" @uvcsite.action(u'Abschicken') def handleButton(self): data, errors = self.extractData() print data if errors: return self.frage = data.get('frage')
def fields(self): return uvcsite.Fields(*self.context.schema).omit( "title", "docid", "doc_type", "anschreiben")
class AccidentII(steps.AccidentII): grok.context(ISUnfallanzeige) grok.view(UnfallanzeigenWizard) fields = uvcsite.Fields(ISUnfallanzeige).select( 'prstkz', 'unfae1', 'unfaedatum', 'unfaezeit', 'unfwa1', 'unfwax', 'uadbavon', 'uadbabis', 'diavkt', 'diaadv', 'unfeba', 'unfeba1') fields['prstkz'].mode = 'radio' fields['unfae1'].mode = 'radio' fields['unfwa1'].mode = 'radio' fields['unfeba'].mode = 'radio' fields['diavkt'].htmlAttributes = {'maxlength': 60} fields['diaadv'].htmlAttributes = {'maxlength': 60} def update(self): super(AccidentII, self).update() self.fields.get( 'unfae1' ).title = u'Hat der Versicherte den Besuch der Einrichtung unterbrochen?' self.fields.get('unfae1').description = u"" self.fields.get( 'unfwa1' ).title = u'Hat der Versicherte den Besuch der Einrichtung wieder aufgenommen?' self.fields.get('unfwa1').description = u"" self.fields.get( 'unfwax').title = u'Wenn ja: Aufgenommen am Datum (tt.mm.jjjj)' self.fields.get('unfwax').description = u"" self.fields.get( 'uadbavon' ).title = u'Der Besuch der Einrichtung beginnt um Uhrzeit (hh:mm)' self.fields.get('uadbavon').description = u"" self.fields.get('uadbabis').title = u'und endet um Uhrzeit (hh:mm)' self.fields.get('uadbabis').description = u"" seite4css.need() seite4js.need() def validateStep(self, data, errors): super(AccidentII, self).validateStep(data, errors) if data.get('prstkz') == 'nein': if data.get('unfae1') == NO_VALUE: errors.append( Error(u'Bitte machen Sie Angaben in diesem Feld.', identifier='form.accidentii.field.unfae1')) if data.get('unfae1') == "ja, sofort": if data.get('unfwa1') == NO_VALUE: errors.append( Error(u'Bitte machen Sie Angaben in diesem Feld.', identifier='form.accidentii.field.unfwa1')) if data.get('unfwa1') == "ja": if data.get('unfwax') == NO_VALUE: errors.append( Error(u'Bitte machen Sie Angaben in diesem Feld.', identifier='form.accidentii.field.unfwax')) if data.get('unfae1') == "ja, spaeter am:": if data.get('unfwa1') == NO_VALUE: errors.append( Error(u'Bitte machen Sie Angaben in diesem Feld.', identifier='form.accidentii.field.unfwa1')) if data.get('unfwa1') == "ja": if data.get('unfwax') == NO_VALUE: errors.append( Error(u'Bitte machen Sie Angaben in diesem Feld.', identifier='form.accidentii.field.unfwax')) if data.get('unfaedatum') == NO_VALUE: errors.append( Error(u'Bitte machen Sie Angaben in diesem Feld.', identifier='form.accidentii.field.unfaedatum')) if data.get('unfaezeit') == NO_VALUE: errors.append( Error( u'Bitte das Feld Zeit ausfüllen. Beispiel: hh:mm (h = Stunde, m = Minute), bitte beachten Sie den Doppelpunkt.', identifier='form.accidentii.field.unfaedatum')) if data.get('unfaezeit') == None: errors.append( Error( u'Die eingegebene Zeit entspricht nicht dem geforderten Format, bitte beachten Sie den Doppelpunkt.', identifier='form.accidentii.field.unfaedatum')) if data.get('unfaezeit') == "": errors.append( Error( u'Die eingegebene Zeit entspricht nicht dem geforderten Format, bitte beachten Sie den Doppelpunkt.', identifier='form.accidentii.field.unfaedatum')) if data.get('uadbabis') == NO_VALUE: errors.append( Error(u'Bitte das Feld Zeit ausfüllen.', identifier='form.accidentii.field.uadbavon')) if data.get('uadbabis') == None: errors.append( Error( u'Die eingegebene Zeit entspricht nicht dem geforderten Format, bitte beachten Sie den Doppelpunkt.', identifier='form.accidentii.field.uadbavon')) return errors
def fields(self): content_object = content.bind().get(self) schemas = schema.bind().get(resolve(content_object)) return uvcsite.Fields(*schemas)
def fields(self): return uvcsite.Fields(*self.context.schema)
def fields(self): fields = uvcsite.Fields(IUKHLoginForm) fields["gebdate"].htmlAttributes["placeholder"] = u"TT.MM.JJJJ" for field in fields: field.prefix = u"" return fields