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)
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])
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])
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')
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'))
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)
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))
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)