commit melhorias1
This commit is contained in:
@@ -11,13 +11,13 @@ export function navigationGroups(can, unit, capabilities={}) {
|
||||
{id:'purchasing',label:'Compras',items:[{id:'purchasing_home',label:'Área de Compras',visible:can('company.view')},item('purchasing_budget','Controlo orçamental sintético','purchasing_budget.view',unit),item('supplier_payables','Obrigações a fornecedores — ensaio','supplier_payables.view',unit),item('supplier_payments','Pagamentos e afectações — ensaio','supplier_payables.view',unit)]},
|
||||
{id:'stock',label:'Stock',status:'Em preparação',items:[...visibleStockSections(can).map(s=>({id:s.id,label:s.label,informational:true,visible:true})),...(capabilities.stockCatalogue?[item('stock_catalogue','Artigos e revisão do catálogo','stock.view',unit)]:[])]},
|
||||
{id:'services',label:'Clientes e serviços',items:[item('clients','Clientes','clients.view'),item('services','Catálogo de serviços','services.view'),item('service_drafts','Prestações em rascunho','service_drafts.view',unit)]},
|
||||
{id:'billing',label:'Facturação',items:visibleBillingSections(can,unit).map(s=>({id:s.id,label:s.label,visible:true}))},
|
||||
{id:'billing',label:'Facturação',items:[...(capabilities.multilineInvoices?[item('multiline_invoices','Documento com várias linhas QA','billing_drafts.view',unit)]:[]),...visibleBillingSections(can,unit).map(s=>({id:s.id,label:s.label,visible:true}))]},
|
||||
{id:'billing_support',label:'Configuração documental',items:[{id:'documents',label:'Preparação documental',visible:can('issuer_documents.view')||can('client_documents.view')||can('draft_documents.view',unit)},item('service_invoice_setup','Séries e emissão de teste','service_invoices.view',unit),item('preview_model','Apresentação do rascunho','issuer_documents.view')]},
|
||||
{id:'treasury',label:'Fornecedores',items:[...(capabilities.payablePositions?[item('payable_positions','Posições de fornecedores','supplier_payables.view',unit),item('payable_aging','Mapa de antiguidade — fornecedores','supplier_payables.view',unit)]:[]),item('native_payables','Obrigações, pagamentos e afectações','supplier_payables.view',unit)]},
|
||||
{id:'receivables',label:'Recebimentos e Caixa',items:[item('receivable_positions','Posições de clientes e vencimentos','service_receivables.view',unit),item('service_receivables','Recebimentos, afectações e reconciliação de teste','service_receivables.view',unit),item('financial_indicators','Critérios e indicadores QA','financial_analysis.view',unit),item('bank_reconciliation','Conferência de extracto QA','bank_reconciliation.view',unit),item('cash','Caixa — abertura, despesas e fecho QA','cash.view',unit)]},
|
||||
{id:'workshop',label:'Oficinas',items:[...visibleWorkshopSections(can,unit).map(s=>({id:s.id,label:s.label,visible:true})),item('workshop_billing','Oficina → rascunho','workshop_billing.view',unit),item('workshop_corrections','Correcção e cancelamento comercial','workshop_corrections.view',unit)]},
|
||||
{id:'costs',label:'Custos e orçamento',items:[item('direct_costs','Custo directo de teste','direct_costs.view',unit),item('industrial_costs','Lotes e custos industriais de teste','industrial_costs.view',unit),item('industrial_budgets','Orçamentos e comparação','industrial_budgets.view',unit)]},
|
||||
{id:'accounting',label:'Contabilidade e fiscalidade',items:[...visibleAccountingSections(can).map(s=>({id:s.id,label:s.label,informational:true,visible:true})),...(capabilities.internalStatements?[item('internal_statements','Demonstrações internas parciais QA','general_ledger.view',unit)]:[]),item('catalogue_accounting','Classificação contabilística','catalogue_accounting.view'),item('service_fiscal','Perfis fiscais do serviço','service_fiscal.view'),item('fiscal_iva','Livro e mapa interno de IVA QA','fiscal_assessments.view',unit),item('fiscal_rules','Regras fiscais versionadas QA','fiscal_rules.view',unit),...(capabilities.fiscalObligations?[item('fiscal_obligations','Obrigações e prazos administrativos QA','fiscal_obligations.view',unit)]:[])]},
|
||||
{id:'accounting',label:'Contabilidade e fiscalidade',items:[...(capabilities.fixedAssets?[item('fixed_assets','Activos e depreciações internas QA','fixed_assets.view',unit)]:[]),...visibleAccountingSections(can).map(s=>({id:s.id,label:s.label,informational:true,visible:true})),...(capabilities.internalStatements?[item('internal_statements','Demonstrações internas parciais QA','general_ledger.view',unit)]:[]),item('catalogue_accounting','Classificação contabilística','catalogue_accounting.view'),item('service_fiscal','Perfis fiscais do serviço','service_fiscal.view'),item('fiscal_iva','Livro e mapa interno de IVA QA','fiscal_assessments.view',unit),item('fiscal_rules','Regras fiscais versionadas QA','fiscal_rules.view',unit),...(capabilities.fiscalObligations?[item('fiscal_obligations','Obrigações e prazos administrativos QA','fiscal_obligations.view',unit)]:[])]},
|
||||
...(capabilities.remunerations?[{id:'human_resources',label:'Recursos Humanos',items:[item('remunerations','Cadastro e remunerações internas QA','human_resources.remunerations.view',unit),...(capabilities.personnel?[{id:'hr_personnel',label:'Contratos, assiduidade e férias',visible:['contracts','attendance','leave'].every(a=>can('human_resources.'+a+'.view',unit))}]:[])]}]:[]),
|
||||
{id:'admin',label:'Administração',items:[item('company','Empresa','company.view'),{id:'units',label:'Unidades autorizadas',visible:can('company.view')},item('module_records','Associações de módulos','access.manage'),item('access','Acessos','access.manage')]},
|
||||
].map(g=>({...g,items:g.items.filter(i=>i.visible)})).filter(g=>g.items.length);
|
||||
|
||||
Reference in New Issue
Block a user