Esempio n. 1
0
    def generate_workflow(self, data=None):
        """ create a workflow with dict data
    return: wf if it was created, or response otherwise
    """
        if data is None:
            data = {}
        obj_name = "workflow"
        data = copy.deepcopy(data)

        tgs = data.pop("task_groups", [])

        wf_instance = Workflow(title="wf " + factories.random_str())
        obj_dict = self.obj_to_dict(wf_instance, obj_name)
        wf_admin_role_id = {
            n: i
            for (
                i,
                n) in role.get_custom_roles_for(Workflow.__name__).iteritems()
        }['Admin']
        if "access_control_list" not in data:
            wf_admin_id = Person.query.first().id
            data["access_control_list"] = [
                acl_helper.get_acl_json(wf_admin_role_id, wf_admin_id)
            ]
        obj_dict[obj_name].update(data)

        response, workflow = self.generate(Workflow, obj_name, obj_dict)

        for task_group in tgs:
            self.generate_task_group(workflow, task_group)

        return response, workflow
Esempio n. 2
0
    def generate_workflow(self, data={}):
        """ create a workflow with dict data
    return: wf if it was created, or response otherwise
    """
        obj_name = "workflow"
        data = copy.deepcopy(data)

        tgs = data.pop("task_groups", [])

        wf = Workflow(title="wf " + self.random_str())
        obj_dict = self.obj_to_dict(wf, obj_name)
        obj_dict[obj_name].update(data)

        response, workflow = self.generate(Workflow, obj_name, obj_dict)

        for tg in tgs:
            self.generate_task_group(workflow, tg)

        return response, workflow
Esempio n. 3
0
    def generate_workflow(self, data=None):
        """ create a workflow with dict data
    return: wf if it was created, or response otherwise
    """
        if data is None:
            data = {}
        obj_name = "workflow"
        data = copy.deepcopy(data)

        tgs = data.pop("task_groups", [])

        wf_instance = Workflow(title="wf " + factories.random_str())
        obj_dict = self.obj_to_dict(wf_instance, obj_name)
        obj_dict[obj_name].update(data)

        response, workflow = self.generate(Workflow, obj_name, obj_dict)

        for task_group in tgs:
            self.generate_task_group(workflow, task_group)

        return response, workflow
Esempio n. 4
0
)

Program.__bases__ = (Folderable, ) + Program.__bases__
Program.late_init_folderable()
Audit.__bases__ = (Folderable, ) + Audit.__bases__
Audit.late_init_folderable()
Control.__bases__ = (Folderable, ) + Control.__bases__
Control.late_init_folderable()
Document.__bases__ = (Fileable, ) + Document.__bases__
Document.late_init_fileable()
Meeting.__bases__ = (Eventable, ) + Meeting.__bases__
Meeting.late_init_eventable()
# TODO: now the Gdrive module is dependant on the Workflows module. it used to
# be the other way around but none of them are actually okay
Workflow.__bases__ = (Folderable, ) + Workflow.__bases__
Workflow.late_init_folderable()


# Initialize views
def init_extra_views(application):
    ggrc_gdrive_integration.views.init_extra_views(application)


contributed_services = [
    service('object_folders', models.ObjectFolder),
    service('object_files', models.ObjectFile),
    service('object_events', models.ObjectEvent)
]


class GDriveRoleContributions(RoleContributions):
Esempio n. 5
0

Program.__bases__ = (Folderable,) + Program.__bases__
Program.late_init_folderable()
Audit.__bases__ = (Folderable,) + Audit.__bases__
Audit.late_init_folderable()
Control.__bases__ = (Folderable,) + Control.__bases__
Control.late_init_folderable()
Document.__bases__ = (Fileable,) + Document.__bases__
Document.late_init_fileable()
Meeting.__bases__ = (Eventable,) + Meeting.__bases__
Meeting.late_init_eventable()
# TODO: now the Gdrive module is dependant on the Workflows module. it used to
# be the other way around but none of them are actually okay
Workflow.__bases__ = (Folderable,) + Workflow.__bases__
Workflow.late_init_folderable()


# Initialize views
def init_extra_views(application):
  ggrc_gdrive_integration.views.init_extra_views(application)


contributed_services = [
    service('object_folders', models.ObjectFolder),
    service('object_files', models.ObjectFile),
    service('object_events', models.ObjectEvent)
]


class GDriveRoleContributions(RoleContributions):
  def create_backlog_workflow(self):  # pylint: disable=no-self-use
    """Creates one time backlog workflow in database."""

    Workflow.ensure_backlog_workflow_exists()
  def create_backlog_workflow(self):  # pylint: disable=no-self-use
    """Creates one time backlog workflow in database."""

    Workflow.ensure_backlog_workflow_exists()