Пример #1
0
    def test_friends(self):
        u1 = User(username='******', email='*****@*****.**')
        u2 = User(username='******', email='*****@*****.**')

        db.session.add(u1)
        db.session.add(u2)
        db.session.commit()

        u1.add_friend(u1)
        db.session.commit()
        self.assertEqual(u1.friends.all(), [])
        u1.add_friend(u2)
        db.session.commit()
        self.assertEqual(u1.friends.all(), [u2])
        self.assertEqual(u2.friends.all(), [u1])
Пример #2
0
def allFriends():
    form = SendMassage_addFriend()
    state = ''
    friends_list = []
    friends_id = User.get_friend(current_user)

    for id in friends_id:
        friend = User.query.get(id)
        friends_list.append(friend)

    uni = current_user.university
    field = current_user.studyField
    suggested = []
    if current_user.complete == True and uni != 'university' and field != 'studyField':
        users = User.query.all()
        for user in users:
            if user != current_user and user not in friends_list:
                if user.complete == True and user.university == uni and user.studyField == field:
                    suggested.append(user)

    error = ''
    if (request.method == 'POST') and ('add' in request.form):

        friendusername = request.form['addfriend']
        new_friend = User.query.filter_by(username=friendusername).first()

        if (new_friend):
            if new_friend.id not in friends_id:
                User.add_friend(current_user, new_friend.id)
                db.session.commit()
                flash('Friend aded!')
                # redirect(url_for('allFriends'))
                return redirect(url_for('allFriends'))

            else:
                flash('Friend already exists!')
                error = 'exists'
        else:
            error = 'there is no account with this username !!'

    return render_template('landing_page/Friends.html',
                           title='Friends',
                           Friends=friends_list,
                           form=form,
                           error=error,
                           state=state,
                           suggested=suggested)