Пример #1
0
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()
Пример #2
0
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())
Пример #3
0
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
Пример #4
0
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))
Пример #5
0
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')
Пример #6
0
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')
Пример #7
0
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"
Пример #8
0
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"
Пример #9
0
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()
Пример #10
0
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()
Пример #11
0
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')
Пример #12
0
 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
Пример #13
0
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
Пример #14
0
 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
Пример #15
0
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()
Пример #16
0
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)]
Пример #17
0
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
Пример #18
0
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')
Пример #19
0
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')
Пример #20
0
 def fields(self):
     return uvcsite.Fields(*self.context.schema).omit(
         "title", "docid", "doc_type", "anschreiben")
Пример #21
0
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
Пример #22
0
 def fields(self):
     content_object = content.bind().get(self)
     schemas = schema.bind().get(resolve(content_object))
     return uvcsite.Fields(*schemas)
Пример #23
0
 def fields(self):
     return uvcsite.Fields(*self.context.schema)
Пример #24
0
 def fields(self):
     fields = uvcsite.Fields(IUKHLoginForm)
     fields["gebdate"].htmlAttributes["placeholder"] = u"TT.MM.JJJJ"
     for field in fields:
         field.prefix = u""
     return fields