Ejemplo n.º 1
0
# Licensed under http://www.apache.org/licenses/LICENSE-2.0 <see LICENSE file>

from ggrc.models.all_models import register_model
from ggrc.models import all_models

from .task_group_task import TaskGroupTask
from .task_group import TaskGroup
from .task_group_object import TaskGroupObject
from .workflow import Workflow
from .workflow_person import WorkflowPerson
from .cycle import Cycle
from .cycle_task_entry import CycleTaskEntry
from .cycle_task_group import CycleTaskGroup
from .cycle_task_group_object_task import CycleTaskGroupObjectTask

register_model(TaskGroup)
register_model(TaskGroupObject)
register_model(TaskGroupTask)
register_model(Workflow)
register_model(WorkflowPerson)

register_model(Cycle)
register_model(CycleTaskEntry)
register_model(CycleTaskGroup)
register_model(CycleTaskGroupObjectTask)

WORKFLOW_OBJECT_TYPES = {
    "Program", "Vendor", "OrgGroup", "Assessment", "Request", "Regulation",
    "Standard", "Policy", "Contract", "Objective", "Control", "Section",
    "Clause", "System", "Process", "DataAsset", "Facility", "Market",
    "Product", "Project", "Issue", "AccessGroup", "Risk", "RiskObject",
Ejemplo n.º 2
0
# Copyright (C) 2017 Google Inc.
# Licensed under http://www.apache.org/licenses/LICENSE-2.0 <see LICENSE file>

from ggrc.models.all_models import register_model
from .risk_assessment import RiskAssessment

register_model(RiskAssessment)
Ejemplo n.º 3
0
  def _display_name(self):
    if self.source_context:
      source_context_display_name = self.source_context.display_name
    else:
      source_context_display_name = 'Default Context'
    if self.context:
      context_display_name = self.context.display_name
    else:
      context_display_name = 'Default Context'
    return u'{source_context} -> {context}'.format(
        source_context=source_context_display_name,
        context=context_display_name,
    )


all_models.register_model(Role)
all_models.register_model(UserRole)
all_models.register_model(ContextImplication)


def get_ids_related_to_user_role(object_type, related_type, related_ids):
  if object_type == "Person":
    related_model = getattr(all_models, related_type, None)
    if not hasattr(related_model, "context_id"):
      return None
    return db.session \
        .query(UserRole.person_id.distinct()) \
        .join(related_model, related_model.context_id == UserRole.context_id) \
        .filter(related_model.id.in_(related_ids))
  elif related_type == "Person":
    object_model = getattr(all_models, object_type, None)
Ejemplo n.º 4
0
# Copyright (C) 2017 Google Inc.
# Licensed under http://www.apache.org/licenses/LICENSE-2.0 <see LICENSE file>

from ggrc.models.all_models import register_model

from .risk import Risk
from .risk_object import RiskObject
from .threat import Threat

register_model(Risk)
register_model(RiskObject)
register_model(Threat)
Ejemplo n.º 5
0
            .append(assignment.role)
    return assignments_by_user

  @classmethod
  def eager_query(cls):
    from sqlalchemy import orm

    query = super(UserRole, cls).eager_query()
    return query.options(
        orm.joinedload('role'),
        orm.subqueryload('person'),
        orm.subqueryload('context'))

  def _display_name(self):
    if self.context and self.context.related_object_type and \
       self.context.related_object:
      context_related = ' in ' + self.context.related_object.display_name
    elif hasattr(self, '_display_related_title'):
      context_related = ' in ' + self._display_related_title
    elif self.context:
      logger.warning('Unable to identify context.related for UserRole')
      context_related = ''
    else:
      context_related = ''
    return u'{0} <-> {1}{2}'.format(
        self.person.display_name, self.role.display_name, context_related)


all_models.register_model(Role)
all_models.register_model(UserRole)
Ejemplo n.º 6
0
from ggrc.models.all_models import register_model
from ggrc.models import all_models

from .task_group_task import TaskGroupTask
from .task_group import TaskGroup
from .task_group_object import TaskGroupObject
from .workflow import Workflow
from .workflow_person import WorkflowPerson
from .cycle import Cycle
from .cycle_task_entry import CycleTaskEntry
from .cycle_task_group import CycleTaskGroup
from .cycle_task_group_object_task import CycleTaskGroupObjectTask


register_model(TaskGroup)
register_model(TaskGroupObject)
register_model(TaskGroupTask)
register_model(Workflow)
register_model(WorkflowPerson)

register_model(Cycle)
register_model(CycleTaskEntry)
register_model(CycleTaskGroup)
register_model(CycleTaskGroupObjectTask)

WORKFLOW_OBJECT_TYPES = {
    "Program", "Vendor", "OrgGroup",
    "Assessment",
    "Regulation", "Standard", "Policy", "Contract",
    "Objective", "Control", "Section", "Clause",
Ejemplo n.º 7
0
# Copyright (C) 2017 Google Inc.
# Licensed under http://www.apache.org/licenses/LICENSE-2.0 <see LICENSE file>


from ggrc.models.all_models import register_model

from .risk import Risk
from .risk_object import RiskObject
from .threat import Threat

register_model(Risk)
register_model(RiskObject)
register_model(Threat)
Ejemplo n.º 8
0
                .append(assignment.role)
        return assignments_by_user

    @classmethod
    def eager_query(cls, **kwargs):
        from sqlalchemy import orm

        query = super(UserRole, cls).eager_query(**kwargs)
        return query.options(orm.joinedload('role'),
                             orm.subqueryload('person'),
                             orm.subqueryload('context'))

    def _display_name(self):
        if self.context and self.context.related_object_type and \
           self.context.related_object:
            context_related = ' in ' + self.context.related_object.display_name
        elif hasattr(self, '_display_related_title'):
            context_related = ' in ' + self._display_related_title
        elif self.context:
            logger.warning('Unable to identify context.related for UserRole')
            context_related = ''
        else:
            context_related = ''
        return u'{0} <-> {1}{2}'.format(self.person.display_name,
                                        self.role.display_name,
                                        context_related)


all_models.register_model(Role)
all_models.register_model(UserRole)
Ejemplo n.º 9
0
    context = db.relationship(
        'Context',
        uselist=False,
        foreign_keys=[context_id],
    )
    source_context = db.relationship(
        'Context',
        uselist=False,
        foreign_keys=[source_context_id],
    )

    def _display_name(self):
        if self.source_context:
            source_context_display_name = self.source_context.display_name
        else:
            source_context_display_name = 'Default Context'
        if self.context:
            context_display_name = self.context.display_name
        else:
            context_display_name = 'Default Context'
        return u'{source_context} -> {context}'.format(
            source_context=source_context_display_name,
            context=context_display_name,
        )


all_models.register_model(Role)
all_models.register_model(UserRole)
all_models.register_model(ContextImplication)
Ejemplo n.º 10
0
# Copyright (C) 2017 Google Inc.
# Licensed under http://www.apache.org/licenses/LICENSE-2.0 <see LICENSE file>


from ggrc.models.all_models import register_model
from .risk_assessment import RiskAssessment

register_model(RiskAssessment)
Ejemplo n.º 11
0
# Licensed under http://www.apache.org/licenses/LICENSE-2.0 <see LICENSE file>


from ggrc.models.all_models import register_model
from ggrc.models import all_models

from .task_group_object import TaskGroupObject
from .task_group_task import TaskGroupTask
from .task_group import TaskGroup
from .workflow import Workflow
from .cycle import Cycle
from .cycle_task_group import CycleTaskGroup
from .cycle_task_group_object_task import CycleTaskGroupObjectTask


register_model(TaskGroup)
register_model(TaskGroupTask)
register_model(TaskGroupObject)
register_model(Workflow)

register_model(Cycle)
register_model(CycleTaskGroup)
register_model(CycleTaskGroupObjectTask)

WORKFLOW_OBJECT_TYPES = {
    "Program", "Vendor", "OrgGroup",
    "Assessment", "AccountBalance",
    "Regulation", "Standard", "Policy", "Contract",
    "Objective", "Control", "Requirement",
    "System", "Process",
    "DataAsset", "Facility", "Market", "Product", "Project", "Issue",
Ejemplo n.º 12
0
# Copyright (C) 2017 Google Inc.
# Licensed under http://www.apache.org/licenses/LICENSE-2.0 <see LICENSE file>
"""Gdrive Models"""

from ggrc.models.all_models import register_model
from ggrc_gdrive_integration.models.object_event import ObjectEvent
from ggrc_gdrive_integration.models.object_file import ObjectFile

register_model(ObjectEvent)
register_model(ObjectFile)
Ejemplo n.º 13
0
# Copyright (C) 2019 Google Inc.
# Licensed under http://www.apache.org/licenses/LICENSE-2.0 <see LICENSE file>

from ggrc.models.all_models import register_model
from ggrc.models import all_models

from .task_group_task import TaskGroupTask
from .task_group import TaskGroup
from .task_group_object import TaskGroupObject
from .workflow import Workflow
from .cycle import Cycle
from .cycle_task_group import CycleTaskGroup
from .cycle_task_group_object_task import CycleTaskGroupObjectTask

register_model(TaskGroup)
register_model(TaskGroupObject)
register_model(TaskGroupTask)
register_model(Workflow)

register_model(Cycle)
register_model(CycleTaskGroup)
register_model(CycleTaskGroupObjectTask)

WORKFLOW_OBJECT_TYPES = {
    "Program", "Vendor", "OrgGroup", "Assessment", "AccountBalance",
    "Regulation", "Standard", "Policy", "Contract", "Objective", "Control",
    "Requirement", "System", "Process", "DataAsset", "Facility", "Market",
    "Product", "Project", "Issue", "AccessGroup", "Risk", "Threat", "Metric",
    "TechnologyEnvironment", "ProductGroup", "KeyReport"
}