def disposition_added(context, event): storage = IHistoryStorage(context) storage.add('added', api.user.get_current().getId(), context.get_dossier_representations()) DispositionAddedActivity(context, getRequest()).record()
def disposition_state_changed(context, event): if event.action == 'disposition-transition-appraise': context.finalize_appraisal() if event.action == 'disposition-transition-archive': context.mark_dossiers_as_archived() if event.action == 'disposition-transition-close': context.destroy_dossiers() context.remove_sip_package() if event.action == 'disposition-transition-appraised-to-closed': context.mark_dossiers_as_archived() context.destroy_dossiers() context.remove_sip_package() if event.action == 'disposition-transition-dispose': context.store_sip_package() context.schedule_sip_for_delivery() storage = IHistoryStorage(context) storage.add(event.action, api.user.get_current().getId(), context.get_dossier_representations()) DispositionStateChangedActivity(context, getRequest(), storage.get_history()[0]).record()
def test_listing(self): self.login(self.records_manager) with freeze(datetime(2016, 11, 1, 11, 0)): storage = IHistoryStorage(self.disposition) storage.add('edited', api.user.get_current().getId(), []) with freeze(datetime(2016, 11, 6, 12, 33)), elevated_privileges(): api.content.transition(self.disposition, 'disposition-transition-appraise') api.content.transition(self.disposition, 'disposition-transition-dispose') with freeze(datetime(2016, 11, 16, 8, 12)), elevated_privileges(): api.content.transition(self.disposition, 'disposition-transition-archive') rows = self.get_listing_rows(self.disposition, 'disposition_history', self.disposition.get_history()) expected_rows = [ ['Nov 16, 2016 08:12 AM', 'Flucht Ramon (ramon.flucht)', 'disposition-transition-archive'], ['Nov 06, 2016 12:33 PM', 'Flucht Ramon (ramon.flucht)', 'disposition-transition-dispose'], ['Nov 06, 2016 12:33 PM', 'Flucht Ramon (ramon.flucht)', 'disposition-transition-appraise'], ['Nov 01, 2016 11:00 AM', 'Flucht Ramon (ramon.flucht)', 'Disposition edited'], ['Aug 31, 2016 07:05 PM', 'Flucht Ramon (ramon.flucht)', 'Disposition added']] for row, expected_row in zip(rows, expected_rows): self.assert_row_values(expected_row, row)
def test_listing(self): self.login(self.records_manager) with freeze(datetime(2016, 11, 1, 11, 0)): storage = IHistoryStorage(self.disposition) storage.add('edited', api.user.get_current().getId(), []) with freeze(datetime(2016, 11, 6, 12, 33)), elevated_privileges(): api.content.transition(self.disposition, 'disposition-transition-appraise') api.content.transition(self.disposition, 'disposition-transition-dispose') with freeze(datetime(2016, 11, 16, 8, 12)), elevated_privileges(): api.content.transition(self.disposition, 'disposition-transition-archive') rows = self.get_listing_rows(self.disposition, 'disposition_history', self.disposition.get_history()) expected_rows = [ ['Nov 16, 2016 08:12 AM', 'Flucht Ramon (ramon.flucht)', 'disposition-transition-archive'], ['Nov 06, 2016 12:33 PM', 'Flucht Ramon (ramon.flucht)', 'disposition-transition-dispose'], ['Nov 06, 2016 12:33 PM', 'Flucht Ramon (ramon.flucht)', 'disposition-transition-appraise'], ['Nov 01, 2016 11:00 AM', 'Flucht Ramon (ramon.flucht)', 'Disposition edited'], ['Aug 31, 2016 07:07 PM', 'Flucht Ramon (ramon.flucht)', 'Disposition added']] for row, expected_row in zip(rows, expected_rows): self.assert_row_values(expected_row, row)
def disposition_added(context, event): storage = IHistoryStorage(context) storage.add('added', api.user.get_current().getId(), context.get_dossier_representations()) DispositionAddedActivity(context, getRequest()).record() context.register_watchers()
def disposition_modified(context, event): # Skip modified events during dossier destruction if IDuringDossierDestruction.providedBy(context.REQUEST): return storage = IHistoryStorage(context) storage.add('edited', api.user.get_current().getId(), context.get_dossier_representations())
def test_transition_label_for_added_and_edited_entries_is_translated_correctly(self): self.login(self.records_manager) storage = IHistoryStorage(self.disposition) storage.add('edited', api.user.get_current().getId(), []) rows = self.get_listing_rows(self.disposition, 'disposition_history', self.disposition.get_history()) self.assert_row_values( ['Disposition edited'], rows[0][2]) self.assert_row_values( ['Disposition added'], rows[1][2])
def disposition_state_changed(context, event): if event.action == 'disposition-transition-appraise': context.finalize_appraisal() if event.action == 'disposition-transition-archive': context.mark_dossiers_as_archived() if event.action == 'disposition-transition-close': context.destroy_dossiers() storage = IHistoryStorage(context) storage.add(event.action, api.user.get_current().getId(), context.get_dossier_representations())
def test_transition_label_for_added_and_edited_entries_is_translated_correctly( self): disposition = create(Builder('disposition')) storage = IHistoryStorage(disposition) storage.add('added', api.user.get_current().getId(), []) storage.add('edited', api.user.get_current().getId(), []) self.listing = getMultiAdapter( (disposition, disposition.REQUEST, self), ILaTexListing, name='disposition_history') self.listing.items = disposition.get_history() table = lxml.html.fromstring(self.listing.template()) rows = table.xpath(CSSSelector('tbody tr').path) self.assert_row_values(['Disposition edited'], rows[0][2]) self.assert_row_values(['Disposition added'], rows[1][2])
def test_transition_label_for_added_and_edited_entries_is_translated_correctly(self): disposition = create(Builder('disposition')) storage = IHistoryStorage(disposition) storage.add('added', api.user.get_current().getId(), []) storage.add('edited', api.user.get_current().getId(), []) self.listing = getMultiAdapter( (disposition, disposition.REQUEST, self), ILaTexListing, name='disposition_history') self.listing.items = disposition.get_history() table = lxml.html.fromstring(self.listing.template()) rows = table.xpath(CSSSelector('tbody tr').path) self.assert_row_values( ['Disposition edited'], rows[0][2]) self.assert_row_values( ['Disposition added'], rows[1][2])
def disposition_state_changed(context, event): if event.action == 'disposition-transition-appraise': context.finalize_appraisal() if event.action == 'disposition-transition-archive': context.mark_dossiers_as_archived() if event.action == 'disposition-transition-close': context.destroy_dossiers() if event.action == 'disposition-transition-appraised-to-closed': context.mark_dossiers_as_archived() context.destroy_dossiers() storage = IHistoryStorage(context) storage.add(event.action, api.user.get_current().getId(), context.get_dossier_representations()) DispositionStateChangedActivity( context, getRequest(), storage.get_history()[0]).record()
def disposition_added(context, event): storage = IHistoryStorage(context) storage.add('added', api.user.get_current().getId(), context.get_dossier_representations())