Example #1
0
def offer_contract_relationship_create(context, values):

    if context.is_admin:
        values['offer_contract_relationship_id'] = uuidutils.generate_uuid()
        # exception for foreign key constraint needed here
        offer_contract_relationship_ref = models.OfferContractRelationship()
        offer_contract_relationship_ref.update(values)
        offer_contract_relationship_ref.save(get_session())
        return offer_contract_relationship_ref
    else:
        raise exception.RequiresAdmin(
            resource_type="Offer_Contract_Relationship")
Example #2
0
def offer_contract_relationship_destroy(context,
                                        offer_contract_relationship_id):
    if context.is_admin:
        offer_contract_relationship_ref \
            = offer_contract_relationship_get(context,
                                              offer_contract_relationship_id)

        if offer_contract_relationship_ref:
            get_session().query(models.OfferContractRelationship) \
                .filter(models.OfferContractRelationship.
                        offer_contract_relationship_id ==
                        offer_contract_relationship_id).delete()
        else:
            return None
    else:
        raise exception.RequiresAdmin(
            resource_type="Offer_Contract_Relationship")
Example #3
0
def contract_create(values, context):

    if context.is_admin:
        values['contract_id'] = uuidutils.generate_uuid()
        # exception for foreign key constraint needed here
        offers = values['offers']

        del values['offers']
        contract_ref = models.Contract()
        contract_ref.update(values)
        contract_ref.save(get_session())
        # update foreign key for offers
        for offer_id in offers:
            ocr_data = dict(contract_id=values['contract_id'],
                            offer_id=offer_id,
                            status=statuses.AVAILABLE)
            offer_contract_relationship_create(context, ocr_data)
        return contract_ref
    else:
        raise exception.RequiresAdmin(resource_type="Contract")