def validate_input(self, user, data): error_map = {} name = data.get('name') identity_uuid = data.get('identity') source_alias = data.get('source_alias') size_alias = data.get('size_alias') if not name: error_map['name'] = "This field is required." if not identity_uuid: error_map['identity'] = "This field is required." if not source_alias: error_map['source_alias'] = "This field is required." if not size_alias: error_map['size_alias'] = "This field is required." if error_map: raise Exception(error_map) try: identity = Identity.objects.get(uuid=identity_uuid) # Staff or owner ONLY if not user.is_staff and identity.created_by != user: logger.error( "User %s does not have permission to use identity %s" % (user, identity)) raise Identity.DoesNotExist("You are not the owner") except Identity.DoesNotExist: error_map["identity"] = "The uuid (%s) is invalid." % identity_uuid raise Exception(error_map) return
def validate_input(self, user, data): error_map = {} name = data.get('name') identity_uuid = data.get('identity') source_alias = data.get('source_alias') size_alias = data.get('size_alias') allocation_source_id = data.get('allocation_source_id') project_uuid = data.get('project') if not name: error_map['name'] = "This field is required." if not project_uuid: error_map['project'] = "This field is required." try: user.all_projects().filter(uuid=project_uuid) except ValueError: error_map['project' ] = "Properly formed hexadecimal UUID string required." if not identity_uuid: error_map['identity'] = "This field is required." if not source_alias: error_map['source_alias'] = "This field is required." if not size_alias: error_map['size_alias'] = "This field is required." if not allocation_source_id: error_map['allocation_source_id'] = "This field is required." if error_map: raise Exception(error_map) try: identity = Identity.objects.get(uuid=identity_uuid) # Staff or owner ONLY if not user.is_staff and identity.created_by != user: logger.error( "User %s does not have permission to use identity %s" % (user, identity) ) raise Identity.DoesNotExist("You are not the owner") except Identity.DoesNotExist: error_map["identity"] = "The uuid (%s) is invalid." % identity_uuid raise Exception(error_map) return