Ejemplo n.º 1
0
class DomainResource(RalphModelResource):
    business_segment = fields.Field(
        column_name='business_segment',
        attribute='business_segment',
        widget=widgets.ForeignKeyWidget(
            assets.BusinessSegment,
            'name',
        ),
    )
    business_owner = fields.Field(
        column_name='business_owner',
        attribute='business_owner',
        widget=UserWidget(get_user_model()),
    )
    technical_owner = fields.Field(
        column_name='technical_owner',
        attribute='technical_owner',
        widget=UserWidget(get_user_model()),
    )
    domain_holder = fields.Field(
        column_name='domain_holder',
        attribute='domain_holder',
        widget=widgets.ForeignKeyWidget(assets.AssetHolder),
    )
    service_env = fields.Field(
        column_name='service_env',
        attribute='service_env',
        widget=AssetServiceEnvWidget(assets.ServiceEnvironment),
    )

    class Meta:
        model = Domain
        exclude = ('baseobject_ptr', )
Ejemplo n.º 2
0
class BackOfficeAssetResource(ResourceWithPrice, RalphModelResource):
    parent = fields.Field(
        column_name='parent',
        attribute='parent',
        widget=ImportedForeignKeyWidget(assets.Asset),
    )
    service_env = fields.Field(
        column_name='service_env',
        attribute='service_env',
        widget=AssetServiceEnvWidget(assets.ServiceEnvironment, 'name'),
    )
    model = fields.Field(
        column_name='model',
        attribute='model',
        widget=ImportedForeignKeyWidget(assets.AssetModel),
    )
    user = fields.Field(
        column_name='user',
        attribute='user',
        widget=UserWidget(get_user_model()),
    )
    owner = fields.Field(
        column_name='owner',
        attribute='owner',
        widget=UserWidget(get_user_model()),
    )
    warehouse = fields.Field(
        column_name='warehouse',
        attribute='warehouse',
        widget=ImportedForeignKeyWidget(Warehouse),
    )
    region = fields.Field(
        column_name='region',
        attribute='region',
        widget=ImportedForeignKeyWidget(Region),
    )
    property_of = fields.Field(
        column_name='property_of',
        attribute='property_of',
        widget=ImportedForeignKeyWidget(assets.AssetHolder),
    )
    budget_info = fields.Field(
        column_name='budget_info',
        attribute='budget_info',
        widget=ImportedForeignKeyWidget(assets.BudgetInfo),
    )

    class Meta:
        model = BackOfficeAsset
        prefetch_related = ('tags', )
        exclude = (
            'content_type',
            'asset_ptr',
            'baseobject_ptr',
        )

    def dehydrate_depreciation_rate(self, bo_asset):
        return str(bo_asset.depreciation_rate)
Ejemplo n.º 3
0
class OperationResource(RalphModelResource):
    type = fields.Field(
        column_name='type',
        attribute='type',
        widget=ImportedForeignKeyWidget(OperationType),
    )
    base_objects = fields.Field(
        column_name='base_objects',
        attribute='base_objects',
        widget=widgets.ManyToManyWidget(model=base.BaseObject),
        default=[],
    )
    assignee = fields.Field(
        column_name='assignee',
        attribute='assignee',
        widget=UserWidget(get_user_model()),
    )
    reporter = fields.Field(
        column_name='reporter',
        attribute='reporter',
        widget=UserWidget(get_user_model()),
    )
    service_name = fields.Field(
        column_name='base_objects_service_names',
        attribute='base_objects',
        widget=BaseObjectServiceNamesM2MWidget(model=base.BaseObject),
        default=[],
        readonly=True
    )
    service_name._skip_str_field = True

    class Meta:
        select_related = (
            'assignee', 'reporter', 'type', 'status'
        )
        prefetch_related = (
            'tags',
            Prefetch(
                lookup='base_objects',
                queryset=BaseObject.polymorphic_objects.polymorphic_filter(
                    operations__in=Operation.objects.all()
                ).select_related(
                    'service_env',
                    'service_env__service',
                    'service_env__environment'
                ).polymorphic_select_related(
                    Cluster=['type'],
                    ServiceEnvironment=['service', 'environment']
                )
            )
        )
        model = Operation
Ejemplo n.º 4
0
class LicenceUserResource(RalphModelResource):
    licence = fields.Field(
        column_name='licence',
        attribute='licence',
        widget=ImportedForeignKeyWidget(Licence),
    )
    user = fields.Field(
        column_name='user',
        attribute='user',
        widget=UserWidget(get_user_model()),
    )

    class Meta:
        model = LicenceUser