Example #1
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)
Example #2
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())
Example #3
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='')
Example #4
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)