示例#1
0
    def update_template(self, structure_data, **kwargs):
        result, msg = PipelineTemplate.objects.subprocess_ref_validate(structure_data, self.template_id, self.name)
        if not result:
            raise SubprocessRefError(msg)

        snapshot, _ = Snapshot.objects.create_or_get_snapshot(structure_data)
        kwargs['snapshot'] = snapshot
        kwargs['edit_time'] = timezone.now()
        exclude_keys = ['template_id', 'creator', 'create_time', 'is_deleted']
        for key in exclude_keys:
            kwargs.pop(key, None)
        for key, value in kwargs.iteritems():
            setattr(self, key, value)
        self.save()
示例#2
0
    def create_model(self, structure_data, **kwargs):
        result, msg = self.subprocess_ref_validate(structure_data)

        if not result:
            raise SubprocessRefError(msg)

        snapshot, _ = Snapshot.objects.create_or_get_snapshot(structure_data)
        kwargs['snapshot'] = snapshot
        kwargs['template_id'] = node_uniqid()
        obj = self.create(**kwargs)
        # version track
        # TemplateVersion.objects.track(obj)

        return obj