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)
def get_users_profile(self, user_id): """ Возвращает представление профиля пользователя Returns: Dict: характеристики профиля пользователя """ user_manager = UserManager() user = user_manager.get_user_by_id(user_id) return user
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')
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)
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)
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')
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'))
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
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)
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')
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")
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
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)
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)
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)
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()
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)
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)
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