예제 #1
0
 def __init__(self, username, email, pwd, rid, name, info):
     self.username = username
     self.email = email
     self.pwd = pwd
     self.rid = rid
     self.name = name
     self.info = info
     self.create_at = datetime.now()
     self.update_at = datetime.now()
예제 #2
0
 def update(id,
            org_pwd='',
            username='',
            email='',
            pwd='',
            rid=0,
            name='',
            info=''):
     data = User.read(id)
     if org_pwd == '' and username == '' and email == '' and pwd == '' and rid == 0 and name == '' and info == '':
         return data
     # 修改資料則先驗證密碼正確
     if data.check_hash_pwd(org_pwd):
         if not username == '':
             data.username = username
         if not email == '':
             data.email = email
         if not pwd == '':
             data.pwd = pwd
         if not rid == 0:
             data.rid = rid
         if not name == '':
             data.name = name
         if not info == '':
             data.info = info
     else:
         return f"Org Pass Error."
     data.update_at = datetime.now()
     db.session.add(data)
     db.session.commit()
     return f"{User.read(id)} update at {data.update_at}"
예제 #3
0
def update_product():
    if user_validate():
        if request.method == 'POST':
            id = request.form['id'].strip()
            name = request.form['name'].strip().upper()
            gross_price = float(request.form['gross_price'].strip())
            net_price = float(request.form['net_price'].strip())
            profit_percentage = round((net_price - gross_price) / gross_price,
                                      2)
            provider = persistence.read_one(
                'SELECT * FROM PROVIDERS WHERE NAME="{}"'.format(
                    request.form['provider'].strip()))
            if provider and persistence.update(
                    'UPDATE PRODUCTS SET NAME="{}", GROSS_PRICE={}, NET_PRICE={}, PROFIT_PERCENTAGE={}, PROVIDER={} WHERE ID={}'
                    .format(name, gross_price, net_price, profit_percentage,
                            provider, id)):
                flash('Produto alterado com sucesso.')
                flash('success')
                log(
                    'update',
                    'PRODUCT: ({}, "{}", {}, {}, {}, {}) -- {} ({})'.format(
                        id, name, gross_price, net_price, profit_percentage,
                        provider, session['user'][0], datetime.now()))
            else:
                flash('Não foi possível alterar o produto.')
                flash('danger')
            return redirect(url_for('products'))
    else:
        return redirect(url_for('login'))
예제 #4
0
def create_product():
    if user_validate():
        if request.method == 'POST':
            name = request.form['name'].strip().upper()
            gross_price = float(request.form['gross_price'].strip())
            net_price = float(request.form['net_price'].strip())
            profit_percentage = round((net_price - gross_price) / gross_price,
                                      2)
            provider = persistence.read_one(
                'SELECT * FROM PROVIDERS WHERE NAME="{}"'.format(
                    request.form['provider'].strip()))
            if provider and persistence.create(
                    'INSERT INTO PRODUCTS (NAME, GROSS_PRICE, NET_PRICE, PROFIT_PERCENTAGE, PROVIDER) VALUES ("{}", {}, {}, {}, {})'
                    .format(name, gross_price, net_price, profit_percentage,
                            provider[0])):
                flash('Produto cadastrado com sucesso.')
                flash('success')
                log(
                    'create',
                    'PRODUCT: ("{}", {}, {}, {}, {}) -- {} ({})'.format(
                        name, gross_price, net_price, profit_percentage,
                        provider, session['user'][0], datetime.now()))
            else:
                flash('Não foi possível cadastrar o produto.')
                flash('danger')
            return redirect(url_for('products'))
    else:
        return redirect(url_for('login'))
예제 #5
0
def update_client():
    if user_validate():
        if request.method == 'POST':
            id = request.form['id'].strip()
            name = request.form['name'].strip().upper()
            cpf = request.form['cpf'].strip()
            address = request.form['address'].strip().upper()
            neighborhood = request.form['neighborhood'].strip().upper()
            city = request.form['city'].strip().upper()
            telephone = request.form['telephone'].strip()
            cellphone = request.form['cellphone'].strip()
            if persistence.update(
                    'UPDATE CLIENTS SET NAME="{}", CPF="{}", ADDRESS="{}", NEIGHBORHOOD="{}", CITY="{}", TELEPHONE="{}", CELLPHONE="{}" WHERE ID={}'
                    .format(name, cpf, address, neighborhood, city, telephone,
                            cellphone, id)):
                flash('Cliente alterado com sucesso.')
                flash('success')
                log(
                    'update',
                    'CLIENT: ({}, "{}", "{}", "{}", "{}", "{}", "{}", "{}") -- {} ({})'
                    .format(id, name, cpf, address, neighborhood, city,
                            telephone, cellphone, session['user'][0],
                            datetime.now()))
            else:
                flash('Não foi possível alterar o cliente.')
                flash('danger')
            return redirect(url_for('clients'))
    else:
        return redirect(url_for('login'))
예제 #6
0
def create_client():
    if user_validate():
        if request.method == 'POST':
            name = request.form['name'].strip().upper()
            cpf = request.form['cpf'].strip()
            address = request.form['address'].strip().upper()
            neighborhood = request.form['neighborhood'].strip().upper()
            city = request.form['city'].strip().upper()
            telephone = request.form['telephone'].strip()
            cellphone = request.form['cellphone'].strip()
            if persistence.create(
                    'INSERT INTO CLIENTS (NAME, CPF, ADDRESS, NEIGHBORHOOD, CITY, TELEPHONE, CELLPHONE) VALUES ("{}", "{}", "{}", "{}", "{}", "{}", "{}")'
                    .format(name, cpf, address, neighborhood, city, telephone,
                            cellphone)):
                flash('Cliente cadastrado com sucesso.')
                flash('success')
                log(
                    'create',
                    'CLIENT: ("{}", "{}", "{}", "{}", "{}", "{}", "{}") -- {} ({})'
                    .format(name, cpf, address, neighborhood, city, telephone,
                            cellphone, session['user'][0], datetime.now()))
            else:
                flash('Não foi possível cadastrar o cliente.')
                flash('danger')
            return redirect(url_for('clients'))
    else:
        return redirect(url_for('login'))
예제 #7
0
def test_now():
    with freeze_time('2020-01-01 00:00:00'):
        assert now() == datetime(2020,
                                 1,
                                 1,
                                 9,
                                 tzinfo=timezone(timedelta(hours=9)))
예제 #8
0
 def update(id, name='', info=''):
     data = Role.read(id)
     if name == '' and info == '':
         return data
     if not name == '':
         data.name = name
     if not info == '':
         data.info = info
     data.update_at = datetime.now()
     db.session.add(data)
     db.session.commit()
     return f"{Role.read(id)} update at {data.update_at}"
예제 #9
0
def delete_user():
    if user_validate():
        if request.method == 'POST':
            id = request.form['id'].strip()
            if persistence.delete('DELETE FROM USERS WHERE ID={}'.format(id)):
                flash('Usuário removido com sucesso.')
                flash('success')
                log(
                    'delete',
                    'USER: ({}) -- {} ({})'.format(id, session['user'][0],
                                                   datetime.now()))
            else:
                flash('Não foi possível remover o usuário.')
                flash('danger')
            return redirect(url_for('users'))
    else:
        return redirect(url_for('login'))
예제 #10
0
def create_service():
    if user_validate():
        if request.method == 'POST':
            name = request.form['name'].strip().upper()
            price = float(request.form['price'].strip())
            if persistence.create(
                    'INSERT INTO SERVICES (NAME, PRICE) VALUES ("{}", {})'.
                    format(name, price)):
                flash('Serviço cadastrado com sucesso.')
                flash('success')
                log(
                    'create', 'SERVICE: ("{}", {}) -- {} ({})'.format(
                        name, price, session['user'][0], datetime.now()))
            else:
                flash('Não foi possível cadastrar o serviço.')
                flash('danger')
            return redirect(url_for('services'))
    else:
        return redirect(url_for('login'))
예제 #11
0
def create_provider():
    if user_validate():
        if request.method == 'POST':
            name = request.form['name'].strip().upper()
            cnpj = request.form['cnpj'].strip()
            email = request.form['email'].strip().lower()
            if persistence.create(
                    'INSERT INTO PROVIDERS (NAME, CNPJ, EMAIL) VALUES ("{}", "{}", "{}")'
                    .format(name, cnpj, email)):
                flash('Fornecedor cadastrado com sucesso.')
                flash('success')
                log(
                    'create', 'PROVIDER: ("{}", "{}", "{}") -- {} ({})'.format(
                        name, cnpj, email, session['user'][0], datetime.now()))
            else:
                flash('Não foi possível cadastrar o fornecedor.')
                flash('danger')
            return redirect(url_for('providers'))
    else:
        return redirect(url_for('login'))
예제 #12
0
def update_service():
    if user_validate():
        if request.method == 'POST':
            id = request.form['id'].strip()
            name = request.form['name'].strip().upper()
            price = request.form['price'].strip()
            if persistence.update(
                    'UPDATE SERVICES SET NAME="{}", PRICE={} WHERE ID={}'.
                    format(name, price, id)):
                flash('Serviço alterado com sucesso.')
                flash('success')
                log(
                    'update', 'SERVICE: ({}, "{}", {}) -- {} ({})'.format(
                        id, name, price, session['user'][0], datetime.now()))
            else:
                flash('Não foi possível alterar o serviço.')
                flash('danger')
            return redirect(url_for('services'))
    else:
        return redirect(url_for('login'))
예제 #13
0
def delete_provider():
    if user_validate():
        if request.method == 'POST':
            id = request.form['id'].strip()
            if not persistence.read_one(
                    'SELECT * FROM PRODUCTS WHERE PROVIDER={}'.format(
                        id)) and persistence.delete(
                            'DELETE FROM PROVIDERS WHERE ID={}'.format(id)):
                flash('Fornecedor removido com sucesso.')
                flash('success')
                log(
                    'delete',
                    'PROVIDER: ({}) -- {} ({})'.format(id, session['user'][0],
                                                       datetime.now()))
            else:
                flash('Não foi possível remover o fornecedor.')
                flash('danger')
            return redirect(url_for('providers'))
    else:
        return redirect(url_for('login'))
예제 #14
0
def create_user():
    if user_validate():
        if request.method == 'POST':
            name = request.form['name'].strip().upper()
            alias = request.form['alias'].strip()
            password = request.form['password']
            if persistence.create(
                    'INSERT INTO USERS (NAME, ALIAS, PASSWORD) VALUES ("{}", "{}", "{}")'
                    .format(name, alias, password)):
                flash('Usuário cadastrado com sucesso.')
                flash('success')
                log(
                    'create', 'USER: ("{}", "{}", "{}") -- {} ({})'.format(
                        name, alias, password, session['user'][0],
                        datetime.now()))
            else:
                flash('Não foi possível cadastrar o usuário.')
                flash('danger')
            return redirect(url_for('users'))
    else:
        return redirect(url_for('login'))
예제 #15
0
def update_provider():
    if user_validate():
        if request.method == 'POST':
            id = request.form['id'].strip()
            name = request.form['name'].strip().upper()
            cnpj = request.form['cnpj'].strip()
            if persistence.update(
                    'UPDATE PROVIDERS SET NAME="{}", CNPJ="{}", EMAIL="{}" WHERE ID={}'
                    .format(name, cnpj, email, id)):
                flash('Fornecedor alterado com sucesso.')
                flash('success')
                log(
                    'update',
                    'PROVIDER: ({}, "{}", "{}", "{}") -- {} ({})'.format(
                        id, name, cnpj, email, session['user'][0],
                        datetime.now()))
            else:
                flash('Não foi possível alterar o fornecedor.')
                flash('danger')
            return redirect(url_for('providers'))
    else:
        return redirect(url_for('login'))
예제 #16
0
def update_user():
    if user_validate():
        if request.method == 'POST':
            id = request.form['id'].strip()
            name = request.form['name'].strip().upper()
            alias = request.form['alias'].strip()
            password = request.form['password']
            if persistence.update(
                    'UPDATE USERS SET NAME="{}", ALIAS="{}", PASSWORD="******" WHERE ID={}'
                    .format(name, alias, password, id)):
                flash('Usuário alterado com sucesso.')
                flash('success')
                log(
                    'update', 'USER: ({}, "{}", "{}", "{}") -- {} ({})'.format(
                        id, name, alias, password, session['user'][0],
                        datetime.now()))
            else:
                flash('Não foi possível alterar o usuário.')
                flash('danger')
            return redirect(url_for('users'))
    else:
        return redirect(url_for('login'))
예제 #17
0
 def __init__(self, name, info):
     self.name = name
     self.info = info
     self.create_at = datetime.now()
     self.update_at = datetime.now()
예제 #18
0
def __init__(self, user_id, rating, comment):
    self.user_id = user_id
    self.rating = rating
    self.timestamp = datetime.now()
    self.comment = comment