def test_cancelling_protocol_unlock_meeting(self, browser): browser.login().open(self.meeting.get_url('protocol')) lock_infos = ILockable( MeetingWrapper.wrap(self.committee, self.meeting)).lock_info() self.assertEquals(1, len(lock_infos)) browser.find('Close').click() self.assertEquals( [], ILockable( MeetingWrapper.wrap(self.committee, self.meeting)).lock_info())
def test_cancelling_protocol_unlock_meeting(self, browser): browser.login().open(self.meeting.get_url(view='protocol')) lock_infos = ILockable( MeetingWrapper.wrap(self.committee, self.meeting)).lock_info() self.assertEquals(1, len(lock_infos)) browser.find('Close').click() self.assertEquals([], ILockable( MeetingWrapper.wrap(self.committee, self.meeting)).lock_info())
def _getOb(self, id_, default=_marker): """We extend `_getObj` in order to change the context for meeting objects to the `MeetingWrapper`. That allows us to register the meetings view as regular Browser view without any traversal hacks.""" obj = super(Committee, self)._getOb(id_, default) if obj is not default: return obj if id_.startswith('meeting'): meeting_id = int(id_.split('-')[-1]) meeting = Meeting.query.get(meeting_id) if meeting and meeting.committee == self.load_model(): return MeetingWrapper.wrap(self, meeting) elif id_.startswith('period'): period_id = int(id_.split('-')[-1]) period = Period.query.get(period_id) if period and period.committee == self.load_model(): return PeriodWrapper.wrap(self, period) elif id_.startswith('membership'): membership_id = int(id_.split('-')[-1]) membership = Membership.query.get(membership_id) if membership and membership.committee == self.load_model(): return MembershipWrapper.wrap(self, membership) if default is _marker: raise KeyError(id_) return default
def setUp(self): super(TestAgendaItem, self).setUp() self.admin_unit.public_url = 'http://nohost/plone' self.repository_root, self.repository_folder = create( Builder('repository_tree')) self.dossier = create( Builder('dossier').within(self.repository_folder)) self.meeting_dossier = create( Builder('meeting_dossier').within(self.repository_folder)) self.excerpt_template = create( Builder('sablontemplate').with_asset_file('excerpt_template.docx')) self.container = create( Builder('committee_container').having( excerpt_template=self.excerpt_template)) self.committee = create(Builder('committee').within(self.container)) self.grant('CommitteeResponsible', on=self.committee) self.meeting = create( Builder('meeting').having( committee=self.committee.load_model()).link_with( self.meeting_dossier)) self.meeting_wrapper = MeetingWrapper.wrap(self.committee, self.meeting) self.grant('Contributor', 'Editor', 'Reader', 'MeetingUser')
def setUp(self): super(TestSQLLockable, self).setUp() self.session = create_session() self.container = create(Builder('committee_container')) self.committee = create(Builder('committee').within(self.container)) self.meeting = create( Builder('meeting').having(committee=self.committee.load_model())) self.wrapper = MeetingWrapper.wrap(self.committee, self.meeting)
def setUp(self): super(TestSQLLockable, self).setUp() self.session = create_session() self.container = create(Builder('committee_container')) self.committee = create(Builder('committee').within(self.container)) self.meeting = create(Builder('meeting').having( committee=self.committee.load_model())) self.wrapper = MeetingWrapper.wrap(self.committee, self.meeting)
def test_editing_a_protocol_locks_meeting(self, browser): browser.login().open(self.meeting.get_url('protocol')) browser.open(self.meeting.get_url('plone_lock_info/lock_info')) lock_infos = ILockable( MeetingWrapper.wrap(self.committee, self.meeting)).lock_info() self.assertEquals(1, len(lock_infos)) lock = lock_infos[0] self.assertEquals('Meeting:1', lock.get('token')) self.assertEquals(TEST_USER_ID, lock.get('creator'))
def test_editing_a_protocol_locks_meeting(self, browser): browser.login().open(self.meeting.get_url(view='protocol')) browser.open(self.meeting.get_url(view='plone_lock_info/lock_info')) lock_infos = ILockable( MeetingWrapper.wrap(self.committee, self.meeting)).lock_info() self.assertEquals(1, len(lock_infos)) lock = lock_infos[0] self.assertEquals('Meeting:1', lock.get('token')) self.assertEquals(TEST_USER_ID, lock.get('creator'))
def setUp(self): super(TestUnscheduledProposals, self).setUp() self.admin_unit.public_url = 'http://nohost/plone' self.repository_root, self.repository_folder = create( Builder('repository_tree')) self.dossier = create( Builder('dossier').within(self.repository_folder)) self.meeting_dossier = create( Builder('meeting_dossier').within(self.repository_folder)) container = create(Builder('committee_container')) self.committee = create(Builder('committee').within(container)) self.meeting = create(Builder('meeting') .having(committee=self.committee.load_model()) .link_with(self.meeting_dossier)) self.meeting_wrapper = MeetingWrapper.wrap(self.committee, self.meeting)
def setUp(self): super(TestAgendaItem, self).setUp() self.admin_unit.public_url = 'http://nohost/plone' self.repository_root, self.repository_folder = create( Builder('repository_tree')) self.dossier = create( Builder('dossier').within(self.repository_folder)) self.meeting_dossier = create( Builder('meeting_dossier').within(self.repository_folder)) self.excerpt_template = create(Builder('sablontemplate') .with_asset_file('excerpt_template.docx')) self.container = create(Builder('committee_container') .having(excerpt_template=self.excerpt_template)) self.committee = create(Builder('committee').within(self.container)) self.meeting = create(Builder('meeting') .having(committee=self.committee.load_model()) .link_with(self.meeting_dossier)) self.meeting_wrapper = MeetingWrapper.wrap(self.committee, self.meeting)
def setUp(self): super(TestAgendaItem, self).setUp() self.admin_unit.public_url = 'http://nohost/plone' self.repository_root, self.repository_folder = create( Builder('repository_tree')) self.dossier = create( Builder('dossier').within(self.repository_folder)) self.meeting_dossier = create( Builder('meeting_dossier').within(self.repository_folder)) self.template = create(Builder('sablontemplate') .with_asset_file('empty.docx')) self.container = create(Builder('committee_container') .having(ad_hoc_template=self.template)) self.committee = create(Builder('committee').within(self.container)) self.grant('CommitteeResponsible', on=self.committee) self.meeting = create(Builder('meeting') .having(committee=self.committee.load_model()) .link_with(self.meeting_dossier)) self.meeting_wrapper = MeetingWrapper.wrap(self.committee, self.meeting) self.grant('Contributor', 'Editor', 'Reader', 'MeetingUser')