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
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
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'))))
def getPresentOptions(self): """returns present options """ return atapi.DisplayList( ( ('present', _(u'present')), ('absent', _(u'absent')), ('excused', _(u'excused'))))
def get_render_arguments(self): args = super(MeetingLayout, self).get_render_arguments() args['_'] = lambda *a, **kw: translate(_(*a, **kw), context=self.request) return args
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." )
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)
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
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)
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)
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
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
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
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
def _get_types(self): return ((u'event', _(u'event', default=u'Event')), (u'meeting', _(u'meeting', default=u'Meeting')))
def getPresentOptions(self): """returns present options """ return atapi.DisplayList((("present", _(u"present")), ("absent", _(u"absent")), ("excused", _(u"excused"))))
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=_(
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',
def _add_portal_message(self): msg = _(u'message_pdf_creation_was_successfully', 'PDF creation was successfully.') IStatusMessage(self.request).addStatusMessage(msg, type='info')
def get_title(self): return translate(_(u"latex_label_events", u"Events"), context=self.request)