Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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('/')
Ejemplo n.º 3
0
def deact_profile(request, nick, curr_user):
	"Admin Action: Deactivate profile nick"
	# error if curr_user doesn't have the rights
	if not curr_user.is_admin:
		return render(request, 'error.html', {'error': 'You are not allowed to be here!'})
	target_user = user(nick=nick)
	# error if target user doesn't exist or is an admin
	if target_user.user_obj == None:
		return render(request, 'error.html', {'error': 'User %s does not exist!' % nick})
	if target_user.is_admin:
		return render(request, 'error.html', {'error': 'Cannot Deactivate an Admin!'})
	if not target_user.is_active:
		return render(request, 'error.html', {'error': 'User %s already deactivated!' % nick})

	if request.method == 'POST':
		form = ConfirmForm(request.POST)
		if form.is_valid():
			if not form.cleaned_data.get('confirm', False):
				return HttpResponseRedirect(target_user.user_obj.get_url())
		else:
			return HttpResponseRedirect(target_user.user_obj.get_url())
	else:
		return render(request, 'confirm.html', {'form': ConfirmForm(), 'title': 'Deactivate user %s' % nick})
	target_user.user_obj.is_active = False
	target_user.user_obj.save()
	logging.info('Admin Action: Deactivated account %s' % target_user.user_obj.nick)
	return HttpResponseRedirect(target_user.user_obj.get_url())
Ejemplo n.º 4
0
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("/")
Ejemplo n.º 5
0
def confirm_booking(request, pod_id):
    pod = Pod.objects.get(pk=pod_id)
    request.session['pod_id'] = pod_id

    start_datetime = request.session['start_datetime']
    end_datetime = request.session['end_datetime']

    if request.method == 'POST':
        pod_id = request.session['pod_id']
        form = ConfirmForm(request.POST, pod_id=pod_id, username=request.user.username)
        if form.is_valid():
            config_set = form.cleaned_data['config_set']

            b = Booking.objects.create(user=request.user.username,
                                       pod=Pod.objects.get(pk=pod_id),
                                       start_datetime=start_datetime, end_datetime=end_datetime,
                                       config_set=ConfigSet.objects.get(pk=config_set))

            messages.add_message(request, messages.SUCCESS, 'Successfully Created Booking: {}'.format(b.__unicode__()))
            send_mail('Booking Confirmation',
                      'Hi {},\n\nI can confirm your booking: {}'.format(b.user,b.__unicode__()),
                      '*****@*****.**',
                      ['{}@example.com'.format(b.user)],
                      fail_silently=False)

            return redirect('ajax_app.views.my_bookings')
        else:
            config_set_form = ConfirmForm(request.POST, pod_id=pod_id, username=request.user.username)
    else:
        config_set_form = ConfirmForm(pod_id=pod_id, username=request.user.username)

    return render_to_response("book/confirm_booking.html",
                              {'pod': pod, 'config_set_form': config_set_form, 't1': start_datetime, 't2': end_datetime},
                              context_instance=RequestContext(request))
Ejemplo n.º 6
0
def confirm(request, code=''):
	if request.method == 'GET' and code:
		form = ConfirmForm({'confirmation_key':code})
		if form.is_valid():
			unconfirmed = form.cleaned_data['unconfirmed']
			new_user = User.objects.create_user(unconfirmed.username, unconfirmed.email, unconfirmed.password)
			new_user.save()
			unconfirmed.delete()
			login_user(request, new_user)
			return HttpResponseRedirect(reverse(profile, kwargs={'username': request.user.username}))
	return HttpResponse('The confirmation code was not valid.')
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
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)
Ejemplo n.º 10
0
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)
Ejemplo n.º 11
0
def confirm(request, poll_pk, keyword):
	request.session.set_test_cookie()
	c = {}
	poll = get_object_or_404(Poll, pk=poll_pk)

	c.update(csrf(request))
	sid = request.session.session_key

	if request.method == 'POST':
		form = ConfirmForm(request.POST)
		if form.is_valid():
		 	keyword = form.clean_keyword()
			choice = get_object_or_404(Choice, keyword=keyword)
			if WebVote.do_vote(sid, choice):
				return HttpResponseRedirect("/success/%s/%s/"%(poll.id, choice.id))
	else:
		form = ConfirmForm(initial={'keyword':keyword,'poll_id':poll.id,'sid_saved':sid})

	c['form'] = form
	c['poll'] = poll
	c['keyword'] = keyword
	return render_to_response('confirm.html', c, context_instance=RequestContext(request))
Ejemplo n.º 12
0
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"],
    )
Ejemplo n.º 13
0
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
    )
Ejemplo n.º 14
0
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),
    )
Ejemplo n.º 15
0
def control2():
        form =ConfirmForm(request.form)
        file = open('weightfile', 'r')
        weight = file.read()
        file.close()
        
        if request.method == 'POST':
                if form.validate() == False:
                        print form.errors  
                        flash('All fields are required.')
                        return render_template('control2.html', form=form, weight=weight)
                
                else:
                        x = str(form.confirm.data)
                        if x == '2':
                                form = WeightForm(request.form)
                                return render_template('control.html', form=form, weight=weight)
                                
                        elif x == '1':
                                return render_template('control2.html', form=form, weight=weight)
                        
        elif request.method == 'GET':
                print "hello"
                return render_template('control.html', form=form, weight = weight)
Ejemplo n.º 16
0
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)
Ejemplo n.º 17
0
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)