Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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='')
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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')
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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())
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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='')
Exemplo n.º 10
0
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)