def sendWebh(webhId = None):
    colorScheme = dbManager.getColor(dbManager.getUserId(session['name']))[0][0]
    webhooks = dbManager.getWebhookList(int(dbManager.getUserId(session['name'])))
    for webh in webhooks:
        if int(webh[4]) == int(webhId):
            return render_template('webhook.html', logged = True, name = session['name'], title = webh[0], webh = webh, color = colorScheme)
    abort(403)
def webh_add():
    colorScheme = dbManager.getColor(dbManager.getUserId(session['name']))[0][0]
    if request.method=='POST':
        name = request.form['name']
        avatar = request.form['avatar']
        url = request.form['url']
        service= request.form['service']
        owner = dbManager.getUserId(session['name'])
        dbManager.addWebhook(name,avatar,url,service,owner)
        return redirect('/profile/')
    return render_template('submitWebh.html', logged = True, name = session['name'], title = "New Webhook", webh = None, color = colorScheme)
def dashboard(name = None):
    colorScheme = dbManager.getColor(dbManager.getUserId(session['name']))[0][0]
    if request.method=='POST':
        id = request.form.get('delete')
        dbManager.deleteWebhook(id)
        return redirect('/profile/')
    else:
        if name == None:
            name = session['name']
            userWebh = dbManager.getWebhookList(dbManager.getUserId(name))
            return render_template('profile.html', logged = True, name = name, title = "Dashboard", webhooks = userWebh, color = colorScheme)
        else:
            if dbManager.checkUserExists(name) and name == session['name']:
                userWebh = dbManager.getWebhookList(dbManager.getUserId(name))
                return render_template('profile.html', logged = True, name = name, title = "Dashboard", webhooks = userWebh, color = colorScheme)
            else:
                abort(403)
def root():
    try:
        if(session['name']):
            logged = True
            name = session['name']
            colorScheme = dbManager.getColor(dbManager.getUserId(name))[0][0]
    except KeyError:
            logged = False
            name = "Account"
            colorScheme = "red"
            pass
    return render_template('index.html', logged = logged, name = name, title = "Home", color = colorScheme)
def webh_edit(webhId = None):
    colorScheme = dbManager.getColor(dbManager.getUserId(session['name']))[0][0]
    if request.method == 'POST':
        name = request.form['name']
        avatar = request.form['avatar']
        url = request.form['url']
        service= request.form['service']
        dbManager.editWebhook(webhId,name,avatar,url,service)
        return redirect('/profile/')
    else:
        if webhId == None:
            return redirect('/profile/')
        else:
            webh = dbManager.getWebhook(webhId)
            if webh == None:
                abort(404)
            else:
                if webh[0][5] != dbManager.getUserId(session['name']):
                    abort(403)
                else:
                    return render_template('submitWebh.html', logged = True, name = session['name'], title = "Edit Webhook", webh = webh, color = colorScheme)
def edit_user():
    colorScheme = dbManager.getColor(dbManager.getUserId(session['name']))[0][0]
    if request.method=='POST':
        cScheme= request.form['scheme']
        passwordNew = request.form.get('passwordNew')
        passwordOld = request.form.get('passwordOld')
        if(passwordNew == ''):
            dbManager.editColor(session['name'], cScheme)
            colorScheme = cScheme
        else:
            if not dbManager.checkLogIn(session['name'], passwordOld):
                flash('Wrong old password!', 'alert-warning')
            else:
                password = bcrypt.hashpw(passwordNew.encode('utf-8'), bcrypt.gensalt())
                dbManager.editPassword(session['name'], password)
                dbManager.editColor(session['name'], cScheme)
                colorScheme = cScheme
                flash('Password Saved!', 'alert-success')
    return render_template('profile.html', logged = True, name = session['name'], title = "User Management", color = colorScheme)
def log():
    if request.method=='POST':
        username = request.form['username']
        password = request.form['password']
        if dbManager.checkLogIn(username, password):
            session['name'] = username
            return redirect('/')
        else:
            flash('Incorrect login')
            return redirect('/login')
    else:
        try:
            if(session['name']):
                logged = True
                name = session['name']
                colorScheme = dbManager.getColor(dbManager.getUserId(session['name']))[0][0]
                flash('You are already Logged In! ')
        except KeyError:
                logged = False
                name = "Account"
                colorScheme = "red"
                pass
        return render_template('signup.html', logged = logged, name = name, title = "Log In", color = colorScheme)