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")
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")
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")