def applyChanges(self, data):
        """Records reassign activity when the responsible has changed.

        Also update the responsible_client and responsible user.
        """
        update_reponsible_field_data(data)
        super(ForwardingEditForm, self).applyChanges(data)
示例#2
0
    def createAndAdd(self, data):
        created = []

        # make sure we don't create private tasks when the feature is
        # not enabled. the field is hidden, but users could still submit.
        if not is_private_task_feature_enabled():
            data['is_private'] = False

        if isinstance(data['responsible'], basestring):
            data['responsible'] = [data['responsible']]

        all_responsible_users = data['responsible']
        for responsible in all_responsible_users:
            data['responsible'] = responsible
            update_reponsible_field_data(data)
            created.append(self._create_task(data))

        # Restore responsible in data
        data['responsible'] = all_responsible_users

        # Set tasktemplate order and move to planned state if it's part
        # of a sequential process
        if IFromSequentialTasktemplate.providedBy(self.context):
            position = data['tasktemplate_position']
            if not position:
                position = len(self.context.get_tasktemplate_order())

            for task in created:
                self.context.add_task_to_tasktemplate_order(position, task)

        self._set_immediate_view(created)
        return created
示例#3
0
    def createAndAdd(self, data):
        created = []

        # make sure we don't create private tasks when the feature is
        # not enabled. the field is hidden, but users could still submit.
        if not is_private_task_feature_enabled():
            data['is_private'] = False

        if isinstance(data['responsible'], basestring):
            data['responsible'] = [data['responsible']]

        all_responsible_users = data['responsible']
        for responsible in all_responsible_users:
            data['responsible'] = responsible
            update_reponsible_field_data(data)
            created.append(self._create_task(data))

        # Restore responsible in data
        data['responsible'] = all_responsible_users

        # Set tasktemplate order and move to planned state if it's part
        # of a sequential process
        if ITask.providedBy(
                self.context) and self.context.is_sequential_main_task():
            position = data['tasktemplate_position']
            if not position:
                position = len(self.context.get_tasktemplate_order())

            for task in created:
                self.context.add_task_to_tasktemplate_order(position, task)

        self._set_immediate_view(created)
        return created
示例#4
0
    def validate(self, value):
        if value and not self.context.is_open():
            data = {}
            data['responsible'] = value
            update_reponsible_field_data(data)

            validate_no_teams(self.context, data['responsible'])
            validate_no_admin_unit_change(self.context, data['responsible_client'])
示例#5
0
    def validate(self, value):
        if value and not self.context.is_open():
            data = {}
            data['responsible'] = value
            update_reponsible_field_data(data)

            validate_no_teams(self.context, data['responsible'])
            validate_no_admin_unit_change(self.context,
                                          data['responsible_client'])
示例#6
0
    def createAndAdd(self, data):
        update_reponsible_field_data(data)

        forwarding = super(ForwardingAddForm, self).createAndAdd(data=data)

        ForwardingAddedActivity(
            forwarding,
            self.request,
            self.context,
        ).record()

        return forwarding
示例#7
0
    def createAndAdd(self, data):
        update_reponsible_field_data(data)

        forwarding = super(ForwardingAddForm, self).createAndAdd(data=data)

        ForwardingAddedActivity(
            forwarding,
            self.request,
            self.context,
            ).record()

        return forwarding
示例#8
0
    def applyChanges(self, data):
        """Records reassign activity when the responsible has changed.
        Also update the responsible_cliend and responsible user
        """
        update_reponsible_field_data(data)

        if self.is_reassigned(data):
            response = self.add_reassign_response(data)
            changes = super(TaskEditForm, self).applyChanges(data)
            TaskReassignActivity(self.context, self.context.REQUEST, response).record()
        else:
            changes = super(TaskEditForm, self).applyChanges(data)

        return changes
示例#9
0
    def applyChanges(self, data):
        """Records reassign activity when the responsible has changed.
        Also update the responsible_cliend and responsible user
        """
        update_reponsible_field_data(data)

        if self.is_reassigned(data):
            response = self.add_reassign_response(data)
            changes = super(TaskEditForm, self).applyChanges(data)
            TaskReassignActivity(self.context, self.context.REQUEST,
                                 response).record()
        else:
            changes = super(TaskEditForm, self).applyChanges(data)

        return changes
示例#10
0
    def createAndAdd(self, data):
        created = []
        if isinstance(data['responsible'], basestring):
            data['responsible'] = [data['responsible']]

        all_responsible_users = data['responsible']
        for responsible in all_responsible_users:
            data['responsible'] = responsible
            update_reponsible_field_data(data)
            created.append(self._create_task(data))

        # Restore responsible in data
        data['responsible'] = all_responsible_users

        self._set_immediate_view(created)
        return created
示例#11
0
    def createAndAdd(self, data):
        created = []
        if isinstance(data['responsible'], basestring):
            data['responsible'] = [data['responsible']]

        all_responsible_users = data['responsible']
        for responsible in all_responsible_users:
            data['responsible'] = responsible
            update_reponsible_field_data(data)
            created.append(self._create_task(data))

        # Restore responsible in data
        data['responsible'] = all_responsible_users

        self._set_immediate_view(created)
        return created
示例#12
0
    def handle_assign(self, action):
        data, errors = self.extractData()

        if not errors:
            update_reponsible_field_data(data)
            if self.context.responsible_client == data['responsible_client'] \
                    and self.context.responsible == data['responsible']:
                # no changes
                msg = _(u'error_same_responsible',
                        default=u'No changes: same responsible selected')
                IStatusMessage(self.request).addStatusMessage(msg,
                                                              type='error')
                return self.request.RESPONSE.redirect(
                    self.context.absolute_url())

            self.reassign_task(**data)
            return self.request.RESPONSE.redirect(self.context.absolute_url())
示例#13
0
    def handle_assign(self, action):
        data, errors = self.extractData()

        if not errors:
            update_reponsible_field_data(data)
            if self.context.responsible_client == data['responsible_client'] \
                    and self.context.responsible == data['responsible']:
                # no changes
                msg = _(u'error_same_responsible',
                        default=u'No changes: same responsible selected')
                IStatusMessage(self.request).addStatusMessage(
                    msg, type='error')
                return self.request.RESPONSE.redirect(
                    self.context.absolute_url())

            self.reassign_task(**data)
            return self.request.RESPONSE.redirect(self.context.absolute_url())
示例#14
0
def create_subtasks(task, responsibles, documents, data):
    subtasks = []

    for responsible in responsibles:
        subtask_data = data.copy()

        # correctly fill in responsible
        subtask_data['responsible'] = responsible
        update_reponsible_field_data(subtask_data)

        # remove predecessor
        subtask_data['predecessor'] = None

        # related documents
        subtask_data['relatedItems'] = []

        for intid in documents:
            subtask_data['relatedItems'].append(RelationValue(int(intid)))

        subtasks.append(create_subtask(task, subtask_data))

    return subtasks
示例#15
0
def create_subtasks(task, responsibles, documents, data):
    subtasks = []

    for responsible in responsibles:
        subtask_data = data.copy()

        # correctly fill in responsible
        subtask_data['responsible'] = responsible
        update_reponsible_field_data(subtask_data)

        # remove predecessor
        subtask_data['predecessor'] = None

        # related documents
        subtask_data['relatedItems'] = []

        for intid in documents:
            subtask_data['relatedItems'].append(RelationValue(int(intid)))

        subtasks.append(create_subtask(task, subtask_data))

    return subtasks
示例#16
0
 def get_responsible(self, template, data):
     form_identifier = '{}.responsible'.format(template.id)
     data = {"responsible": data.get(form_identifier)}
     update_reponsible_field_data(data)
     return data['responsible_client'], data['responsible']
示例#17
0
 def applyChanges(self, data):
     update_reponsible_field_data(data)
     return super(TaskTemplateEditForm, self).applyChanges(data)
示例#18
0
 def createAndAdd(self, data):
     update_reponsible_field_data(data)
     return super(TaskTemplateAddForm, self).createAndAdd(data)
示例#19
0
 def get_responsible(self, template, data):
     form_identifier = '{}.responsible'.format(template.id)
     data = {"responsible": data.get(form_identifier)}
     update_reponsible_field_data(data)
     return data['responsible_client'], data['responsible']
示例#20
0
 def createAndAdd(self, data):
     update_reponsible_field_data(data)
     return super(TaskTemplateAddForm, self).createAndAdd(data)
示例#21
0
    def createAndAdd(self, data):
        update_reponsible_field_data(data)

        return super(ForwardingAddForm, self).createAndAdd(data=data)
示例#22
0
 def applyChanges(self, data):
     update_reponsible_field_data(data)
     return super(TaskTemplateEditForm, self).applyChanges(data)