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'))
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)
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'))
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