def test_browser__EventView__8(address_book, EventViewConfigurationFactory, EventFactory, FieldFactory, PersonFactory, DateTime, browser): """It renders the selected fields.""" field_name = FieldFactory(address_book, IEvent, 'Int', u'seats').__name__ EventFactory( address_book, **{ 'datetime': DateTime.now, field_name: 42, 'external_persons': [u'Berta Vimladil'], 'persons': set([PersonFactory(address_book, u'Tester')]), 'text': u'to be canceled', }) event_entity = IEntity(IEvent) EventViewConfigurationFactory(address_book, u'-1 day for 1 week', start=-1, duration=7, fields=[ event_entity.getRawField('persons'), event_entity.getRawField(field_name) ]) browser.login('cal-visitor') browser.open(browser.CALENDAR_EVENT_VIEWS_URL) assert '>Berta Vimladil, Tester<' in browser.ucontents assert '>42<' in browser.ucontents assert 'to be canceled' not in browser.ucontents
def test_calendar__CalendarView__1(address_book, FieldFactory, browser): """It allows to select fields for display in the calendar.""" field = FieldFactory( address_book, IEvent, u'Int', u'reservations').__name__ browser.login('cal-editor') browser.open(browser.CALENDAR_MASTERDATA_URL) browser.getLink('Calendar view').click() assert browser.CALENDAR_MASTERDATA_EDIT_DISPLAY_URL == browser.url browser.getControl('Additional event fields').displayValue = [ 'persons', 'reservations', ] browser.getControl('Save').click() assert 'Data successfully updated.' == browser.message browser.open(browser.CALENDAR_MASTERDATA_EDIT_DISPLAY_URL) assert browser.getControl('Additional event fields').displayValue == [ 'persons', 'reservations', ] # It does not break on selected but deleted user defined field: with zope.component.hooks.site(address_book): event_entity = IEntity(IEvent) event_entity.removeField(event_entity.getRawField(field)) browser.open(browser.CALENDAR_MASTERDATA_EDIT_DISPLAY_URL) assert browser.getControl('Additional event fields').displayValue == [ 'persons', ]
def get_table_event(event, field_names=[], request_kw={}): request = RequestFactory(**request_kw) event_entity = IEntity(IEvent) ICalendarDisplaySettings( address_book.calendar).event_additional_fields = [ event_entity.getRawField(x) for x in field_names ] event_description = IEventDescription(event) return zope.component.getMultiAdapter((event_description, request), name='table-event')
def test_calendar__EventDescription__getInfo__2(address_book, EventFactory, DateTime, CategoryFactory, selected_user_field, utc_time_zone_pref): """It ignores a selected but later deleted user defined field.""" ed = IEventDescription( EventFactory( address_book, **{ 'datetime': DateTime.now, 'text': u'Text1', 'category': CategoryFactory(address_book, u'bar'), selected_user_field: 42 })) event_entity = IEntity(IEvent) event_entity.removeField(event_entity.getRawField(selected_user_field)) assert ['Text1'] == ed.getInfo()
def set_event_additional_fields(address_book, *field_names): """Set the given fields to be displayed when an event is rendered.""" event_entity = IEntity(IEvent) ICalendarDisplaySettings(address_book.calendar).event_additional_fields = [ event_entity.getRawField(x) for x in field_names ]