def undo_register(competition_id): """ 取消报名 """ account_id = current_user._get_current_object().id competition_team_service.undo_register(account_id, competition_id) return json_response(success=True)
def competition_published_by_me(): limit = int(request.args.get("limit", "10")) offset = int(request.args.get("offset", "0")) account_id = current_user._get_current_object().id count, competitions = competition_service.paginate_competition_by_manager(account_id, offset=offset, limit=limit) return json_response(success=True, count=count, results=[competition.__json__(include_keys=['athletic_item']) for competition in competitions])
def register_status(competition_id): """ 查询报名状态,status 为 yes or no """ account_id = current_user._get_current_object().id status = competition_team_service.get_register_status(account_id, competition_id) return json_response(status=status)
def do_register(competition_id): """ 活动或者联赛报名 """ account_id = current_user._get_current_object().id team = competition_team_service.do_register(account_id, competition_id) return json_response(team=team)
def apply_league(competition_id): """ 申请将活动提升为联赛 """ account_id = current_user._get_current_object().id competition_service.apply_league(account_id, competition_id) return json_response(success=True)
def update_competition(competition_id): """ 修改竞赛资料 """ account_id = current_user._get_current_object().id competition = competition_service.update_competition(account_id, competition_id, **request.json) return json_response(competition=competition)
def create_activity(): """ 创建活动 """ account_id = current_user._get_current_object().id competition = competition_service.create_activity(account_id, **request.json) return json_response(competition=competition)
def apply_challenge(): """ 向另一支球队申请挑战 """ account_id = current_user._get_current_object().id competition = competition_service.apply_challenge(account_id, **request.json) return json_response(competition=competition)
def create_banner_page(banner_id=None): user = current_user._get_current_object() if banner_id: banner = bannerService.get(banner_id) else: banner = {} return render_template("admin/slideUpdate.html", user=user, banner=banner)
def team_member_status(team_id): """ status为 yes or no, yes:已经加入球队,no:没有加入球队 """ account_id = current_user._get_current_object().id status = team_member_service.get_team_member_status(account_id, team_id) return json_response(status=status)
def get_related_status_for(oppo_uid): """ 当前用户是否已经关注了这个用户,status 为 yes or no """ current_account_id = current_user._get_current_object().id status = user_relation_service.get_user_relation_status(current_account_id, oppo_uid) return json_response(status=status)
def create_site(): """ 添加新球场 """ account_id = current_user._get_current_object().id site = site_service.create_site(account_id, **request.json) return json_response(site=site)
def add_highlight(): """ 添加精彩瞬间 """ current_account_id = current_user._get_current_object().id match_highlight_service.add_match_highlight(current_account_id, **request.json) return json_response(success=True)
def submit_competiton_fixture_result(competition_id, competition_fixture_id): """ 提交一次比赛结果 """ current_account_id = current_user._get_current_object().id competition_fixture_service.submit_result(current_account_id, competition_fixture_id, **request.json) return json_response(success=True)
def add_match_section(): """ 添加分局记录 """ current_account_id = current_user._get_current_object().id match_section = match_section_service.add_match_section(current_account_id, **request.json) return json_response(match_section=match_section)
def delete_user_relation(oppo_uid): """ 当前登录用户取消关注 oppo_uid """ current_account_id = current_user._get_current_object().id user_relation_service.delete_user_relation(current_account_id, oppo_uid) return json_response(success=True)
def edit_user(account_id): """ 更新用户信息 """ current_account_id = current_user._get_current_object().id user = user_service.create_or_update_user(current_account_id, **request.json) return json_response(user=user)
def add_match_goal(): """ 添加比赛进球 """ current_account_id = current_user._get_current_object().id match_goal = match_goal_service.add_match_goal(current_account_id, **request.json) return json_response(match_goal=match_goal)
def dismiss_team(team_id): """ 解散球队 """ current_account_id = current_user._get_current_object().id team_service.dismiss_team(current_account_id, team_id) return json_response(success=True)
def update_team(team_id): """ 修改球队信息 """ current_account_id = current_user._get_current_object().id team = team_service.update_team(current_account_id, team_id, **request.json) return json_response(team=team)
def leave_team(team_id): """ 退出球队 """ account_id = current_user._get_current_object().id team_member_service.leave_team(account_id, team_id) return json_response(success=True)
def apply_team_join(team_id): """ 申请加入球队 """ account_id = current_user._get_current_object().id team_member_service.apply_team_join(account_id, team_id) return json_response(success=True)
def create_or_udpate_designer_page(account_id=None): if account_id: designer_account = accountService.get(account_id) else: designer_account = {} user = current_user._get_current_object() return render_template("admin/designerUpdate.html", user=user, designer=designer_account)
def create_team(): """ 创建球队 """ current_account_id = current_user._get_current_object().id team = team_service.create_team(current_account_id, **request.json) return json_response(team=team)
def delete_competition_fixture(competition_id, competition_fixture_id): """ 删除一场比赛 """ current_account_id = current_user._get_current_object().id competition_fixture_service.delete_competition_fixture(current_account_id, competition_fixture_id) return json_response(success=True)
def update_competition_fixture(competition_id, competition_fixture_id): """ 修改一场比赛信息 """ current_account_id = current_user._get_current_object().id competition_fixture = competition_fixture_service.update_competition_fixture(current_account_id, competition_fixture_id, **request.json) return json_response(competition_fixture=competition_fixture)
def create_competition_fixture(competition_id): """ 添加一场比赛 """ data = request.json current_account_id = current_user._get_current_object().id competition_fixture = competition_fixture_service.create_competition_fixture(current_account_id, competition_id, **data) return json_response(competition_fixture=competition_fixture)
def delete_highlight(): """ 删除精彩瞬间 """ current_account_id = current_user._get_current_object().id match_highlight_id = int(request.form.get('match_highlight_id')) match_highlight_service.delete_match_highlight(current_account_id, match_highlight_id) return json_response(success=True)
def update_creator(team_id): """ 更新球队创建者 """ current_account_id = current_user._get_current_object().id new_creator_id = int(request.form.get('new_creator_id')) team = team_service.update_team_creator(current_account_id, team_id, new_creator_id) return json_response(team=team)
def save_cart_items(): user_id = None if current_user.is_authenticated(): user_id = current_user._get_current_object().id cart_items = request.json cart_items = filter(_check_cart_item, cart_items) cart_service.save_items(cart_items, user_id=user_id) return json_response(success=True)
def update_password(account_id): """ 修改登录密码 """ current_account_id = current_user._get_current_object().id orig_password = request.json.get('password') new_password = request.json.get('new_password') account_service.update_password(current_account_id, orig_password, new_password) return json_response(success=True)
def update_athlete(account_id, athletic_item_id): """ 更新用户在该运动项目下的信息 """ current_account_id = current_user._get_current_object().id if account_id != current_account_id: raise AppError(error_code=errors.operation_unauthorized) athlete = account_athletic_item_service.update_athlete(current_account_id, athletic_item_id, **request.json) return json_response(athlete=athlete)
def list_cart_items(): user_id = None if current_user.is_authenticated(): user_id = current_user._get_current_object().id cart_items = cart_service.get_items(user_id) return json_response( items=[(ProductItem.from_cache_by_id(product_item_id).__json__( include_keys=['product.name']), quantity) for product_item_id, quantity in cart_items])
def delete_match_section(): """ 删除分局记录 """ current_account_id = current_user._get_current_object().id competition_fixture_id = int(request.form.get('competition_fixture_id')) match_section_id = int(request.form.get('match_section_id')) match_section_service.delete_match_section(current_account_id, competition_fixture_id, match_section_id) return json_response(success=True)
def merge_cart(app, user=None): cart_id = session.pop('cart_id', None) if cart_id: items_data = redis_store.get(cart_id) if items_data: items = json.loads(items_data) if items: session_cart_items_dict = dict(items) db_cart = Cart.from_cache_by_id( current_user._get_current_object().id) if db_cart is None: db_cart = Cart(id=current_user._get_current_object().id, items=[]) db_cart_items_dict = dict(db_cart.items) db_cart_items_dict.update(session_cart_items_dict) db_cart.items = db_cart_items_dict.items() db.session.add(db_cart) db.session.commit() redis_store.delete(cart_id)
def create_artifact_page(artifact_id=None): user = current_user._get_current_object() materials = Material.with_fallback() designers = Account.query.order_by(Account.first_name.asc()).all() if artifact_id: artifact = Artifact.with_fallback(artifact_id)[0] else: artifact = {} return render_template("admin/workUpdate.html", user=user, materials=materials, designers=designers, artifact=artifact)
def cart_page(): user_id = None if current_user.is_authenticated(): user_id = current_user._get_current_object().id cart_items = cart_service.get_items(user_id) product_items_with_quantity = [ (ProductItem.from_cache_by_id(product_item_id), quantity) for product_item_id, quantity in cart_items ] return render_template( 'cart.html', product_items_with_quantity=product_items_with_quantity)
def _context_processor(): if current_user.is_authenticated(): user_id = current_user._get_current_object().id else: user_id = None cart_total = 0 for product_item_id, quantity in cart_service.get_items(user_id): cart_total += quantity return dict(cart_total=cart_total, dt_format=lambda dt, fmt: dt.strftime(fmt))
def pay_order(): current_account_id = current_user._get_current_object().id if request.method == 'POST': order_no = request.form.get('order_no') buy_address_id = int(request.form.get('buy_address_id')) try: order = order_service.create_order(order_no, current_account_id, buy_address_id) return render_template('payment.html', order_no=order_no, amount=order.amount) except AppError, e: return redirect(_endpoint_url('user_cart.cart_page'))
def pay_order2(order_no): current_account_id = current_user._get_current_object().id order = Order.get_by_no(order_no) if order.buyer_id != current_account_id: raise AppError(error_code=errors.operation_unauthorized) elif order.latest_status.code != OrderStatusCode.code_wait_pay: return redirect( _endpoint_url('user_home.user_order_page', account_id=current_account_id)) else: return render_template('payment.html', order_no=order_no, amount=order.amount)
def apply_refund(order_no): cancel_text = request.form.get('cancel_text', None) order_status = order_service.order_status_by_no(order_no) error_code = None order = Order.from_cache_by_no(order_no) try: if order.buyer_id != current_user._get_current_object().id: raise AppError(error_code=errors.operation_unauthorized) if order_status.code in (OrderStatusCode.code_wait_pay, OrderStatusCode.code_finish_pay): order_service.cancel_order(order_no, cancel_text=cancel_text) elif order_status.code in (OrderStatusCode.code_in_ship, OrderStatusCode.code_client_received): order_service.apply_refund(order_no, cancel_text=cancel_text) else: raise AppError(error_code=errors.order_status_illegal_op) except AppError, e: error_code = e.error_code
def submit_order(): if request.method == 'POST': presell = True if request.form.get('presell', '0') == '1' else False items = json.loads(request.form.get('items')) order_no, amount, order_dict = order_service.create_temp_order( items, presell=presell) account = Account.from_cache_by_id( current_user._get_current_object().id) product_items = [ (ProductItem.from_cache_by_id(item['product_item_id']), item['quantity'], item['unit_price']) for item in order_dict['items'] ] return render_template('order.html', order_no=order_no, amount='%.2f' % amount, account=account, product_items=product_items) else: return redirect(_endpoint_url('user_cart.cart_page'))
def user(): user_role = current_user._get_current_object().role if user_role == user_role_admin: return redirect(url_for("me_admin.home", _external=True)) else: return redirect(url_for("artifact.home", page=1, _external=True))
def _check_self(account_id): if current_user._get_current_object().id == account_id: return True raise AppError(error_code=errors.operation_unauthorized)
def reply_comment(comment_id): comment_service.reply_comment(comment_id, current_user._get_current_object().id, request.json['content']) return json_response(success=True)
def home(): user = current_user._get_current_object() return render_template("admin/slideMgr.html", user=user)
def designer_mgr(): user = current_user._get_current_object() return render_template("admin/designerMgr.html", user=user)