def update_category(category_id): """ Update an category. """ category = Category.get(category_id) if not category: return api_error('Category not found', 404) form = CategoryForm( validate_unique_name=category.name != request.json.get('name') ) if not form.validate_on_submit(): return api_error(form.errors) category.name = form.name.data category.description = form.description.data if 'services' in request.json: services = request.json['services'] for data in services: service = Service.get(data['id']) service.sort_order = data['sort_order'] service.save() category.save() return '', 200
def delete_category(category_id): """ Delete an category. """ category = Category.get(category_id) if not category: return api_error('Category not found', 404) category.delete() return '', 200
def set_category_sort(): """ Sets the order of the categories. """ if 'categories' not in request.json: return api_error('Invalid form.') categories = request.json['categories'] for data in categories: category = Category.get(data['id']) category.sort_order = data['sort_order'] category.save() return jsonify(Category.all())
def create_service(): """ Create a service. Must be an admin. """ form = ServiceForm() if not form.validate_on_submit(): return api_error(form.errors) service = Service( name=form.name.data, description=form.description.data, category=Category.get(form.category.data) ) service.save() return '', 201
def update_service(service_id): """ Update an service. """ service = Service.get(service_id) if not service: return api_error("Service not found", 404) form = ServiceForm(validate_unique_name=service.name != request.json.get("name")) if not form.validate_on_submit(): return api_error(form.errors) service.name = form.name.data service.description = form.description.data service.category = Category.get(form.category.data) service.save() return "", 200
def update_category(category_id): """ Update an category. """ category = Category.get(category_id) if not category: return api_error('Category not found', 404) form = CategoryForm( validate_unique_name=category.name != request.json.get('name')) if not form.validate_on_submit(): return api_error(form.errors) category.name = form.name.data category.description = form.description.data if 'services' in request.json: services = request.json['services'] for data in services: service = Service.get(data['id']) service.sort_order = data['sort_order'] service.save() category.save() return '', 200
def get_category(category_id): """ Gets a category. """ return jsonify(Category.get(category_id))