Ejemplo n.º 1
0
def messages_menu():
    username = current_user.username
    chats = db_session.query(UserMessage).filter(
        or_(UserMessage.receiver == username,
            UserMessage.sender == username)).all()

    chatters_list = []
    for chat in chats:
        if username == chat.receiver:
            chatter = chat.sender
        else:
            chatter = chat.receiver

        if chatter not in chatters_list:
            chatters_list.append(chatter)

    last_messages = {}
    for chatter in chatters_list:
        last_message = db_session.query(UserMessage).filter(
            or_(UserMessage.receiver == chatter,
                UserMessage.sender == chatter)).order_by(
                    UserMessage.date_send).first()
        last_messages[last_message.sender] = last_message.message
    return render_template('map_neigh/messages_menu.html',
                           chats=chats,
                           last_messages=last_messages,
                           chatters=chatters_list)
Ejemplo n.º 2
0
def register():
    if request.method == "POST":
        username = request.form.get("username")
        password = request.form.get("password")
        confirm = request.form.get("password2")
        email = request.form.get("email")
        district = request.form.get("district")
        address_id = request.form.get("id_address")

        username_check = db_session.query(
            User.username).filter_by(username=username).scalar()

        if username_check is None:
            if password == confirm:
                secure_password = generate_password_hash(password)
                newUser = User(username=username,
                               password=secure_password,
                               email=email,
                               district=district,
                               address_id=address_id)
                db_session.add(newUser)
                db_session.commit()
                flash("Zarejestrowano pomyślnie", "success")
                return redirect(url_for("index"))
            else:
                flash("Hasła różnią się od siebie", "danger")
                return render_template("map_neigh/register.html")
        else:
            flash("Wprowadzona nazwa użytkownika jest już zajęta", "danger")
            return render_template("map_neigh/register.html")

    return render_template('map_neigh/register.html')
Ejemplo n.º 3
0
def restore():
    if request.method == 'POST':
        email = request.form.get('email')
        user = db_session.query(User).filter_by(email=email).scalar()

        if user is not None:
            if user.email == email:
                password = generate_password()
                secure_password = generate_password_hash(password)
                user.password = secure_password
                db_session.commit()
                print(password, secure_password)

                msg = Message('Zmiana hasła',
                              sender='*****@*****.**',
                              recipients=[user.email])
                msg.body = 'Poprosiłeś o wysłanie Tobie nowego hasła, oto ono: ' + password + ' Jeżeli to nie Ty wysłałeś prośbę o nowe hasło, zignoruj ten e-mail'
                mail.send(msg)
                flash('Na podany e-mail wysłano nowe hasło', 'success')
                return redirect(url_for('login'))
            else:
                flash('Nieprawidłowy adres e-mail', 'danger')
                return redirect(url_for('restore'))
        else:
            flash('Nieprawidłowy adres e-mail', 'danger')
            return redirect(url_for('restore'))

    return render_template('map_neigh/restore_password.html')
Ejemplo n.º 4
0
def login():
    if request.method == 'POST':
        username = request.form.get("username")
        password = request.form.get("password")

        user = db_session.query(User).filter_by(username=username).first()

        if not user or not check_password_hash(user.password, password):
            flash('Niepoprawny login i/lub hasło')
            return redirect(url_for('login'))

        flash('Zalogowano poprawnie', 'success')
        login_user(user)
        return redirect(url_for('index'))
    return render_template("map_neigh/login.html")
Ejemplo n.º 5
0
def get_messages(username):

    if current_user is None:
        flash('Najpierw musisz się zalogować')
        return redirect(url_for('.login'))

    messages = db_session.query(UserMessage).filter(
        or_(
            and_(UserMessage.sender == current_user.username,
                 UserMessage.receiver == username),
            and_(UserMessage.sender == username,
                 UserMessage.receiver == current_user.username))).all()
    return render_template('map_neigh/chat.html',
                           messages=messages,
                           username=username)
Ejemplo n.º 6
0
def load_user(username):
    return db_session.query(User).filter_by(username=username).first()
Ejemplo n.º 7
0
def profile_view():
    users = db_session.query(User).all()
    return render_template('map_neigh/profile.html', users=users)