Пример #1
0
class LoginAlerts(Viewlet):
    viewletmanager(Top)
    order(15)
    context(LoginRoot)
    layer(DefaultLayer)

    template = get_template('messages.pt', __file__)
Пример #2
0
class Navigation(uvclight.ViewletManager):
    uvclight.name('navigation')
    uvclight.layer(IVBGTheme)
    uvclight.context(uvclight.Interface)

    def application_url(self):
        return self.view.application_url()
Пример #3
0
class BF(uvclight.Page):
    uvclight.name('bf')
    uvclight.context(interface.Interface)
    uvclight.layer(IVBGTheme)
    uvclight.auth.require('zope.Public')

    template = get_template('bf.cpt')
Пример #4
0
class Alerts(Viewlet):
    viewletmanager(Top)
    order(15)
    context(GateKeeper)
    layer(DefaultLayer)

    template = get_template('messages.pt', __file__)
Пример #5
0
class GatekeeperIndex(Page):
    name('index')
    context(GateKeeper)
    layer(DefaultLayer)

    template = get_template('entrance.pt', __file__)

    def update(self):
        self.portals = list(self.context.get_portals(self.request))
Пример #6
0
class GateLayout(Layout):
    context(Interface)
    layer(DefaultLayer)

    title = u"Gatekeeper"
    template = get_template('layout.pt', __file__)

    def __call__(self, content, **namespace):
        styles.need()
        namespace['user'] = self.request.environment.get('REMOTE_USER')
        namespace['gatekeeper_messages'] = list(receive())
        return Layout.__call__(self, content, **namespace)
Пример #7
0
class VBGFooter(uvclight.ViewletManager):
    uvclight.context(interface.Interface)
    uvclight.name('vbgfooter')
    template = get_template('vbgfooter.cpt')

    def update(self):
        pass

    def isAuth(self):
        if hasattr(self.request, 'principal'):
            if self.request.principal.id != 'user.unauthenticated':
                return True
        return False
Пример #8
0
class AdminIndex(Page):
    name('index')
    context(AdminRoot)
    layer(DefaultLayer)

    template = get_template('admin.pt', __file__)

    def update(self):
        self.links = ({
            'title':
            _(u"Messages management", default="Messages management"),
            'url':
            get_absolute_url(self.context.messages, self.request),
        }, )
Пример #9
0
class Layout(uvclight.Layout):
    uvclight.context(Interface)

    template = uvclight.get_template('layout.cpt', __file__)
    base = "/"

    def __call__(self, content, **ns):
        main_css.need()
        #        main_js.need()
        if 'view' in ns:
            self.title = getattr(ns['view'], 'title', u'KUVB')
        else:
            self.title = u'Fernlehrgang'
        return uvclight.Layout.__call__(self, content, **ns)
Пример #10
0
class Layout(uvclight.Layout):
    uvclight.context(Interface)
    uvclight.layer(IVBGTheme)

    base = "/"
    template = get_template('layout.cpt')

    def __call__(self, content, **ns):
        vbgcss.need()
        vbgjs.need()
        site = uvclight.getSite()
        self.title = getattr(site, 'title', 'UVCLight')
        if 'view' in ns:
            if hasattr(ns['view'], 'title'):
                self.title = getattr(ns['view'], 'title', u'UVCLight')
        return uvclight.Layout.__call__(self, content, **ns)
Пример #11
0
class KontaktForm(uvclight.Form):
    uvclight.name('kontakt')
    uvclight.context(interface.Interface)
    uvclight.layer(IVBGTheme)
    uvclight.auth.require('zope.Public')

    fields = uvclight.Fields(IKontaktForm)

    label = u"Kontakt"
    description = u"Hier haben Sie die Möglichkeit uns themenspezifische Nachrichten zukommen zu lassen"

    @uvclight.action('Abbrechen')
    def handle_save(self):
        self.redirect(self.application_url())

    @uvclight.action('Senden')
    def handle_save(self):
        data, errors = self.extractData()
        if errors:
            self.flash('Es sind Fehler aufgetreten')
            return
        from nva.psyquizz.emailer import ENCODING
        config = self.context.configuration
        subject_choices = self.fields['subject'].getChoices(self)
        item = subject_choices.getTerm(data['subject'])
        subject = item.title
        email, suf = item.token.split('_')

        tpl = config.resources.get_template('contact.tpl')
        emailer = self.context.configuration.emailer
        # {'message': u'fsadff', 'email': u'*****@*****.**', 'subject': '1'}
        title = "Anfrage!".encode(ENCODING)
        #email = data['email']
        data['encoding'] = ENCODING
        data['subject'] = subject
        with config.emailer as sender:
            mail = config.emailer.prepare_from_template(
                tpl, email, title, data)
            sender(email, mail.as_string())
        self.flash('Ihre Anfrage wurde versendet.')
        self.redirect(self.application_url())
Пример #12
0
class MessagesIndex(TableForm):
    name('index')
    context(MessagesRoot)
    layer(DefaultLayer)

    ignoreRequest = False
    ignoreContent = False
    postOnly = True
    mode = DISPLAY
    css_class = "table table-striped table-condensed"

    actions = Actions(DeleteEntry(_('Delete')))

    @property
    def tableFields(self):
        fields = Fields(IMessage)
        fields['id'].mode = 'link'
        return fields

    def getItems(self):
        return list(self.context)
Пример #13
0
class EditForm(Form):
    """A very generic add form.
    """
    name('index')
    title(_(u"edit_message", default=u"Edit message"))
    require('zope.Public')
    context(Message)
    layer(DefaultLayer)
    
    ignoreContent = False
    ignoreRequest = True
    fields = Fields(IMessage)
    dataValidators = [InvariantsValidation]

    @property
    def action_url(self):
        return self.request.url

    def updateForm(self):
        gkdate.need()
        self.fields['enable'].strict_format = '%d/%m/%Y %H:%M'
        self.fields['disable'].strict_format = '%d/%m/%Y %H:%M'
        Form.updateForm(self)

    @action(_(u"Update"))
    def Update(self):
        data, errors = self.extractData()
        if errors:
            self.submissionError = errors
            return FAILURE

        session = self.context.__parent__.session
        apply_data_event(self.fields, self.context, data)
        session.add(self.context)

        send(_(u"Your contents get updated."))
        url = get_absolute_url(self.context, self.request)
        return SuccessMarker('Updated', True, url=url)
Пример #14
0
class GlobalNav(uvclight.Viewlet):
    uvclight.viewletmanager(MainNavigation)
    uvclight.context(interface.Interface)
    template = uvclight.get_template('globalnav.cpt', __file__)

    @property
    def title(self):
        site = uvclight.getSite()
        if site is not None:
            return site.title
        return u'Navigation'

    def update(self):
        self.gmentries = []
        self.globalmenu = getMultiAdapter(
            (self.view.context, self.request, self.view), IViewletManager,
            'globalmenu')
        self.globalmenu.update()
        self.globalmenu.template = uvclight.get_template(
            'globalmenu.cpt', __file__)
        self.personalmenu = getMultiAdapter(
            (self.view.context, self.request, self.view), IViewletManager,
            'personal')
        self.personalmenu.update()
        self.personalmenu.template = uvclight.get_template(
            'personalmenu.cpt', __file__)
        self.submenus = list()
        submenus = getAdapters(
            (self.context, self.request, self.view, self.globalmenu), ISubMenu)
        for name, submenu in submenus:
            submenu.update()
            submenu.template = uvclight.get_template('submenu.cpt', __file__)
            self.submenus.append(submenu)
        for entry in self.globalmenu.entries:
            self.gmentries.append(entry)
        self.gmentries += self.submenus
        setattr(self.globalmenu, 'gmentries', self.gmentries)
Пример #15
0
class AddForm(Form):
    """A very generic add form.
    """
    name('add')
    title(_(u"add_message", default=_(u"Add message")))
    require('zope.Public')
    context(MessagesRoot)
    layer(DefaultLayer)
    
    fields = Fields(IMessage).omit('id')
    dataValidators = [InvariantsValidation]

    @property
    def action_url(self):
        return self.request.url

    def updateForm(self):
        gkdate.need()
        self.fields['enable'].strict_format = '%d/%m/%y %H:%M'
        self.fields['disable'].strict_format = '%d/%m/%y %H:%M'
        Form.updateForm(self)

    @action(_(u"Add"))
    def add(self):
        data, errors = self.extractData()
        if errors:
            return FAILURE

        if data['activation'] != ON_DATES:
            del data['enable']
            del data['disable']

        item = self.context.model(**data)
        self.context.add(item)
        send(_(u"Content created."))
        url = get_absolute_url(self.context, self.request)
        return SuccessMarker('Created', True, url=url)
Пример #16
0
class ObjectActionMenuViewlet(MenuViewlet):
    uvclight.viewletmanager(managers.IAboveContent)
    uvclight.context(IContent)
    uvclight.layer(IVBGTheme)
    uvclight.order(10)
    menu = menus.ContextualActionsMenu
Пример #17
0
class MainNavigation(uvclight.ViewletManager):
    uvclight.context(interface.Interface)
    uvclight.name('uvc-mainnav')
Пример #18
0
class Footer(uvclight.ViewletManager):
    uvclight.name('footer')
    uvclight.layer(IVBGTheme)
    uvclight.context(uvclight.Interface)
    uvclight.implements(managers.IFooter)
Пример #19
0
class BelowContent(uvclight.ViewletManager):
    uvclight.name('below-body')
    uvclight.layer(IVBGTheme)
    uvclight.context(uvclight.Interface)
    uvclight.implements(managers.IBelowContent)
Пример #20
0
class AboveContent(uvclight.ViewletManager):
    uvclight.name('above-body')
    uvclight.layer(IVBGTheme)
    uvclight.context(uvclight.Interface)
    uvclight.implements(managers.IAboveContent)
Пример #21
0
class Headers(uvclight.ViewletManager):
    uvclight.name('headers')
    uvclight.layer(IVBGTheme)
    uvclight.context(uvclight.Interface)
    uvclight.implements(managers.IHeaders)
Пример #22
0
class PageTop(uvclight.ViewletManager):
    uvclight.name('pagetop')
    uvclight.layer(IVBGTheme)
    uvclight.context(uvclight.Interface)
    uvclight.implements(managers.IPageTop)
Пример #23
0
class AboveContent(uvclight.ViewletManager):
    uvclight.name('uvc-above-body')
    uvclight.context(Interface)
Пример #24
0
class Tabs(uvclight.ViewletManager):
    uvclight.name('tabs')
    uvclight.layer(IVBGTheme)
    uvclight.context(uvclight.Interface)
    uvclight.implements(managers.ITabs)
Пример #25
0
class PageTop(uvclight.ViewletManager):
    uvclight.name('uvc-pagetop')
    uvclight.context(Interface)
Пример #26
0
class BelowContent(uvclight.ViewletManager):
    uvclight.name('uvc-below-body')
    uvclight.context(Interface)
Пример #27
0
class Headers(uvclight.ViewletManager):
    uvclight.name('uvc-headers')
    uvclight.context(Interface)
Пример #28
0
class Footer(uvclight.ViewletManager):
    uvclight.name('uvc-footer')
    uvclight.context(Interface)
Пример #29
0
class Datenschutz(uvclight.Page):
    uvclight.context(interface.Interface)
    #uvclight.layer(ICompanyRequest)
    uvclight.auth.require('zope.Public')

    template = get_template('datenschutz.cpt')
Пример #30
0
class ExtraInfo(uvclight.ViewletManager):
    uvclight.name('uvc-extrainfo')
    uvclight.context(Interface)