Remove journal view
The feature can be emulated by contextual view inheritance. issue6002 review31681002
This commit is contained in:
1 parent
68581bf1e8
commit
760f71d95d
12 files changed
+3
-220
No files matched your search
@@ -1,3 +1,4 @@
|
||||
* Remove journal view
|
||||
* Add amount second currency on Account
|
||||
* Enforce second currency on Account
|
||||
* Remove code from Fiscalyear and Period
|
||||
|
||||
@@ -40,8 +40,6 @@ def register():
|
||||
Configuration,
|
||||
Period,
|
||||
JournalType,
|
||||
JournalView,
|
||||
JournalViewColumn,
|
||||
Journal,
|
||||
JournalCashContext,
|
||||
JournalPeriod,
|
||||
|
||||
@@ -99,8 +99,6 @@ A Journal contains the following fields:
|
||||
- Name
|
||||
- Code
|
||||
- Active: A checkbox that allow to disable the tax.
|
||||
- View: Defines how the moves lines on this journal should be
|
||||
displayed.
|
||||
- Default Credit Account, Default Debit Account: Used as default
|
||||
accounts on move lines for journals of *Cash* type.
|
||||
- Type: By default take one of the following values: *General*,
|
||||
|
||||
+2
-45
@@ -5,8 +5,7 @@ from decimal import Decimal
|
||||
from sql import Null
|
||||
from sql.aggregate import Sum
|
||||
|
||||
from trytond.model import ModelView, ModelSQL, fields, Unique, \
|
||||
sequence_ordered
|
||||
from trytond.model import ModelView, ModelSQL, fields, Unique
|
||||
from trytond.wizard import Wizard, StateTransition
|
||||
from trytond import backend
|
||||
from trytond.pyson import Eval, Bool
|
||||
@@ -14,7 +13,7 @@ from trytond.transaction import Transaction
|
||||
from trytond.pool import Pool
|
||||
from trytond.tools import reduce_ids, grouped_slice
|
||||
|
||||
__all__ = ['JournalType', 'JournalView', 'JournalViewColumn', 'Journal',
|
||||
__all__ = ['JournalType', 'Journal',
|
||||
'JournalCashContext',
|
||||
'JournalPeriod', 'CloseJournalPeriod', 'ReOpenJournalPeriod']
|
||||
|
||||
@@ -45,47 +44,6 @@ class JournalType(ModelSQL, ModelView):
|
||||
cls._order.insert(0, ('code', 'ASC'))
|
||||
|
||||
|
||||
class JournalView(ModelSQL, ModelView):
|
||||
'Journal View'
|
||||
__name__ = 'account.journal.view'
|
||||
name = fields.Char('Name', size=None, required=True)
|
||||
columns = fields.One2Many('account.journal.view.column', 'view', 'Columns')
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(JournalView, cls).__setup__()
|
||||
cls._order.insert(0, ('name', 'ASC'))
|
||||
|
||||
|
||||
class JournalViewColumn(sequence_ordered(), ModelSQL, ModelView):
|
||||
'Journal View Column'
|
||||
__name__ = 'account.journal.view.column'
|
||||
name = fields.Char('Name', size=None, required=True)
|
||||
field = fields.Many2One('ir.model.field', 'Field', required=True,
|
||||
domain=[('model.model', '=', 'account.move.line')])
|
||||
view = fields.Many2One('account.journal.view', 'View', select=True)
|
||||
required = fields.Boolean('Required')
|
||||
readonly = fields.Boolean('Readonly')
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module_name):
|
||||
TableHandler = backend.get('TableHandler')
|
||||
table = TableHandler(cls, module_name)
|
||||
|
||||
super(JournalViewColumn, cls).__register__(module_name)
|
||||
|
||||
# Migration from 2.4: drop required on sequence
|
||||
table.not_null_action('sequence', action='remove')
|
||||
|
||||
@staticmethod
|
||||
def default_required():
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
def default_readonly():
|
||||
return False
|
||||
|
||||
|
||||
class Journal(ModelSQL, ModelView):
|
||||
'Journal'
|
||||
__name__ = 'account.journal'
|
||||
@@ -93,7 +51,6 @@ class Journal(ModelSQL, ModelView):
|
||||
code = fields.Char('Code', size=None)
|
||||
active = fields.Boolean('Active', select=True)
|
||||
type = fields.Selection('get_types', 'Type', required=True)
|
||||
view = fields.Many2One('account.journal.view', 'View')
|
||||
sequence = fields.Property(fields.Many2One('ir.sequence', 'Sequence',
|
||||
domain=[('code', '=', 'account.journal')],
|
||||
context={'code': 'account.journal'},
|
||||
|
||||
-79
@@ -72,85 +72,6 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<field name="code">write-off</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="journal_view_view_form">
|
||||
<field name="model">account.journal.view</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">journal_view_form</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="journal_view_view_tree">
|
||||
<field name="model">account.journal.view</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="name">journal_view_tree</field>
|
||||
</record>
|
||||
<record model="ir.action.act_window" id="act_journal_view_form">
|
||||
<field name="name">Journal Views</field>
|
||||
<field name="res_model">account.journal.view</field>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_journal_view_form_view1">
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="view" ref="journal_view_view_tree"/>
|
||||
<field name="act_window" ref="act_journal_view_form"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_journal_view_form_view2">
|
||||
<field name="sequence" eval="20"/>
|
||||
<field name="view" ref="journal_view_view_form"/>
|
||||
<field name="act_window" ref="act_journal_view_form"/>
|
||||
</record>
|
||||
<menuitem parent="menu_journal_configuration"
|
||||
action="act_journal_view_form" id="menu_journal_view_form"/>
|
||||
|
||||
<record model="ir.model.access" id="access_journal_view">
|
||||
<field name="model" search="[('model', '=', 'account.journal.view')]"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_delete" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.access" id="access_journal_view_account_admin">
|
||||
<field name="model" search="[('model', '=', 'account.journal.view')]"/>
|
||||
<field name="group" ref="group_account_admin"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
<field name="perm_create" eval="True"/>
|
||||
<field name="perm_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="journal_view_column_view_list">
|
||||
<field name="model">account.journal.view.column</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="priority" eval="10"/>
|
||||
<field name="name">journal_view_column_list</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="journal_view_column_view_list_sequence">
|
||||
<field name="model">account.journal.view.column</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="priority" eval="20"/>
|
||||
<field name="name">journal_view_column_list_sequence</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="journal_view_column_view_form">
|
||||
<field name="model">account.journal.view.column</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">journal_view_column_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.access" id="access_journal_view_column">
|
||||
<field name="model" search="[('model', '=', 'account.journal.view.column')]"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_delete" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.access" id="access_journal_view_column_account_admin">
|
||||
<field name="model" search="[('model', '=', 'account.journal.view.column')]"/>
|
||||
<field name="group" ref="group_account_admin"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
<field name="perm_create" eval="True"/>
|
||||
<field name="perm_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="journal_view_form">
|
||||
<field name="model">account.journal</field>
|
||||
<field name="type">form</field>
|
||||
|
||||
@@ -1498,43 +1498,6 @@ class Line(ModelSQL, ModelView):
|
||||
})
|
||||
return toolbar
|
||||
|
||||
@classmethod
|
||||
def fields_view_get(cls, view_id=None, view_type='form'):
|
||||
Journal = Pool().get('account.journal')
|
||||
result = super(Line, cls).fields_view_get(view_id=view_id,
|
||||
view_type=view_type)
|
||||
if view_type == 'tree' and 'journal' in Transaction().context:
|
||||
journal = Journal(Transaction().context['journal'])
|
||||
|
||||
if not journal.view:
|
||||
return result
|
||||
|
||||
xml = '<?xml version="1.0"?>\n' \
|
||||
'<tree editable="top" on_write="on_write">\n'
|
||||
fields = set()
|
||||
for column in journal.view.columns:
|
||||
fields.add(column.field.name)
|
||||
attrs = []
|
||||
if column.field.name == 'debit':
|
||||
attrs.append('sum="Debit"')
|
||||
elif column.field.name == 'credit':
|
||||
attrs.append('sum="Credit"')
|
||||
if column.readonly:
|
||||
attrs.append('readonly="1"')
|
||||
if column.required:
|
||||
attrs.append('required="1"')
|
||||
else:
|
||||
attrs.append('required="0"')
|
||||
xml += ('<field name="%s" %s/>\n'
|
||||
% (column.field.name, ' '.join(attrs)))
|
||||
for depend in getattr(cls, column.field.name).depends:
|
||||
fields.add(depend)
|
||||
fields.add('state')
|
||||
xml += '</tree>'
|
||||
result['arch'] = xml
|
||||
result['fields'] = cls.fields_get(fields_names=list(fields))
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def reconcile(cls, lines, journal=None, date=None, account=None,
|
||||
description=None):
|
||||
|
||||
@@ -14,9 +14,6 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<field name="type"/>
|
||||
<label name="sequence"/>
|
||||
<field name="sequence"/>
|
||||
<label name="view"/>
|
||||
<field name="view"/>
|
||||
<newline/>
|
||||
<label name="debit_account"/>
|
||||
<field name="debit_account"/>
|
||||
<label name="credit_account"/>
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<form>
|
||||
<label name="name"/>
|
||||
<field name="name"/>
|
||||
<label name="sequence"/>
|
||||
<field name="sequence"/>
|
||||
<label name="field"/>
|
||||
<field name="field"/>
|
||||
<label name="view"/>
|
||||
<field name="view"/>
|
||||
<label name="required"/>
|
||||
<field name="required"/>
|
||||
<label name="readonly"/>
|
||||
<field name="readonly"/>
|
||||
</form>
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tree>
|
||||
<field name="view"/>
|
||||
<field name="name"/>
|
||||
<field name="field"/>
|
||||
<field name="required"/>
|
||||
<field name="readonly"/>
|
||||
</tree>
|
||||
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tree sequence="sequence" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="field"/>
|
||||
<field name="required"/>
|
||||
<field name="readonly"/>
|
||||
</tree>
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<form col="2">
|
||||
<label name="name"/>
|
||||
<field name="name"/>
|
||||
<field name="columns" colspan="2"
|
||||
view_ids="account.journal_view_column_view_list_sequence">
|
||||
</field>
|
||||
</form>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
Reference in new issue
Block a user