Ejemplo n.º 1
0
class AddForm(base.AddForm):
    form_fields = form.Fields(ISeminarsPortlet)
    label = _(u"Adding the Seminars Portlet")
    description = _(u"This portlet lists upcoming Seminars.")

    def create(self, data):
        return Assignment(**data)
Ejemplo n.º 2
0
class ISeminarsPortlet(IPortletDataProvider):
    """ """
    header = schema.TextLine(title=_(u"Portlet header"),
                             description=_(u"Title of the rendered portlet"),
                             default=default_header,
                             required=True)
    count = schema.Int(title=_(u'Number of Seminars to display'),
                       required=True,
                       default=5)
    state = schema.Tuple(
        title=_(u"Workflow state"),
        description=_(u"You may limit the displayed Seminars to a "
                      u"specific workflow state.."),
        default=('published', ),
        required=True,
        value_type=schema.Choice(
            vocabulary="plone.app.vocabularies.WorkflowStates"))
    subject = schema.Tuple(
        title=_(u"Categories"),
        description=_(
            u"Pick one or more categories with which you want to filter "
            u"Seminars."),
        default=tuple(),
        required=False,
        value_type=schema.Choice(vocabulary=categories_vocabulary))
    seminarsfolder = schema.Choice(
        title=_(u'Seminars link'),
        description=_(
            u"Choose a folder which the portlet title and "
            u"'Upcoming Seminars' link will point to. This is optional."),
        required=False,
        source=SearchableTextSourceBinder(
            {
                'object_provides': [
                    folder.IATFolder.__identifier__,
                    folder.IATBTreeFolder.__identifier__,
                    document.IATDocument.__identifier__,
                ]
            },
            default_query='path:'),
    )
Ejemplo n.º 3
0
from Products.Archetypes import atapi
from Products.LinguaPlone.I18NBaseObject import AlreadyTranslated
from Products.LinguaPlone.I18NOrderedBaseFolder import I18NOrderedBaseFolder
from Products.Relations.field import RelationField
from Products.LinguaPlone import permissions

from slc.seminarportal import seminarportalMessageFactory as _
from slc.seminarportal.config import PROJECTNAME
from slc.seminarportal.interfaces import ISpeech

SpeechSchema = atapi.OrderedBaseFolderSchema.copy() + ATEventSchema.copy() + \
               atapi.Schema((
    RelationField(
        name='speakers',
        widget=ReferenceBrowserWidget(
            label=_(u"label_speech_speakers", default=u'Speaker(s)'),
            base_query={'portal_type': 'SPSpeaker',
                        'sort_on': 'getSortableName'},
            allow_browse=1,
            allow_search=1,
            show_results_without_query=1,
            image_portal_types=('SPSpeaker',),
            image_method='image_icon',
            macro='seminarportal_referencebrowser',
        ),
        languageIndependent=True,
        allowed_types=('SPSpeaker',),
        multiValued=1,
        relationship='speech_speakers',
    ),
))
Ejemplo n.º 4
0
class EditForm(base.EditForm):
    form_fields = form.Fields(ISeminarsPortlet)
    label = _(u"Editing the Seminars Portlet")
    description = _(u"This portlet lists upcoming Seminars.")
Ejemplo n.º 5
0
from plone.memoize.compress import xhtml_compress
from plone.memoize.instance import memoize
from plone.portlets.interfaces import IPortletDataProvider

from Products.Archetypes.utils import shasattr
from Products.ATContentTypes.interface import folder
from Products.ATContentTypes.interface import document
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from Products.CMFCore.utils import getToolByName

from slc.seminarportal import _
from slc.seminarportal import is_osha_installed
from slc.seminarportal.portlets.base import BaseRenderer

if is_osha_installed:
    default_header = _(u"Our Events")
    categories_vocabulary = "osha.policy.vocabularies.categories"
    domain = "osha"
else:
    default_header = _(u"Seminars")
    categories_vocabulary = "slc.seminarportal.vocabularies.categories"
    domain = "plone"


class ISeminarsPortlet(IPortletDataProvider):
    """ """
    header = schema.TextLine(title=_(u"Portlet header"),
                             description=_(u"Title of the rendered portlet"),
                             default=default_header,
                             required=True)
    count = schema.Int(title=_(u'Number of Seminars to display'),
Ejemplo n.º 6
0
from Products.CMFCore import permissions
from Products.Archetypes.atapi import OrderedBaseFolder
# from Products.LinguaPlone.I18NOrderedBaseFolder import I18NOrderedBaseFolder
from Products.Relations.field import RelationField

from slc.seminarportal.config import PROJECTNAME
from slc.seminarportal.interfaces import ISpeaker
from slc.seminarportal.permissions import ASSIGN_SPEAKERS_TO_SPEECHES
from slc.seminarportal import seminarportalMessageFactory as _


SpeakerSchema = atapi.OrderedBaseFolderSchema.copy() + atapi.Schema((
    atapi.StringField(
        name='firstName',
        widget=atapi.StringWidget(
            label=_(u"label_spaker_first_name", default=u"First Name"),
        ),
        required=True,
        schemata="default",
        searchable=True
    ),
    atapi.StringField(
        name='middleName',
        widget=atapi.StringWidget(
            label=_(u"label_speaker_middle_name", default=u"Middle Name"),
        ),
        required=False,
        schemata="default",
        searchable=True
    ),
    atapi.StringField(
Ejemplo n.º 7
0
from Products.LinguaPlone.I18NBaseObject import AlreadyTranslated
from Products.LinguaPlone.I18NOrderedBaseFolder import I18NOrderedBaseFolder
from Products.LinguaPlone import permissions

from slc.seminarportal.interfaces import ISeminar
from slc.seminarportal.config import PROJECTNAME, ALLOWABLE_TEXT_TYPES
from slc.seminarportal import seminarportalMessageFactory as _


SeminarSchema = atapi.BaseFolderSchema.copy() + \
    ATEventSchema.copy() + atapi.Schema((

    atapi.ImageField(
        name='logo',
        widget=atapi.ImageWidget(
            label=_(u"label_seminar_logo",
                    default=u"Graphic or Logo for the event"),
        ),
        languageIndependent=True,
        original_size=(200, 200),
        sizes={'thumb': (100, 125), 'normal': (200, 200)},
        default_output_type='image/jpeg',
        allowable_content_types=('image/gif', 'image/jpeg', 'image/png'),
    ),
    atapi.TextField(
        name='summary',
        allowable_content_types=ALLOWABLE_TEXT_TYPES,
        widget=atapi.RichWidget(
            label=_(u"label_seminar_summary",
                    default=u"General Description/Summary of the event"),
            macro='seminar_textarea',
        ),
Ejemplo n.º 8
0
from Products.CMFCore import permissions
from Products.Archetypes.atapi import OrderedBaseFolder
# from Products.LinguaPlone.I18NOrderedBaseFolder import I18NOrderedBaseFolder
from Products.Relations.field import RelationField

from slc.seminarportal.config import PROJECTNAME
from slc.seminarportal.interfaces import ISpeaker
from slc.seminarportal.permissions import ASSIGN_SPEAKERS_TO_SPEECHES
from slc.seminarportal import seminarportalMessageFactory as _


SpeakerSchema = atapi.OrderedBaseFolderSchema.copy() + atapi.Schema((
    atapi.StringField(
        name='firstName',
        widget=atapi.StringWidget(
            label=_(u"label_spaker_first_name", default=u"First Name"),
        ),
        required=True,
        schemata="default",
        searchable=True
    ),
    atapi.StringField(
        name='middleName',
        widget=atapi.StringWidget(
            label=_(u"label_speaker_middle_name", default=u"Middle Name"),
        ),
        required=False,
        schemata="default",
        searchable=True
    ),
    atapi.StringField(
Ejemplo n.º 9
0
from plone.memoize.compress import xhtml_compress
from plone.memoize.instance import memoize
from plone.portlets.interfaces import IPortletDataProvider

from Products.Archetypes.utils import shasattr
from Products.ATContentTypes.interface import folder
from Products.ATContentTypes.interface import document
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from Products.CMFCore.utils import getToolByName

from slc.seminarportal import _
from slc.seminarportal import is_osha_installed
from slc.seminarportal.portlets.base import BaseRenderer

if is_osha_installed:
    default_header = _(u"Our Events")
    categories_vocabulary = "osha.policy.vocabularies.categories"
    domain = "osha"
else:
    default_header = _(u"Seminars")
    categories_vocabulary = "slc.seminarportal.vocabularies.categories"
    domain = "plone"


class ISeminarsPortlet(IPortletDataProvider):
    """ """
    header = schema.TextLine(
        title=_(u"Portlet header"),
        description=_(u"Title of the rendered portlet"),
        default=default_header,
        required=True
Ejemplo n.º 10
0
from Products.Archetypes import atapi
from Products.LinguaPlone.I18NBaseObject import AlreadyTranslated
from Products.LinguaPlone.I18NOrderedBaseFolder import I18NOrderedBaseFolder
from Products.Relations.field import RelationField
from Products.LinguaPlone import permissions

from slc.seminarportal import seminarportalMessageFactory as _
from slc.seminarportal.config import PROJECTNAME
from slc.seminarportal.interfaces import ISpeech

SpeechSchema = atapi.OrderedBaseFolderSchema.copy() + ATEventSchema.copy() + \
               atapi.Schema((
    RelationField(
        name='speakers',
        widget=ReferenceBrowserWidget(
            label=_(u"label_speech_speakers", default=u'Speaker(s)'),
            base_query={'portal_type': 'SPSpeaker',
                        'sort_on': 'getSortableName'},
            allow_browse=1,
            allow_search=1,
            show_results_without_query=1,
            image_portal_types=('SPSpeaker',),
            image_method='image_icon',
            macro='seminarportal_referencebrowser',
        ),
        languageIndependent=True,
        allowed_types=('SPSpeaker',),
        multiValued=1,
        relationship='speech_speakers',
    ),
))