Пример #1
0
def registr():
    context = {'Error': []}
    user_type = UserTypeManager()
    user_type.getTypeUser()
    if session.get('username', None):
        user = UserManager.load_models[session['username']]
        user_type.getTypeGroup()
        context['user'] = user
    context['type'] = user_type

    if request.method == 'POST':
        user = UserManager().getModelFromForm(request.form)
        if user.check_user():
            context['Error'].append('wrong name or email')
        if user.object.type.type_name == 'user':
            if not user.object.password:
                context['Error'].append('incorrect password')
        if context['Error']:
            return render_template('registration.html', context=context)
        if user.save():
            UserManager.load_models[user.object.nickname] = user
            addToSession(user)
            return redirect(url_for('home'))
        context['Error'].append('incorrect data')
    return render_template('registration.html', context=context)
Пример #2
0
    def get_users_profile(self, user_id):
        """
        Возвращает представление профиля пользователя

        Returns:
            Dict: характеристики профиля пользователя
        """
        user_manager = UserManager()
        user = user_manager.get_user_by_id(user_id)
        return user
Пример #3
0
def login():
    if request.method == 'POST':
        # якщо метод пост дістаємо дані з форми і звіряємо чи є такий користвач в базі данних
        # якшо є то в дану сесію добавляєм ключ username
        # і перекидаємо користувача на домашню сторінку
        user = UserManager()
        if user.loginUser(request.form):
            addToSession(user)
            return redirect(url_for('home'))

    return render_template('login.html')
Пример #4
0
def user_page(nickname):
    context = {}
    if session.get('username', None):
        user = UserManager.load_models[session['username']]
        context['loginUser'] = user

    selectUser = UserManager()
    selectUser.select().And([('nickname', '=', nickname)]).run()
    context['user'] = selectUser

    return render_template('home.html', context=context)
Пример #5
0
def edit():
    nickname = session['username']
    context = {}
    user = UserManager()
    if user.SelectUser(nickname):
            context['user'] = user
    if request.method == 'POST':
        user = user.getModelFromForm(request.form)
        if user.save():
            context['user'] = user
            return redirect(url_for('home'))
    return render_template('edit.html', context=context)
Пример #6
0
def email():
    user = UserManager()
    values = user.getModelFromForm(request.form)
    message = values.object.descr
    print(message)
    recipient = values.object.nickname
    print(recipient)
    msg = Message(message,
        sender="*****@*****.**",
        recipients=[recipient])
    mail.send(msg)
    return('ok')
Пример #7
0
def add_friend():
    if request.method == 'POST':
        user = UserManager()
        user_nickname = session['username']
        if user.SelectUser(user_nickname):
            user_id = user.object.id
        friend_id = request.form['friend_id']
        func_type = request.form['func_type']
        func_type = int(func_type)
        print(type(func_type))
        print('kjgjgjgjf')
        friend = UserRelationManager()
        isfriend = friend.isFriend(user_id, friend_id)
        print(isfriend)
        print('Vasya privet')
        if isfriend == True:
            print('func_type')
            print(func_type)
            print("it's working")
            if func_type == 1:  # Block
                print('You are blocking a friend.')
                if user_id and friend_id:
                    friend.blockFriend(user_id, friend_id)
                    return redirect(url_for('home'))
            elif func_type == 2:  #Delete
                print('You are deliting a friend.')
                print('hallo mein freinde.')
                if user_id and friend_id:
                    friend.delFriend(user_id, friend_id)
                    return redirect(url_for('home'))
            elif func_type == 3:  # AddFriend
                sender = user.ifsender()
                print('Hallo.')
                if sender == True:
                    print('you are sender')
                    return ("You are Sender You can't accept it.")
                else:
                    if user_id and friend_id:
                        print('You are adding a friend.')
                        sender_id = user_id
                        friend.addFriend(user_id, friend_id, sender_id)
                        return redirect(url_for('home'))
        else:
            print('hey chuvak')
            if user_id and friend_id:
                sender = 0
                print('hey good man')
                friend.addFriend(user_id, friend_id, sender)
                print(friend.addFriend(user_id, friend_id, sender))
                return redirect(url_for('home'))
    else:
        return redirect(url_for('home'))
Пример #8
0
def email():
    print('Hello Sender!')
    if request.method == 'POST':
        user = UserManager()
        values = user.getModelFromForm(request.form)
        message = values.object.descr
        #recipient = values.object.nickname
        #print(recipient)
        msg = Message(message,
                      sender="*****@*****.**",
                      recipients=["*****@*****.**"])
        mail.send(msg)
        return ('ok')
    def get_users(self):
        """
        Возвращает список пользователей

        Returns:
            List: список пользователей с типом User
        """

        users = []

        user_manager = UserManager()
        users = user_manager.get_users()

        return users
Пример #10
0
def nickname(nickname):
    context = {}
    if session.get('username', None):
        user = UserManager.load_models[session['username']]
        context['loginUser'] = user

    if request.method == "POST":
        nickname = request.form.get('nickname')

    selectUser = UserManager()
    selectUser.select().And([('nickname','=',nickname)]).run()
    context['user'] = selectUser

    return render_template('home.html', context=context)
    def activation_deactivation(self, _login):
        """
        Блокировка/разблокировка пользователя

        Args:
            _login(String): логин пользователя

        Returns:
            _active (bool): Активирован/заблокирован пользователь
        """

        user_manager = UserManager()

        return user_manager.activation_deactivation(_login)
Пример #12
0
def block_friend():
    if request.method == 'POST':
        user_nickname = session['username']
        user = UserManager()
        if user.SelectUser(user_nickname):
            user_id = user.object.id
        friend_id = request.form['friend_id']
        friend = UserRelationManager()
        if user_id and friend_id:
            friend.blockFriend(user_id , friend_id)
            return('ok')
        return('!ok')
    else:
        render_template('home.html')
Пример #13
0
def find_friend():
    if request.method == 'GET':
        user_nickname = session['username']
        user = UserManager()
        if user.SelectUser(user_nickname):
            user_id = user.object.id
        friend_nickname = request.args['friend_nickname']
        friend = UserManager()
        if friend.SelectUser(friend_nickname):
            print('ok')
            friend_id = friend.object.id
        else:
            friend_id = 0
            print('/ok')
        friend = UserRelationManager()
        if user_id and friend_id != 0:
            IsItYourFriend = friend.isFriend(user_id, friend_id)
            if IsItYourFriend == True:
                return redirect(url_for('nickname', nickname=friend_nickname))
            elif friend_nickname == None:
                return redirect(url_for('home'))
            else:
                #context = {'Error': []}
                # context['Error:'].append("you don't have friend with that nickname")
                render_template('find_friend error.html')
                return ("you do not have friends with this nickname")
        else:
            return ("you do not have friends with this nickname")
Пример #14
0
def registr_group():
    context = {'Error': []}
    if request.method == 'POST':
        user = UserManager().getModelFromForm(request.form)
        print(user.object.nickname)
        if user.check_user():
            context['Error'].append('wrong Name or email')
        if context['Error']:
            return render_template('registration.html', context=context)
        if user.save_group:
            print("ok")
            return redirect(url_for('home'))

        context['Error'].append('incorrect data')
    return render_template('registration.html', context=context)
    def is_there_users(self):
        """
        Проверяет, есть ли в системе созданные пользователи
        Используется для того что бы определить при входе в систему не нужно ли создавать суперпользователя

        Returns:
            Boolean: True/False в зависимости от того есть в системе пользователи или нет
        """

        user_manager = UserManager()

        if user_manager.is_there_users():
            return True
        
        return False
    def create_superuser(self, _login, _name, _password, _password2, _email):
        """
        Создает в системе суперпользователя

        Args:
            _login (String): логин пользователя
            _name (String): имя пользователя
            _password (String): пароль пользователя
            _password2 (String): контрольный ввод пароля пользователя
            _email (String): email пользователя

        """

        user_manager = UserManager()

        user_manager.create_user(_login, _name, _password, _password2, _email, "superuser")
    def discharge_password(self, _login, _password, _password2):
        """
        Обновляет в системе пароль пользователя

        Args:
            _login (String): логин пользователя
            _password (String): пароль пользователя
            _password2 (String): контрольный ввод пароля пользователя

        Returns:
            String: ошибка при обновлении пароля пользователя
        """

        user_manager = UserManager()

        return user_manager.discharge_password(_login, _password, _password2)
    def get_user_by_id(self, _user_id):
        """
        Возвращает пользователя по заданному ID

        Args:
            _user_id (Int): id пользователя

        Returns:
            User: пользователь
        """       

        user_manager = UserManager()

        user = user_manager.get_user_by_id(_user_id)

        return user
    def get_user(self, _login, _password):
        """
        Возвращает пользователя по имени и паролю или None в случае, если пользователь не найден

        Args:
            _login (String): логин пользователя
            _password (String): пароль пользователя

        Returns:
            User: найденный пользователь или None
        """  

        user_manager = UserManager()

        user = user_manager.get_user(_login, _password)

        return user
    def get_data(self):
        """
        Return main menu structure
        @params:
        """

        user_manager = UserManager()

        menu = config.MAIN_MENU

        curent_user_role = user_manager.get_user_role(
            user_manager.get_current_user_id())

        if curent_user_role == "superuser":
            menu = menu + config.SUPERUSER_MENU

        return menu
Пример #21
0
def friends_view():
    context = {}
    if session.get('username', None):
        user = UserManager.load_models[session['username']]
        context['user'] = user
        context['loginUser'] = user
    friends_list = {}
    user_nickname = session['username']
    user = UserManager()
    if user.SelectUser(user_nickname):
        user_id = user.object.id
    friend = UserRelationManager()
    friend.getFriends(user_id)
    friends = []
    friends_request = []
    friend_nickname = UserManager()
    for i in friend.object:
        friend_id = i.user2
        friend_nickname.get_user(friend_id)
        if i.block == 2 or i.block == 1:
            friends_request.append(friend_nickname.object.nickname)
        else:
            friends.append(friend_nickname.object.nickname)
    context['friends_list'] = friends
    context['friends_request_list'] = friends_request
    return render_template('home.html', context = context)
Пример #22
0
def nickname(nickname):
    context = {}
    if session.get('username', None):
        user = UserManager.load_models[session['username']]
        context['loginUser'] = user

    if request.method == "POST":
        nickname = request.form.get('nickname')

    selectUser = UserManager()
    selectUser.select().And([('nickname', '=', nickname)]).run()
    print('Select user')
    print(selectUser.object.id)
    if not selectUser.object.id:
        return ('Ops!Nobody Have This Nickname.')
    else:
        context['user'] = selectUser
        return render_template('home.html', context=context)
Пример #23
0
def friends_view():
    context = {}
    if session.get('username', None):
        user = UserManager.load_models[session['username']]
        context['user'] = user
        context['loginUser'] = user
    friends_list = {}
    user_nickname = session['username']
    user = UserManager()
    if user.SelectUser(user_nickname):
        user_id = user.object.id
    friend = UserRelationManager()
    print('hey man')
    friend.getFriends(user_id)
    friends = []
    friends_request = []
    friend_nickname = UserManager()
    print(type(friend.object))
    print(friend.object)
    if isinstance(friend.object, list):
        for i in friend.object:
            print('hey friend')
            print(i)
            friend_id = i.user2
            friend_nickname.get_user(friend_id)
            if i.block == 2 or i.block == 1:
                friends_request.append(friend_nickname.object.nickname)
            else:
                friends.append(friend_nickname.object.nickname)
    elif friend.object == None:
        return ('YOU ARE ALONE.')
    else:
        print('friends')
        print(friend.object)
        if not friend.object.user2:
            return ('YOU ARE ALONE.')
        friend_id = friend.object.user2
        print(type(friend_id))
        print(friend_id)
        friend_nickname.get_user(friend_id)
        if friend.object.block == 2 or friend.object.block == 1:
            friends_request.append(friend_nickname.object.nickname)
        else:
            friends.append(friend_nickname.object.nickname)
    context['friends_list'] = friends
    context['friends_request_list'] = friends_request
    return render_template('home.html', context=context)
Пример #24
0
    def add_comment(self, comment, user, post):
        if not isinstance(post, PostModel):
            post = self.get_post(post)
        if not isinstance(user, UserModel):
            user = UserManager().get_user(user)

        comment_manager = SNBaseManager(CommentsModel)
        comment_manager.object.text = comment
        comment_manager.object.post = post
        comment_manager.object.user = user
        comment_manager.save()
Пример #25
0
def user_page(nickname):
    context = {}
    login_user_manager = UserManager.load_models[session['username']]
    context['loginUser'] = login_user_manager
    login_user_id = login_user_manager.object.id
    search_user_manager = UserManager()
    search_user_manager.select().And([('nickname','=',nickname)]).run()
    search_user_id = search_user_manager.object.id
    context['user'] = search_user_manager
    relation = UserRelationManager()
    # fol = relation.isFollower(login_user_id,search_user_id)
    # context["fol"] = fol
    if relation.isFollower(login_user_id,search_user_id):
        context["friend_button_name"] = 'Cancel request'
    elif relation.isFollowed(login_user_id,search_user_id):
        context["friend_button_name"] = 'Accept request'
    elif relation.isFriend(login_user_id,search_user_id):
        context["friend_button_name"] = 'Is Friends'
    elif not relation.isFriend(login_user_id,search_user_id):
        context["friend_button_name"] = 'Isnt Friends'
    return render_template('home.html', context=context)
    def change_user(self, _login, _name, _email, _role, _probationers_number,
                    _access_time, _created_date, _active):
        """
        Обновляет информацию о пользователе и возвращает ее

        Args:
            _login (String): логин пользователя
            _name (String): имя пользователя
            _email (String): email пользователя
            _role (String): роль пользователя [user/superuser]
            _access_time (String): срок доступа

        Returns:
            Dict: словарь с информацией о пользователе
        """

        user_manager = UserManager()

        return user_manager.change_user(_login, _name, _email, _role,
                                        _probationers_number, _access_time,
                                        _created_date, _active)
    def create_user(self, _login, _name, _password, _password2, _email, _role,
                    _probationers_number, _access_time):
        """
        Создает в системе суперпользователя

        Args:
            _login (String): логин пользователя
            _name (String): имя пользователя
            _password (String): пароль пользователя
            _password2 (String): контрольный ввод пароля пользователя
            _email (String): email пользователя
            _role (String): роль пользователя [user/superuser]
            _probationers_number (int): количество доступных тестируемых
            _access_time (String): срок доступа

        Returns:
            List: список ошибок при создании пользователя
        """

        user_manager = UserManager()

        return user_manager.create_user(_login, _name, _password, _password2,
                                        _email, _role, _probationers_number,
                                        _access_time)
Пример #28
0
def registration():
    print('hey man1')
    context = {'Error': []}
    if session.get('username') and request.method == 'GET':
        print('hey man2')
        nickname = session.get('username')
        user = UserManager()
        if user.SelectUser(nickname):
            print(user.object.id)
            print(user)
            context['user'] = user
            context['group'] = True
            if user.save():
                return redirect(url_for('home'))
            else:
                return ('shit')
        else:
            context['group'] = False
        print(context['group'])
    elif request.method == 'POST':
        user = UserManager().getModelFromForm(request.form)
        if user.check_user():
            context['Error'].append('wrong nickname or email')
        if not user.object.password:
            context['Error'].append('incorrect password')
        if context['Error']:
            return render_template('registration.html', context=context)
        if user.save():
            UserManager.load_models[user.object.nickname] = user
            addToSession(user)
            return redirect(url_for('home'))

            context['Error'].append('incorrect data')
        return render_template('registr.html', context=context)
    else:
        context['group'] = False
        print('hey man 2.1')
        print(context['group'])
    return render_template('registr.html', context=context)
Пример #29
0
    def get_probationers(self):
        """
        Возвращает список испытуемых

        Returns:
            probationers(List): список испытуемых
        """
        probationers = []

        data_store = DataStore("probationers")
        user_manager = UserManager()

        patients_list_data = data_store.get_rows()

        for patients_data in patients_list_data:

            patient = self.probationer_row_to_probationer(patients_data)

            if user_manager.get_user_role(user_manager.get_current_user_id()) == "superuser":
                probationers.append(patient)
            elif patient.user_login == user_manager.get_user_by_id(user_manager.get_current_user_id()).login:
                probationers.append(patient)

        return probationers