[REVIEW]: review accounting menus

[IMP]: finally replace the wizard Entry by Line to simple entry system

bzr revid: mga@tinyerp.com-20100622141042-7i884fp2vd5bjxad
This commit is contained in:
Mantavya Gajjar 2010-06-22 19:40:42 +05:30
parent 218a87c60e
commit 5d8d3ce79e
5 changed files with 120 additions and 75 deletions

View File

@ -584,6 +584,9 @@ class account_journal_column(osv.osv):
result = []
cols = self.pool.get('account.move.line')._columns
for col in cols:
if col in ('period_id', 'journal_id'):
continue
result.append( (col, cols[col].string) )
result.sort()
return result
@ -657,11 +660,9 @@ class account_journal(osv.osv):
# })
return journal_id
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
def name_search(self, cr, user, name, args=None, operator='ilike', context={}, limit=100):
if not args:
args = []
if context is None:
context = {}
ids = []
if name:
ids = self.search(cr, user, [('code','ilike',name)]+ args, limit=limit, context=context)
@ -832,7 +833,7 @@ class account_period(osv.osv):
cr.execute('update account_period set state=%s where id=%s', (mode, id))
return True
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
def name_search(self, cr, user, name, args=None, operator='ilike', context={}, limit=80):
if args is None:
args = []
if context is None:
@ -844,7 +845,7 @@ class account_period(osv.osv):
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit)
return self.name_get(cr, user, ids, context=context)
def write(self, cr, uid, ids, vals, context=None):
def write(self, cr, uid, ids, vals, context={}):
obj=[]
if 'company_id' in vals:
move_lines = self.pool.get('account.move.line').search(cr, uid, [('period_id', 'in', ids)])

View File

@ -3,9 +3,9 @@
<data>
<menuitem icon="terp-account" id="menu_finance" name="Accounting" sequence="13"/>
<menuitem id="menu_finance_receivables" name="Receivables" parent="menu_finance" sequence="2"/>
<menuitem id="menu_finance_payables" name="Payables" parent="menu_finance" sequence="3"/>
<menuitem id="menu_finance_bank_and_cash" name="Bank and Cash" parent="menu_finance" sequence="4"/>
<menuitem id="menu_finance_receivables" name="Receivables" parent="menu_finance" sequence="1"/>
<menuitem id="menu_finance_payables" name="Payables" parent="menu_finance" sequence="2"/>
<menuitem id="menu_finance_bank_and_cash" name="Bank and Cash" parent="menu_finance" sequence="3"/>
<!-- <menuitem id="menu_accounting" name="Accounting" parent="menu_finance" sequence="5"/>-->
<menuitem id="menu_finance_periodical_processing" name="Periodical Processing" parent="menu_finance" sequence="8" groups="group_account_user"/>
<menuitem id="periodical_processing_journal_entries_validation" name="Journal Entries Validation" parent="menu_finance_periodical_processing"/>
@ -13,7 +13,7 @@
<!-- <menuitem id="periodical_processing_recurrent_entries" name="Recurrent Entries" parent="menu_finance_periodical_processing"/>-->
<menuitem id="periodical_processing_invoicing" name="Invoicing" parent="menu_finance_periodical_processing"/>
<!-- <menuitem id="periodical_processing_end_of_period" name="End of Period" parent="menu_finance_periodical_processing"/>-->
<menuitem id="menu_finance_charts" name="Charts" parent="menu_finance" sequence="10"/>
<menuitem id="menu_finance_charts" name="Charts" parent="menu_finance" sequence="5"/>
<menuitem id="menu_finance_reporting" name="Reporting" parent="account.menu_finance" sequence="12"/>
<menuitem id="menu_finance_reporting_budgets" name="Budgets" parent="menu_finance_reporting"/>
<menuitem id="menu_generic_report" name="Management Reports" parent="menu_finance_reporting"/>
@ -36,7 +36,7 @@
<!-- <menuitem id="menu_finance_legal_statement1" name="Legal Statements" parent="account.menu_finance_reporting" sequence="200"/>-->
<!-- <menuitem id="menu_generic_report" name="Generic Reports" parent="account.menu_finance_legal_statement" sequence="8"/>-->
<menuitem id="menu_finance_entries" name="Accounting" parent="menu_finance" sequence="1"
<menuitem id="menu_finance_entries" name="Accounting" parent="menu_finance" sequence="4"
groups="group_account_user"/>
<menuitem id="account.menu_finance_recurrent_entries" name="Recurrent Entries" parent="menu_finance_periodical_processing" sequence="15"/>

View File

@ -529,6 +529,7 @@ class account_move_line(osv.osv):
return result
def onchange_partner_id(self, cr, uid, ids, move_id, partner_id, account_id=None, debit=0, credit=0, date=False, journal=False):
print 'XXXXXXXXXXXXXXXXXXXXXXXXXXX : ', move_id, partner_id, account_id, debit, credit, date, journal
val = {}
val['date_maturity'] = False
@ -788,57 +789,81 @@ class account_move_line(osv.osv):
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context={}, toolbar=False, submenu=False):
result = super(osv.osv, self).fields_view_get(cr, uid, view_id,view_type,context,toolbar=toolbar, submenu=submenu)
if view_type=='tree' and 'journal_id' in context:
title = self.view_header_get(cr, uid, view_id, view_type, context)
journal = self.pool.get('account.journal').browse(cr, uid, context['journal_id'])
# if the journal view has a state field, color lines depending on
# its value
state = ''
if view_type != 'tree':
return result
fld = []
fields = {}
flds = []
title = self.view_header_get(cr, uid, view_id, view_type, context)
xml = '''<?xml version="1.0"?>\n<tree string="%s" editable="top" refresh="5" on_write="on_create_write">\n\t''' % (title)
journal_pool = self.pool.get('account.journal')
ids = journal_pool.search(cr, uid, [])
journals = journal_pool.browse(cr, uid, ids)
all_journal = []
for journal in journals:
all_journal.append(journal.id)
for field in journal.view_id.columns_id:
if field.field=='state':
state = ' colors="red:state==\'draft\'"'
#xml = '''<?xml version="1.0"?>\n<tree string="%s" editable="top" refresh="5"%s>\n\t''' % (title, state)
xml = '''<?xml version="1.0"?>\n<tree string="%s" editable="top" refresh="5" on_write="on_create_write"%s>\n\t''' % (title, state)
fields = []
widths = {
'ref': 50,
'statement_id': 50,
'state': 60,
'tax_code_id': 50,
'move_id': 40,
}
for field in journal.view_id.columns_id:
fields.append(field.field)
attrs = []
if field.field=='debit':
attrs.append('sum="Total debit"')
elif field.field=='credit':
attrs.append('sum="Total credit"')
elif field.field=='account_tax_id':
attrs.append('domain="[(\'parent_id\',\'=\',False)]"')
elif field.field=='account_id' and journal.id:
attrs.append('domain="[(\'journal_id\', \'=\', '+str(journal.id)+'),(\'type\',\'&lt;&gt;\',\'view\'), (\'type\',\'&lt;&gt;\',\'closed\')]" on_change="onchange_account_id(account_id, partner_id)"')
elif field.field == 'partner_id':
attrs.append('on_change="onchange_partner_id(move_id,partner_id,account_id,debit,credit,date,((\'journal_id\' in context) and context[\'journal_id\']) or {})"')
if field.readonly:
attrs.append('readonly="1"')
if field.required:
attrs.append('required="1"')
if not field.field in fields:
fields[field.field] = [journal.id]
fld.append((field.field, field.sequence))
flds.append(field.field)
else:
attrs.append('required="0"')
if field.field in ('amount_currency','currency_id'):
attrs.append('on_change="onchange_currency(account_id,amount_currency,currency_id,date,((\'journal_id\' in context) and context[\'journal_id\']) or {})"')
fields.get(field.field).append(journal.id)
fld.append(('period_id', 3))
fld.append(('journal_id', 10))
flds.append('period_id')
flds.append('journal_id')
fields['period_id'] = all_journal
fields['journal_id'] = all_journal
from operator import itemgetter
fld = sorted(fld, key=itemgetter(1))
if field.field in widths:
attrs.append('width="'+str(widths[field.field])+'"')
xml += '''<field name="%s" %s/>\n''' % (field.field,' '.join(attrs))
widths = {
'ref': 50,
'statement_id': 50,
'state': 60,
'tax_code_id': 50,
'move_id': 40,
}
xml += '''</tree>'''
result['arch'] = xml
result['fields'] = self.fields_get(cr, uid, fields, context)
for field_it in fld:
field = field_it[0]
if field=='state':
state = 'colors="red:state==\'draft\'"'
attrs = []
if field == 'debit':
attrs.append('sum="Total debit"')
elif field == 'credit':
attrs.append('sum="Total credit"')
elif field == 'account_tax_id':
attrs.append('domain="[(\'parent_id\',\'=\',False)]"')
elif field == 'account_id' and journal.id:
attrs.append('domain="[(\'journal_id\', \'=\', '+str(journal.id)+'),(\'type\',\'&lt;&gt;\',\'view\'), (\'type\',\'&lt;&gt;\',\'closed\')]" on_change="onchange_account_id(account_id, partner_id)"')
elif field == 'partner_id':
attrs.append('on_change="onchange_partner_id(move_id, partner_id, account_id, debit, credit, date, journal_id)"')
# if field.readonly:
# attrs.append('readonly="1"')
# if field.required:
# attrs.append('required="1"')
# else:
# attrs.append('required="0"')
if field in ('amount_currency','currency_id'):
attrs.append('on_change="onchange_currency(account_id, amount_currency,currency_id, date, journal_id)"')
if field in widths:
attrs.append('width="'+str(widths[field])+'"')
attrs.append("invisible=\"context.get('visible_id') not in %s\"" % (fields.get(field)))
xml += '''<field name="%s" %s/>\n''' % (field,' '.join(attrs))
xml += '''</tree>'''
result['arch'] = xml
result['fields'] = self.fields_get(cr, uid, flds, context)
return result
def _check_moves(self, cr, uid, context):

View File

@ -693,9 +693,23 @@
</record>
<menuitem action="action_tax_form" id="menu_action_tax_form" parent="next_id_27"/>
<!-- <wizard id="action_move_journal_line_form" menu="False" model="account.move.line" name="account.move.journal" string="Entries by Line"/>
<menuitem icon="STOCK_JUSTIFY_FILL" action="action_move_journal_line_form" id="menu_action_move_journal_line_form" parent="account.menu_finance_entries" type="wizard" sequence="5"/>
-->
<!-- <wizard id="action_move_journal_line_form" menu="False" model="account.move.line" name="account.move.journal" string="Entries by Line"/-->
<record id="action_move_journal_line" model="ir.actions.act_window">
<field name="name">Journal Entries</field>
<field name="res_model">account.move</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_account_move_filter"/>
</record>
<menuitem
icon="STOCK_JUSTIFY_FILL"
action="action_move_journal_line"
id="menu_action_move_journal_line_form"
parent="account.menu_finance_entries"
sequence="5"/>
<!--
Entries lines
-->
@ -713,7 +727,7 @@
<field name="ref"/>
<field name="invoice"/>
<field name="name"/>
<field name="partner_id"/>
<field name="partner_id" on_change="onchange_partner_id(move_id, partner_id, account_id, debit, credit, date, journal_id)"/>
<field name="account_id" domain="[('journal_id','=',journal_id)]"/>
<field name="journal_id"/>
<field name="debit" sum="Total debit"/>
@ -843,10 +857,15 @@
<field name="date" select='1'/>
<field name="account_id" select='1'/>
<field name="partner_id" select='1'>
<filter help="Next Partner Entries to reconcile" name="next_partner" string="Next Partner to reconcile" context="{'next_partner_only': 1}" icon="terp-partner" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>
<filter help="Next Partner Entries to reconcile" name="next_partner" string="Next Partner to reconcile" context="{'next_partner_only': 1}" icon="terp-partner" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>
</field>
<field name="balance" string="Debit/Credit" select='1'/>
</group>
<newline/>
<group col="10" colspan="4">
<field name="journal_id" widget="selection" context="{'journal_id':self, 'visible_id':self or 0}"/>
<field name="period_id" widget="selection" context="{'period_id':self}"/>
</group>
</search>
</field>
</record>
@ -1033,27 +1052,27 @@
</record>
<menuitem action="action_move_line_form_encode_by_move" id="menu_encode_entries_by_move" parent="menu_finance_entries"/>
<record id="action_account_moves_sale" model="ir.actions.act_window">
<field name="name">Receivable Entries</field>
<field name="res_model">account.move</field>
<field name="name">Journal Items</field>
<field name="res_model">account.move.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_account_move_filter"/>
<field name="domain">[('journal_id.type', '=', 'sale')]</field>
<field name="view_id" ref="view_move_line_tree"/>
<field name="search_view_id" ref="view_account_move_line_filter"/>
<field name="domain">[('journal_id.type', 'in', ['sale', 'sale_refund'])]</field>
</record>
<menuitem action="action_account_moves_sale" id="menu_eaction_account_moves_sale" parent="menu_finance_receivables"/>
<record id="action_account_moves_purchase" model="ir.actions.act_window">
<field name="name">Payable Entries</field>
<field name="res_model">account.move</field>
<field name="name">Transaction Journal</field>
<field name="res_model">account.move.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_account_move_filter"/>
<field name="domain">[('journal_id.type', '=', 'purchase')]</field>
<field name="view_id" ref="view_move_line_tree"/>
<field name="search_view_id" ref="view_account_move_line_filter"/>
<field name="domain">[('journal_id.type', 'in', ['purchase', 'purchase_refund'])]</field>
</record>
<menuitem action="action_account_moves_purchase" id="menu_eaction_account_moves_purchase" parent="menu_finance_payables"/>

View File

@ -118,7 +118,7 @@
<field name="domain">[('journal_id.type','=','sale')]</field>
</record>
<menuitem id="menu_action_receipt_vou_voucher_list"
action="action_receipt_vou_voucher_list" parent="account.menu_finance_receivables" sequence="8"/>
action="action_receipt_vou_voucher_list" parent="account.menu_finance_receivables" sequence="12"/>
<!-- Purchase Vouchers -->
<record model="ir.actions.act_window" id="action_pay_vou_voucher_list">
@ -130,7 +130,7 @@
<field name="domain">[('journal_id.type','=','purchase')]</field>
</record>
<menuitem id="menu_action_pay_vou_voucher_list"
action="action_pay_vou_voucher_list" parent="account.menu_finance_payables" sequence="8"/>
action="action_pay_vou_voucher_list" parent="account.menu_finance_payables" sequence="12"/>
<!-- <record model="ir.actions.act_window" id="action_receipt_cashreceipt_voucher_list">-->
<!-- <field name="name">Cash Receipt</field>-->