Ejemplo n.º 1
0
def warehouse_list(request):
    template = 'configuration/warehouse/list.html'
    user_data = get_logged(request)

    if not user_data: 
        return redirect('login')

    filter = WareHousesFilterForm(request.GET)

    disconnect()
    connect('eagle')

    list = WareHouses.objects()    

    if filter.is_valid():
        search = filter.cleaned_data.get('search', None)
        is_active = filter.cleaned_data.get('is_active', None)

        if search: 
            list = list.filter(Q(name__icontains=search))
        if is_active == 'yes': 
            list = list.filter(is_active=True)
        elif is_active == 'no':
            list = list.filter(is_active=False)

    disconnect()

    context = { 'user_data': user_data, 'list': list, 'form': filter }
    return render(request, template, context)
Ejemplo n.º 2
0
def department_list(request):
    template = 'configuration/department-list.html'
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    filter = DepartmentsFilterForm(request.GET)

    disconnect()
    connect('eagle')

    list = Departments.objects()

    if filter.is_valid():
        search = filter.cleaned_data.get('search', None)
        # company = filter.cleaned_data.get('company', None)
        costcenters = filter.cleaned_data.get('costcenters', None)
        is_active = filter.cleaned_data.get('is_active', None)

        if search:
            list = list.filter(Q(name__icontains=search))
        # if company and company != 'all':
        #     list = list.filter(Departments.costcenters.company==company)
        if costcenters and costcenters != 'all':
            list = list.filter(Q(costcenters=costcenters))
        if is_active == 'yes':
            list = list.filter(is_active=True)
        elif is_active == 'no':
            list = list.filter(is_active=False)

    disconnect()

    context = {'user_data': user_data, 'list': list, 'form': filter}
    return render(request, template, context)
Ejemplo n.º 3
0
def company_list(request):
    template = 'configuration/company-list.html'
    user_data = get_logged(request)

    if not user_data: 
        return redirect('login')

    filter = CompaniesFilterForm(request.GET)

    disconnect()
    connect('eagle')

    list = Companies.objects().all()
    
    disconnect()

    if filter.is_valid():
        search = filter.cleaned_data.get('search', None)
        is_active = filter.cleaned_data.get('is_active', None)
        company_type = filter.cleaned_data.get('company_type', None)
        company_tax_type = filter.cleaned_data.get('company_tax_type', None)

        if search:
            search_cnpj = '' 
            for i, x in enumerate(search): 
                print(i)
                if i < 2: 
                    search_cnpj += x
                elif i == 2: 
                    search_cnpj += '.' + x
                elif i < 5: 
                    search_cnpj += x
                elif i == 5:
                    search_cnpj += '.' + x
                elif i < 8: 
                    search_cnpj += x
                elif i == 8: 
                    search_cnpj += '/' + x
                elif i < 12:
                    search_cnpj += x
                elif i == 12:
                    search_cnpj += '-' + x
                else: 
                    search_cnpj += x

            print(search_cnpj)

            list = list.filter(Q(code__icontains=search) | Q(company_name__icontains=search) | Q(cnpj__icontains=search)| Q(cnpj__icontains=search_cnpj) | Q(ie__icontains=search) | Q(bussiness_name__icontains=search))
        if is_active == 'yes': 
            list = list.filter(is_active=True)
        elif is_active == 'no':
            list = list.filter(is_active=False)
        if company_type != 'all' and company_type:
            list = list.filter(company_type=company_type)
        if company_tax_type != 'all' and company_tax_type:
            list = list.filter(company_tax_type=company_tax_type)

    context = { 'user_data': user_data, 'list': list, 'form': filter }
    return render(request, template, context)
Ejemplo n.º 4
0
def costcenter_list(request):
    template = 'configuration/costcenter-list.html'
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    filter = CostCentersFilterForm(request.GET)

    disconnect()
    connect('eagle')

    list = CostCenters.objects()

    if filter.is_valid():
        search = filter.cleaned_data.get('search', None)
        company = filter.cleaned_data.get('company', None)
        type = filter.cleaned_data.get('type', None)
        is_active = filter.cleaned_data.get('is_active', None)

        if search:
            list = list.filter(Q(name__icontains=search))
        if company and company != 'all':
            list = list.filter(Q(company=company))
        if type and type != 'all':
            list = list.filter(Q(type=type))
        if is_active == 'yes':
            list = list.filter(is_active=True)
        elif is_active == 'no':
            list = list.filter(is_active=False)

    list_with_ref_data = []

    for cdc in list.order_by('+name'):
        list_with_ref_data.append({
            'id':
            cdc.id,
            'name':
            cdc.name,
            'manager':
            'ninguem ainda',
            'code':
            '{}-{}'.format(cdc.company.code, cdc.code),
            'is_active':
            cdc.is_active,
            'type':
            cdc.type
        })

    disconnect()

    context = {
        'user_data': user_data,
        'list': list_with_ref_data,
        'form': filter
    }
    return render(request, template, context)
Ejemplo n.º 5
0
def home(request):
	template = 'home/home.html'
	user_data = get_logged(request)

	if not user_data: 
		return redirect('login')

	context = { 'user_data': user_data }
	return render(request, template, context)
	
Ejemplo n.º 6
0
def warehouse_detail(request, id=None):
    template = 'configuration/warehouse/detail.html'
    user_data = get_logged(request)

    if not user_data: 
        return redirect('login')

    title = 'Novo Depósito'

    if request.method == 'POST': 
        form = WareHousesForm(request.POST)

        if form.is_valid():
            name = form.cleaned_data.get('name')
            permissions = form.cleaned_data.get('permissions')
            
            disconnect()
            connect('eagle')

            if not form.cleaned_data.get('id'):
                dep = WareHouses(
                    name = name,
                    permissions = permissions,
                    )
                messages.success(request, 'O depósito <b>%s</b> foi cadastrado com sucesso!' % dep.name)
                dep.save()
                disconnect()
                return redirect('warehouse-list')
            else:
                title = 'Editar Depósito'
                dep = WareHouses.objects(id=form.cleaned_data.get('id')).first()
                dep.name = name
                dep.permissions = permissions
                messages.success(request, 'Dados atualizados!')
                dep.save()
                disconnect()
                return redirect('warehouse-detail', id=dep.id)

    elif not id: 
        form = WareHousesForm()
    elif id: 
        disconnect()
        connect('eagle')
        dep = WareHouses.objects(id=id).first()
        dep_instance = {'id': dep.id, 'name': dep.name, 'permissions':dep.permissions}
        disconnect()
        form = WareHousesForm(initial=dep_instance)
        title = 'Editar Depósito'

    
    context = { 'user_data': user_data, 'form': form, 'title': title }
    return render(request, template, context)
Ejemplo n.º 7
0
def warehouse_delete(request, id):
    user_data = get_logged(request)

    if not user_data: 
        return redirect('login')

    disconnect()
    connect('eagle')
    depto = WareHouses.objects(id=id).first()
    depto.delete()
    disconnect()

    messages.error(request, 'O depósito <b>%s</b> foi excluído.' % depto.name)

    return redirect('warehouse-list')
Ejemplo n.º 8
0
def company_delete(request, id):
    user_data = get_logged(request)

    if not user_data: 
        return redirect('login')

    disconnect()
    connect('eagle')
    company = Companies.objects(id=id).first()
    company.delete()
    disconnect()

    messages.error(request, 'A empresa <b>%s</b> foi excluída.' % company.company_name)

    return redirect('company-list')
Ejemplo n.º 9
0
def function_delete(request, id):
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    disconnect()
    connect('eagle')
    func = Functions.objects(id=id).first()
    func.delete()
    disconnect()

    messages.error(request, 'O cargo <b>%s</b> foi excluído.' % func.name)

    return redirect('function-list')
Ejemplo n.º 10
0
def costcenter_delete(request, id):
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    disconnect()
    connect('eagle')
    cdc = CostCenters.objects(id=id).first()
    cdc.delete()
    disconnect()

    messages.error(request,
                   'O centro de custo <b>%s</b> foi excluído.' % cdc.name)

    return redirect('costcenter-list')
Ejemplo n.º 11
0
def warehouse_deactivate(request, id):
    user_data = get_logged(request)

    if not user_data: 
        return redirect('login')

    disconnect()
    connect('eagle')
    depto = WareHouses.objects(id=id).first()
    depto.is_active = False
    depto.save()
    disconnect()

    messages.warning(request, 'O depósito <b>%s</b> foi desativado.' % depto.name)

    return redirect('warehouse-list')
Ejemplo n.º 12
0
def department_delete(request, id):
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    disconnect()
    connect('eagle')
    depto = Departments.objects(id=id).first()
    depto.delete()
    disconnect()

    messages.error(request,
                   'O departamento <b>%s</b> foi excluído.' % depto.name)

    return redirect('department-list')
Ejemplo n.º 13
0
def company_activate(request, id):
    user_data = get_logged(request)

    if not user_data: 
        return redirect('login')

    disconnect()
    connect('eagle')
    company = Companies.objects(id=id).first()
    company.is_active = True
    company.save()
    disconnect()

    messages.success(request, 'A empresa <b>%s</b> foi ativada.' % company.company_name)

    return redirect('company-list')
Ejemplo n.º 14
0
def delete(request, id):
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    disconnect()
    connect('eagle')
    emp = Employees.objects(id=id).first()
    emp.delete()
    disconnect()

    messages.error(request,
                   'O funcionário <b>%s</b> foi excluído.' % emp.full_name)

    return redirect('employee-list')
Ejemplo n.º 15
0
def function_activate(request, id):
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    disconnect()
    connect('eagle')
    func = Functions.objects(id=id).first()
    func.is_active = True
    func.save()
    disconnect()

    messages.success(request, 'O cargo <b>%s</b> foi ativado.' % func.name)

    return redirect('function-list')
Ejemplo n.º 16
0
def delete(request, id):
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    disconnect()
    connect('eagle')
    user = Users.objects(id=id).first()
    user.delete()
    disconnect()

    messages.error(request,
                   'O usuário <b>%s</b> foi excluído.' % user.full_name)

    return redirect('user-list')
Ejemplo n.º 17
0
def activate(request, id):
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    disconnect()
    connect('eagle')
    user = Users.objects(id=id).first()
    user.is_active = True
    user.save()
    disconnect()

    messages.success(request,
                     'O usuário <b>%s</b> foi ativado.' % user.full_name)

    return redirect('user-list')
Ejemplo n.º 18
0
def department_activate(request, id):
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    disconnect()
    connect('eagle')
    depto = Departments.objects(id=id).first()
    depto.is_active = True
    depto.save()
    disconnect()

    messages.success(request,
                     'O departamento <b>%s</b> foi ativado.' % depto.name)

    return redirect('department-list')
Ejemplo n.º 19
0
def costcenter_activate(request, id):
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    disconnect()
    connect('eagle')
    cdc = CostCenters.objects(id=id).first()
    cdc.is_active = True
    cdc.save()
    disconnect()

    messages.success(request,
                     'O centro de custo <b>%s</b> foi ativado.' % cdc.name)

    return redirect('costcenter-list')
Ejemplo n.º 20
0
def function_list(request):
    template = 'configuration/function-list.html'
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    filter = FunctionsFilterForm(request.GET)

    disconnect()
    connect('eagle')

    list = Functions.objects()

    disconnect()

    if filter.is_valid():
        search = filter.cleaned_data.get('search', None)
        has_commission = filter.cleaned_data.get('has_commission', None)
        level = filter.cleaned_data.get('level', None)
        permission = filter.cleaned_data.get('permission', None)
        is_active = filter.cleaned_data.get('is_active', None)

        if search:
            list = list.filter(Q(name__icontains=search))
        if has_commission == 'yes':
            list = list.filter(has_commission=True)
        elif has_commission == 'no':
            list = list.filter(has_commission=False)
        if level:
            list = list.filter(level=level)
        elif permission:
            list = list.filter(permissions__icontains=permission)
        if is_active == 'yes':
            list = list.filter(is_active=True)
        elif is_active == 'no':
            list = list.filter(is_active=False)

    context = {
        'user_data': user_data,
        'list': list.order_by('name'),
        'form': filter
    }
    return render(request, template, context)
Ejemplo n.º 21
0
def list(request):
    template = 'users/list.html'
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    filter = FilterForm(request.GET)

    disconnect()
    connect('eagle')

    list = Users.objects()

    disconnect()

    if filter.is_valid():
        search = filter.cleaned_data.get('search', None)
        is_admin = filter.cleaned_data.get('is_admin', None)
        is_active = filter.cleaned_data.get('is_active', None)

        if search:
            list = list.filter(
                Q(username__icontains=search) | Q(full_name__icontains=search)
                | Q(email__icontains=search))
        if is_admin == 'yes':
            list = list.filter(is_admin=True)
        elif is_admin == 'no':
            list = list.filter(is_admin=False)
        if is_active == 'yes':
            list = list.filter(is_active=True)
        elif is_active == 'no':
            list = list.filter(is_active=False)

    context = {'user_data': user_data, 'list': list, 'form': filter}
    return render(request, template, context)
Ejemplo n.º 22
0
def detail(request, id=None):
    template = 'employees/detail.html'
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    title = 'Novo Funcionário'

    if request.method == 'POST':
        form = EmployeesForm(request.POST)

        if form.is_valid():
            full_name = form.cleaned_data.get('full_name')
            cpf = form.cleaned_data.get('cpf')
            rg = form.cleaned_data.get('rg')
            pis = form.cleaned_data.get('pis')
            ctps = form.cleaned_data.get('ctps')
            birthdate = form.cleaned_data.get('birthdate')
            phone_number = form.cleaned_data.get('phone_number')
            cellphone_number = form.cleaned_data.get('cellphone_number')
            email = form.cleaned_data.get('email')
            post_code = form.cleaned_data.get('post_code')
            state = form.cleaned_data.get('state')
            city = form.cleaned_data.get('city')
            district = form.cleaned_data.get('district')
            address = form.cleaned_data.get('address')
            number = form.cleaned_data.get('number')
            complement = form.cleaned_data.get('complement')
            bank = form.cleaned_data.get('bank')
            agency = form.cleaned_data.get('agency')
            account = form.cleaned_data.get('account')
            account_type = form.cleaned_data.get('account_type')
            contract = form.cleaned_data.get('contract')
            situation = form.cleaned_data.get('situation')
            payment_type = form.cleaned_data.get('payment_type')
            company = form.cleaned_data.get('company')
            costcenter = form.cleaned_data.get('costcenter')
            department = form.cleaned_data.get('department')
            function = form.cleaned_data.get('function')
            admission_date = form.cleaned_data.get('admission_date')
            experience_end_date = form.cleaned_data.get('experience_end_date')
            resignation_date = form.cleaned_data.get('resignation_date')
            resignation_reason = form.cleaned_data.get('resignation_reason')
            last_salary = form.cleaned_data.get('last_salary')

            disconnect()
            connect('eagle')

            if not form.cleaned_data.get('id'):
                emp = Employees(
                    full_name=full_name,
                    cpf=cpf,
                    rg=rg,
                    pis=pis,
                    ctps=ctps,
                    birthdate=birthdate,
                    phone_number=phone_number,
                    cellphone_number=cellphone_number,
                    email=email,
                    post_code=post_code,
                    state=state,
                    city=city,
                    district=district,
                    address=address,
                    number=number,
                    complement=complement,
                    bank=bank,
                    agency=agency,
                    account=account,
                    account_type=account_type,
                    contract=contract,
                    situation=situation,
                    payment_type=payment_type,
                    company=company,
                    costcenter=costcenter,
                    department=department,
                    function=function,
                    admission_date=admission_date,
                    experience_end_date=experience_end_date,
                    resignation_date=resignation_date,
                    resignation_reason=resignation_reason,
                    last_salary=last_salary,
                )
                messages.success(
                    request,
                    'O funcionário <b>%s</b> foi cadastrado com sucesso!' %
                    emp.full_name)
                emp.save()
                disconnect()
                return redirect('employee-list')
            else:
                title = 'Editar Funcionário'
                emp = Employees.objects(id=form.cleaned_data.get('id')).first()
                emp.full_name = full_name
                emp.cpf = cpf
                emp.rg = rg
                emp.pis = pis
                emp.ctps = ctps
                emp.birthdate = birthdate
                emp.phone_number = phone_number
                emp.cellphone_number = cellphone_number
                emp.email = email
                emp.post_code = post_code
                emp.state = state
                emp.city = city
                emp.district = district
                emp.address = address
                emp.number = number
                emp.complement = complement
                emp.bank = bank
                emp.agency = agency
                emp.account = account
                emp.account_type = account_type
                emp.contract = contract
                emp.situation = situation
                emp.payment_type = payment_type
                emp.company = Companies.objects(id=company).first()
                emp.costcenter = CostCenters.objects(id=costcenter).first()
                emp.department = Departments.objects(id=department).first()
                emp.function = Functions.objects(id=function).first()
                emp.admission_date = admission_date
                emp.experience_end_date = experience_end_date
                emp.resignation_date = resignation_date
                emp.resignation_reason = resignation_reason
                emp.last_salary = last_salary

                messages.success(request, 'Dados atualizados!')
                emp.save()
                disconnect()
                return redirect('employee-detail', id=emp.id)

    elif not id:
        form = EmployeesForm()
    elif id:
        disconnect()
        connect('eagle')
        emp = Employees.objects(id=id).first()
        emp_instance = {
            'id': emp.id,
            'full_name': emp.full_name,
            'cpf': emp.cpf,
            'rg': emp.rg,
            'pis': emp.pis,
            'ctps': emp.ctps,
            'birthdate': emp.birthdate.strftime('%d/%m/%Y'),
            'phone_number': emp.phone_number,
            'cellphone_number': emp.cellphone_number,
            'email': emp.email,
            'post_code': emp.post_code,
            'state': emp.state,
            'city': emp.city,
            'district': emp.district,
            'address': emp.address,
            'number': emp.number,
            'complement': emp.complement,
            'bank': emp.bank,
            'agency': emp.agency,
            'account': emp.account,
            'account_type': emp.account_type,
            'contract': emp.contract,
            'situation': emp.situation,
            'payment_type': emp.payment_type,
            'company': str(emp.company.id),
            'costcenter': str(emp.costcenter.id),
            'department': str(emp.department.id),
            'function': str(emp.function.id),
            'admission_date': emp.admission_date.strftime('%d/%m/%Y'),
            'experience_end_date':
            emp.experience_end_date.strftime('%d/%m/%Y'),
            'resignation_date': emp.resignation_date,  #.strftime('%d/%m/%Y'),
            'resignation_reason': emp.resignation_reason,
            'last_salary': emp.last_salary,
        }

        disconnect()
        form = EmployeesForm(initial=emp_instance)
        title = 'Editar Funcionário'

    context = {'user_data': user_data, 'form': form, 'title': title}
    return render(request, template, context)
Ejemplo n.º 23
0
def list(request):
    template = 'employees/list.html'
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    filter = FilterForm(request.GET)

    disconnect()
    connect('eagle')

    list = Employees.objects()
    list_with_ref_data = []

    if filter.is_valid():
        search = filter.cleaned_data.get('search', None)
        # is_admin = filter.cleaned_data.get('is_admin', None)
        # is_active = filter.cleaned_data.get('is_active', None)

        if search:
            list = list.filter(Q(full_name__icontains=search))
        # if is_admin == 'yes':
        #     list = list.filter(is_admin=True)
        # elif is_admin == 'no':
        #     list = list.filter(is_admin=False)
        # if is_active == 'yes':
        #     list = list.filter(is_active=True)
        # elif is_active == 'no':
        #     list = list.filter(is_active=False)

    for emp in list:
        list_with_ref_data.append({
            'id':
            emp.id,
            'full_name':
            emp.full_name,
            'cpf':
            emp.cpf,
            'costcenter':
            '{}-{}'.format(emp.costcenter.company.code, emp.costcenter.code),
            'department':
            emp.department.name,
            'function':
            '{} {}'.format(
                emp.function.name, 'Junior' if emp.function.level == 'junior'
                else 'Pleno' if emp.function.level == 'pleno' else
                'Senior' if emp.function.level == 'senior' else
                'Especialista' if emp.function.level == 'expert' else ''),
            'situation':
            'Aguardando Admissão'
            if emp.situation == 'waiting_admission' else 'Contrato Ativo' if
            emp.situation == 'employeed' else 'Em Férias' if emp.situation ==
            'vacation' else 'Desligado' if emp.situation == 'dismissed' else ''
        })

    disconnect()

    context = {
        'user_data': user_data,
        'list': list_with_ref_data,
        'form': filter
    }
    return render(request, template, context)
Ejemplo n.º 24
0
def detail(request, id=None):
    template = 'users/details.html'
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    title = 'Novo Usuário'

    if request.method == 'POST':
        form = UserForm(request.POST)

        if form.is_valid():
            _username = form.cleaned_data.get('username')
            _full_name = form.cleaned_data.get('full_name')
            _email = form.cleaned_data.get('email')
            _permissions = form.cleaned_data.get('permissions')
            _is_admin = form.cleaned_data.get('is_admin')

            disconnect()
            connect('eagle')

            if not form.cleaned_data.get('id'):
                user = Users(username=_username,
                             full_name=_full_name,
                             email=_email,
                             is_admin=_is_admin,
                             permissions=_permissions,
                             password=make_password('temporary'))
                messages.success(
                    request,
                    'O usuário <b>%s</b> foi cadastrado com sucesso!' %
                    user.full_name)
                user.save()
                disconnect()
                return redirect('user-list')
            else:
                title = 'Editar Usuário'
                user = Users.objects(id=form.cleaned_data.get('id')).first()
                user.username = _username
                user.full_name = _full_name
                user.email = _email
                user.permissions = _permissions
                user.is_admin = _is_admin
                messages.success(request, 'Dados atualizados!')
                user.save()
                disconnect()
                return redirect('user-detail', id=user.id)

    elif not id:
        form = UserForm()
    elif id:
        disconnect()
        connect('eagle')
        user = Users.objects(id=id).first()
        disconnect()
        user_instance = {
            'id': user.id,
            'username': user.username,
            'full_name': user.full_name,
            'permissions': user.permissions,
            'email': user.email,
            'is_admin': user.is_admin
        }
        form = UserForm(initial=user_instance)
        title = 'Editar Usuário'

    context = {'user_data': user_data, 'form': form, 'title': title}
    return render(request, template, context)
Ejemplo n.º 25
0
def function_detail(request, id=None):
    template = 'configuration/function-detail.html'
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    title = 'Novo Cargo'

    if request.method == 'POST':
        form = FunctionsForm(request.POST)

        if form.is_valid():
            name = form.cleaned_data.get('name')
            salary = form.cleaned_data.get('salary')
            work_days = form.cleaned_data.get('work_days')
            #workload = form.cleaned_data.get('workload')
            #flexible_schedule = form.cleaned_data.get('_flexible_schedule')
            #entry_hour = form.cleaned_data.get('_entry_hour')
            #exit_hour = form.cleaned_data.get('exit_hour')
            #lunch_time = form.cleaned_data.get('lunch_time')
            level = form.cleaned_data.get('level')
            permissions = form.cleaned_data.get('permissions')
            departments = form.cleaned_data.get('departments')
            has_commission = form.cleaned_data.get('has_commission')
            comission_percentage = form.cleaned_data.get(
                'comission_percentage') if form.cleaned_data.get(
                    'comission_percentage') else None
            comission_floor = form.cleaned_data.get(
                'comission_floor') if form.cleaned_data.get(
                    'comission_floor') else None
            comission_ceil = form.cleaned_data.get(
                'comission_ceil') if form.cleaned_data.get(
                    'comission_ceil') else None

            disconnect()
            connect('eagle')

            if not form.cleaned_data.get('id'):
                function = Functions(
                    name=name,
                    salary=salary,
                    work_days=work_days,
                    # workload =workload,
                    # flexible_schedule =flexible_schedule,
                    # entry_hour =entry_hour,
                    # exit_hour =exit_hour,
                    # lunch_time =lunch_time,
                    level=level,
                    permissions=permissions,
                    has_commission=has_commission,
                    comission_percentage=comission_percentage,
                    comission_floor=comission_floor,
                    comission_ceil=comission_ceil,
                    departments=departments)
                messages.success(
                    request, 'O cargo <b>%s</b> foi cadastrado com sucesso!' %
                    function.name)
                function.save()
                disconnect()
                return redirect('function-list')
            else:
                title = 'Editar Cargo'
                function = Functions.objects(
                    id=form.cleaned_data.get('id')).first()
                function.name = name
                function.salary = salary
                function.work_days = work_days
                # function.workload =workload
                # function.flexible_schedule =flexible_schedule
                # function.entry_hour =entry_hour
                # function.exit_hour =exit_hour
                # function.lunch_time =lunch_time
                function.level = level
                function.permissions = permissions
                function.has_commission = has_commission
                function.comission_percentage = comission_percentage
                function.comission_ceil = comission_ceil
                function.comission_floor = comission_floor
                function.departments = departments
                function.save()
                messages.success(request, 'Dados atualizados!')
                disconnect()
                return redirect('function-detail', id=function.id)

    elif not id:
        form = FunctionsForm(initial={
            'work_days':
            ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']
        })
    elif id:
        disconnect()
        connect('eagle')
        function = Functions.objects(id=id).first()
        disconnect()
        function_instance = {
            'id': function.id,
            'name': function.name,
            'salary': function.salary,
            'work_days': function.work_days,
            # 'workload': function.workload,
            # 'flexible_schedule': function.flexible_schedule,
            # 'entry_hour': function.entry_hour,
            # 'exit_hour': function.exit_hour,
            # 'lunch_time': function.lunch_time,
            'level': function.level,
            'permissions': function.permissions,
            'has_commission': function.has_commission,
            'comission_percentage': function.comission_percentage,
            'comission_ceil': function.comission_ceil,
            'comission_floor': function.comission_floor,
            'departments': function.departments
        }
        form = FunctionsForm(initial=function_instance)
        title = 'Editar Cargo'

    context = {'user_data': user_data, 'form': form, 'title': title}
    return render(request, template, context)
Ejemplo n.º 26
0
def company_detail(request, id=None):
    template = 'configuration/company-detail.html'
    user_data = get_logged(request)

    if not user_data: 
        return redirect('login')

    title = 'Nova Empresa'

    if request.method == 'POST': 
        form = CompaniesForm(request.POST)

        if form.is_valid():
            company_type = form.cleaned_data.get('company_type')
            company_headoffice = form.cleaned_data.get('company_headoffice')
            cnpj = form.cleaned_data.get('cnpj')
            ie = form.cleaned_data.get('ie')
            has_exemptiom_ie = form.cleaned_data.get('has_exemptiom_ie')
            bussiness_name = form.cleaned_data.get('bussiness_name')
            company_name = form.cleaned_data.get('company_name')
            company_tax_type = form.cleaned_data.get('company_tax_type')
            post_code = form.cleaned_data.get('post_code')
            state = form.cleaned_data.get('state')
            city = form.cleaned_data.get('city')
            district = form.cleaned_data.get('district')
            address = form.cleaned_data.get('address')
            number = form.cleaned_data.get('number')
            complement = form.cleaned_data.get('complement')
            code = form.cleaned_data.get('code')
            
            disconnect()
            connect('eagle')

            if not form.cleaned_data.get('id'):
                company = Companies(
                    company_type = company_type,
                    company_headoffice = company_headoffice if company_headoffice != '' else None,
                    cnpj = cnpj,
                    ie = ie,
                    has_exemptiom_ie = has_exemptiom_ie,
                    bussiness_name = bussiness_name,
                    company_name = company_name,
                    company_tax_type = company_tax_type,
                    post_code = post_code,
                    state = state,
                    city = city,
                    district = district,
                    address = address,
                    number = number,
                    complement = complement,
                    code = code
                    )
                messages.success(request, 'A empresa <b>%s</b> foi cadastrada com sucesso!' % company.company_name)
                company.save()
                disconnect()
                return redirect('company-list')
            else:
                title = 'Editar Empresa'
                company = Companies.objects(id=form.cleaned_data.get('id')).first()
                if company_headoffice != '':
                    company_headoffice = Companies.objects(id=form.cleaned_data.get('company_headoffice')).first()
                else: 
                    company_headoffice = None
                company.company_type = company_type
                company.company_headoffice = company_headoffice if company_headoffice else None
                company.cnpj = cnpj
                company.ie = ie
                company.has_exemptiom_ie = has_exemptiom_ie
                company.bussiness_name = bussiness_name
                company.company_name = company_name
                company.company_tax_type = company_tax_type
                company.post_code = post_code
                company.state = state
                company.city = city
                company.district = district
                company.address = address
                company.number = number
                company.complement = complement
                company.code = code
                company.save()
                messages.success(request, 'Dados atualizados!')
                disconnect()
                return redirect('company-detail', id=company.id)

    elif not id: 
        form = CompaniesForm()
    elif id: 
        disconnect()
        connect('eagle')
        company = Companies.objects(id=id).first()
        company_instance = {
            'id': id,
            'company_type': company.company_type,
            'company_headoffice': company.company_headoffice,
            'cnpj': company.cnpj,
            'ie': company.ie,
            'has_exemptiom_ie': company.has_exemptiom_ie,
            'bussiness_name': company.bussiness_name,
            'company_name': company.company_name,
            'company_tax_type': company.company_tax_type,
            'post_code': company.post_code,
            'state': company.state,
            'city': company.city,
            'district': company.district,
            'address': company.address,
            'number': company.number,
            'complement': company.complement, 
            'code': company.code
            }
        disconnect()
        form = CompaniesForm(initial=company_instance)
        title = 'Editar Empresa'
    
    context = { 'user_data': user_data, 'form': form, 'title': title }
    return render(request, template, context)
Ejemplo n.º 27
0
def department_detail(request, id=None):
    template = 'configuration/department-detail.html'
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    title = 'Novo Departamento'

    if request.method == 'POST':
        form = DepartmentsForm(request.POST)

        if form.is_valid():
            name = form.cleaned_data.get('name')
            costcenters = form.cleaned_data.get('costcenters')
            description = form.cleaned_data.get('description')

            disconnect()
            connect('eagle')

            if not form.cleaned_data.get('id'):
                depto = Departments(name=name,
                                    costcenters=costcenters,
                                    description=description)
                messages.success(
                    request,
                    'O departamento <b>%s</b> foi cadastrado com sucesso!' %
                    depto.name)
                depto.save()
                disconnect()
                return redirect('department-list')
            else:
                title = 'Editar Departamento'
                depto = Departments.objects(
                    id=form.cleaned_data.get('id')).first()
                depto.name = name
                depto.costcenters = costcenters
                depto.description = description
                messages.success(request, 'Dados atualizados!')
                depto.save()
                disconnect()
                return redirect('department-detail', id=depto.id)

    elif not id:
        form = DepartmentsForm()
    elif id:
        disconnect()
        connect('eagle')
        depto = Departments.objects(id=id).first()
        depto_instance = {
            'id': depto.id,
            'name': depto.name,
            'costcenters': depto.costcenters,
            'description': depto.description
        }
        disconnect()
        form = DepartmentsForm(initial=depto_instance)
        title = 'Editar Departamento'

    context = {'user_data': user_data, 'form': form, 'title': title}
    return render(request, template, context)
Ejemplo n.º 28
0
def costcenter_detail(request, id=None):
    template = 'configuration/costcenter-detail.html'
    user_data = get_logged(request)

    if not user_data:
        return redirect('login')

    title = 'Novo Centro de Custo'

    if request.method == 'POST':
        form = CostCentersForm(request.POST)

        if form.is_valid():
            name = form.cleaned_data.get('name')
            company = form.cleaned_data.get('company')
            costcenter_type = form.cleaned_data.get('costcenter_type')
            code = form.cleaned_data.get('code')
            warehouses = form.cleaned_data.get('warehouses')

            disconnect()
            connect('eagle')

            if not form.cleaned_data.get('id'):
                cdc = CostCenters(name=name,
                                  company=company,
                                  type=costcenter_type,
                                  code=code,
                                  warehouses=warehouses)
                messages.success(
                    request,
                    'O centro de custo <b>%s</b> foi cadastrado com sucesso!' %
                    cdc.name)
                cdc.save()
                disconnect()
                return redirect('costcenter-list')
            else:
                title = 'Editar Centro de Custo'
                cdc = CostCenters.objects(
                    id=form.cleaned_data.get('id')).first()
                cdc.name = name
                cdc.code = code
                company = Companies.objects(id=company).first()
                cdc.company = company
                cdc.warehouses = warehouses
                cdc.type = costcenter_type
                messages.success(request, 'Dados atualizados!')
                cdc.save()
                disconnect()
                return redirect('costcenter-detail', id=cdc.id)

    elif not id:
        form = CostCentersForm()
    elif id:
        disconnect()
        connect('eagle')
        cdc = CostCenters.objects(id=id).first()
        cdc_instance = {
            'id': cdc.id,
            'name': cdc.name,
            'company': str(cdc.company.id),
            'code': cdc.code,
            'costcenter_type': cdc.type,
            'warehouses': cdc.warehouses
        }
        form = CostCentersForm(initial=cdc_instance)
        disconnect()
        title = 'Editar Centro de Custo'

    context = {'user_data': user_data, 'form': form, 'title': title}
    return render(request, template, context)