def confirm(): subtitle = "Transfer books to Internet Archive" form = ConfirmForm(request.form) if form.validate(): uuid = request.cookies.get('bub_session') if uuid == None: flash(error_msg(6)) return redirect('/') md5_uuid = hashlib.md5(uuid).hexdigest() stored_request = models.Request.query.filter_by( md5_uuid=md5_uuid).first() if stored_request == None: flash(error_msg(6)) return redirect('/') stored_request.confirmed = 1 db.session.commit() redundant_book = models.Request.query.filter_by( md5_book=stored_request.md5_book, confirmed=1, job_submitted=1).first() if redundant_book == None: store_book_metadata(stored_request.library, stored_request.book_id, stored_request.sno) submit_job(stored_request) flash(error_msg(100, email=stored_request.email)) return redirect( url_for('progress', subtitle=subtitle, book_id="%s:%s" % (stored_request.library, stored_request.book_id))) else: return redirect('/')
def delete_category(cat_id): form = ConfirmForm() categories = session.query(Category).all() category = session.query(Category).filter_by(id=cat_id).first() items = session.query(Item).filter_by(category_id=cat_id).all() # Flask-WTF and WTForms is used to manage form creation and to provide # CSRF protection if form.validate_on_submit(): session.delete(category) # If there are items in this category, they will be also deleted # from the database. # Implemented cascade property in models.py therefore this is no # longer necessary. # if items: # for item in items: # session.delete(item) session.commit() flash("Category deleted successfully.", "flash-success") return redirect(url_for('index')) if (category.user_id != login_session['user_id']): flash("You must be the owner to delete this category.", "flash-warning") return redirect(url_for('category_list', cat_id=category.id)) else: return render_template('delete_category.html', categories=categories, category=category, items=items, form=form)
def confirm_result(): pending = get_pending() form = ConfirmForm([m["id"] for m in pending]) print(request.form.to_dict()) if request.form.to_dict() != {}: if request.form.getlist("match_id") == []: return redirect("/confirm-match") p = Player.query.filter_by( name=request.form["username"]).first_or_404() if p.verify_password(form.password.data): for id in request.form.getlist("match_id"): m = Match.query.filter(Match.id == id).first_or_404() match = match_schema.dump(m).data if m.player2 != request.form["username"]: return f"Authenticator must be {m.player2} not {form.username.data}" if request.form["confirm"] == "deny": m.status = "denied" db.session.commit() return redirect(("/")) ratings = { "p1_current": get_rating(m.player1).get_json(), "p2_current": get_rating(m.player2).get_json(), } new_ratings = elo_adjust(match, ratings) for p in new_ratings: player = Player.query.filter_by( name=p["name"]).first_or_404() player.rating = p["rating"] if p["win"] == 1: player.wins += 1 player.losses = player.losses else: player.wins = player.wins player.losses += 1 if m.player1 == p["name"]: m.p1_elo_diff = p["diff"] if m.player2 == p["name"]: m.p2_elo_diff = p["diff"] db.session.commit() m.status = "confirmed" db.session.commit() return redirect("/") return render_template( "confirm-result.html", title="Confirm Match Result", form=form, matches=pending, length=len(pending), )
def del_tpl(tpl_id): form = ConfirmForm() if form.validate_on_submit(): if form.confirm.data == 1: em_tpl = EmmetTemplates.query.filter(EmmetTemplates.tgUser_tg_id == current_user.tg_id) \ .filter(EmmetTemplates.id == tpl_id).delete() db.session.commit() if em_tpl > 0: flash(f'Шаблон удален') else: flash('Шаблон не найден') else: flash('Вы сами передумали удалять') return redirect(url_for('index')) return render_template('del_tpl.html', title='Удаление шаблона', form=form)
def delete_item(item_id): form = ConfirmForm() categories = session.query(Category).all() item = session.query(Item).filter_by(id=item_id).first() if item.user_id != login_session['user_id']: flash("You must be the owner to delete this item.", "flash-warning") return redirect(url_for('item', item_id=item.id)) if form.validate_on_submit(): session.delete(item) session.commit() flash('Item successfully deleted.', "flash-success") return redirect(url_for('index')) return render_template('delete_item.html', categories=categories, item=item, form=form)
def confirm_checkout(): form = ConfirmForm() current_order = Order.query.filter_by(user_id=current_user.id).filter_by( finished=0).first() items = session.get('cart') id_s = [] count_s = [] goods = [] totalprice = 0 if items is not None or []: for x in items: id_s += x.keys() count_s += x.values() i = 0 for x in id_s: goods.append(Goods.query.filter_by(id=id_s[i]).first()) i = i + 1 i = 0 for g in goods: g.__dict__['count'] = count_s[i] i = i + 1 totalprice += g.price * g.count current_order.totalprice = totalprice db.session.commit() orderid = current_order.id if form.validate_on_submit(): current_order.finished = 1 current_order.totalprice = totalprice db.session.commit() for g in goods: orderitm = Order_items(order_id=orderid, good_id=g.id, count=g.count) db.session.add(orderitm) db.session.commit() session.pop('cart') return redirect(url_for('index')) return render_template('/cart/confirmcheckout.html', order=current_order, goods=goods, totalprice=totalprice, count=count_s, form=form)
def confirm(): form = ConfirmForm() errors = [] if request.method == "POST": code = form.code.data email = session["email"] #check if the code is valid if funcs.checkToken(code, email): #check the expiration if funcs.isValid(code, email): #delete codes assigned to given user funcs.clearTokens(email) #progress to next page return redirect(url_for("password")) else: errors.append("Code has expired.") else: errors.append("Invalid code.") return render_template("confirm.html", form=form, errors=errors)
def show_confirm_form(): ##Check if user is logged in if 'user_id' not in session: flash("Please login first!", "danger") return redirect(f'/login?return=/home') form =ConfirmForm() game_date = session['game_date'] rotation_number = session['rotation_number'] moneyline = session['moneyline'] team = session['team'] opponent = session['opponent'] risk_amount = session['risk_amount'] game_id = session['game_id'] side = session['side'] user_id = session['user_id'] if moneyline<-99: win_amount = round( risk_amount * 100 / abs(moneyline),2) pick_odds_pct = round(abs( moneyline) / (abs(moneyline) + 100),3) print(pick_odds_pct) else: win_amount = round((risk_amount * moneyline * .01),2) pick_odds_pct = round( 100 / (abs(moneyline) + 100),3) print(pick_odds_pct) if form.validate_on_submit(): new_pick = Pick( user_id=user_id, game_id=game_id,risk_amount = risk_amount, to_win_amount = win_amount, pick = team, side = side, pick_odds_amer = moneyline, pick_odds_pct = pick_odds_pct, pick_status = 'STATUS_SCHEDULED') db.session.add(new_pick) db.session.commit() flash('Pick Created!', 'success') return redirect ('/') return render_template("confirm_pick.html", game_date = game_date, rotation_number = rotation_number, team = team, moneyline = moneyline, opponent = opponent, risk_amount = risk_amount, win_amount = win_amount, form=form)
def confirm(): confirmform = ConfirmForm() if confirmform.validate_on_submit(): chicken_traders = Game(setup["pDiff"]) chicken_traders.start_game( setup["pName"], [setup["sp1"], setup["sp2"], setup["sp3"], setup["sp4"]], setup["pCredits"], ) # initialize game states global state state["game"] = chicken_traders state["currRegion"] = chicken_traders.player.curr_region state["prev_region"] = state["currRegion"] state["selectedItem"] = None state["fuel_error"] = None state["market_error"] = None state["npc"] = {} state["negotiated"] = False state["choice_result"] = None state["second_test"] = True state["disabled"] = False state["end_game"] = None return redirect(url_for("about")) return render_template( "confirm.html", title="Confirm Settings", form=confirmform, name=setup["pName"], sp1=setup["sp1"], sp2=setup["sp2"], sp3=setup["sp3"], sp4=setup["sp4"], diff=setup["pDiff"], credits=setup["pCredits"], )
def confirm_result(): d = get_pending() form = ConfirmForm() if form.validate_on_submit(): p = Player.query.filter_by(name=request.form["username"]).first_or_404() if p.verify_password(form.password.data): m = Match.query.filter(Match.id == form.match_id.data).first_or_404() match = match_schema.dump(m).data if m.status == "confirmed": return f"Match already confirmed" if m.player2 != request.form["username"]: return f"Authenticator must be {m.player2} not {form.username.data}" if request.form["confirm"] == "deny": m.status = "denied" db.session.commit() return redirect("/confirm-match") ratings = { "p1_current": get_rating(m.player1).get_json(), "p2_current": get_rating(m.player2).get_json(), } new_ratings = elo_adjust(match, ratings) for p in new_ratings: player = Player.query.filter_by(name=p["name"]).first_or_404() player.name = p["name"] player.rating = p["rating"] if p["win"] == 1: player.wins += 1 player.losses = player.losses else: player.wins = player.wins player.losses += 1 db.session.commit() m.status = "confirmed" db.session.commit() return redirect(f"/confirm-match") return render_template( "confirm-result.html", title="Confirm Match Result", form=form, matches=d )
def question(): form = ConfirmForm() form.properties_1.data = session.get('properties_1') form.properties_2.data = session.get('properties_2') form.properties_3.data = session.get('properties_3') if request.method == "POST": if form.validate_on_submit(): db = get_db() user_id = session.get('user_id') gender = session.get('gender') age = session.get('age') address = session.get('address') background = session.get('background') properties_1 = form.properties_1.data properties_2 = form.properties_2.data properties_3 = form.properties_3.data wechat = form.wechat.data db.execute("""insert into user_main_after(user_id, gender, age, address,background,properties_1, properties_2,properties_3,wechat) values (%s, %s, %s, %s, %s, %s, %s, %s, %s)""",(user_id, gender, age, address, background, properties_1, properties_2, properties_3,wechat)) return redirect(url_for('ending')) return render_template('question.html',form=form)