예제 #1
0
def vtserver():
    form = VtEditForm()
    user = session['username']
    serv = Server()
    vt = VtOrder.query.filter_by(cust_id=session['userid']).first()
    port = Port.query.filter_by(port_id=vt.port_id).first()
    server = Serverreserve.query.filter_by(server_id=port.server_id).first()
    serverip = server.server_ip
    props = serv.readventprops(serverip, user)
    if request.method == 'POST':
        if request.form['submit'] == 'Start serveren':
            serv.startvent(serverip, user)
            flash('Serveren starter!')
            return render_template('vtserver.html', form=form, props=props)
        if request.form['submit'] == 'Stopp serveren':
            serv.stopvent(serverip, user)
            flash('Serveren stopper!')
            return render_template('vtserver.html', form=form, props=props)
        if request.form['submit'] == 'Restart serveren':
            serv.stopvent(serverip, user)
            time.sleep(2)
            serv.startvent(serverip, user)
            flash(u'Serveren starter p\xe5 nytt!')
            return render_template('vtserver.html', form=form, props=props)
        if request.form['submit'] == 'Endre instillinger':
            serv.editventprops(serverip, user, form.key.data, form.value.data)
    return render_template('vtserver.html', form=form, props=props)
예제 #2
0
def vtresponse():
    orderref = request.args.get('orderRef')
    slots = session['slots']
    price = session['price']
    months = session['months']
    serv = Server()
    userid = session['userid']
    user = session['username']
    openport = VoicePort.query.filter_by(port_used=2).first()
    expire = datetime.date.today() + dateutils.relativedelta(months=int(months))
    existvent = VtOrder.query.filter_by(cust_id=session['userid']).first()
    if orderref is not None and existvent is not None:
        extramonths = existvent.expiration + dateutils.relativedelta(months=int(months))
        stmt = update(VtOrder).where(VtOrder.cust_id == session['userid']).values(expiration=extramonths).values(slots=slots)
        db.session.execute(stmt)
        db.session.commit()
        #server, user, key, value
        serv.editventprops(str(ventserver.server_ip), user, str("port"), str(openport.port_no))
        serv.editventprops(str(ventserver.server_ip), user, str("maxclients"), str(slots))
        send_email('Din ordrereferanse fra Gameserver.no', ADMINS[0], session['email'],
                           render_template('receiptvt.txt', subid=str(orderref),  ordexp=str(months), slots=str(slots), totprice=session['price'], orderexp=expire),
                           render_template('receiptvt.html', subid=str(orderref), ordexp=str(months), slots=str(slots), totprice=session['price'], orderexp=expire))
        return render_template('vtresponse.html', orderref=orderref, slots=slots, price=price, months=months, ordexp=expire)
    elif orderref is not None:
        vtadd = VtOrder(slots, price, expire, openport.port_id, userid)
        stmt = update(Port).where(Port.port_id == openport.port_id).values(port_used=1)
        db.session.execute(stmt)
        db.session.add(vtadd)
        db.session.commit()
        serv.sendvent(ventserver.server_ip, user)
        serv.deployvent(user, 'ventpro.zip', ventserver.server_ip)
        serv.editventprops(str(ventserver.server_ip), user, str("port"), str(openport.port_no))
        serv.editventprops(str(ventserver.server_ip), user, str("maxclients"), str(slots))
        userstm = update(User).where(User.cust_id == session['userid']).values(role=2)
        db.session.execute(userstm)
        db.session.commit()
        session['premium'] = 2
        send_email('Din ordrereferanse fra Gameserver.no', ADMINS[0], session['email'],
                           render_template('receiptvt.txt', subid=str(orderref),  ordexp=str(months), slots=str(slots), totprice=session['price'], orderexp=expire),
                           render_template('receiptvt.html', subid=str(orderref), ordexp=str(months), slots=str(slots), totprice=session['price'], orderexp=expire))
        return render_template('vtresponse.html', orderref=orderref, slots=slots, price=price, months=months, ordexp=expire)

    else:

        return render_template('vtresponse.html', orderref=orderref, slots=slots, price=price, months=months)