comparison MPIWGStaff.py @ 249:f07dc0d2c60c

add project calendar (ticket #137).
author casties
date Wed, 23 Apr 2014 16:53:10 +0200
parents 5584046a6a04
children 4742e71606e4
comparison
equal deleted inserted replaced
248:a14e462fca1c 249:f07dc0d2c60c
35 """Staff""" 35 """Staff"""
36 pass 36 pass
37 37
38 manage_addMPIWGStaffForm = MPIWGStaff_old.manage_addMPIWGStaffForm 38 manage_addMPIWGStaffForm = MPIWGStaff_old.manage_addMPIWGStaffForm
39 manage_addMPIWGStaff = MPIWGStaff_old.manage_addMPIWGStaff 39 manage_addMPIWGStaff = MPIWGStaff_old.manage_addMPIWGStaff
40
41 # MPIWGManager properties for ICS-calendars
42 # (ID_EN, ID_DE, VALUE_EN, VALUE_DE, WEIGHT, ID)
43 calendar_props = [('Description', 'Beschreibung', None, None, 0, 'description'),
44 ('Location', 'Ort', None, None, 0, 'location'),
45 ('URL', 'URL', None, None, 0, 'url'),
46 ('Time', 'Zeit', None, None, 0, 'time')]
47 40
48 41
49 class MPIWGStaffFolder(ZDBInterfaceFolder): 42 class MPIWGStaffFolder(ZDBInterfaceFolder):
50 """Folder of staff objects""" 43 """Folder of staff objects"""
51 implements(IPublishTraverse) 44 implements(IPublishTraverse)
601 cal_id = "%s_talks"%self.getUsername() 594 cal_id = "%s_talks"%self.getUsername()
602 # use ICS calendar 595 # use ICS calendar
603 cal = self.getTalksCal() 596 cal = self.getTalksCal()
604 if cal is None: 597 if cal is None:
605 # create new calendar 598 # create new calendar
606 cal = MPIWGIcsManager(cal_id, '', url, defaultProps=calendar_props) 599 cal = MPIWGIcsManager(cal_id, '', url, defaultProps=MPIWGIcsManager.calendar_props)
607 self.folder.get('calendars')[cal_id] = cal 600 self.folder.get('calendars')[cal_id] = cal
608 601
609 else: 602 else:
610 # calendar exists 603 # calendar exists
611 if cal.url != url: 604 if cal.url != url:
612 # remove and re-create 605 # remove and re-create
613 del self.folder.get('calendars')[cal_id] 606 del self.folder.get('calendars')[cal_id]
614 cal = MPIWGIcsManager(cal_id, '', url, defaultProps=calendar_props) 607 cal = MPIWGIcsManager(cal_id, '', url, defaultProps=MPIWGIcsManager.calendar_props)
615 self.folder.get('calendars')[cal_id] = cal 608 self.folder.get('calendars')[cal_id] = cal
616 609
617 # show only upcoming 610 # show only upcoming
618 upcoming = argv.get('only_upcoming', None) 611 upcoming = argv.get('only_upcoming', None)
619 cal.setFlag('only_upcoming', (upcoming == 'yes')) 612 cal.setFlag('only_upcoming', (upcoming == 'yes'))