def create_cafe(): role = current_app.config.get('ZERQU_CAFE_CREATOR_ROLES') if current_user.role not in role: raise Denied('creating cafe') form = CafeForm.create_api_form() cafe = form.create_cafe(current_user.id) return jsonify(cafe), 201
def update_cafe(slug): cafe = Cafe.cache.first_or_404(slug=slug) if cafe.user_id != current_user.id: ident = (cafe.id, current_user.id) data = CafeMember.cache.get(ident) if not data or data.role != CafeMember.ROLE_ADMIN: raise Denied('cafe "%s"' % cafe.slug) form = CafeForm.create_api_form(obj=cafe) cafe = form.update_cafe(cafe, current_user.id) return jsonify(cafe)