from plone.app.layout.viewlets.interfaces import IPortalFooter
from plone.app.layout.viewlets.interfaces import IPortalHeader
from plone.app.layout.navigation.root import getNavigationRoot
from plone.app.layout.navigation.navtree import buildFolderTree
from plone.app.layout.navigation.interfaces import INavtreeStrategy
from Products.CMFPlone.browser.navtree import NavtreeQueryBuilder
from plone.i18n.normalizer import idnormalizer

from plone.registry.interfaces import IRegistry

# Local imports
from Products.CMFCore.utils import getToolByName
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile


grok.templatedir("viewlets")


class OpenMultimediaFooter(grok.Viewlet):
    grok.context(Interface)

    grok.name(u"openmultimedia.footer")
    grok.require("zope2.View")
    grok.template("footer")
    grok.viewletmanager(IPortalFooter)

    def get_footer_section(self):
        """
        """
        self.context = aq_inner(self.context)
        portal_state = getMultiAdapter((self.context, self.request), name=u'plone_portal_state')
# -*- coding: utf-8 -*-

from five import grok

from openmultimedia.contenttypes.content.audio import IAudio

grok.templatedir('audio_templates')


class View(grok.View):
    """ Default view displays a audio player.
    """
    grok.context(IAudio)
    grok.require('zope2.View')
Example #3
0
from five import grok
from zope.formlib import form
from collective.shibboleth.auth import _generatePassword
from collective.spaces.browser.createform import CreateSpaceForm
from plone.app.users.browser.passwordpanel \
    import PasswordPanel as OriginalPasswordPanel
from plone.app.layout.viewlets.common import SearchBoxViewlet


grok.templatedir('.')


class CustomCreateSpaceForm(CreateSpaceForm):
    """ Extend and customise the Space creation form.
    """
    grok.template('create-space')


class CustomSearchBoxViewlet(SearchBoxViewlet):

    def update(self):
        super(CustomSearchBoxViewlet, self).update()
        self.navigation_root_url = 'https://espaces.edu.au'


class PasswordPanel(OriginalPasswordPanel):

    description = u"Change or regenerate password. If you are logged in" \
                  u" via your institutional account, then you can select to" \
                  u" generate a new local password below."
# -*- coding: utf-8 -*-
from five import grok

from vindula.contentcore.formulario import IFormularioPadrao

from vindula.contentcore.models.fields import ModelsFormFields
from vindula.contentcore.models.form_values import ModelsFormValues

grok.templatedir('views_templates')

class VindulaAjaxReferenceView(grok.View):
    grok.context(IFormularioPadrao)
    grok.require('zope2.View')
    grok.name('ajax-reference')



    def update(self):
        form = self.request.form
        instance = 0

        formulario = form.get('form','0')
        field = form.get('field','')
        self.name_field = field
        value = form.get('value','')

        self.formulario = formulario
        self.campos = ModelsFormFields().get_Fields_ByIdForm(int(formulario))

        campo_busca = ModelsFormValues().store.find(ModelsFormValues, ModelsFormValues.fields==unicode(field),
                                                                      ModelsFormValues.forms_id==int(formulario),
Example #5
0
    form.no_omit(IEditForm, 'description','homepage')
  

@form.validator(field=IRegistrationForm['captcha'])
def validateCaptca(value):
    site = getSite()
    request = getRequest()
    if request.getURL().endswith('kss_z3cform_inline_validation'):
        return

    captcha = CaptchaValidator(site, request, None,
            IRegistrationForm['captcha'], None)
    captcha.validate(value)

grok.templatedir('register_templates')
from wechat.policy.browser.interfaces import IThemeSpecific
  
class RegistrationForm(form.SchemaForm):
    grok.name('register')
    grok.context(IMemberfolder)
#    grok.template('registrationform')
    grok.require("zope.Public")
    grok.layer(IThemeSpecific)    
#    fields = field.Fields(IRegistrationForm)
    schema = IRegistrationForm    
    ignoreContext = True
    label = _(u"Register for site member")
     

    def update(self):
from Products.statusmessages.interfaces import IStatusMessage

from zope.component import getUtility
from plone.registry.interfaces import IRegistry

from vindula.comissao.tools import convert_csv2list_dict, convert_str2int,\
								   convert_str2decimal, convert_str2unicode, convert_str2date, convert_str2bool

from vindula.comissao import MessageFactory as _
from vindula.comissao.models.comissao_usuario import ComissaoUsuario
from vindula.comissao.models.comissao_venda import ComissaoVenda


import transaction

grok.templatedir('templates')

class ImportComissaoView(grok.View):
	grok.context(Interface)
	grok.require('cmf.ManagePortal')
	grok.name('importar-comissao')

	def update(self):
		self.retorno_import = 0
		form = self.request.form

		if 'txt_file' in form.keys():
			file_import = form.get('txt_file','')

			if file_import and 'importa_usuario' in form.keys():            
				rows = file_import.readlines()
from AccessControl.SecurityManagement import setSecurityManager
from AccessControl.User import SpecialUser
from Products.CMFCore.utils import getToolByName
from five import grok
from hexagonit.socialbutton.browser.interfaces import IHexagonitSocialbuttonLayer
from hexagonit.socialbutton.data import SocialButtonConfig
from hexagonit.socialbutton.interfaces import ISocialButtonHidden
from plone.app.layout.globals.interfaces import IViewView
from plone.registry.interfaces import IRegistry
from plone.stringinterp.interfaces import IStringInterpolator
from zope.component import getUtility
from zope.interface import Interface
from zope.viewlet.interfaces import IViewletManager


grok.templatedir('viewlets')


class anonymous_access(object):
    """ Context anonymous to use like this:
    with anonymous_access(request):
        do_something()
    """

    def __init__(self, request, roles=('Anonymous', )):
        self.request = request
        self._roles = roles

    def __enter__(self):
        self.real_sm = getSecurityManager()
        newSecurityManager(
from Acquisition import aq_base

from five import grok

from collective.contact.core.behaviors import IContactDetails
from collective.contact.core.browser import TEMPLATES_DIR
from collective.contact.core.behaviors import ADDRESS_FIELDS

grok.templatedir(TEMPLATES_DIR)


def get_address(obj):
    """Returns a dictionary which contains address fields"""
    address = {}
    if (aq_base(obj).use_parent_address is True and hasattr(obj, 'aq_parent')
            and IContactDetails.providedBy(obj.aq_parent)):
        address = get_address(obj.aq_parent)
        if address:
            return address

    address_fields = ADDRESS_FIELDS
    obj = aq_base(obj)
    for field in address_fields:
        value = getattr(obj, field, '') or ''
        address[field] = value

    if not [v for v in address.values() if v]:
        # no value in address fields
        return {}

    return address
Example #9
0
from Products.CMFCore.utils import getToolByName

from five import grok

from msd.landingpage import landingpageMessageFactory as _

# Import BlocksView
from msd.landingpage.browser.blocksview import LayoutView, ILayoutView
from msd.landingpage.layout import Block

from msd.landingpage.interfaces import ILandingPage

# All layout views are available for landing page content only
grok.context(ILandingPage)

grok.templatedir("layout_templates")

# Layout views must inherit from LayoutView
class Layout1(LayoutView):
    """
    SampleLayout browser view
    """
    icon = "layout1.png"
    title = _(u"Three horizontal")
    
    # blocks are defined by Block objects
    # parameters are: direction, (width without portlets, width with one portlet column, width with two portlet columns)
    block_definitions = [ Block(Block.HORIZONTAL,
                                (24, 18, 12),
                                css_classes=["layoutcolumn span-24 last",
                                             "layoutcolumn span-18 last",
# -*- coding: utf-8 -*-
from five import grok

from vindula.contentcore.formulario import IFormularioPadrao

from vindula.contentcore.models.fields import ModelsFormFields
from vindula.contentcore.models.form_values import ModelsFormValues

grok.templatedir('views_templates')


class VindulaAjaxReferenceView(grok.View):
    grok.context(IFormularioPadrao)
    grok.require('zope2.View')
    grok.name('ajax-reference')

    def update(self):
        form = self.request.form
        instance = 0

        formulario = form.get('form', '0')
        field = form.get('field', '')
        self.name_field = field
        value = form.get('value', '')

        self.formulario = formulario
        self.campos = ModelsFormFields().get_Fields_ByIdForm(int(formulario))

        campo_busca = ModelsFormValues().store.find(
            ModelsFormValues, ModelsFormValues.fields == unicode(field),
            ModelsFormValues.forms_id == int(formulario),
Example #11
0
from plone.formwidget.recaptcha.widget import ReCaptchaFieldWidget

from Products.CMFPlone.utils import safe_unicode
from Products.statusmessages.interfaces import IStatusMessage
from Products.CMFCore.utils import getToolByName
from Products.CMFPlone import PloneMessageFactory as _
from Products.CMFPlone.interfaces import IPloneSiteRoot

from genweb.alternatheme.browser.interfaces import IGenwebTheme

from genweb.core.utils import genweb_config
from zope.component import getMultiAdapter


grok.templatedir("views_templates")


MESSAGE_TEMPLATE = u"""\
Heu rebut aquest correu perquè en/na %(name)s (%(from_address)s) ha enviat \
comentaris sobre l'espai Genweb que administreu a \

%(genweb)s

El missatge és:

%(message)s
--
%(from_name)s
"""
from zope.interface import Interface
from zope.schema.vocabulary import SimpleTerm

from five import grok
from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile

from plone.registry.interfaces import IRegistry

#from plone.app.layout.navigation.navtree import buildFolderTree

from Products.CMFCore.utils import getToolByName
from Products.CMFPlone.browser.navtree import SitemapNavtreeStrategy

from collective.cover.controlpanel import ICoverSettings

grok.templatedir("screenlets_templates")


class TestContent(grok.View):
    """
    test screenlet for selecting
    """
    grok.context(Interface)
    grok.name('test-content-screenlet')
    grok.require('zope2.View')
    grok.template('test_content_screenlet')


class SelectContentScreenlet(grok.View):
    """
    screenlet for selecting
from datetime import datetime

from zope.component import getUtility

from five import grok

from plone.directives import dexterity

from openmultimedia.contenttypes.content.gallery import IGallery

from collective.nitf.browser import View as NITFView
from collective.prettydate.interfaces import IPrettyDate

grok.templatedir('gallery_templates')

class View(NITFView):
    """ Default view looks like a News Item.
    """
    grok.context(IGallery)
    grok.name('view')
    grok.require('zope2.View')
    grok.template('gallery')
    
    def get_media(self):
        """ Return a list of object brains inside the NITF object.
        """
        media_types = ['Image']
        return self._get_brains(media_types)
    
    def get_description(self, obj):
        if obj.Description():
from Products.CMFPlone.browser.navtree import SitemapNavtreeStrategy
from Products.Five.browser import BrowserView
from zope.browserpage.viewpagetemplatefile import ViewPageTemplateFile
from zope.component import getMultiAdapter
from zope.component import getUtility
from zope.component import queryUtility
from zope.interface import Interface
from zope.schema.interfaces import IVocabularyFactory
from zope.schema.vocabulary import SimpleTerm
from plone.batching import Batch

import json

VOCAB_ID = u"plone.app.vocabularies.ReallyUserFriendlyTypes"

grok.templatedir("contentchooser_templates")


# XXX: what's the purpose of this view?
#      why is here if it's intendes for tests?
#      can we get rid of it?
class TestContent(grok.View):
    """
    test contentchooser for selecting
    """

    grok.context(Interface)
    grok.name("test-content-contentchooser")
    grok.require("zope2.View")
    grok.template("test_content_contentchooser")
import math
from zope.interface.interfaces import IMethod
#from zope import schema
from five import grok
from UNEP.cartagenareportingtool.interface import ICountryReport
from Products.CMFCore.interfaces import ISiteRoot
from plone import api


#from plone.z3cform import layout
#from plone.directives import form, dexterity
#from plone.app.registry.browser.controlpanel import RegistryEditForm
#from plone.app.registry.browser.controlpanel import ControlPanelFormWrapper

# had to explicitly define the location of the template directory
grok.templatedir('controlpanel_templates')

# note the use of grok.View (in contrast to dexterity.DisplayForm)
# grok.View does not try to "inspect" the context and return
# custom widgets, which would be a problem with a context of ISiteRoot


class ControlPanelView(grok.View):
    """
    View for controlpanel
    """

    grok.name("cartagenareportingtool-controlpanel")
    grok.context(ISiteRoot)

    def get_country_report(self,user):
Example #16
0
from Products.CMFPlone.browser.navtree import SitemapNavtreeStrategy
from Products.Five.browser import BrowserView
from zope.browserpage.viewpagetemplatefile import ViewPageTemplateFile
from zope.component import getMultiAdapter
from zope.component import getUtility
from zope.component import queryUtility
from zope.interface import Interface
from zope.schema.interfaces import IVocabularyFactory
from zope.schema.vocabulary import SimpleTerm
from plone.batching import Batch

import json

VOCAB_ID = u'plone.app.vocabularies.ReallyUserFriendlyTypes'

grok.templatedir("contentchooser_templates")


# XXX: what's the purpose of this view?
#      why is here if it's intendes for tests?
#      can we get rid of it?
class TestContent(grok.View):
    """
    test contentchooser for selecting
    """
    grok.context(Interface)
    grok.name('test-content-contentchooser')
    grok.require('zope2.View')
    grok.template('test_content_contentchooser')

Example #17
0
from Products.CMFPlone.browser.navtree import SitemapNavtreeStrategy
from Products.CMFPlone.PloneBatch import Batch
from Products.CMFPlone.utils import safe_unicode
from Products.Five.browser import BrowserView
from zope.browserpage.viewpagetemplatefile import ViewPageTemplateFile
from zope.component import getUtility
from zope.component import queryUtility
from zope.interface import Interface
from zope.schema.interfaces import IVocabularyFactory
from zope.schema.vocabulary import SimpleTerm

import json

VOCAB_ID = u'plone.app.vocabularies.ReallyUserFriendlyTypes'

grok.templatedir('contentchooser_templates')


ITEMS_BY_REQUEST = 20


# XXX: what's the purpose of this view?
#      why is here if it's intendes for tests?
#      can we get rid of it?
class TestContent(grok.View):
    """
    test contentchooser for selecting
    """
    grok.context(Interface)
    grok.name('test-content-contentchooser')
    grok.require('zope2.View')
Example #18
0
from plone.app.z3cform.wysiwyg import WysiwygFieldWidget
from plone.dexterity.interfaces import IDexterityFTI
from plone.directives import dexterity
from plone.directives import form
from plone.indexer import indexer
from plone.namedfile import field as filefield
from plonetheme.nuplone.skin.interfaces import NuPloneSkin
from plonetheme.nuplone.z3cform.directives import depends
from zope import schema
from zope.component import getMultiAdapter
from zope.component import getUtility
from zope.interface import implements
from zope.interface import Interface
import sys

grok.templatedir("templates")


class IModule(form.Schema, IRichDescription, IBasic):
    """Survey Module.

    A module is (hierarchical) grouping in a survey.
    """
    description = HtmlText(
        title=_("label_module_description", u"Description"),
        description=_("help_module_description",
                      default=u"Include any relevant information that may be "
                      u"helpful for the end-user."),
        required=False)
    form.widget(description=WysiwygFieldWidget)
    form.order_after(description="title")
# -*- coding: utf-8 -*-

from five import grok
from gomobiletheme.basic import viewlets as gomobileviewlets
from plone.app.layout.viewlets.common import ViewletBase
from zope.interface import Interface

from osha.campaigntoolkit.browser.interfaces import IMobileCampaignToolkitLayer

grok.templatedir("templates_mobile")


class GoogletranslateViewlet(ViewletBase):
    pass


class GotocorporateViewlet(ViewletBase):
    pass


# Mobile viewlets

class AdditionalHead(gomobileviewlets.AdditionalHead):
    grok.template('additionalhead')
    grok.layer(IMobileCampaignToolkitLayer)
    grok.context(Interface)
    grok.viewletmanager(gomobileviewlets.MainViewletManager)


class Logo(gomobileviewlets.Logo):
    grok.layer(IMobileCampaignToolkitLayer)
Example #20
0
from zope.component import getMultiAdapter
import copy
import zipfile
try:
    from cStringIO import StringIO
except ImportError:
    from io import BytesIO as StringIO

import time
import os
from Products.CMFDefault.utils import checkEmailAddress
from Products.CMFDefault.exceptions import EmailAddressInvalid
from email.Header import Header
from plone import api

grok.templatedir('templates')

class send_email_consultant_view(grok.View):
    grok.context(IContentish)
    grok.require('zope2.View')
    grok.name('send-email-files')
    
    
    def js(self):
        path = '/'.join(self.context.getPhysicalPath())+'/consultant_cv_recipients'
        recipients = self.context.unrestrictedTraverse(path).__call__()
        
        config = {
            'theme': 'facebook',
            'tokenDelimiter': '\n',
            'preventDuplicates': True,
Example #21
0
    def setTitle(self, value):
        return


class INameFromMiembroNames(INameFromTitle):
    def title():
        """Return a processed title"""


class NameFromMiembroNames(object):
    implements(INameFromMiembroNames)

    def __init__(self, context):
        self.context = context

    @property
    def title(self):
        return self.context.nombres + " " + self.context.apellidos


grok.templatedir("miembro_templates")


class View(grok.View):
    """Clase vista para el esquema Miembro.
    """

    grok.context(IMiembro)
    grok.require("zope2.View")
    grok.template("view")
from plone.dexterity.interfaces import IDexterityFTI
from plone.dexterity.utils import addContentToContainer
from plone.memoize import instance
from Products.statusmessages.interfaces import IStatusMessage
from collective.deformwidgets.dynatree import MultiSelectDynatreeWidget, \
    DynatreeWidgetContentBrowser
from zope.component import getUtility, createObject
from zope.event import notify
from zope.lifecycleevent import ObjectCreatedEvent
import colander
import deform
import imsvdex
from pkg_resources import resource_filename
from five.grok import PageTemplate

grok.templatedir('deform_templates')


def getVdex(context, vocab):
    stream = str(context.portal_vocabularies[vocab].getRawVdex().data)
    manager = imsvdex.vdex.VDEXManager(stream)
    return MultiSelectDynatreeWidget(vocabulary=manager)


def richtextwidget(context):
    widget = deform.widget.RichTextWidget()
    widget.strict_loading_mode = 'true'


CUSTOM_WIDGETS = {'sectors_usage_areas': lambda context: \
                  getVdex(context, 'master_category'),
Example #23
0
from Products.Silva.mail import sendmail
from five import grok
from silva.core.interfaces import IContainer
from silva.core.views import views as silvaviews
from silva.translations import translate as _
from z3c.schema.email import RFC822MailAddress
from zeam.form import silva as silvaforms
from zope import interface, schema
from zope.traversing.browser import absoluteURL

grok.templatedir('templates_silvacmsorg')

TEMPLATE = u"""
You have a new cloud request!

From: {name}
Company: {company_name}
Subdomain: {subdomain_name}
Email: {email}
Telephone: {telephone}

{comment}
"""


class InvalidDomain(Exception):

    def __init__(self, msg):
        self.msg = msg
"""

    For more information see

    * http://collective-docs.readthedocs.org/en/latest/views/viewlets.html

"""

# Zope imports
from zope.interface import Interface
from zope.component import getMultiAdapter
from five import grok

# Plone imports
from plone.app.layout.viewlets.interfaces import IPortalFooter

# Local imports
from interfaces import IAddonSpecific

grok.templatedir("browser")
grok.layer(IAddonSpecific)

# By default, set context to zope.interface.Interface
# which matches all the content items.
# You can register viewlets to be content item type specific
# by overriding grok.context() on class body level
grok.context(Interface)

Example #25
0
from zope.interface import Interface
from zope.security import checkPermission

from z3c.caching.purge import Purge

from plone.uuid.interfaces import IUUID
from plone.app.uuid.utils import uuidToObject
from Products.CMFCore.utils import getToolByName
from Products.CMFCore.WorkflowCore import WorkflowException

from collective.nitf.content import INITF

from telesur.theme.interfaces import ITelesurLayer
from telesur.theme import config

grok.templatedir("covers")


class CoversView(grok.View):
    """ Manage covers selection in home page """
    grok.context(Interface)
    grok.name('covers-view')
    grok.layer(ITelesurLayer)
    grok.require('cmf.ModifyPortalContent')

    def __init__(self, context, request):
        super(CoversView, self).__init__(context, request)
        purge = False

        layout_id = ''
        if 'layout_id' in self.request:
Example #26
0
# -*- coding: utf-8 -*-
"""A Folder view that lists Todo Items."""

from five import grok
from Products.ATContentTypes.interface import IATFolder

# Search for templates in the current directory.
# Hopefully this line won't be needed in the future as I hope that we can tell
# grok to look in the current dir by default.
grok.templatedir(".")


class Todo(grok.View):
    """A BrowserView to display the Todo listing on a Folder."""

    grok.context(IATFolder)  # type of object on which this View is available
    grok.require("zope2.View")  # what permission is needed for access
Example #27
0
    )

    direcci_n_f_sica = schema.TextLine(
        title = u"direccion fisica",
        description = u"ubicacion de habitacion",
        required = False,
    )

    direccion_electronica = schema.TextLine(
        title = u"correo",
        description = u"correo de los miembros",
        required = False,
    )

    twitter = schema.TextLine(
        title = u"Telefono",
        description = u"telefono de contacto",
        required = False,
    )

grok.templatedir('miembro_templates')

class View(grok.View):
    """
    registrando una vista basada en grok para conectarse al esquema concejo comunal.
    """
    grok.context(Imiembro)
    grok.require("zope2.View")
    grok.template("view")

Example #28
0
    description = schema.Text(
        title=_(u'label_detailed_question', default=u'Detailed Question'),
        description=_(u'desc_detailed_question', default=u'More details on the question, if not evident from the title.'),
        required=False,
    )

    answer = RichText(
        title=_(u'label_answer', default=u'Answer'),
        description=_(u"desc_answer", default=u"Meaningful sentences that explains the answer."),
        allowed_mime_types=('text/html', 'text/plain',),
        default_mime_type='text/html',
        output_mime_type='text/x-html-safe',
        required=True,
    )
    
class FaqEntryDx(Item):
    """FaqEntryDx class
    """

    implements(IFaqEntryDx)

grok.context(IFaqEntryDx)
grok.templatedir('browser/templates')

class View(grok.View):
    """IFaqEntryDx View
    """
    
    grok.require('zope2.View')
    grok.name('view')
    grok.template('faq-entry')
Example #29
0
from Products.Five import BrowserView
from Products.CMFCore.utils import getToolByName
from Acquisition import aq_inner
from zope.component import getMultiAdapter

from msd.landingpage import HAS_PLONE4

from msd.landingpage import landingpageMessageFactory as _
from msd.landingpage.interfaces import ILandingPage, IBigBlock, ILayoutView, ILittleBlock
from msd.landingpage.layout import Layout, Block
from msd.landingpage.browser.blocks import BaseBlockView

from msd.landingpage.utilities import getViewForLittleBlock

grok.templatedir("block_templates")

class BigBlock(grok.View):
    """
    """
    
    grok.context(IBigBlock)
    
    def setBlockIndex(self, index):
        """
        Know which block we are.
        """
        self.number = index
        
    def getBlockIndex(self):
        return self.number
Example #30
0
from ZODB.POSException import POSKeyError
from zope.interface import Interface
from five import grok
from Products.CMFCore.interfaces import ISiteRoot

from Products.CMFCore.utils import getToolByName
from Products.CMFPlone.utils import base_hasattr

from zope.component import getMultiAdapter
from plone.memoize.view import memoize

# Local imports
from eelplone.policy.interfaces import IThemeSpecific
from eelplone.policy import messageFactory as _

grok.templatedir("templates_sharing")
grok.layer(IThemeSpecific)


from plone.indexer.decorator import indexer

@indexer(Interface)
def localRoles(object, **kw):
     return list(object.get_local_roles())
grok.global_adapter(localRoles, name="localRoles")
# index connected in configure.zcml
# <adapter name="localRoles" factory=".changesharing.localRoles" />     
     
class ChangeSharing(grok.View):
    """
    Temp page for testing the LDAP integration.
Example #31
0
#-*- coding:utf-8 -*-
from zope.interface import Interface
from five import grok
from plone.app.layout.viewlets.interfaces import IPortalHeader, IAboveContentTitle, IAboveContentBody, IBelowContentBody
#IAboveContentTitle, IBelowContentBody, IAboveContentBody, IBelowContentBody


#設定viewlet介面、pt檔目錄
grok.context(Interface)
grok.templatedir('viewlet_templates')


class MingtakHomeSlider(grok.Viewlet):
    grok.viewletmanager(IPortalHeader)
#下列可再新增viewlet, 可用的interface可查詢 plone.app.layout.viewlets.interfaces


class GoogleAdAboveDocumentBody(grok.Viewlet):
    grok.viewletmanager(IAboveContentBody)


class GoogleAdBelowDocumentBody(grok.Viewlet):
    grok.viewletmanager(IBelowContentBody)
Example #32
0
from genweb.core.interfaces import IHomePage
from genweb.core.utils import genweb_config, pref_lang

from genweb.alternatheme.browser.interfaces import IGenwebTheme, IHomePageView

from genweb.portlets.browser.manager import IScreenTypeSpanStorage
from genweb.alternatheme.portlets.fullnews import Renderer

from Products.CMFCore.interfaces import IFolderish
from plone.memoize.view import memoize

import pkg_resources
import json
import scss

grok.templatedir("views_templates")

MESSAGE_TEMPLATE = u"""\
L'usuari %(user_name)s ha creat un nou esdeveniment en l'agenda del GenWeb \
"%(titolGW)s":

Títol: "%(titleEvent)s"
Data: %(dayEvent)s-%(monthEvent)s-%(yearEvent)s
Hora: %(hourEvent)s

i que podreu trobar al següent enllaç:

%(linkEvent)s

Per a la seva publicació a l'Agenda general de la UPC.
"""
from zope.interface import Interface
from zope.schema.vocabulary import SimpleTerm

from five import grok
from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile

from plone.registry.interfaces import IRegistry

from plone.app.layout.navigation.navtree import buildFolderTree

from Products.CMFCore.utils import getToolByName
from Products.CMFPlone.browser.navtree import SitemapNavtreeStrategy

from collective.cover.controlpanel import ICoverSettings

grok.templatedir("screenlets_templates")


class TestContent(grok.View):
    """
    test screenlet for selecting
    """
    grok.context(Interface)
    grok.name('test-content-screenlet')
    grok.require('zope2.View')
    grok.template('test_content_screenlet')


class SelectContentScreenlet(grok.View):
    """
    screenlet for selecting
# coding=utf-8
from five import grok
from zope.interface import Interface

grok.templatedir('macros_templates')


class VagasAbertasView(grok.View):
    grok.context(Interface)
    grok.require('zope2.View')
    grok.name('view_vagas_abertas')


    def get_content(self):
    	aq_parent = self.context.aq_parent
    	if 'vagas-em-aberto' in aq_parent.keys():
    		return aq_parent['vagas-em-aberto']
    	return None

    def list_itens(self):
    	context = self.get_content()
    	if context:
    		return context.getDadosContent()
    	return []


    def getFields(self):
    	from vindula.contentcore.models.fields import ModelsFormFields
    	context = self.get_content()
        id_form = int(context.forms_id)
from five import grok

from zope.interface import Interface

from collective.contact.core.browser.utils import get_ttw_fields
from collective.contact.core.browser import TEMPLATES_DIR


grok.templatedir(TEMPLATES_DIR)


class TTWFields(grok.View):
    """Show fields that were added TTW
    """
    grok.name('ttwfields')
    grok.template('ttwfields')
    grok.context(Interface)

    def update(self):
        contact_view = self.context.unrestrictedTraverse('view')
        contact_view.update()
        self.widgets = contact_view.widgets
        ttw_fields = get_ttw_fields(self.context)
        self.ttw_fields = [field for field in ttw_fields if field in self.widgets.keys()]
        required = True, 
    )

    correo = schema.TextLine(
        description = u'DESCRIPCIÓN DE CORREO ELECTRÓNICO',
        title = u'correo',
        required = True, 
    )

    telefono = schema.TextLine(
        description = u'DESCRIPCIÓN DE TELÉFONO',
        title = u'telefono',
        required = False,
    )

grok.templatedir('concejo_comunal_templates')

class View(grok.View):
    """Clase vista para el esquema consejo_comunal   
    """
    
    grok.context(IConcejoComunal)
    grok.require('zope2.View')
    grok.template("view")

    def miembros_concejo_comunal(self):
        """Retorna un resultado de busqueda en el catalogo de los tipos miembros de un concejo comunal
        """

        context = aq_inner(self.context)
        catalog = getToolByName(context, 'portal_catalog')
Example #37
0
# -*- coding: utf-8 -*-

from five import grok

from zope.component import getUtility, getMultiAdapter
from plone.registry.interfaces import IRegistry
from Products.CMFCore.utils import getToolByName

from Products.CMFCore.utils import getToolByName

from vindula.streaming.content.interfaces import IVindulaStreaming
from vindula.streaming.controlpanel import IStreamingSettings
from vindula.streaming.settings import Settings
from vindula.streaming.utils import getPortal

grok.templatedir("templates")


class StreamingView(grok.View):
    grok.context(IVindulaStreaming)
    grok.name("view")
    grok.require("zope2.View")

    enabled = True

    def update(self):
        self.registry = getUtility(IRegistry)

        self.settings = Settings(self.context)
        self.global_settings = self.registry.forInterface(IStreamingSettings)
        self.site = getPortal(self.context)
Example #38
0
from Products.CMFPlone.browser.navtree import SitemapNavtreeStrategy
from Products.Five.browser import BrowserView
from zope.browserpage.viewpagetemplatefile import ViewPageTemplateFile
from zope.component import getUtility
from zope.component import queryUtility
from zope.interface import Interface
from zope.schema.interfaces import IVocabularyFactory
from zope.schema.vocabulary import SimpleTerm
from Products.CMFPlone.PloneBatch import Batch
from Products.CMFPlone.utils import safe_unicode

import json

VOCAB_ID = u'plone.app.vocabularies.ReallyUserFriendlyTypes'

grok.templatedir('contentchooser_templates')


# XXX: what's the purpose of this view?
#      why is here if it's intendes for tests?
#      can we get rid of it?
class TestContent(grok.View):
    """
    test contentchooser for selecting
    """
    grok.context(Interface)
    grok.name('test-content-contentchooser')
    grok.require('zope2.View')
    grok.template('test_content_contentchooser')