def _create_instance_from_request(self, data): inst = super(ProjectAPI, self)._create_instance_from_request(data) category_ids = [c.id for c in get_categories()] default_category = get_categories()[0] inst.category_id = default_category.id if 'category_id' in data.keys(): if int(data.get('category_id')) in category_ids: inst.category_id = data.get('category_id') else: raise BadRequest("category_id does not exist") return inst
def _create_instance_from_request(self, data): # password required if not syncing sync_json = data["info"].get("sync", {}) # keys added when syncing sync_keys = ("latest_sync", "source_url", "syncer") sync = all(sync_key in sync_json for sync_key in sync_keys) password = data.pop("password", "") if not (sync or password) or (sync and "passwd_hash" not in data["info"]): raise BadRequest("password required") inst = super(ProjectAPI, self)._create_instance_from_request(data) if not sync: # set password if not syncing inst.set_password(password) category_ids = [c.id for c in get_categories()] default_category = get_categories()[0] inst.category_id = default_category.id if 'category_id' in data.keys(): if int(data.get('category_id')) in category_ids: inst.category_id = data.get('category_id') else: raise BadRequest("category_id does not exist") return inst
def _create_instance_from_request(self, data): inst = super(ProjectAPI, self)._create_instance_from_request(data) default_category = get_categories()[0] inst.category_id = default_category.id return inst