class Parties(NavigationItem): grok.context(IBuilderApp) title = u'Parties' grok.order(20) def update(self): self.link = self.view.url(self.context, 'parties')
class ProfileParties(NavigationItem): grok.context(IUserProfile) title = u'Parties' grok.order(20) def update(self): self.link = self.view.url(grok.getApplication(), 'parties')
class Profile(NavigationItem): grok.context(IBuilderApp) title = u'Profile' grok.order(10) def update(self): self.link = self.view.url(self.context, 'profile')
class ExtraViewsViewlet(grok.ViewletManager): grok.order(20) grok.baseclass() grok.view(Interface) grok.name('extra-views') grok.viewletmanager(uvcsite.browser.layout.slots.interfaces.IAboveContent) grok.require("zope.Public") # menu_factory = menus.ExtraViews menu_factory = object() def update(self): super().update() if not len(self.menu.viewlets) or ISimpleForm.providedBy(self.view): self.actions = None else: self.actions = self.compute_actions(self.menu.viewlets) def compute_actions(self, viewlets): for action in viewlets: selected = action.viewName == self.view.__name__ context_url = self.menu.view.url(self.menu.context) url = selected and None or "%s/%s" % (context_url, action.viewName) yield { 'id': action.__name__, 'url': url, 'title': action.title or action.__name__, 'selected': selected, 'class': (selected and 'selected ' + self.menu.menu_class or self.menu.menu_class), }
class BasicInformation(uvcsite.Step): grok.context(IUnfallanzeige) grok.view(UnfallanzeigeWizard) grok.order(60) ignoreContent = False label = form_name = u'Allgemeine Informationen zum Unternehmen' fields = base.Fields(IUnfallanzeige).select('unfus3', 'unfus2')
class HtmlHead(grok.Viewlet): grok.viewletmanager(Head) grok.order(0) def getAppTitle(self): """Get the title of our blog. """ return grok.getSite().title
class AddMenuViewlet(grok.Viewlet): grok.view(Index) grok.order(30) grok.context(IProductFolder) grok.viewletmanager(interfaces.ITabs) def render(self): template = getMultiAdapter((self, self.request), IPageTemplate) return template()
class Finish(uvcsite.Step): grok.context(IUnfallanzeige) grok.view(UnfallanzeigeWizard) grok.order(70) ignoreContent = False label = form_name = u'Versand und Druck der Unfallanzeige' fields = base.Fields(IUnfallanzeige).select('behandlung') fields['behandlung'].mode = "radio"
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)
class AddMenuViewlet(grok.Viewlet): grok.view(Index) grok.order(30) grok.context(uvcsite.content.interfaces.IProductFolder) grok.viewletmanager(uvcsite.browser.layout.slots.interfaces.ITabs) def render(self): template = getMultiAdapter((self, self.request), IPageTemplate) return template()
class DatenMenuItem(uvcsite.SubMenu): grok.require("zope.View") grok.order(93) grok.context(Interface) grok.title("Meine Daten") grok.viewletmanager(uvcsite.IPersonalPreferences) @property def action(self): return self.view.url(get_account(self.request.principal.id), "meinedaten")
class KontaktMenuItem(uvcsite.SubMenu): grok.require('zope.View') grok.order(94) grok.context(Interface) grok.title('Kontakt') grok.viewletmanager(uvcsite.IPersonalPreferences) @property def action(self): return self.view.url(get_account(self.request.principal.id), 'kontakt')
class ThreadInfo(grok.Viewlet): grok.order(600) grok.context(IMessage) grok.require('uvc.AddContent') grok.view(uvcsite.AddForm) grok.viewletmanager(uvcsite.IAboveContent) def render(self): # MAKE ME BETTER return "Sie antworten auf folgende Nachricht: %s" % self.context.message
class PersonalPreferences(PersonalPreferencesViewlet): grok.order(1) grok.name('personalpreferencesviewlet') grok.layer(IAdHocLayer) grok.require('zope.View') base_template = ChameleonPageTemplateFile( 'templates/personalpreferences.cpt') def render(self): return self.base_template.render(self)
class ThreadInfo(grok.Viewlet): grok.order(600) grok.context(IMessage) grok.require('uvc.AddContent') grok.view(uvcsite.AddForm) grok.viewletmanager(uvcsite.IAboveContent) grok.layer(ILayer) @property def daten(self): return self.context
class PersonalPanelEntry(PersonalPanelEntry): grok.name("ppe") title = u"Passwort ändern" grok.order(99) @property def action(self): return self.view.url( # Ausgeblendet, solange es nur Passwort ändern gibt # get_account(self.request.principal.id), "personalpanelview" get_account(self.request.principal.id), "changepassword" )
class HomeFolderMenuItem(uvcsite.MenuItem): """ Menu fuer das Logout """ grok.require("zope.View") grok.order(90) grok.context(Interface) grok.title("Meine Dokumente") grok.viewletmanager(uvcsite.IPersonalPreferences) @property def action(self): return self.view.url(get_account(self.request.principal.id), "homefolder")
class Help(grok.Viewlet): grok.viewletmanager(uvcsite.IAboveContent) grok.context(interface.Interface) grok.order(9999) def render(self): helpmanager = component.getMultiAdapter( (self.context, self.request, self.view), viewlet.interfaces.IViewletManager, name=u'uvc.hilfen') helpmanager.update() return helpmanager.render()
class AuskunftEntry(uvcsite.MenuItem): """ Ein Eintrag im Globalen Menu ohne Dropdown Achtung in der Zeile layout.menus.category dropdown=False """ grok.title('Home') grok.viewletmanager(uvcsite.IGlobalMenu) grok.order(20000) @property def action(self): return self.view.url(self.context)
class LogoutMenu(uvcsite.MenuItem): """ Menu fuer das Logout """ grok.require("zope.View") grok.order(99) grok.context(Interface) grok.title("Abmelden") grok.viewletmanager(uvcsite.IPersonalPreferences) @property def action(self): return self.view.application_url() + "/logout"
class AddComment(grok.Viewlet): grok.context(Entry) grok.viewletmanager(Main) grok.view(Index) grok.order(8) def update(self): self.form = getMultiAdapter((self.context, self.request), name='addcommentform') self.form.update_form() def render(self): return self.form.renderedPreview + self.form.render()
class FlashMessages(grok.Viewlet): grok.baseclass() grok.order(200) grok.context(Interface) grok.name('uvcsite.messages') grok.viewletmanager(IPageTop) def update(self): received = receive() if received is not None: self.messages = list(received) else: self.messages = []
class ChangePasswordMenu(uvc.menus.components.MenuItem): grok.context(IHomeFolder) #grok.require('zope.View') grok.order(50) grok.name('ChangePW') uvc.menus.directives.menu( uvcsite.browser.layout.slots.interfaces.IPersonalMenu) title = u"Passwort ändern" icon = u"fas fa-lock-open" def url(self): return self.view.url(IHomeFolder(self.request.principal), 'changepassword')
class Basic(uvcsite.Step): grok.context(Unfallanzeige) grok.view(UnfallanzeigeWizard) grok.order(10) label = u'Basis Informationen' ignoreContent = False fields = base.Fields(IUnfallanzeige).select( 'title', 'unfustdor', 'unfuname', 'unfustrasse', 'unfunr', 'unfuplz', 'unfuort', 'anspname', 'anspfon', ) fields['unfustdor'].mode = "radio" def update(self): super(Basic, self).update() resources.step1.need() def validateStep(self, data, errors): if data.get('unfustdor') == 'In einer Zweigniederlassung': if data.get('unfuort') == NO_VALUE: errors.append( Error(u'Bitte das Feld Ort ausfüllen.', identifier='form.basic.field.unfuort')) if data.get('unfustrasse') == NO_VALUE: errors.append( Error(u'Bitte das Feld Strasse ausfüllen.', identifier='form.basic.field.unfustrasse')) if data.get('unfunr') == NO_VALUE: errors.append( Error(u'Bitte das Feld Nummer ausfüllen.', identifier='form.basic.field.unfunr')) if data.get('unfuname') == NO_VALUE: errors.append( Error(u'Bitte das Feld Name ausfüllen.', identifier='form.basic.field.unfuname')) if data.get('unfuplz') == NO_VALUE: errors.append( Error(u'Bitte das Feld Plz ausfüllen.', identifier='form.basic.field.unfuplz')) return errors
class PersonalPanel(uvcsite.browser.Page): """Page for Personal Properties """ grok.name("personalpanelview") grok.order(35) grok.require("zope.View") grok.context(IHomeFolder) grok.title(u"Meine Einstellungen") title = u"Meine Einstellungen" description = u"Hier werden Einstellungen zu" " Ihrem Benutzerprofil \ vorgenommen." def render(self): template = getMultiAdapter((self, self.request), IPageTemplate) return template()
class UserName(uvc.menus.components.MenuItem): grok.name("username") grok.title("USERSNAME") uvc.menus.directives.menu( uvcsite.browser.layout.slots.interfaces.IPersonalPreferences) grok.order(10) grok.require("zope.View") action = "" @property def title(self): return self.request.principal.title def url(self): return "#"
class MeinOrdner(uvc.menus.components.MenuItem): grok.context(Interface) grok.name("Mein Ordner") grok.order(20) grok.require("zope.View") uvc.menus.directives.menu( uvcsite.browser.layout.slots.interfaces.IPersonalPreferences) title = "Mein Ordner" def url(self): principal = self.request.principal if IUnauthenticatedPrincipal.providedBy(principal): return hf = IHomeFolder(principal, None) if hf: return urllib.parse.unquote(grok.util.url(self.request, hf)) return ""
class AccidentI(uvcsite.Step): grok.context(IUnfallanzeige) grok.view(UnfallanzeigeWizard) grok.order(40) ignoreContent = False label = form_name = u'Informationen zum Unfall Teil I' fields = base.Fields(IUnfallanzeige).select('unfdatum', 'unfzeit', 'unfort_detail', 'unfort', 'unfhg1', 'unfhg2', 'unfkn1', 'unfkn2') fields['unfhg2'].mode = "radio" fields['unfkn2'].mode = "radio" def update(self): super(uvcsite.Step, self).update() resources.step4.need()
class Breadcrumbs(grok.Viewlet): grok.viewletmanager(Top) grok.context(Interface) grok.order(10) def parents(self): parent_list = getParents(self.context) parent_list.reverse() return parent_list[1:] def getName(self, obj): """Get a name for an object. """ if IBlog.providedBy(obj): return obj.title elif isinstance(obj, Entries): return 'All Entries' return getattr(obj, '__name__', '')
class PersonalPanelEntry(uvc.menus.components.MenuItem): grok.name("personalpanelentry") grok.require("zope.View") grok.order(35) uvc.menus.directives.menu( uvcsite.browser.layout.slots.interfaces.IPersonalPreferences) title = "Meine Einstellungen" def url(self): principal = self.request.principal if IUnauthenticatedPrincipal.providedBy(principal): return hf = IHomeFolder(principal, None) if None: return "" viewname = "personalpanelview" return urllib.parse.unquote(grok.util.url(self.request, hf, viewname))