def login(): session['username'] = None session['remember_me'] = None if request.method == 'GET': form = LoginForm() return render_template('login.html', title='Авторизация', form=form, error='') elif request.method == 'POST': form = LoginForm() user_name = form.username.data password = form.password.data remember_me = form.remember_me.data if user_name == '': return render_template('login.html', title='Авторизация', form=form, error='Введите имя пользователя!') if password == '': return render_template('login.html', title='Авторизация', form=form, error='Введите пароль!') # Здесь надо сделать проверку на наличие символов в нике и пароле, чтобы они не были пустыми user_model = UserModel(dbase.get_connection()) exists = user_model.exists(user_name, password) if not exists[0]: return render_template('login.html', title='Авторизация', form=form, error='Неверное имя пользователя или пароль!') session['username'] = user_name session['user_id'] = exists[1] session['remember_me'] = remember_me #print(remember_me) return redirect("/drive")
def registr(): form = LoginForm() user_name = form.username.data password = form.password.data email = form.email.data user_model = UserModel(db.get_connection()) names = [x[1] for x in UserModel(db.get_connection()).get_all()] if request.method == 'POST': if user_name in names: return render_template('registr.html', title='Регистрация', form=form, usernameerror=['никнейм занят']) else: a = check_password(password) if a[0]: user_model.insert(user_name, password, email) follower_notification(user_name, email) return redirect('/login') else: return render_template('registr.html', title='Регистрация', form=form, passworderror=[a[1]]) return render_template('registr.html', title='Регистрация', form=form)
def login(): if request.method == 'GET': form = LoginForm() return render_template('login.html', title='Авторизация', form=form, error='') elif request.method == 'POST': form = LoginForm() user_name = form.username.data password = form.password.data remember_me = form.remember_me.data user_model = UserModel(dbase.get_connection()) exists = user_model.exists(user_name, password) if not exists[0]: return render_template( 'login.html', title='Авторизация', form=form, error='Неверное имя пользователя или пароль!') session['username'] = user_name session['user_id'] = exists[1] session['remember_me'] = remember_me ## print(remember_me) return redirect("/drive")
def mousePressEvent(self, event): if event.button() == Qt.LeftButton: x, y = event.x(), event.y() x -= 200 y -= 70 print(x, y) if y < 170: y //= 18 self.hotels = HotelModel(db.get_connection()).get_all() if x <= 20: self.delete_hotel(self.hotels[y - 1][0]) else: self.choose_hotel = self.hotels[y - 1][0] else: y //= 18 y -= 9 self.admins = UserModel(db.get_connection()).get_all() if x <= 20: print(y) self.delete_admin(self.admins[y - 1][0]) else: self.choose_admin = self.admins[y - 1][0]
def auth(self): name = self.login.text() password = self.password.text() user_model = UserModel(db.get_connection()) err = ErrModel(db.get_connection()) exists = user_model.exists(name, password) now = time.time() if now - err.last() >= 60: self.k = 0 if self.k < 3: if exists[0]: if exists[1][7] == 1: self.w1 = AdminM(exists[1]) self.w1.show() self.close() elif exists[1][7] == 0: self.w1 = ManagerM(exists[1]) self.w1.show() self.close() else: self.k += 1 err.insert( time.time(), "Blocked User with id {} try to log in".format( exists[1][0])) self.change_status("Вы заблокированны") else: self.k += 1 err.insert(time.time(), "Unregistered User try to log in") self.change_status("Вы не зарегистрированны") else: self.change_status("Система заблокирована") if now - err.last() >= 60: self.k = 0
def in_admin(self): self.admin = UserModel(db.get_connection()) lod = self.admin.get(self.choose_lodger) if lod[8] != -1: self.change_status("Этот администратор уже назначен") else: self.admin.check_in(self.choose_admin, self.choose_hotel) self.change()
def change(self): self.hotels = HotelModel(db.get_connection()).get_all() self.hotel_session.setText('\n'.join( ['[x] ' + str(x[3]) for x in self.hotels])) self.admins = UserModel(db.get_connection()).get_all() #print(self.hotels) self.admin_session.setText('\n'.join([ '[x] ' + x[1] + ' ' + str(x[7]) if x[7] else '[x] ' + x[1] for x in self.admins ]))
def add_admin(self): name = self.name.text() familyname = self.familyname.text() fathername = self.fathername.text() login = self.login.text() number = self.number.text() password = self.password.text() lodger = UserModel(db.get_connection()) lodger.insert(login, password, familyname, name, fathername, number, 1) self.close()
def post(self): args = parser.parse_args() if check_arg(args, 'username') and check_arg(args, 'password'): users = UserModel(dbase.get_connection()) if not users.insert(args['username'], args['password']): return redirect('/register') exists = user_model.exists(user_name, password) session['username'] = user_name session['user_id'] = exists[1] session['sort'] = 'date' session['reverse'] = False return redirect('/news')
def mouseDoubleClickEvent(self, event): x, y = event.x(), event.y() try: x -= 10 y -= 60 x //= 6 y //= 18 if x <= 290: self.admins = UserModel(db.get_connection()).get_all() self.edit_lodger(self.admins[y][0]) else: self.hotels = HotelModel(db.get_connection()).get_all() self.edit_hotel(self.hotels[y][0]) except Exception as e: self.change_status(e)
def put(self, user_id): args = parser.parse_args() if check_arg(args, 'password'): abort_if_user_not_found(user_id) UserModel(dbase.get_connection()).change(user_id, 'password_hash', args['password']) return jsonify({'success': 'OK'})
def login(): if request.method == 'GET': form = LoginForm() return render_template('login.html', title='Авторизация', form=form, error='') elif request.method == 'POST': form = LoginForm() user_name = form.username.data password = form.password.data remember_me = form.remember_me.data if user_name == '': return render_template('login.html', title='Авторизация', form=form, error='Введите имя пользователя!') if password == '': return render_template('login.html', title='Авторизация', form=form, error='Введите пароль!') if user_name == 'admin' and password == '123': session['username'] = '******' session['admin'] = True session['sort'] = 'date' session['reverse'] = False return redirect('/news') user_model = UserModel(dbase.get_connection()) exists = user_model.exists(user_name, password) if not exists[0]: return render_template( 'login.html', title='Авторизация', form=form, error='Неверное имя пользователя или пароль!') session['username'] = user_name session['user_id'] = exists[1] session['remember_me'] = remember_me session['sort'] = 'date' session['reverse'] = False session['admin'] = False #print(remember_me) return redirect("/news")
def register(): if request.method == 'GET': form = RegisterForm() return render_template('register.html', title='Регистрация', form=form, error='') elif request.method == 'POST': form = RegisterForm() user_name = form.username.data password = form.password.data print(user_name, password) user_model = UserModel(dbase.get_connection()) if not user_model.insert(user_name, password): return render_template('register.html', title='Регистрация', form=form, error='Данный пользователь уже существует!') if user_name == '': return render_template('register.html', title='Регистрация', form=form, error='Введите имя пользователя!') if password == '': return render_template('register.html', title='Регистрация', form=form, error='Введите пароль!') exists = user_model.exists(user_name, password) session['username'] = user_name session['user_id'] = exists[1] os.mkdir( os.path.dirname(os.path.abspath(__file__)) + '\\static\\' + user_name) os.mkdir( os.path.dirname(os.path.abspath(__file__)) + '\\static\\' + user_name + '\\files') # os.mkdir('static/' + user_name) return redirect("/drive") ## if form.validate_on_submit(): ## return redirect('/success') return render_template('login.html', title='Авторизация', form=form)
def get(self): if 'admin' not in session or not session['admin']: return redirect('/news') users = UserModel(dbase.get_connection()).get_all() nm = NewsModel(dbase.get_connection()) users = list(map(lambda x: (x[1], len(nm.get_all(x[0]))), users)) return make_response( render_template('userlist.html', title='Список пользователей', users=users))
def login(): form = LoginForm() user_name = form.username.data password = form.password.data user_model = UserModel(db.get_connection()) exists = user_model.exists(user_name, password) names = [x[1] for x in UserModel(db.get_connection()).get_all()] print(names, exists) if exists[0]: session['username'] = user_name session['user_id'] = exists[1] session['email'] = UserModel(db.get_connection()).get( session['user_id'])[3] if user_name in admins: return redirect("/users") else: return redirect("/chain/{}".format(session['user_id'])) else: if user_name in names: data = UserModel(db.get_connection()).get_all() for i in data: if i[1] == user_name: email = i[3] forget_password(email, user_name) else: return render_template('login.html', title='Авторизация', form=form, usernameerror='Вас нет в базе') return render_template('login.html', title='Авторизация', form=form)
def register(): if request.method == 'GET': form = RegisterForm() return render_template('register.html', title='Регистрация', form=form, error='') elif request.method == 'POST': print('Заходит в пост') form = RegisterForm() user_name = form.username.data password = form.password.data email = form.email.data name = form.name.data photo = form.photo.data accepting = form.accepting.data print(user_name, password) user_model = UserModel(dbase.get_connection()) if user_name == '': return render_template('register.html', title='Регистрация', form=form, error='Введите имя пользователя!') if password == '': return render_template('register.html', title='Регистрация', form=form, error='Введите пароль!') if not(get_address(email)): return render_template('register.html', title='Регистрация', form=form, error='Неверный email!') if not(accepting): return render_template('register.html', title='Регистрация', form=form, error='Необходимо дать согласие!') if not user_model.insert(user_name, password): return render_template('register.html', title='Регистрация', form=form, error='Данный пользователь уже существует!') exists = user_model.exists(user_name, password) session['username'] = user_name session['user_id'] = exists[1] os.mkdir(os.path.dirname(os.path.abspath(__file__)) + '\\static\\' + user_name) os.mkdir(os.path.dirname(os.path.abspath(__file__)) + '\\static\\' + user_name + '\\files') # photo.save(os.path.dirname(os.path.abspath(__file__)) + '\\static\\' + session['username'] + "\\avatar.png") # os.mkdir('static/' + user_name) return redirect("/drive") return render_template('login.html', title='Авторизация', form=form)
def register(): if request.method == 'GET': form = RegisterForm() return render_template('register.html', title='Регистрация', form=form, error='') elif request.method == 'POST': print('Заходит в пост') form = RegisterForm() user_name = form.username.data password = form.password.data user_model = UserModel(dbase.get_connection()) if user_name == '': return render_template('register.html', title='Регистрация', form=form, error='Введите имя пользователя!') if password == '': return render_template('register.html', title='Регистрация', form=form, error='Введите пароль!') users = UserModel(dbase.get_connection()) if not users.insert(user_name, password): return render_template('register.html', title='Регистрация', form=form, error='Данный пользователь уже существует!') exists = user_model.exists(user_name, password) session['username'] = user_name session['user_id'] = exists[1] session['sort'] = 'date' session['reverse'] = False session['admin'] = False return redirect('/news') ## if not user_model.insert(user_name, password): ## return render_template('register.html', title='Регистрация', form=form, error='Данный пользователь уже существует!') ## exists = user_model.exists(user_name, password) ## session['username'] = user_name ## session['user_id'] = exists[1] ## session['args'] = [] # photo.save(os.path.dirname(os.path.abspath(__file__)) + '\\static\\' + session['username'] + "\\avatar.png") # os.mkdir('static/' + user_name) ## return post("/users") return render_template('login.html', title='Авторизация', form=form)
class User: _cp_config = {'tools.sessions.on': True} def __init__(self): self.usermdl = UserModel() @cherrypy.expose def login(self, username=None, password=None): data_user = self.usermdl.get_user(username, password) if len(data_user) != 0: cherrypy.session['data_user'] = data_user else: cherrypy.session['error_login_msg'] = 'Akun tidak ditemukan' raise cherrypy.HTTPRedirect('/') @cherrypy.expose def logout(self): if cherrypy.session.get('data_user'): del cherrypy.session['data_user'] raise cherrypy.HTTPRedirect('/') else: raise cherrypy.HTTPRedirect('/')
class ManagerM(QWidget, Ui_Qmanager): def __init__(self, obj): super(ManagerM, self).__init__() self.setupUi(self) self.o = obj self.choose_admin = -1 self.choose_hotel = -1 self.initUI() def initUI(self): self.btnin_admin.clicked.connect(self.in_admin) self.btnadd_admin.clicked.connect(self.add_admin) self.btnadd_hostel.clicked.connect(self.add_hotel) self.btnaapply.clicked.connect(self.apply) self.btnblock.clicked.connect(self.block) self.change() def apply(self): if self.adress_sort.isChecked(): self.hotels = HotelModel(db.get_connection()).get_all() self.hotels.sort( key=lambda x: str(x[2]) + str(x[3]) + str(x[4]) + str(x[5])) self.hotel_session.setText('\n'.join( ['[x] ' + str(x[3]) for x in self.hotels])) elif self.nroom_sort.isChecked(): self.hotels = HotelModel(db.get_connection()).get_all() self.hotels.sort(key=lambda x: x[7]) self.hotel_session.setText('\n'.join( ['[x] ' + str(x[3]) for x in self.hotels])) elif self.time.isChecked(): self.hotels = HotelModel(db.get_connection()).get_all() self.hotels.sort(key=lambda x: x[0]) self.hotel_session.setText('\n'.join( ['[x] ' + str(x[3]) for x in self.hotels])) def block(self): UserModel(db.get_connection()).block(self.choose_admin) def mousePressEvent(self, event): if event.button() == Qt.LeftButton: x, y = event.x(), event.y() x -= 200 y -= 70 print(x, y) if y < 170: y //= 18 self.hotels = HotelModel(db.get_connection()).get_all() if x <= 20: self.delete_hotel(self.hotels[y - 1][0]) else: self.choose_hotel = self.hotels[y - 1][0] else: y //= 18 y -= 9 self.admins = UserModel(db.get_connection()).get_all() if x <= 20: print(y) self.delete_admin(self.admins[y - 1][0]) else: self.choose_admin = self.admins[y - 1][0] def mouseDoubleClickEvent(self, event): x, y = event.x(), event.y() try: x -= 10 y -= 60 x //= 6 y //= 18 if x <= 290: self.admins = UserModel(db.get_connection()).get_all() self.edit_lodger(self.admins[y][0]) else: self.hotels = HotelModel(db.get_connection()).get_all() self.edit_hotel(self.hotels[y][0]) except Exception as e: self.change_status(e) def add_admin(self): self.w1 = Add_adminM(self.o, -1) self.w1.show() self.change() def delete_admin(self, id): self.admins = UserModel(db.get_connection()) self.admins.delete(id) def in_admin(self): self.admin = UserModel(db.get_connection()) lod = self.admin.get(self.choose_lodger) if lod[8] != -1: self.change_status("Этот администратор уже назначен") else: self.admin.check_in(self.choose_admin, self.choose_hotel) self.change() def out_admin(self): self.lodgers = UserModel(db.get_connection()) self.lodgers.check_out(self.choose_lodger) self.change() def edit_hotel(self, y): self.w1 = Add_hostelM(self.o, y) self.w1.show() self.change() def add_hotel(self): self.w1 = Add_hostelM(self.o, -1) self.w1.show() def delete_hotel(self, id): self.hotel = HotelModel(db.get_connection()) room = self.hotel.get(id) if room[4] != 0: self.change_status("В этом отеле живут") else: self.hotel.delete(id) self.change() def edit_admin(self, id): self.w1 = Add_adminM(self.o, self.choose_admin) self.w1.show() self.change() def change_status(self, text): self.status.clear() self.status.append(text) def change(self): self.hotels = HotelModel(db.get_connection()).get_all() self.hotel_session.setText('\n'.join( ['[x] ' + str(x[3]) for x in self.hotels])) self.admins = UserModel(db.get_connection()).get_all() #print(self.hotels) self.admin_session.setText('\n'.join([ '[x] ' + x[1] + ' ' + str(x[7]) if x[7] else '[x] ' + x[1] for x in self.admins ]))
def delete_admin(self, id): self.admins = UserModel(db.get_connection()) self.admins.delete(id)
def out_admin(self): self.lodgers = UserModel(db.get_connection()) self.lodgers.check_out(self.choose_lodger) self.change()
def __init__(self): self.usermdl = UserModel()
def users(): users = UserModel(db.get_connection()).get_users(session['user_id']) return render_template('users.html', username=session['username'], users=users)
def block(self): UserModel(db.get_connection()).block(self.choose_admin)
def abort_if_user_not_found(user_id): if not UserModel(dbase.get_connection()).get(user_id): return redirect('/404')
def delete(self, user_id): abort_if_user_not_found(user_id) UserModel(dbase.get_connection()).delete(user_id) return jsonify({'success': 'OK'})
def get(self, user_id): abort_if_user_not_found(user_id) users = UserModel(dbase.get_connection()).get(user_id) return jsonify({'users': users})
def delete_user(user_id): nm = UserModel(db.get_connection()) nm.delete(user_id) return redirect("/users")
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow from PyQt5.QtCore import Qt from db import UserModel, DB, LodgerModel, HotelModel, RoomModel, ErrModel from add_hostelvisual import Ui_Qadd_hostel from add_lodgervisual import Ui_Qadd_lodger from add_adminvisual import Ui_Qadd_admin from add_roomvisual import Ui_Qadd_room from adminvisual import Ui_Qadmin from loginvisual import Ui_Qlogin from managervisual import Ui_Qmanager from to_csvvisual import Ui_ToCSV db = DB() user_model = UserModel(db.get_connection()) if not (user_model.exists('Admin', 'Admin')[0]): d = {'login': '******', 'password': '******', 'is_admin': '1'} a = {'login': '******', 'password': '******', 'is_admin': '0'} user_model.insert(d['login'], d['password'], '0', '0', '0', '0', d['is_admin']) user_model.insert(a["login"], a["password"], '0', '0', '0', '0', a["is_admin"]) data = load_workbook('admins.xlsx') admins = data.get_sheet_by_name('Лист1') n = 1 a = admins['A1'].value while a != None: user_model.insert( admins['A' + str(n)].value, admins['B' + str(n)].value, admins['C' + str(n)].value, admins['D' + str(n)].value,