Пример #1
0
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)
Пример #2
0
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])
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
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)
Пример #9
0
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)
Пример #10
0
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)
Пример #11
0
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)
Пример #12
0
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)
Пример #13
0
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)
Пример #15
0
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)
Пример #16
0
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)
Пример #17
0
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)
Пример #18
0
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)
Пример #19
0
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)
Пример #20
0
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)
Пример #21
0
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)
Пример #22
0
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)
Пример #23
0
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)
Пример #24
0
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)
Пример #28
0
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)
Пример #29
0
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)
Пример #30
0
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)
Пример #31
0
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)
Пример #32
0
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)
Пример #33
0
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])
Пример #34
0
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)
Пример #35
0
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)
Пример #36
0
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)
Пример #37
0
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)
Пример #38
0
    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))
Пример #39
0
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'))
Пример #40
0
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)
Пример #41
0
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
Пример #42
0
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'))
Пример #43
0
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))
Пример #44
0
def _check_self(account_id):
    if current_user._get_current_object().id == account_id:
        return True

    raise AppError(error_code=errors.operation_unauthorized)
Пример #45
0
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)
Пример #46
0
def home():
    user = current_user._get_current_object()
    return render_template("admin/slideMgr.html", user=user)
Пример #47
0
def designer_mgr():
    user = current_user._get_current_object()
    return render_template("admin/designerMgr.html", user=user)