示例#1
0
class Add(formlib.AddForm):
    grok.require('afpy.barcamp.managemeetings')
    grok.context(AfpyBarcamp)
    form_fields = grok.AutoFields(IMeeting)
    megrok.menu.menuitem(menu='actions')
    grok.title(_(u'Add a meeting'))

    def update(self):
        self.form_fields['__name__'].field.title = _(u'URL name')
        super(Add, self).update()

    def setUpWidgets(self, ignore_request = False):
        super(Add, self).setUpWidgets(ignore_request)

    @formlib.action(_(u'Add meeting'))
    def add(self, **data):
        obj = Meeting()
        self.applyData(obj, **data)
        # TODO generate a correct slug that removes accents
        if '__name__' not in data or data['__name__'] is None:
            name = data['name'].lower().replace(' ', '_')
        else:
            name = data['__name__']
        self.context[name] = obj
        self.redirect(self.url('index'))
示例#2
0
class StatistikView(uvcsite.Page):
    grok.name('statistik')
    grok.title('Statistik')
    grok.require('zope.ManageSite')
    grok.context(uvcsite.IUVCSite)

    def update(self):
        self.counter = dict()
        inc = dict(anzahl=0, entwurf=0, gesendet=0, verarbeitung=0)
        hFB = getUtility(IHomeFolderManager).homeFolderBase
        self.counter['HomeFolder'] = inc
        self.counter['HomeFolder']['anzahl'] = len(hFB)
        pf_c = 0
        for homefolder in hFB.values():
            for name, pf in homefolder.items():
                if not IBroken.providedBy(pf):
                    pf_c += 1
                    if name not in self.counter:
                        self.counter[name] = dict(anzahl=0,
                                                  entwurf=0,
                                                  gesendet=0,
                                                  verarbeitung=0)
                    self.counter[name]['anzahl'] += len(pf)
                    for obj in pf.values():
                        state = IWorkflowState(obj).getState()
                        if state == 0:
                            self.counter[name]['entwurf'] += 1
                        elif state == 1:
                            self.counter[name]['gesendet'] += 1
                        elif state == 2:
                            self.counter[name]['verarbeitung'] += 1
        self.counter['ProductFolders'] = dict()
        self.counter['ProductFolders']['anzahl'] = pf_c
示例#3
0
class Unfallanzeigen(uvcsite.ProductFolder):
    """Container fuer die Speicherung der Lastschriftdokumente"""
    grok.implements(IUnfallanzeigenFolder)
    uvcsite.contenttype(Unfallanzeige)
    grok.title(u'Elektronische Unfallanzeigen')
    title = u"Unfallanzeigen"
    description = u"In diesem Ordner werden alle Elektronischen Unfallanzeigen gespeichert"
示例#4
0
class User(MenuItem):
    grok.viewletmanager(GlobalMenu)
    grok.title('User')
    grok.description('User Description')

    action = "user"
    icon = "@@/dd/pdf.png"
示例#5
0
class Unfallanzeige(uvcsite.Content):
    """ContentType fuer das Lastschriftverfahren"""
    uvcsite.schema(IUnfallanzeige)
    grok.name('Unfallanzeige')
    grok.title('Unfallanzeige')

    title = u"Unfallanzeige"
示例#6
0
class LogoutMenu(uvcsite.MenuItem):
    grok.name('Logout')
    grok.title('Logout')
    grok.require('zope.View')
    grok.viewletmanager(uvcsite.IPersonalPreferences)

    action = "logout"
示例#7
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()
示例#8
0
class WizardMenu(uvcsite.MenuItem):
    grok.viewletmanager(FormBeispiele)
    grok.title('Wizard')

    @property
    def action(self):
        return "%s/mywizard" % self.view.application_url()
示例#9
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')
示例#10
0
class ChangePassword(uvcsite.Form):
    """A Form for updating a User in ENMS.
    """
    grok.title(u'Passwort ändern')
    grok.context(IMyHomeFolder)

    label = _(u'Passwort ändern')
    description = _(u'Hier können Sie Ihr Passwort ändern')
    # uvcsite.menu(uvcsite.PersonalMenu)
    grok.require('zope.View')
    ignoreContext = True

    fields = Fields(IExtranetMember).select('passwort', 'confirm')

    @base.action(_(u"Bearbeiten"))
    def changePasswort(self):
        data, errors = self.extractData()
        if errors:
            self.flash('Es sind Fehler aufgetreten', type='error')
            return
        um = getUtility(IUserManagement)
        principal = self.request.principal.id
        data['mnr'] = principal
        um.updatePasswort(**data)
        self.flash(_(u'Ihr Passwort wurde gespeichert!'))
        self.redirect(self.url(self.context))
示例#11
0
class Edit(formlib.EditForm):
    """edit form for the seance
    """
    form_fields = grok.AutoFields(ISeance)
    grok.require('afpy.barcamp.editseance')
    grok.context(ISeance)
    grok.title(_(u'Edit'))
    megrok.menu.menuitem('actions')
示例#12
0
class Index(formlib.DisplayForm):
    """view of the seance
    """
    form_fields = grok.AutoFields(ISeance).omit('name')
    #grok.require('afpy.barcamp.seances.list')
    grok.context(ISeance)
    megrok.menu.menuitem('actions')
    grok.title(_(u'View'))
示例#13
0
class ListEdit(Contents, grok.View):
    """edit the list of seances
    """
    grok.name('edit')
    grok.context(SeanceContainer)
    grok.require('zope.ManageContent')
    megrok.menu.menuitem('actions')
    grok.title(_(u'Edit'))
示例#14
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"
示例#15
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"
示例#16
0
class TF(uvcsite.GroupForm):
    grok.title(u'FieldsetBasedForm')
    grok.context(uvcsite.IUVCSite)

    @uvcsite.action(u'Speichern')
    def handle_save(self):
        data, errors = self.extractData()
        print data, errors
示例#17
0
class Edit(formlib.EditForm):
    """edit form for a duration
    """
    form_fields = grok.AutoFields(IDuration)
    grok.context(Duration)
    grok.require('zope.ManageContent')
    megrok.menu.menuitem('actions')
    grok.title(_(u'Edit'))
示例#18
0
class ListView(Contents, grok.View):
    """view of the list of durations
    """
    grok.name('index')
    grok.context(IDurations)
    grok.require('zope.ManageContent')
    megrok.menu.menuitem('navigation')
    grok.title(_(u'Durations'))
示例#19
0
class Index(formlib.DisplayForm):
    """view of the durations
    """
    form_fields = grok.AutoFields(IDuration)
    grok.require('zope.ManageContent')
    grok.context(IDuration)
    megrok.menu.menuitem('actions')
    grok.title(_(u'View'))
示例#20
0
class StartMenu(uvcsite.MenuItem):
    grok.context(Interface)
    grok.viewletmanager(uvcsite.IGlobalMenu)
    grok.title("Startseite")

    @property
    def action(self):
        return self.view.application_url()
示例#21
0
class Index(uvcsite.Page):
    grok.title('Startseite')
    grok.context(IUVCSite)
    grok.require('zope.View')

    def update(self):
        self.flash('Fehlermeldung KLAUSi ERNST', 'error')
        self.flash('Warnung...', 'warning')
示例#22
0
class Stat(uvcsite.Page):
    grok.name('stat')
    grok.title('Statistik LONG LONG LONG')
    grok.context(AdressBook)
    viewName = "stat"
    title = "title"

    def render(self):
        return "<div> <h1>Statistiks</h1> </div>"
示例#23
0
class UnfallanzeigeRegistration(uvcsite.ProductRegistration):
    grok.name('KinderUnfallanzeige')
    grok.title('Kinder Unfallanzeige')
    grok.description('Kinder Unfallanzeige')
    grok.order(51)
    uvcsite.productfolder('ukh.spsuaz.components.SUnfallanzeigen')

    def action(self):
        return "%sSunfallanzeigen/add" % uvcsite.getHomeFolderUrl(self.request)
示例#24
0
class LogoutMenu(uvcsite.MenuItem):
    grok.name('Logout')
    grok.title('Abmelden')
    grok.require('zope.View')
    grok.viewletmanager(uvcsite.IPersonalPreferences)

    @property
    def action(self):
        return "%s/logout" % self.view.application_url()
示例#25
0
class Index(TablePage):
    grok.title(u'Mein Ordner')
    grok.context(IMyHomeFolder)
    grok.require('uvc.AccessHomeFolder')
    # uvcsite.sectionmenu(uvcsite.IExtraViews)

    cssClasses = {
        'table':
        ('tablesorter table table-striped ' + 'table-bordered table-condensed')
    }
    cssClassEven = u'even'
    cssClassOdd = u'odd'
    startBachtAt = 15
    bachtSize = 15
    sortOn = "table-modified-5"

    @property
    def title(self):
        name = self.request.principal.title
        return u"Ordner von %s" % name

    description = _(u"Hier werden Ihre Dokumente abgelegt")

    def getContentTypes(self):
        interaction = self.request.interaction
        for key, value in self.context.items():
            if (interaction.checkPermission('uvc.ViewContent', value)
                    and not getattr(value, 'excludeFromNav', False)):
                yield dict(href=absoluteURL(value, self.request), name=key)

    def executeDelete(self, item):
        self.flash(_(u'Ihre Dokumente wurden entfernt'))
        del item.__parent__[item.__name__]

    def update(self):
        items = self.request.form.get('table-checkBox-0-selectedItems')
        if items and 'form.button.delete' in self.request:
            if isinstance(items, (str, unicode)):
                items = [items]
            for key in items:
                for pf in self.context.values():
                    if key in pf:
                        self.executeDelete(pf[key])
        super(Index, self).update()

    def renderCell(self, item, column, colspan=0):
        from z3c.table import interfaces
        if interfaces.INoneCell.providedBy(column):
            return u''
        cssClass = column.cssClasses.get('td')
        cssClass = self.getCSSHighlightClass(column, item, cssClass)
        cssClass = self.getCSSSortClass(column, cssClass)
        cssClass = self.getCSSClass('td', cssClass)
        colspanStr = colspan and ' colspan="%s"' % colspan or ''
        dt = ' data-title="%s" ' % column.header
        return u'\n      <td%s%s%s>%s</td>' % (cssClass, colspanStr, dt,
                                               column.renderCell(item))
示例#26
0
class StatistikMenu(uvcsite.MenuItem):
    grok.context(uvcsite.IUVCSite)
    grok.title('Statistik')
    grok.require('zope.ManageSite')
    grok.viewletmanager(uvcsite.IFooter)

    @property
    def action(self):
        return "%s/statistik" % self.view.application_url()
示例#27
0
class RequestAccessTokenMenu(uvcsite.MenuItem):
    grok.title(u'Access Token erstellen')
    grok.require('zope.View')
    grok.viewletmanager(uvcsite.IPersonalMenu)

    @property
    def action(self):
        return self.view.url(
            IHomeFolder(self.request.principal).homeFolder, 'request_token')
示例#28
0
class AddMenuEntry(ProductMenuItem):
    grok.name('Buddy erstellen')
    grok.title('Buddy erstellen')
    grok.context(zope.interface.Interface)
    grok.viewletmanager(uvcsite.IGlobalMenu)

    @property
    def reg_name(self):
        return "adressbook"
示例#29
0
class ChangePasswordMenu(uvcsite.MenuItem):
    grok.title(u'Passwort ändern')
    grok.require('zope.View')
    grok.viewletmanager(uvcsite.IPersonalMenu)

    @property
    def action(self):
        return self.view.url(
            IHomeFolder(self.request.principal).homeFolder, 'changepassword')
示例#30
0
class DisplayProductFolderListing(TablePage):
    grok.title(u'AdHoc Objekte')
    grok.name('index')
    grok.context(IAdHocProductFolder)
    grok.require('zope.ManageApplication')

    cssClasses = {
        'table':
        'tablesorter table table-striped table-bordered table-condensed'
    }
            graph_xml = form.request.form['data']

            try:
                graph = SetobjectGraph(form.request, graph_xml)
                graph.save()
                jsonresponse['result'] = 'OK'
            except SetobjectGraphException, ex:
                jsonresponse['error'] = {'title': 'Save failed',
                                          'message': ex.reason,
                                          'data_node_id': ex.setobjectid}
            form.jsonresponse = jsonresponse
            
    
    grok.name('index') 
    grok.context(IGenericSet)
    grok.title(_(u"Edit data"))
    grok.require('dolmen.content.View')

    actions = Actions(SaveAction('Save'),)

    def __call__(self):
        if self.request.headers.get('X-Requested-With') == 'XMLHttpRequest':
            self.updateActions()
            self.response.setHeader('Content-Type', 'application/json')
            return json.dumps(self.jsonresponse)
        else:
            return super(EditData, self).__call__() 

    @property
    def prefix(self):
        return str(self.context.plan_identifier)