Пример #1
0
    def get_dates_metadata(self):
        metadata = []
        meeting = self.context
        convert = self.convert
        translation = getToolByName(self.context, "translation_service")
        localize_time = translation.ulocalized_time

        start_date = localize_time(meeting.start_date, long_format=False)
        start_time = localize_time(meeting.start_date, time_only=True)
        start = localize_time(meeting.start_date, long_format=True)

        end_date = localize_time(meeting.end_date, long_format=False)
        end_time = localize_time(meeting.end_date, time_only=True)
        end = localize_time(meeting.end_date, long_format=True)

        if start_date == end_date:
            metadata.append((_(u"latex_date", default=u"Date"), convert(start_date)))
            metadata.append(
                (_(u"latex_duration", default=u"Duration"), "%s\,--\,%s" % (convert(start_time), convert(end_time)))
            )

        else:
            metadata.append((_(u"latex_start", default=u"Start"), convert(start)))
            metadata.append((_(u"latex_end", default=u"End"), convert(end)))

        return metadata
Пример #2
0
    def get_dates_metadata(self):
        metadata = []
        meeting = self.context
        convert = self.convert
        translation = getToolByName(self.context, 'translation_service')
        localize_time = translation.ulocalized_time

        start_date = localize_time(meeting.start_date, long_format=False)
        start_time = localize_time(meeting.start_date, time_only=True)
        start = localize_time(meeting.start_date, long_format=True)

        end_date = localize_time(meeting.end_date, long_format=False)
        end_time = localize_time(meeting.end_date, time_only=True)
        end = localize_time(meeting.end_date, long_format=True)

        if start_date == end_date:
            metadata.append((_(u'latex_date', default=u'Date'),
                             convert(start_date)))
            metadata.append((_(u'latex_duration', default=u'Duration'),
                             '%s\,--\,%s' % (convert(start_time),
                                             convert(end_time))))

        else:
            metadata.append((_(u'latex_start', default=u'Start'),
                             convert(start)))
            metadata.append((_(u'latex_end', default=u'End'),
                             convert(end)))

        return metadata
Пример #3
0
    def getMeetingTypes(self):
        """Returns a DisplayList of meeting types
        The ids are schemata names concatenated by _


        """
        return atapi.DisplayList((
                ('dates_additional', _(u'meeting_type_event')),
                ('meeting_dates_additional', _(u'meeting_type_meeting'))))
Пример #4
0
    def getPresentOptions(self):
        """returns present options

        """
        return atapi.DisplayList(
            (
                ('present', _(u'present')),
                ('absent', _(u'absent')),
                ('excused', _(u'excused'))))
Пример #5
0
    def get_render_arguments(self):
        args = super(MeetingLayout, self).get_render_arguments()

        args['_'] = lambda *a, **kw: translate(_(*a, **kw),
                                               context=self.request)

        return args
Пример #6
0
    def post_validate(self, REQUEST=None, errors=None):
        """Validates start and end date

        End date must be after start date
        """
        if "start_date" in errors or "end_date" in errors:
            # No point in validating bad input
            return

        rstartDate = REQUEST.get("start_date", None)
        rendDate = REQUEST.get("end_date", None)

        if rendDate:
            try:
                end = DateTime(rendDate)
            except DateTimeError:
                errors["end_date"] = atct_mf(u"error_invalid_end_date", default=u"End date is not valid.")
        else:
            end = self.end()
        if rstartDate:
            try:
                start = DateTime(rstartDate)
            except DateTimeError:
                errors["start_date"] = _(u"error_invalid_start_date", default=u"Start date is not valid.")
        else:
            start = self.start()

        if "start_date" in errors or "end_date" in errors:
            # No point in validating bad input
            return

        if start > end:
            errors["end_date"] = atct_mf(
                u"error_end_must_be_after_start_date", default=u"End date must be after start date."
            )
Пример #7
0
    def subfolder_path(self, content):
        message = _(
            u"meetingreferences_folder",
            default="${title} - references",
            mapping={"title": content.Title().decode("utf-8")},
        )

        return translate(message, context=self.context.REQUEST)
Пример #8
0
    def get_meeting_metadata(self):
        metadata = []

        metadata.append((_(u'meeting_label_head_of_meeting',
                           default=u'Head of Meeting'),
                         self._get_meeting_value('head_of_meeting')))

        metadata.append((_(u'meeting_label_recording_secretary',
                           default=u'Recording Secretary'),
                         self._get_meeting_value('recording_secretary')))

        metadata.append(('', ''))

        metadata.append((_(u'meeting_label_attendees', default=u'Attendees'),
                         self.get_meeting_attendees()))

        metadata.append(('', ''))

        return metadata
Пример #9
0
    def get_metadata(self):
        metadata = []

        metadata.extend(self.get_dates_metadata())

        metadata.append((_(u"meeting_label_location", default=u"Location"), self._get_meeting_value("location")))

        if self.context.getMeeting_type() == "meeting":
            metadata.extend(self.get_meeting_metadata())

        return self._translate_metadata_labels(metadata)
Пример #10
0
    def get_metadata(self):
        metadata = []

        metadata.extend(self.get_dates_metadata())

        metadata.append((_(u'meeting_label_location', default=u'Location'),
                         self._get_meeting_value('location')))

        if self.context.getMeeting_type() == 'meeting':
            metadata.extend(self.get_meeting_metadata())

        return self._translate_metadata_labels(metadata)
Пример #11
0
    def get_render_arguments(self):
        args = super(MeetingItemView, self).get_render_arguments()

        args.update({
                '_': lambda *a, **kw: translate(_(*a, **kw),
                                                context=self.request),
                'title': self.convert(self.context.Title()),
                'responsibles': self.get_responsibles(),
                'text': self.convert(self.context.getText()),
                'conclusion': self.convert(self.context.getConclusion()),
                'relatedItems': self.get_related_items(),
                })

        return args
Пример #12
0
    def get_meeting_metadata(self):
        metadata = []

        metadata.append(
            (
                _(u"meeting_label_head_of_meeting", default=u"Head of Meeting"),
                self._get_meeting_value("head_of_meeting"),
            )
        )

        metadata.append(
            (
                _(u"meeting_label_recording_secretary", default=u"Recording Secretary"),
                self._get_meeting_value("recording_secretary"),
            )
        )

        metadata.append(("", ""))

        metadata.append((_(u"meeting_label_attendees", default=u"Attendees"), self.get_meeting_attendees()))

        metadata.append(("", ""))

        return metadata
Пример #13
0
    def get_render_arguments(self):
        meeting = self.context
        args = super(MeetingView, self).get_render_arguments()

        args.update({
                '_': lambda *a, **kw: translate(_(*a, **kw),
                                                context=self.request),
                'title': meeting.Title(),
                'meetingForm': '',
                'metadata': self.get_metadata(),
                'meetingItems': None})

        if meeting.getMeeting_type() == 'meeting':
            args['meetingForm'] = self._get_meeting_value('meeting_form')
            args['meetingItems'] = self.get_meeting_item_titles()

        return args
Пример #14
0
    def get_render_arguments(self):
        meeting = self.context
        args = super(MeetingView, self).get_render_arguments()

        args.update(
            {
                "_": lambda *a, **kw: translate(_(*a, **kw), context=self.request),
                "title": meeting.Title(),
                "meetingForm": "",
                "metadata": self.get_metadata(),
                "meetingItems": None,
            }
        )

        if meeting.getMeeting_type() == "meeting":
            args["meetingForm"] = self._get_meeting_value("meeting_form")
            args["meetingItems"] = self.get_meeting_item_titles()

        return args
Пример #15
0
 def _get_types(self):
     return ((u'event', _(u'event', default=u'Event')),
             (u'meeting', _(u'meeting', default=u'Meeting')))
Пример #16
0
    def getPresentOptions(self):
        """returns present options

        """
        return atapi.DisplayList((("present", _(u"present")), ("absent", _(u"absent")), ("excused", _(u"excused"))))
Пример #17
0
from ftw.meeting.interfaces import IMeeting
from zope import component, schema
from zope.interface import implements


MeetingSchema = folder.ATFolderSchema.copy() + atapi.Schema(
    (
        atapi.DateTimeField(
            name="start_date",
            searchable=True,
            required=True,
            accessor="start",
            schemata="default",
            widget=FtwCalendarWidget(
                helper_js=("start_end_date_helper.js",),
                label=_(u"meeting_label_start_date", default=u"Start Date"),
                description=_(
                    u"meeting_help_start_date",
                    default=u"Enter the starting date and time, " "or click the calendar icon and select it.",
                ),
            ),
        ),
        atapi.DateTimeField(
            name="end_date",
            searchable=True,
            required=True,
            accessor="end",
            schemata="default",
            widget=FtwCalendarWidget(
                label=_(u"meeting_label_end_date", default=u"End Date"),
                description=_(
Пример #18
0
from ftw.meeting.config import PROJECTNAME
from ftw.meeting.interfaces import IMeetingItem
from zope.interface import implements


MeetingItemSchema = folder.ATFolderSchema.copy() + atapi.Schema((

        atapi.LinesField(
            name='responsibility',
            required=False,
            searchable=True,
            index='KeywordIndex:schema',
            vocabulary_factory='ftw.meeting.users',

            widget=atapi.MultiSelectionWidget(
                label=_(u"meetingitem_label_responsibility",
                        default=u"Responsibility"),
                description=_(u"meetingitem_help_responsibility",
                              default=u"Select the responsible person(s)."),
                size=4,
                format='checkbox')),

        atapi.TextField(
            name='text',
            searchable=True,
            required=False,
            primary=True,
            default_content_type='text/html',
            allowable_content_types=('text/html',),
            validators=('isTidyHtmlWithCleanup', ),
            default_output_type='text/x-html-safe',
            default_input_type='text/html',
Пример #19
0
 def _add_portal_message(self):
     msg = _(u'message_pdf_creation_was_successfully',
             'PDF creation was successfully.')
     IStatusMessage(self.request).addStatusMessage(msg, type='info')
Пример #20
0
 def get_title(self):
     return translate(_(u"latex_label_events", u"Events"), context=self.request)