def handleAdd(self, action): # create the dossier data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return obj = self.createAndAdd(data) if obj is not None: # mark only as finished if we get the new object self._finishedAdd = True # Get a properly aq wrapped object dossier = self.context.get(obj.id) dm = getUtility(IWizardDataStorage) oguid = self.request.get('oguid') dmkey = 'accept:%s' % oguid # forwarding if dm.get(dmkey, 'is_forwarding'): if dm.get(dmkey, 'is_only_assign'): task = assign_forwarding_to_dossier( self.context, oguid, dossier, dm.get( dmkey, 'text')) IStatusMessage(self.request).addStatusMessage( _(u'The forwarding is now assigned to the new ' 'dossier'), 'info') self.request.RESPONSE.redirect( '%s/edit' % task.absolute_url()) else: task = accept_forwarding_with_successor( self.context, oguid, dm.get(dmkey, 'text'), dossier=dossier) IStatusMessage(self.request).addStatusMessage( _(u'The forwarding has been stored in the ' u'local inbox and the succesor task has been' u' created'), 'info') self.request.RESPONSE.redirect( '%s/edit' % task.absolute_url()) else: # create the successor task, accept the predecessor task = accept_task_with_successor( dossier, oguid, dm.get(dmkey, 'text')) IStatusMessage(self.request).addStatusMessage( _(u'The new dossier has been created and the task ' u'has been copied to the new dossier.'), 'info') self.request.RESPONSE.redirect(task.absolute_url())
def handleAdd(self, action): # create the dossier data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return obj = self.createAndAdd(data) if obj is not None: # mark only as finished if we get the new object self._finishedAdd = True # Get a properly aq wrapped object dossier = self.context.get(obj.id) dm = getUtility(IWizardDataStorage) oguid = self.request.get('oguid') dmkey = 'accept:%s' % oguid # forwarding if dm.get(dmkey, 'is_forwarding'): if dm.get(dmkey, 'is_only_assign'): task = assign_forwarding_to_dossier( self.context, oguid, dossier, dm.get( dmkey, 'text')) IStatusMessage(self.request).addStatusMessage( _(u'The forwarding is now assigned to the new ' 'dossier'), 'info') self.request.RESPONSE.redirect( '%s/edit' % task.absolute_url()) else: task = accept_forwarding_with_successor( self.context, oguid, dm.get(dmkey, 'text'), dossier=dossier) IStatusMessage(self.request).addStatusMessage( _(u'The forwarding has been stored in the ' u'local inbox and the succesor task has been' u' created'), 'info') self.request.RESPONSE.redirect( '%s/edit' % task.absolute_url()) else: # create the successor task, accept the predecessor task = accept_task_with_successor( dossier, oguid, dm.get(dmkey, 'text')) IStatusMessage(self.request).addStatusMessage( _(u'The new dossier has been created and the task ' u'has been copied to the new dossier.'), 'info') self.request.RESPONSE.redirect(task.absolute_url())
def test_successor_task_is_created_with_information_task_type(self): inbox = create(Builder('inbox')) dossier = create(Builder('dossier')) forwarding = create(Builder('forwarding') .having(responsible=TEST_USER_ID, issuer='hugo.boss') .within(inbox)) task = assign_forwarding_to_dossier( self.portal, forwarding.oguid.id, dossier, 'OK, thx.') self.assertEquals('information', task.task_type)
def test_assign_forwarding_to_dossier_add_responsible_and_issuer_to_successors_watcherlist(self, browser): dossier = create(Builder('dossier').titled(u'Dossier A')) inbox = create(Builder('inbox').titled(u'Inbox')) forwarding = create(Builder('forwarding') .within(inbox) .having(issuer='inbox:client2', responsible='hugo.boss') .titled(u'Anfrage XY')) task = assign_forwarding_to_dossier(self.portal, forwarding.oguid.id, dossier, "Ok!") resource = notification_center().fetch_resource(task) self.assertItemsEqual( [(u'hugo.boss', u'task_responsible'), (u'inbox:client1', u'task_issuer')], [(subscription.watcher.actorid, subscription.role) for subscription in resource.subscriptions])
def test_assign_forwarding_to_dossier_add_responsible_and_issuer_to_successors_watcherlist( self, browser): dossier = create(Builder('dossier').titled(u'Dossier A')) inbox = create(Builder('inbox').titled(u'Inbox')) forwarding = create( Builder('forwarding').within(inbox).having( issuer='inbox:client2', responsible='hugo.boss').titled(u'Anfrage XY')) task = assign_forwarding_to_dossier(self.portal, forwarding.oguid.id, dossier, "Ok!") resource = notification_center().fetch_resource(task) self.assertItemsEqual( [(u'hugo.boss', u'task_responsible'), (u'inbox:client1', u'task_issuer')], [(subscription.watcher.actorid, subscription.role) for subscription in resource.subscriptions])
def handle_continue(self, action): data, errors = self.extractData() if not errors: oguid = self.request.get('oguid') key = 'accept:%s' % oguid dm = getUtility(IWizardDataStorage) text = dm.get(key, 'text') # forwarding if dm.get(key, 'is_forwarding'): if dm.get(key, 'is_only_assign'): task = assign_forwarding_to_dossier( self.context, oguid, data['dossier'], text) IStatusMessage(self.request).addStatusMessage( _(u'The forwarding is now assigned to the dossier'), 'info') self.request.RESPONSE.redirect( '%s/edit' % task.absolute_url()) else: task = accept_forwarding_with_successor( self.context, oguid, text, dossier=data['dossier']) IStatusMessage(self.request).addStatusMessage( _(u'The forwarding has been stored in the local inbox ' u'and the succesor task has been created'), 'info') self.request.RESPONSE.redirect( '%s/edit' % task.absolute_url()) # task else: task = accept_task_with_successor( data['dossier'], oguid, text) IStatusMessage(self.request).addStatusMessage( _(u'The task has been copied to the selected dossier and ' u'accepted.'), 'info') self.request.RESPONSE.redirect(task.absolute_url())
def handle_continue(self, action): data, errors = self.extractData() if not errors: oguid = self.request.get('oguid') key = 'accept:%s' % oguid dm = getUtility(IWizardDataStorage) text = dm.get(key, 'text') # forwarding if dm.get(key, 'is_forwarding'): if dm.get(key, 'is_only_assign'): task = assign_forwarding_to_dossier( self.context, oguid, data['dossier'], text) IStatusMessage(self.request).addStatusMessage( _(u'The forwarding is now assigned to the dossier'), 'info') self.request.RESPONSE.redirect( '%s/edit' % task.absolute_url()) else: task = accept_forwarding_with_successor( self.context, oguid, text, dossier=data['dossier']) IStatusMessage(self.request).addStatusMessage( _(u'The forwarding has been stored in the local inbox ' u'and the succesor task has been created'), 'info') self.request.RESPONSE.redirect( '%s/edit' % task.absolute_url()) # task else: task = accept_task_with_successor( data['dossier'], oguid, text) IStatusMessage(self.request).addStatusMessage( _(u'The task has been copied to the selected dossier and ' u'accepted.'), 'info') self.request.RESPONSE.redirect(task.absolute_url())