def admin_add_user(): if request.method == 'POST': get_db() db = Database(g._database) email = request.form.get('email') password = request.form.get('password') name = request.form.get('name') surname = request.form.get('surname') lastname = request.form.get('lastname') Access_level = request.form.get('Access_level') def hash_password(password): salt = uuid.uuid4() return salt, hashlib.sha256(salt.hex.encode() + password.encode() ).hexdigest() + ':' + salt.hex u_id, hash_p = hash_password(password) new_U = (str(u_id), Access_level, email, str(hash_p), name, surname, lastname) db.insert_User(new_U) return redirect('/admin/render/staff') elif request.method == 'GET': user = request.cookies.get('user_id') get_db() db = Database(g._database) user_info = db.find_user_by_id(user) if user_info == []: role = 'None' name = 'None' else: role = user_info[0] name = ' '.join(user_info[1:]) return render_template('/admin/add/add_staff.html', role=role, name=name)
def secretary_sudy(): if request.cookies.get('user_id') == None: return redirect('/login') else: user = request.cookies.get('user_id') get_db() db = Database(g._database) user_info = db.find_user_by_id(user) role = user_info[0] name = ' '.join(user_info[1:]) d_table = db.get_courts() for item in d_table: item.insert(0, d_table.index(item) + 1) item.append(item.pop(1)) item.pop(1) if d_table != []: return render_template("secretary/sudy.html", data=d_table, role=role, name=name) else: return render_template("secretary/sudy.html", data=[], role=role, name=name, delite_href='')
def admin_users(): user = request.cookies.get('user_id') get_db() db = Database(g._database) user_info = db.find_user_by_id(user) role = user_info[0] name = ' '.join(user_info[1:]) if request.method == 'GET': staff = db.get_all_users() else: param = request.form.get('search_user') if param == '': staff = db.get_all_users() else: staff = db.get_users_search(param.split(' ')) staff_to_up = [] for item in staff: lst = [] lst.append(staff.index(item) + 1) lst.append(' '.join(item[1:4])) lst.append(item[4]) lst.append(item[5]) lst.append(item[0]) staff_to_up.append(lst) search_urists = [] for u in db.get_all_users(): search_urists.append(' '.join(u[1:4])) return render_template('/admin/staff.html', role=role, name=name, search_urists=search_urists, data=staff_to_up)
def admin_add_sudy(): if request.method == 'POST': new_c_id = str(uuid.uuid4()) get_db() db = Database(g._database) adding_dict = request.form.to_dict(flat=False) list_to_Courts = [] for margin in tables_sets(table_name='Sud', mode='fields'): if margin == 'c_id': list_to_Courts.append(new_c_id) elif margin == 'u_id': list_to_Courts.append(request.cookies.get('user_id')) else: list_to_Courts.append(adding_dict[margin][0]) db.insert_tables('Sud', tuple(list_to_Courts)) return redirect('/admin/render/sudy') if request.method == 'GET': if request.cookies.get('user_id') == None: return redirect('/login') else: user = request.cookies.get('user_id') get_db() db = Database(g._database) user_info = db.find_user_by_id(user) role = user_info[0] name = ' '.join(user_info[1:]) urists = db.get_urists() ur_up = [' '.join(i) for i in urists] clients = db.get_clients() return render_template('admin/add/add_sudy.html', clients=clients, role=role, name=name, urists=ur_up)
def base(): user = request.cookies.get('user_id') if user: get_db() db = Database(g._database) f_u = db.find_user_by_id(user) if f_u[0] == 'Руководитель': return redirect('/admin/render/sud_dela') elif f_u[0] == 'Пользователь': return redirect('/user/render/sud_dela') elif f_u[0] == 'Секретарь': return redirect('/secretary') else: return redirect('/login')
def admin_sudy(): if request.cookies.get('user_id') == None: return redirect('/login') else: user = request.cookies.get('user_id') get_db() db = Database(g._database) user_info = db.find_user_by_id(user) role = user_info[0] name = ' '.join(user_info[1:]) if request.method == 'GET': d_table = db.get_courts() else: client = request.form.get('client') date = request.form.get('date') if client == '' and date == '': d_table = db.get_courts() elif client == '' and date != '': d_table = db.get_courts_search(date=date) elif client != '' and date == '': d_table = db.get_courts_search(client=client) elif client != '' and date != '': d_table = db.get_courts_search(client=client, date=date) else: redirect('/admin/render/sudy') if d_table == []: return render_template("/admin/sudy.html", data=[], role=role, name=name, delite_href='') else: for item in d_table: item.insert(0, d_table.index(item) + 1) item.append(item.pop(1)) item.pop(1) serch_clients = [] if db.get_courts_clients() == []: serch_clients = [] else: for cl in db.get_courts_clients(): serch_clients.append(cl[0]) return render_template("/admin/sudy.html", data=d_table, role=role, serch_clients=serch_clients, name=name)
def html_error_replacer(file_name, error): user = request.cookies.get('user_id') get_db() db = Database(g._database) user_info = db.find_user_by_id(user) role = user_info[0] name = ' '.join(user_info[1:]) urists = db.get_urists() ur_up = [' '.join(i) for i in urists] soup = BeautifulSoup( render_template(file_name.replace('\\', '/'), role=role, name=name, urists=ur_up), "lxml") err_tag = soup.find(id='error') err_tag.string = error return render_template_string(soup.prettify())
def delo(template_name, t_id): get_db() db = Database(g._database) user = request.cookies.get('user_id') user_info = db.find_user_by_id(user) role = user_info[0] name = ' '.join(user_info[1:]) table_name = settings_by_template(template_name, 'table_name') delo_data = db.get_delo(table_name, t_id) rez_table = [] af_table = delo_data[0][2:7] af_table.pop(1) af_table[1] = ' ,'.join(json.loads(af_table[1])) af_table[3] = ' ,'.join(json.loads(af_table[3])) t_count = settings_by_template(template_name, 'delo_count') j_table = delo_data[0][-t_count + 1:] files_t = delo_data[0][7:9] for f in files_t: if f != 'Нет файла': files_t[files_t.index(f)] = '/download_files/' + '/'.join( f.split('\\')[-3:]) else: continue in_table = delo_data[0][9:11] rez_table = af_table + j_table + files_t + in_table if template_name == 'bankr_dela': rez_table.pop(1) Type = settings_by_template(template_name, 'Type') return render_template('delo.html', type=Type, role=role, name=name, delo=[rez_table], t_id=t_id, template_name=template_name)
def render(template_name): if request.cookies.get('user_id') == None: return redirect('/login') else: user = request.cookies.get('user_id') get_db() db = Database(g._database) user_info = db.find_user_by_id(user) role = user_info[0] name = ' '.join(user_info[1:]) href_acsess = request.url.split('/')[3] if acssec_translate(role) == href_acsess: real_acsess = href_acsess else: real_acsess = acssec_translate(role) return redirect(f'/{real_acsess}/render/{template_name}') table_name = settings_by_template(template_name, 'table_name') if request.method == 'GET': if real_acsess == 'admin': d_table = db.get_join_table(table_name) else: d_table = db.get_join_table_u_id(table_name, user) else: dict_ = request.form.to_dict(flat=False) print(dict_) practice = dict_['practice'] lawyers = dict_['lawyers'] client = request.form.get('client') print(client) if practice == [''] and client == '' and lawyers == ['']: if real_acsess == 'admin': d_table = db.get_join_table(table_name) else: d_table = db.get_join_table_u_id(table_name, user) elif practice != [''] or client != '' or lawyers != ['']: if real_acsess == 'admin': d_table = db.get_join_table_search(table_name, practice=practice, client=client, lawyers=lawyers) else: d_table = db.get_join_table_search_u_id(table_name, user, practice=practice, client=client, lawyers=lawyers) else: return redirect(f'/{real_acsess}/render/{template_name}') if d_table != []: start_from = settings_by_template(template_name, 'start_from') colors = [] delite_hrs = [] for i in d_table: colors.append(i.pop(-1)) for item in d_table: item.append(item.pop(1)) item[2] = ' ;\n'.join(json.loads(item[2])) + ' .' item[4] = ' ;\n'.join(json.loads(item[4])) + ' .' if item[start_from] == 'Нет файла': item[start_from] == 'Нет файла' else: item[start_from] = '/download_files/' + '/'.join( item[start_from].split('\\')[-3:]) if item[start_from + 1] == 'Нет файла': item[start_from] == 'Нет файла' else: item[start_from + 1] = '/download_files/' + '/'.join( item[start_from + 1].split('\\')[-3:]) x_lst = [ item[start_from + 3].split(' ')[i:i + 3] for i in range(0, len(item[start_from + 3].split(' ')), 3) ] item[start_from + 3] = '\n'.join([' '.join(i) for i in x_lst]) serch_clients = db.get_clients() lawyers = [' '.join(i) for i in db.get_urists()] return render_template(f'/{real_acsess}/{template_name}' + '.html', data=d_table, role=role, name=name, colors=colors, serch_clients=serch_clients, lawyers=lawyers) else: return render_template(f'/{real_acsess}/{template_name}' + '.html', data=[], role=role, name=name, colors=[], delite_href='')
def add(template_name): print(template_name) if request.cookies.get('user_id') == None: return redirect('/login') if request.method == 'POST': new_t_id = str(uuid.uuid4()) get_db() db = Database(g._database) file_agree = request.files["Agreement"] file_invoice = request.files["Invoice"] if file_agree or file_invoice or (file_agree and file_invoice): saving_status = file_saving(new_t_id, file_agree, file_invoice) if saving_status == False: return html_error_replacer( os.path.join('admin', 'add', f'{template_name}.html'), 'Ошибка файлов, попробуйте ещё раз') else: file_saving(new_t_id, file_agree=None, file_invoice=None) adding_dict = request.form.to_dict(flat=False) print(adding_dict) list_to_Affairs = [] for margin in tables_sets(table_name='Affairs', mode='fields'): if margin == 't_id': list_to_Affairs.append(new_t_id) elif margin == 'u_id': list_to_Affairs.append(request.cookies.get('user_id')) elif margin == 'Agreement': if file_agree: list_to_Affairs.append( os.path.join(application.config['UPLOAD_FOLDER'], new_t_id, 'Agreement', secure_filename(file_agree.filename))) else: list_to_Affairs.append('Нет файла') elif margin == 'Invoice': if file_invoice: list_to_Affairs.append( os.path.join(application.config['UPLOAD_FOLDER'], new_t_id, 'Invoice', secure_filename(file_invoice.filename))) else: list_to_Affairs.append('Нет файла') elif margin == 'Type': list_to_Affairs.append('None') elif margin == 'Practice': list_to_Affairs.append(json.dumps(adding_dict[margin])) elif margin == 'Lawyers': list_to_Affairs.append(json.dumps(adding_dict[margin])) else: list_to_Affairs.append(adding_dict[margin][0]) db.insert_tables('Affairs', tuple(list_to_Affairs)) table_name = settings_by_template(template_name.lstrip('add_'), 'table_name') list_to_table = [] for margin in tables_sets(table_name=table_name, mode='fields'): if margin == 't_id': list_to_table.append(new_t_id) else: list_to_table.append(adding_dict[margin][0]) db.insert_tables(table_name, tuple(list_to_table)) user = request.cookies.get('user_id') user_info = db.find_user_by_id(user) role = user_info[0] href_acsess = request.url.split('/')[3] if acssec_translate(role) == href_acsess: real_acsess = href_acsess else: real_acsess = acssec_translate(role) return redirect(f'/{real_acsess}/add/{template_name}') t_name = template_name.lstrip('add_') return redirect(f'/{real_acsess}/render/{t_name}') if request.method == 'GET': user = request.cookies.get('user_id') get_db() db = Database(g._database) user_info = db.find_user_by_id(user) role = user_info[0] name = ' '.join(user_info[1:]) urists = db.get_urists() href_acsess = request.url.split('/')[3] if acssec_translate(role) == href_acsess: real_acsess = href_acsess else: real_acsess = acssec_translate(role) return redirect(f'/{real_acsess}/add/{template_name}') ur_up = [' '.join(i) for i in urists] return render_template(f'{real_acsess}/add/{template_name}.html', role=role, name=name, urists=ur_up)