Exemplo n.º 1
0
class DefaultDate(mars.adapter.AdapterFactory):
    """Create a default date adapter for the `when` field"""
    grok.name('default')
    mars.adapter.factory(
        widget.ComputedWidgetAttribute(lambda adapter: datetime.date.today(),
                                       field=IMessage['when'],
                                       view=IAddForm))
Exemplo n.º 2
0
    directives.omitted('nextPreviousEnabled')
    directives.no_omit(IEditForm, 'nextPreviousEnabled')
    directives.no_omit(IAddForm, 'nextPreviousEnabled')


def getNextPreviousParentValue(adapter_):
    context = adapter_.context
    nextprevious = INextPreviousProvider(context, None)
    if nextprevious is None:
        return False
    return nextprevious.enabled


DefaultNextPreviousEnabled = widget.ComputedWidgetAttribute(
    getNextPreviousParentValue,
    field=INextPreviousToggle['nextPreviousEnabled'],
)


# This is taken from plone.app.folder
class NextPreviousBase(object):
    """ adapter for acting as a next/previous provider """
    def __init__(self, context):
        self.context = context
        registry = getUtility(IRegistry)
        self.vat = registry.get('plone.types_use_view_action_in_listings', [])
        self.security = getSecurityManager()
        order = context.getOrdering()
        if not isinstance(order, list):
            order = order.idsInOrder()
        if not isinstance(order, list):
Exemplo n.º 3
0
    )

    form.widget(preselected=checkbox.SingleCheckBoxFieldWidget)
    preselected = schema.Bool(
        title=_(u'label_preselected', default='Preselect'),
        description=_(u'help_preselected', default=''),
        required=False,
    )


class TaskTemplate(Item):
    implements(ITaskTemplate)


default_responsible_client = widget.ComputedWidgetAttribute(
    lambda adapter: get_current_org_unit().id(),
    field=ITaskTemplate['responsible_client'])


class TaskTemplateAddForm(DefaultAddForm):
    def createAndAdd(self, data):
        update_reponsible_field_data(data)
        return super(TaskTemplateAddForm, self).createAndAdd(data)


class TaskTemplateAddView(DefaultAddView):
    form = TaskTemplateAddForm


class TaskTemplateEditForm(DefaultEditForm):
    def applyChanges(self, data):
Exemplo n.º 4
0
    def add(self, schedule):
        chooser = INameChooser(self.context)
        name = chooser.chooseName('', schedule)
        self.context[name] = schedule
        self._object_added = schedule

    def nextURL(self):
        if self._object_added is not None:
            return '%s/edit.html' % (
                absoluteURL(self._object_added, self.request))
        return absoluteURL(self.context, self.request)


TimetableAdd_default_first = widget.ComputedWidgetAttribute(
    lambda adapter: adapter.view.term.first,
    view=SelectedPeriodsAddView,
    field=ISelectedPeriodsAddForm['first']
    )


TimetableAdd_default_last = widget.ComputedWidgetAttribute(
    lambda adapter: adapter.view.term.last,
    view=SelectedPeriodsAddView,
    field=ISelectedPeriodsAddForm['last']
    )


class FlourishSelectedPeriodsAddView(flourish.form.AddForm,
                                     SelectedPeriodsAddView):
    template = flourish.templates.Inherit(flourish.page.Page.template)
    legend = _("Schedule a school timetable")
Exemplo n.º 5
0
class QuestionLabel(mars.adapter.AdapterFactory):
    grok.name('label')
    mars.adapter.factory(
        widget.ComputedWidgetAttribute(getDescriptionAsLabel,
                                       view=IQuestionnaireGroup))
Exemplo n.º 6
0
    @property
    def dialog_title_template(self):
        template = (getattr(self.view, 'add_dialog_title_template', None)
                    or getattr(self.view, 'dialog_title_template', None)
                    or _("Assign ${target}"))
        return template

    @property
    def states_source(self):
        source = getattr(self.view, 'app_states_name', None)
        return source


EditMembership_date = widget.ComputedWidgetAttribute(
    lambda adapter: adapter.request.util.today,
    view=StateActionDialog,
    field=IEditMembership['date'])

EditMembership_state = widget.ComputedWidgetAttribute(
    lambda adapter: adapter.view.default_state,
    view=StateActionDialog,
    field=IEditMembership['state'])


class RelationshipStatesEditView(flourish.page.Page):

    content_template = flourish.templates.File('templates/f_states_edit.pt')

    @property
    def title(self):
        return self.target.title
Exemplo n.º 7
0
class DefaultDate(mars.adapter.AdapterFactory):
    grok.name('default')
    mars.adapter.factory(
        widget.ComputedWidgetAttribute(lambda adapter: datetime.date.today(),
                                       field=IHelloWorld['when'],
                                       view=IAddForm))
    operatives = schema.List(
        title=_(u"Operatives"),
        description=_(
            u"The user IDs of those that have operative roles in this project "
            u"(coders, designers, project managers, accounts etc.). "
            u"Customers should not be included in this list."
            u"Adding someone here will add them automatically "
            u"as managers to the default tracker."
        ),
        value_type=schema.Object(title=_(u"Resource"),
                                 schema=IResource),
        required=False
    )


def default_date(data):
    return date.today()

provideAdapter(
    widget.ComputedWidgetAttribute(
        default_date,
        field=IProject['prj_start_date']
    ),
    name='default'
)


class IProjectNavigation(Interface):
    """The project navigation portlet
    """
Exemplo n.º 9
0
                    required=True,
                    allowed_mime_types=('text/html', ))

    directives.order_after(accept_conditions='*')
    accept_conditions = schema.Bool(
        title=_(u'label_accept_conditions', default=u'Terms and Conditions'),
        description=_(
            u'description_accept_conditions',
            default=u'Please accept the '
            '<a target="_blank" href="./terms-and-conditions">terms and conditions</a>'
        ),
        default=False)


default_email = widget.ComputedWidgetAttribute(
    lambda adapter: user_mail(),
    field=INoticeSchema['email'],
)


class Notice(Container):
    implements(INotice)


alsoProvides(INoticeSchema, IFormFieldProvider)


class AcceptedTermsAndConditions(validator.SimpleFieldValidator):
    """ z3c.form validator class for international phone numbers """
    def validate(self, value):
        if not value:
            raise Invalid(
Exemplo n.º 10
0
        title=_(u'Email Subject for Revoked Reservations'),
        description=_(u'Sent to <b>users</b> when a reservation is revoked. '
                      u'May contain the template variables listed below.'),
        default=templates['reservation_revoked'].get_subject('en'))

    reservation_revoked_content = schema.Text(
        title=_(u'Email Text for Revoked Reservations'),
        description=template_revoke_variables,
        default=templates['reservation_revoked'].get_body('en'))


def get_default_language(adapter):
    return utils.get_current_site_language()


DefaultLanguage = widget.ComputedWidgetAttribute(
    get_default_language, field=IEmailTemplate['language'])


class IReservation(Interface):
    """ A reservation of an allocation (may be pending or approved). """

    id = schema.Int(title=_(u'Id'), default=-1, required=False)

    day = schema.Date(title=_(u'Day'), required=False)

    start_time = schema.Time(title=_(u'Start'), required=False)

    end_time = schema.Time(title=_(u'End'), required=False)

    quota = schema.Int(title=_(u'Reservation Quota'),
                       required=False,
Exemplo n.º 11
0
class CalendarPublicRadioWidget(RadioWidget):
    @property
    def terms(self):
        return CalendarPublicWidgetTerms(self.context, self.request, self.form,
                                         self.field, self)


def calendar_public_widget_label(adapter):
    person = adapter.context.__parent__
    return _("${person_full_name}'s calendar is visible to...",
             mapping={'person_full_name': person.title})


CalendarPublicWidgetLabel = widget.ComputedWidgetAttribute(
    calendar_public_widget_label,
    field=IPersonPreferences['cal_public'],
    widget=CalendarPublicRadioWidget)


def CalendarPeriodsWidgetFactory(field, request):
    return widget.FieldWidget(field, CalendarPeriodsRadioWidget(request))


def CalendarPublicWidgetFactory(field, request):
    return widget.FieldWidget(field, CalendarPublicRadioWidget(request))


class PersonPreferencesView(form.EditForm):
    """View used for editing person preferences."""

    fields = field.Fields(IPersonPreferences)