Esempio n. 1
0
def create_user():
    if request.method == "POST":
        users = Users.objects(user=request.form['user'])
        emails = Users.objects(email=request.form['email'])
        user = Users(
                name=request.form['name'],
                user=request.form['user'],
                email=request.form['email'],
                password=generate_password_hash(request.form['password']),
                birth=request.form['birth']
            )
        client = loads(user.to_json())
        if users:
            flash('This username already in use!','danger')
            return render_template('users/create.html',user=client)
        elif emails:
            flash('This email address already in use!','danger')
            return render_template('users/create.html',user=client)            
        elif request.form['password'] != request.form['confirm_password']:
            flash('Passwords don\'t match!','danger')
            return render_template('users/create.html',user=client)            
        else:
            user.save()
            send_confirmation(user)
            flash('Sucess! Login to continue!','success')
            return redirect(url_for('login'))
    else:
        return render_template('users/create.html',user=None)
Esempio n. 2
0
def user_confirm(user_id):
    user = Users.objects(id=user_id)
    if request.method == "POST":
        if request.form['id'] == user_id:
            user.update(is_confirmed=True)
    else:
        if user[0].is_confirmed:
            flash('You has been confirmed your email!','success')
        else:
            flash('Please check your email to confirm!','warning')
            
 
    return render_template('users/confirmation.html',user=user[0])
Esempio n. 3
0
def edit_sensor(user_id, sensor_id):
    user = Users.objects(id=user_id)
    sensor = Sensors.objects(user=user[0].user, id=sensor_id)
    if request.method == 'POST':
        sensor.update_one(name_sensor=request.form['name_sensor'],
                          type_sensor=request.form['type_sensor'],
                          model_sensor=request.form['model_sensor'],
                          device=request.form['device'],
                          local=request.form['local'])
        sensors = Sensors.objects.all()
        flash('Success! Sensor updated!', 'success')
        return redirect(url_for('sensors', sensors=sensors,
                                user_id=user[0].id))
    else:
        return render_template('sensors/edit.html', sensor=sensor[0])
Esempio n. 4
0
def login():
    if request.method == 'POST':
        client = request.form['user']
        client_password = request.form['password']
        user = Users.objects(user=client)
        if user:
            if check_password_hash(user[0].password, client_password):
                session['logged_in'] = True
                session['user'] = user[0]['user']
                session['name'] = user[0]['name']
                session['id'] = str(user[0]['id'])
                return redirect('/users/user/' + session.get('id'))
            else:
                flash('Wrong password, try again!', 'danger')
                return render_template('login/index.html', user=client)
        else:
            flash('User not found, try another username!', 'danger')
    return render_template('login/index.html')
Esempio n. 5
0
def user(user_id):
    places = [] 
    user_query = Users.objects(id=user_id)
    if user_query:
        client = {
            'name':user_query[0].name,
            'user':user_query[0].user,
            'email':user_query[0].email,
            'birth':user_query[0].birth
            }
        sensors = Sensors.objects(user=client['user'])
        for sensor in sensors:
            places.append(sensor.local)
        
        if not user_query[0].is_confirmed:
            flash('Email not confirmed yet! Check your email address for your security!','danger')

        return render_template('users/user.html',user=client, sensors=sensors,places=set(places))
    else:
        flash('User not found!','danger')
        return redirect(url_for('login'))
Esempio n. 6
0
def places(user_id,local_name):
    user = Users.objects(id=user_id)
    sensors = Sensors.objects(user=user[0].user,local=local_name)
    return render_template('sensors/places.html',sensors=sensors)
Esempio n. 7
0
def delete_sensor(user_id, sensor_id):
    user = Users.objects(id=user_id)
    Sensors.objects(user=user[0].user, id=sensor_id).delete()
    sensors = Sensors.objects(user=user[0].user)
    flash('Success! Sensor deleted!', 'success')
    return redirect(url_for('sensors', sensors=sensors, user_id=user[0].id))
Esempio n. 8
0
def sensors(user_id):
    user = Users.objects(id=user_id)
    sensors = Sensors.objects(user=user[0].user)
    return render_template('sensors/sensors.html', sensors=sensors)