Exemplo n.º 1
0
from Products.Five.browser import BrowserView
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile

from plone.app.form import named_template_adapter
from plone.app.form.interfaces import IPlonePageForm
from plone.app.form.validators import null_validator

from plone.app.portlets import PloneMessageFactory as _
from plone.app.portlets.interfaces import IPortletPermissionChecker
from plone.app.portlets.browser.interfaces import IPortletAddForm
from plone.app.portlets.browser.interfaces import IPortletEditForm

# Add a named template form, which allows us to carry some extra information
# about the referer
_template = ViewPageTemplateFile('templates/portlets-pageform.pt')
portlets_named_template_adapter = named_template_adapter(_template)


class AddForm(formbase.AddFormBase):
    """A base add form for portlets.

    Use this for portlet assignments that require configuration before being
    added. Assignment types that do not should use NullAddForm instead.

    Sub-classes should define create() and set the form_fields class variable.

    Notice the suble difference between AddForm and NullAddform in that the
    create template method for AddForm takes as a parameter a dict 'data':

        def create(self, data):
            return MyAssignment(data.get('foo'))
Exemplo n.º 2
0
from Products.CMFCore.utils import getToolByName


from Acquisition import aq_inner
from Products.Five.formlib import formbase
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from Products.statusmessages.interfaces import IStatusMessage

from plone.app.form import named_template_adapter
from plone.app.form.interfaces import IPlonePageForm
from zope.app.form.browser import TextAreaWidget
from qi.jabberHelpdesk.interfaces import IChatRequest
from qi.jabberHelpdesk import HelpdeskMessageFactory as _

logger = logging.getLogger('qi.jabberHelpdesk')
chatRequestFormView = named_template_adapter(ViewPageTemplateFile('chatRequest.pt'))
class SmallTextAreaWidget(TextAreaWidget):
    height = 5

class ChatRequestView(formbase.PageForm):
    """Request a chat
    """
    implements(IPlonePageForm)
    
    label = _(u"Chat with us")
    description = _(u"Welcome to our helpdesk")
    
    form_name =_(u"Please fill in your details")
    
    def __init__(self,context,request):
        ChatRequestView.label = context.title
Exemplo n.º 3
0
from zope.event import notify
from zope.formlib import form
from zope.interface import implements
import zope.lifecycleevent

from Acquisition import aq_parent, aq_inner
from Products.Five.browser import BrowserView
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile

from plone.app.contentrules import PloneMessageFactory as _
from plone.app.contentrules.browser.interfaces import IContentRulesForm

# Add a named template form, which allows us to carry some extra information
# about the referer
_template = ViewPageTemplateFile('templates/contentrules-pageform.pt')
contentrules_named_template_adapter = named_template_adapter(_template)


class AddForm(formbase.AddFormBase):
    """A base add form for content rule.

    Use this for rule elements that require configuration before being added to
    a rule. Element types that do not should use NullAddForm instead.

    Sub-classes should define create() and set the form_fields class variable.

    Notice the suble difference between AddForm and NullAddform in that the
    create template method for AddForm takes as a parameter a dict 'data':

        def create(self, data):
            return MyAssignment(data.get('foo'))
Exemplo n.º 4
0
from Products.Five.browser import BrowserView
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile

from plone.app.form import named_template_adapter
from plone.app.form.interfaces import IPlonePageForm
from plone.app.form.validators import null_validator

from plone.app.portlets import PloneMessageFactory as _
from plone.app.portlets.interfaces import IPortletPermissionChecker
from plone.app.portlets.browser.interfaces import IPortletAddForm
from plone.app.portlets.browser.interfaces import IPortletEditForm

# Add a named template form, which allows us to carry some extra information
# about the referer
_template = ViewPageTemplateFile('templates/portlets-pageform.pt')
portlets_named_template_adapter = named_template_adapter(_template)


class AddForm(formbase.AddFormBase):
    """A base add form for portlets.

    Use this for portlet assignments that require configuration before being
    added. Assignment types that do not should use NullAddForm instead.

    Sub-classes should define create() and set the form_fields class variable.

    Notice the suble difference between AddForm and NullAddform in that the
    create template method for AddForm takes as a parameter a dict 'data':

        def create(self, data):
            return MyAssignment(data.get('foo'))
Exemplo n.º 5
0
from plone.app.form.validators import null_validator

from plone.memoize.instance import memoize

from optilux.cinemacontent.interfaces import IReservation
from optilux.cinemacontent.interfaces import ReservationError
from optilux.cinemacontent.interfaces import IScreeningLocator
from optilux.cinemacontent.interfaces import ITicketReservations

from optilux.cinemacontent import CinemaMessageFactory as _
from optilux.cinemacontent.reservation import Reservation

# This is registered as an adapter factory. When formlib renders the page,
# it will look up this adapter to work out which template to use.
        
reserve_screening_formview = named_template_adapter(ViewPageTemplateFile('reserve.pt'))
        
class ReserveScreeningView(formbase.PageForm):
    """Reserve tickets for a screening
    """
    
    label = _(u"Reserve tickets")
    form_fields = form.FormFields(IReservation).omit('screening')
    
    @form.action(_(u"Reserve"))
    def action_reserve(self, action, data):
        """Reserve tickets
        """
        context = aq_inner(self.context)
        screening = self.screening()
        reservations = getUtility(ITicketReservations)
Exemplo n.º 6
0
from zope import interface, schema
from zope.formlib import form

from Acquisition import aq_inner
from Products.CMFCore.utils import getToolByName
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from Products.Five.formlib import formbase
from Products.CMFPlone.utils import safe_unicode

from plone.app.form import named_template_adapter

subscriber_search_formview = named_template_adapter(ViewPageTemplateFile(
    'subscribersearch.pt'))

#  [Chris] I encountered a ContentProviderLookupError: plone.htmlhead
# and found https://bugs.launchpad.net/zope2/+bug/176566 discribing
# this (I believe still unsolved) issue.
# Therefore we use this somewhat clumsy hack:


def _getContext(self):
    self = self.aq_parent
    while getattr(self, '_is_wrapperish', None):
        self = self.aq_parent
    return self

ViewPageTemplateFile._getContext = _getContext

# End of hack