コード例 #1
0
ファイル: main.py プロジェクト: tanarky/services
def user_seller_create():
    T = {}
    helpers.template.get_user(T=T, path=request.path)
    if not "user" in T:
        flash(u'ログインしてください', category='warning')
        return redirect(url_for('index'))

    p = re.compile(r'^[a-z0-9]{1}[a-z0-9_]{2,31}$')
    if not p.match(request.form['name']):
        flash(u'seller名は半角英数+"_"で構成される32文字以内の文字列です',
              category='warning')
        return redirect(url_for('user_index'))

    #
    # sellerが存在しないかチェック
    #
    user = T["user"].user_id()
    name = request.form['name']
    exist_seller = SellerAndUsers.gql('WHERE seller = :seller',
                                      seller=name,
                                      keys_only=True).get()
    if exist_seller:
        flash(u'そのsellerアカウントはすでに使用されています', category="warning")
        return redirect(url_for('user_index'))

    #
    # 上限Overしてないかチェック
    #
    exist_rec = SellerAndUsers.gql('WHERE user = :user',
                                   user=user,
                                   keys_only=True).fetch(3)
    if len(exist_rec) == 3:
        flash(u'1ユーザ3店舗までです', category="warning")
        return redirect(url_for('user_index'))

    new_seller_and_users = SellerAndUsers(
        key_name = name + "-" + user,
        seller   = name,
        user     = user,
        grant    = 1, # owner
        status   = 0, # created
        )
    new_seller_and_users.put()

    new_seller = Seller(
        key_name = name,
        name     = name,
        title    = request.form['title'],
        currency = int(request.form['currency']),
        status   = 0, # hidden
        )
    new_seller.put()

    flash(u'新規sellerを申請しました', category="success")
    return redirect(url_for('user_index'))
コード例 #2
0
ファイル: main.py プロジェクト: tanarky/services
def user_index():
    T = {}
    helpers.template.get_user(T=T, path=request.path)
    if not "user" in T:
        flash(u'ログインしてください', category='warning')
        return redirect(url_for('index'))

    T["sellers"] = SellerAndUsers.gql('WHERE user = :user',
                                      user=T["user"].user_id()).fetch(10)
    return render_template('user_index.html', T=T)
コード例 #3
0
ファイル: main.py プロジェクト: tanarky/services
def admin_sellers():
    T = {}
    helpers.template.get_user(T=T, path=request.path)
    if not "user" in T:
        flash(u'ログインしてください', category='warning')
        return redirect(url_for('index'))
    if not users.is_current_user_admin():
        flash(u'管理者ユーザでログインしてください', category='warning')
        return redirect(url_for('user_index'))

    if request.method == 'GET':
        T['sellers'] = SellerAndUsers.all().fetch(limit=10)
        return render_template('admin_sellers.html', T=T)
    elif request.method == 'POST':
        for s in request.form.getlist('seller'):
            seller = SellerAndUsers.gql('WHERE seller = :seller',
                                        seller=s).get()
            seller.status = 1
            seller.put()
        flash(u'承認しました', category='success')
        return redirect(url_for('admin_sellers'))
    elif request.method == 'DELETE':
        flash(u'未実装', category='warning')
        return redirect(url_for('admin_sellers'))
コード例 #4
0
ファイル: main.py プロジェクト: tanarky/services
def seller_tool_check_login(seller, T):
    helpers.template.get_user(T=T, path=request.path)
    if not "user" in T:
        flash(u'ログインしてください', category='warning')
        return redirect(url_for('index'))
    seller_and_users = SellerAndUsers.gql('WHERE seller=:seller and user=:user',
                                          seller=seller,
                                          user=T["user"].user_id()).get()
    if not seller_and_users:
        flash(u'sellerは存在しないか権限がありません', category='warning')
        return redirect(url_for('user_index'))
    if seller_and_users.status != 1:
        flash(u'承認されていません', category='warning')
        return redirect(url_for('user_index'))
    T["grant"] = seller_and_users.grant
    return True