Skip to content

Commit

Permalink
[MIG] account_cashbox: Migration to 17.0
Browse files Browse the repository at this point in the history
  • Loading branch information
rov-adhoc committed Dec 11, 2023
1 parent 0b9f8d4 commit 18d038a
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 42 deletions.
2 changes: 1 addition & 1 deletion account_cashbox/README.rst
Expand Up @@ -14,7 +14,7 @@
Point of Payment
================

NOTA: por el momento se requiere modulo account_accountant para disponibilizar los full accounting features y ver el menú banco y caja (de account_payment_group)
NOTA: por el momento se requiere modulo account_ux

Installation
============
Expand Down
6 changes: 3 additions & 3 deletions account_cashbox/__manifest__.py
Expand Up @@ -4,13 +4,13 @@
{
"name": "Cashbox management",
"summary": "Introduces concept cashbox and accounting journal sessions",
"version": "16.0.1.0.1",
"version": "17.0.1.0.0",
"category": "Accounting",
"website": "www.adhoc.com.ar",
"author": "juanpgarza, ADHOC SA",
"license": "AGPL-3",
"depends": [
"account_payment_group",
"account_ux",
# la dependencia con payment group es solo para forzar utilizar el metodo parcheado
# _compute_available_journal_ids. En v17 depreciariamos payment group y ya no seria necesario
# ademas, al depender de payment group, por ahora no implementamos los wizard de payment register
Expand All @@ -29,6 +29,6 @@
# 'views/templates.xml',
'wizards/account_cashbox_payment_import.xml',
],
'installable': False,
'installable': True,
"application": False,
}
7 changes: 3 additions & 4 deletions account_cashbox/models/account_cashbox_session.py
Expand Up @@ -19,10 +19,9 @@ class AccountCashboxSession(models.Model):
_description = 'Cashbox session'
_inherit = ['mail.thread', 'mail.activity.mixin']

cashbox_id = fields.Many2one('account.cashbox', required=True, states={'draft': [('readonly', False)]}, readonly=True)
name = fields.Char(required=True, compute='_compute_name', store=True, readonly=False, states={'draft': [('readonly', False)]})
user_ids = fields.Many2many('res.users', required=True, readonly=True,
states={'draft': [('readonly', False)]}, tracking=True,
cashbox_id = fields.Many2one('account.cashbox', required=True, readonly=True)
name = fields.Char(required=True, compute='_compute_name', store=True, readonly=False)
user_ids = fields.Many2many('res.users', required=True, readonly=True, tracking=True,
default=lambda self: [(4, self.env.uid)])
opening_date = fields.Datetime(readonly=True, copy=False)
closing_date = fields.Datetime(readonly=True, copy=False)
Expand Down
2 changes: 1 addition & 1 deletion account_cashbox/models/account_cashbox_session_line.py
Expand Up @@ -31,7 +31,7 @@ class PopSessionJournalControl(models.Model):
# # agrupamos por session porque lo mas usual es ver todos los registors de una misma session
# for session in self.mapped('cashbox_session_id'):
# session_recs = self.filtered(lambda x: x.cashbox_session_id == session)
# balance_lines = self.env['account.payment'].read_group([
# balance_lines = self.env['account.payment']._read_group([
# ('cashbox_session_id', '=', session.id), ('state', '=', 'posted'),
# ('journal_id', 'in', session_recs.mapped('journal_id').ids)],
# ['amount','payment_type'], ['journal_id','payment_type'], lazy=False)
Expand Down
16 changes: 8 additions & 8 deletions account_cashbox/views/account_cashbox.xml
Expand Up @@ -33,8 +33,8 @@
<form>
<sheet>
<div class="oe_button_box" name="button_box">
<button icon="fa-list" attrs="{'invisible':[('allow_concurrent_sessions', '=', True)]}" string="Sessions" name="%(account_cashbox_session_action)d" type="action" context="{'search_default_cashbox_id': id}" class="oe_stat_button"/>
<button icon="fa-list" attrs="{'invisible':[('allow_concurrent_sessions', '=', False)]}" string="Sessions" name="%(account_cashbox_session_action)d" type="action" context="{'search_default_cashbox_id': id, 'search_default_opened': True}" class="oe_stat_button"/>
<button icon="fa-list" invisible = "allow_concurrent_sessions" string="Sessions" name="%(account_cashbox_session_action)d" type="action" context="{'search_default_cashbox_id': id}" class="oe_stat_button"/>
<button icon="fa-list" invisible = "allow_concurrent_sessions == False" string="Sessions" name="%(account_cashbox_session_action)d" type="action" context="{'search_default_cashbox_id': id, 'search_default_opened': True}" class="oe_stat_button"/>
</div>
<div class="oe_title" id="title">
<label for="name" class="oe_edit_only"/>
Expand All @@ -43,18 +43,18 @@
<group>
<group>
<field name="id" invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="company_id" />
<field name="allow_concurrent_sessions"/>
<field name="sequence_id" attrs="{'invisible': [('allow_concurrent_sessions', '=', True)], 'required': [('allow_concurrent_sessions', '=', False)]}" domain="[('code', '=', 'account_cashbox_sequence')]" context="{
<field name="sequence_id" invisible = "allow_concurrent_sessions" required = "allow_concurrent_sessions == False" domain="[('code', '=', 'account_cashbox_sequence')]" context="{
'default_padding': 6,
'default_prefix': 'CODE-',
'default_code': 'account_cashbox_sequence'}"/>
<field name="allowed_res_users_ids" widget="many2many_tags"/>
</group>
<group>
<field name="journal_ids" context="{'default_type': 'cash'}" widget="many2many_tags"/>
<field name="cash_control_journal_ids" domain="[('id', 'in', journal_ids) , ('type', '=', 'cash')]" widget="many2many_checkboxes"/>
<field name="max_diff" attrs="{'invisible': [('cash_control_journal_ids', '=', [])]}"/>
<field name="journal_ids" context="{'default_type': 'cash'}" widget="many2many_tags" />
<field name="cash_control_journal_ids" domain="[('id', 'in', journal_ids) , ('type', '=', 'cash')]" widget="many2many_checkboxes" />
<field name="max_diff" invisible="cash_control_journal_ids == []" />
</group>
</group>
</sheet>
Expand Down Expand Up @@ -145,7 +145,7 @@
<menuitem id="menu_pop_dashboard"
name="Cashbox"
action="account_cashbox_action"
parent="account_payment_group.menu_finance_bank_and_cash"
parent="account_ux.menu_finance_bank_and_cash"
sequence="1"/>
<menuitem id="menu_account_cashbox"
name="Cashbox manangment"
Expand Down
58 changes: 34 additions & 24 deletions account_cashbox/views/account_cashbox_session.xml
Expand Up @@ -10,46 +10,51 @@
<header>

<button name="action_account_cashbox_session_open" type="object" string="Open session"
attrs="{'invisible' : [('state', '!=', 'draft')]}" class="oe_highlight"/>
invisible = "state != 'draft'"
class="oe_highlight"/>
<button name="action_account_cashbox_session_close" type="object" string="Close"
attrs="{'invisible' : ['|', ('state', '!=', 'opened'), ('require_cash_control', '=', True)]}"
invisible = "state != 'opened' or require_cash_control"
class="oe_highlight"/>
<button name="action_closing_control" type="object" string="Control"
attrs="{'invisible' : ['|', ('state', '!=', 'opened'), ('require_cash_control', '=', False)]}"
invisible = "state != 'opened' or require_cash_control==False"
class="oe_highlight"/>

<button name="action_account_cashbox_session_close" type="object" string="Validate"
attrs="{'invisible' : [('state', '!=', 'closing_control')]}"
invisible = "state != 'closing_control'"
class="oe_highlight"/>

<button name="action_account_cashbox_session_reopen" type="object" string="Re-Open"
attrs="{'invisible' : [('state', '!=', 'closed')]}"
invisible = "state != 'closed'"
groups="account.group_account_manager"/>

<field name="state" widget="statusbar" attrs="{'invisible': [('require_cash_control', '=', False)]}" statusbar_visible="draft,opened,closing_control,closed" nolabel="1" />
<field name="state" widget="statusbar" attrs="{'invisible': [('require_cash_control', '=', True)]}" statusbar_visible="draft,opened,closed" nolabel="1" />
<field name="state" widget="statusbar"
invisible = "require_cash_control == False"
statusbar_visible="draft,opened,closing_control,closed" nolabel="1" />
<field name="state" widget="statusbar"
invisible="require_cash_control"
statusbar_visible="draft,opened,closed" nolabel="1" />

</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button name="action_import_payments" attrs="{'invisible': [('state', '!=', 'opened')]}" type="object" class="oe_stat_button" icon="fa-plus">
<button name="action_import_payments"
invisible="state != 'opened'" type="object" class="oe_stat_button" icon="fa-plus">
<span>Import</span>
</button>
<button name="action_session_payments" type="object" class="oe_stat_button" icon="fa-money">
<span>Payments</span>
</button>
</div>
<h1 class="oe_title">
<field name="name" placeholder='Session name' attrs="{'readonly':[('allow_concurrent_sessions', '=', False)]}" class="oe_inline"/>
<field name="name" placeholder='Session name'
readonly="allow_concurrent_sessions == False" class="oe_inline"/>
</h1>
<group>
<group>
<field name="cashbox_id" options="{'no_create':True}" invisible="context.get('hide_cashbox_id')"/>
<field name="user_ids" widget="many2many_tags" options="{'no_create':True}"/>
</group>
<group>
<field name="opening_date" attrs="{'invisible' : [('state', '=', 'draft')]}"/>
<field name="closing_date" attrs="{'invisible' : [('state', '!=', 'closed')]}"/>
<field name="opening_date" invisible="state =='draft'"/>
<field name="closing_date" invisible="state != 'closed'"/>
</group>
<newline/>

Expand All @@ -58,22 +63,27 @@
<field nolabel="1" colspan="2" name="line_ids">
<tree editable="top" create="false" delete="false">
<field name="require_cash_control" invisible="True"/>
<field name="journal_id" attrs="{'readonly':True}" force_save="True"/>
<field name="journal_id" readonly="True" force_save="True"/>
<field name="currency_id" invisible="1"/>
<field name="balance_start" attrs="{'readonly':[('parent.state', '!=', 'draft')], 'invisible':[('require_cash_control', '=', False)],'column_invisible':['|',('parent.allow_concurrent_sessions', '=', True),('parent.require_cash_control', '=', False)]}"/>
<field name="balance_start" readonly = "parent.state != 'draft'" invisible ="require_cash_control == False"
column_invisible = "parent.allow_concurrent_sessions or parent.require_cash_control == False "/>
<field name="amount"/>
<button name="action_session_payments" type="object" title="Payments" icon="fa-search"></button>
<field name="balance_end" attrs="{'invisible':[('require_cash_control', '=', False)], 'column_invisible':[('parent.require_cash_control', '=', False)]}"/>
<field name="balance_end_real" attrs="{'readonly':[('parent.state', '!=', 'closing_control')], 'invisible':[('require_cash_control', '=', False)], 'column_invisible':[('parent.require_cash_control', '=', False)]}"/>
<field name="balance_end" invisible = "require_cash_control == False"
column_invisible="parent.require_cash_control == False"/>
<field name="balance_end_real"
readonly=" parent.state !='closing_control'"
invisible = "require_cash_control == False"
column_invisible="parent.require_cash_control == False"/>
</tree>
<form>
<sheet>
<group >
<field name="journal_id" attrs="{'readonly':True}"/>
<field name="currency_id" attrs="{'readonly':True}" groups="base.group_multi_currency"/>
<field name="balance_start" attrs="{'readonly':True}"/>
<field name="amount" attrs="{'readonly':True}"/>
<field name="balance_end" attrs="{'readonly':True}"/>
<field name="journal_id" readonly ="True"/>
<field name="currency_id" readonly ="True" groups="base.group_multi_currency"/>
<field name="balance_start" readonly ="True"/>
<field name="amount" readonly ="True"/>
<field name="balance_end" readonly ="True"/>
<field name="balance_end_real"/>
</group>
</sheet>
Expand Down Expand Up @@ -111,10 +121,10 @@
<field name="model">account.cashbox.session</field>
<field name="arch" type="xml">
<tree>
<field name="cashbox_id"/>
<field name="cashbox_id" readonly="state != 'draft'"/>
<field name="opening_date"/>
<field name="closing_date"/>
<field name="user_ids"/>
<field name="user_ids" readonly="state != 'draft'"/>
<field name="name" string="Description"/>
<field name="state" string="State"/>
</tree>
Expand Down
3 changes: 2 additions & 1 deletion account_cashbox/views/account_payment.xml
Expand Up @@ -12,7 +12,8 @@
<field
name="cashbox_session_id"
domain="[('user_ids', '=', uid), ('state', '=', 'opened'), ('company_id', '=', company_id)]"
attrs="{'required': [('requiere_account_cashbox_session', '=', True), ('state', '=', 'draft')], 'readonly': [('state', '!=', 'draft')]}"
required="requiere_account_cashbox_session and state == 'draft'"
readonly = "state != 'draft'"
/>
</field>
</field>
Expand Down

0 comments on commit 18d038a

Please sign in to comment.