primeira versão

This commit is contained in:
2026-02-17 23:47:16 +01:00
commit d76d610955
32 changed files with 2304 additions and 0 deletions

118
views/financeiro_view.xml Normal file
View File

@@ -0,0 +1,118 @@
<odoo>
<record id="view_recreacao_financeiro_tree" model="ir.ui.view">
<field name="name">recreacao.financeiro.tree</field>
<field name="model">recreacao.financeiro</field>
<field name="arch" type="xml">
<tree editable="bottom"
decoration-success="tipo=='receita'"
decoration-danger="tipo=='despesa'"
decoration-muted="status=='cancelado'"
limit="15">
<field name="data_vencimento" decoration-bf="1"/>
<field name="name" placeholder="Ex: Mensalidade João"/>
<field name="forma_pagamento"
decoration-info="forma_pagamento == 'pix'"
decoration-success="forma_pagamento == 'dinheiro'"
decoration-warning="forma_pagamento == 'cartao'"
decoration-bf="1"
optional="show"/>
<field name="tipo"
decoration-success="tipo=='receita'"
decoration-danger="tipo=='despesa'"
decoration-bf="1"/>
<field name="partner_id" widget="res_partner_many2one" optional="show"/>
<field name="crianca_id" optional="hide"/>
<field name="valor" sum="Total do Período" decoration-bf="1"/>
<field name="status" widget="badge"
decoration-success="status=='pago'"
decoration-warning="status=='pendente'"
readonly="1"/>
<button name="action_pagar"
string=" "
type="object"
icon="fa-check"
title="Confirmar Pagamento"
class="btn-success"
invisible="status != 'pendente'"/>
</tree>
</field>
</record>
<record id="view_recreacao_financeiro_graph" model="ir.ui.view">
<field name="name">recreacao.financeiro.graph</field>
<field name="model">recreacao.financeiro</field>
<field name="arch" type="xml">
<graph string="Fluxo de Caixa" type="bar" stacked="True">
<field name="data_vencimento" type="row" interval="month"/>
<field name="tipo" type="col"/>
<field name="valor" type="measure"/>
</graph>
</field>
</record>
<record id="view_recreacao_financeiro_search" model="ir.ui.view">
<field name="name">recreacao.financeiro.search</field>
<field name="model">recreacao.financeiro</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="partner_id"/>
<field name="crianca_id"/>
<filter string="Entradas (Receitas)" name="filter_receitas" domain="[('tipo','=','receita')]"/>
<filter string="Saídas (Despesas)" name="filter_despesas" domain="[('tipo','=','despesa')]"/>
<separator/>
<filter string="Pendentes" name="filter_pendentes" domain="[('status','=','pendente')]"/>
<filter string="Pagos" name="filter_pagos" domain="[('status','=','pago')]"/>
<separator/>
<filter string="PIX" name="filter_pix" domain="[('forma_pagamento','=','pix')]"/>
<filter string="Dinheiro" name="filter_dinheiro" domain="[('forma_pagamento','=','dinheiro')]"/>
<group expand="1" string="Agrupar Por">
<filter string="Mês" name="group_month" context="{'group_by':'data_vencimento:month'}"/>
<filter string="Tipo" name="group_tipo" context="{'group_by':'tipo'}"/>
<filter string="Status" name="group_status" context="{'group_by':'status'}"/>
<filter string="Forma de Pagto" name="group_pagto" context="{'group_by':'forma_pagamento'}"/>
</group>
</search>
</field>
</record>
<record id="action_recreacao_financeiro" model="ir.actions.act_window">
<field name="name">Movimentações Financeiras</field>
<field name="res_model">recreacao.financeiro</field>
<field name="view_mode">tree,graph,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Gerencie aqui o caixa da recreação.
</p>
</field>
</record>
<menuitem id="menu_recreacao_financeiro_root"
name="Financeiro"
parent="menu_recreacao_root"
sequence="10"/>
<menuitem id="menu_recreacao_financeiro_movimentos"
name="Movimentações (Caixa)"
parent="menu_recreacao_financeiro_root"
action="action_recreacao_financeiro"
sequence="1"/>
<menuitem id="menu_recreacao_relatorio_mensal_pdf"
name="Imprimir Fluxo (PDF)"
parent="menu_recreacao_financeiro_root"
action="action_recreacao_financeiro_wizard"
sequence="2"/>
</odoo>