2
0
account-financial-tools/account_asset_management/views/account_asset.xml
Jordi Ballester 92e7f1cee5 [IMP] account_asset_management: Allow to reverse the posting of a depreciation line
instead of deleting the journal entry.
This will be done when the company has activated the inalterability hash
on the original journal entry.
2022-12-24 00:42:23 +01:00

407 lines
20 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record model="ir.ui.view" id="account_asset_view_form">
<field name="name">account.asset.form</field>
<field name="model">account.asset</field>
<field name="arch" type="xml">
<form string="Asset">
<header>
<button
name="validate"
string="Confirm Asset"
type="object"
class="oe_highlight"
attrs="{'invisible': [('state', '!=', 'draft')]}"
/>
<button
name="set_to_draft"
states="open,close"
string="Set to Draft"
type="object"
groups="account.group_account_manager"
/>
<button
name="remove"
string="Remove"
type="object"
groups="account.group_account_manager"
attrs="{'invisible':[('state', 'not in', ['open', 'close'])]}"
help="Asset removal."
/>
<field
name="state"
widget="statusbar"
statusbar_visible="draft,open,close,removed"
/>
</header>
<sheet>
<widget
name="web_ribbon"
title="Archived"
bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"
/>
<div class="oe_button_box" name="button_box">
<button
name="open_entries"
string="Journal Entries"
type="object"
class="oe_stat_button"
icon="fa-bars"
/>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only" />
<h1>
<field name="name" class="oe_inline" />
</h1>
</div>
<group col="4">
<field name="code" />
<field
name="company_id"
widget="selection"
groups="base.group_multi_company"
/>
<field
name="company_currency_id"
groups="base.group_multi_currency"
invisible="1"
/>
<field name="move_line_check" invisible="1" />
<newline />
<field
name="depreciation_base"
widget="monetary"
options="{'currency_field': 'company_currency_id'}"
/>
<field
name="value_depreciated"
widget="monetary"
options="{'currency_field': 'company_currency_id'}"
/>
<field
name="value_residual"
widget="monetary"
options="{'currency_field': 'company_currency_id'}"
/>
<field name="active" invisible="1" />
</group>
<notebook colspan="4">
<page string="General">
<group>
<group>
<field
name="purchase_value"
widget="monetary"
options="{'currency_field': 'currency_id'}"
attrs="{'readonly':['|', ('move_line_check', '=', True), ('state', '!=', 'draft')]}"
/>
<field
name="date_start"
attrs="{'readonly': [('state', '!=', 'draft')]}"
/>
</group>
<group>
<field
name="salvage_value"
widget="monetary"
options="{'currency_field': 'company_currency_id'}"
attrs="{'readonly': [('state', '!=', 'draft')]}"
/>
<field name="date_remove" />
</group>
</group>
<group col="4" string="Other Information">
<field name="profile_id" />
<field name="group_ids" widget="many2many_tags" />
<field name="partner_id" />
<field
name="account_analytic_id"
groups="analytic.group_analytic_accounting"
/>
<field
name="analytic_tag_ids"
groups="analytic.group_analytic_tags"
widget="many2many_tags"
/>
</group>
<group>
<group string="Depreciation Dates">
<field name="method_time" required="1" />
<field
name="method_number"
attrs="{'invisible': [('method_time', 'not in', ['number', 'year'])], 'required': [('method_time', 'in', ['number', 'year'])]}"
/>
<field name="method_period" required="1" />
<field
name="method_end"
attrs="{'required': [('method_time', '=', 'end')], 'invisible': [('method_time', 'in', ['number'])]}"
/>
<field name="days_calc" />
<field
name="use_leap_years"
attrs="{'invisible': [('days_calc', '=', True)]}"
/>
</group>
<group string="Depreciation Method">
<field name="method" required="1" />
<field
name="method_progress_factor"
attrs="{'invisible': [('method', 'in', ['linear', 'linear-limit'])], 'required': [('method', 'in', ['degressive', 'degr-linear', 'degr-limit'])]}"
/>
<field
name="prorata"
attrs="{'readonly': [('method_time', '!=', 'year')]}"
/>
<field name="carry_forward_missed_depreciations" />
</group>
</group>
</page>
<page string="Depreciation Board">
<div>
<button
type="object"
name="compute_depreciation_board"
string="Compute"
icon="fa-gears"
attrs="{'invisible': [('state', 'in', ['close', 'removed'])]}"
/>
</div>
<field
name="depreciation_line_ids"
mode="tree"
options="{'reload_on_button': true}"
>
<tree
string="Asset Lines"
decoration-info="(move_check == False) and (init_entry == False)"
create="false"
>
<field name="type" />
<field name="line_date" />
<field name="line_days" sum="Total Days" />
<field name="depreciated_value" readonly="1" />
<field name="amount" />
<field name="remaining_value" readonly="1" />
<field name="init_entry" string="Init" />
<field name="move_check" />
<field name="parent_state" invisible="1" />
<button
name="create_move"
icon="fa-cog"
string="Create Move"
type="object"
attrs="{'invisible': ['|', '|', ('init_entry', '=', True), ('move_check', '!=', False), ('parent_state', '!=', 'open')]}"
/>
<button
name="open_move"
icon="fa-folder-open-o"
string="View Move"
type="object"
attrs="{'invisible': [('move_check', '!=', True)]}"
/>
<button
name="unlink_move"
icon="fa-times"
string="Delete/Reverse Move"
type="object"
confirm="Are you sure ?"
groups="account.group_account_manager"
attrs="{'invisible': [('move_check', '!=', True)]}"
/>
</tree>
<form string="Asset Line">
<group>
<group>
<field name="parent_state" invisible="1" />
<field
name="depreciation_base"
invisible="1"
/>
<field name="type" />
<field name="name" />
<field
name="amount"
attrs="{'readonly': [('move_check', '=', True)]}"
/>
<field
name="init_entry"
attrs="{'readonly': ['|', ('move_check', '=', True), ('type', '=', 'create')]}"
/>
<field name="move_id" />
<field name="move_check" />
</group>
<group>
<field
name="line_date"
attrs="{'readonly': [('move_check', '=', True)]}"
/>
<field
name="depreciated_value"
readonly="1"
/>
<field
name="remaining_value"
readonly="1"
/>
</group>
</group>
</form>
</field>
</page>
<page string="History">
<field name="account_move_line_ids" readonly="1">
<tree string="Journal Items">
<field name="date" />
<field name="move_id" />
<field name="journal_id" optional="show" />
<field name="account_id" />
<field name="partner_id" optional="show" />
<field
name="analytic_account_id"
groups="analytic.group_analytic_accounting"
optional="show"
/>
<field name="ref" />
<field name="name" optional="hide" />
<field name="debit" sum="1" />
<field name="credit" sum="1" />
</tree>
</field>
</page>
<page string="Notes">
<field
name="note"
placeholder="Add an internal note here..."
/>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" />
<field name="activity_ids" />
<field name="message_ids" />
</div>
</form>
</field>
</record>
<record model="ir.ui.view" id="account_asset_view_tree">
<field name="name">account.asset.tree</field>
<field name="model">account.asset</field>
<field name="arch" type="xml">
<tree string="Assets">
<field name="name" />
<field name="code" optional="show" />
<field name="depreciation_base" optional="show" />
<field name="value_depreciated" optional="show" />
<field name="value_residual" optional="show" />
<field name="date_start" optional="show" />
<field name="date_remove" optional="show" />
<field name="profile_id" optional="show" />
<field name="account_analytic_id" optional="hide" />
<field name="method" optional="hide" />
<field name="prorata" optional="hide" />
<field name="group_ids" widget="many2many_tags" optional="hide" />
<field
name="company_id"
groups="base.group_multi_company"
optional="show"
/>
<field
name="state"
widget="badge"
decoration-success="state == 'open'"
decoration-warning="state == 'removed'"
decoration-info="state == 'draft'"
decoration-muted="state == 'close'"
/>
</tree>
</field>
</record>
<record id="account_asset_view_search" model="ir.ui.view">
<field name="name">account.asset.search</field>
<field name="model">account.asset</field>
<field name="arch" type="xml">
<search string="Account Asset">
<filter
string="Draft"
name="draft"
domain="[('state', '=', 'draft')]"
/>
<filter
string="Running"
name="running"
domain="[('state', '=', 'open')]"
/>
<filter
string="Close"
name="close"
domain="[('state', '=', 'close')]"
/>
<filter
string="Removed"
name="removed"
domain="[('state', '=', 'removed')]"
/>
<separator />
<filter
string="Archived"
name="inactive"
domain="[('active', '=', False)]"
/>
<separator />
<field name="name" />
<field name="code" />
<field name="date_start" />
<field name="profile_id" />
<field name="group_ids" />
<field
name="partner_id"
filter_domain="[('partner_id', 'child_of', self)]"
/>
<group name="groupby">
<filter
string="Profile"
name="profile"
domain=""
context="{'group_by': 'profile_id'}"
/>
<filter
string="Status"
name="state_groupby"
domain=""
context="{'group_by': 'state'}"
/>
<filter
string="Analytic account"
name="account_analytic_groupby"
domain=""
context="{'group_by': 'account_analytic_id'}"
/>
<filter
string="Computation Method"
name="method_groupby"
domain=""
context="{'group_by': 'method'}"
/>
</group>
</search>
</field>
</record>
<record id="account_asset_action" model="ir.actions.act_window">
<field name="name">Assets</field>
<field name="res_model">account.asset</field>
<field name="view_mode">tree,form</field>
</record>
<record id="act_entries_open" model="ir.actions.act_window">
<field name="name">Journal Items</field>
<field name="binding_model_id" ref="model_account_asset" />
<field name="binding_view_types">form</field>
<field name="res_model">account.move.line</field>
<field
name="domain"
>['|',('asset_id','in',context.get('active_ids')),('asset_id','=','active_id')]</field>
</record>
</odoo>