[IMP]improve code for wizard

bzr revid: sgo@tinyerp.com-20120928121922-p4vzwtxui1qhwmqm
This commit is contained in:
Sanjay Gohel (Open ERP) 2012-09-28 17:49:22 +05:30
parent 376542c45b
commit 56f50dfaf7
4 changed files with 30 additions and 80 deletions

View File

@ -50,40 +50,4 @@ class account_journal(osv.osv):
}
account_journal()
class account_analytic_journal_report_print(osv.osv_memory):
_name = 'account.analytic.journal.report.print'
_description = 'Account Analytic Journal Print'
_columns = {
'date1': fields.date('Start of period', required=True),
'date2': fields.date('End of period', required=True),
'analytic_account_journal_id': fields.many2many('account.analytic.journal', 'account_analytic_journal_name', 'journal_line_id', 'journal_print_id', 'Journals', required=True),
}
_defaults = {
'date1': lambda *a: time.strftime('%Y-01-01'),
'date2': lambda *a: time.strftime('%Y-%m-%d')
}
def check_print_report(self, cr, uid, ids, context=None):
if context is None:
context = {}
data = self.read(cr, uid, ids)[0]
data_b = self.browse(cr, uid, ids)[0]
analytic_jounal_id = []
for journal_id in data_b.analytic_account_journal_id:
analytic_jounal_id.append(journal_id.id)
datas = {
'ids': analytic_jounal_id,
'model': 'account.analytic.journal',
'form': data
}
return {
'type': 'ir.actions.report.xml',
'report_name': 'account.analytic.journal',
'datas': datas,
}
account_analytic_journal_report_print()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -344,47 +344,9 @@
id="account_analytic_journal_entries"
parent="menu_finance_entries"/>
<record id="account_analytic_journal_print_view" model="ir.ui.view">
<field name="name">Account Analytic Journal</field>
<field name="model">account.analytic.journal.report.print</field>
<field name="arch" type="xml">
<form string="Select Period" version="7.0">
<group>
<field name="analytic_account_journal_id" widget="many2many_tags" class="oe_inline"/>
<label for="date1" string="Period"/>
<div>
<field name="date1"/>-
<field name="date2"/>
</div>
</group>
<footer>
<button name="check_print_report" string="Print" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="action_account_analytic_journal_print" model="ir.actions.act_window">
<field name="name">Analytic Journal</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.analytic.journal.report.print</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="account_analytic_journal_print_view"/>
<field name="target">new</field>
</record>
#
# Reporting
#
<menuitem groups="analytic.group_analytic_accounting" id="next_id_40"
name="Analytic" parent="account.menu_finance_generic_reporting"
sequence="4"/>
<menuitem groups="analytic.group_analytic_accounting"
action="action_account_analytic_journal_print"
id="account_analytic_journal_print" parent="account.next_id_40"/>
<record id="view_account_journal_1" model="ir.ui.view">
<field name="name">account.journal.form.1</field>

View File

@ -29,6 +29,7 @@ class account_analytic_journal_report(osv.osv_memory):
_columns = {
'date1': fields.date('Start of period', required=True),
'date2': fields.date('End of period', required=True),
'analytic_account_journal_id': fields.many2many('account.analytic.journal', 'account_analytic_journal_name', 'journal_line_id', 'journal_print_id', 'Analytic Journals', required=True),
}
_defaults = {
@ -40,8 +41,15 @@ class account_analytic_journal_report(osv.osv_memory):
if context is None:
context = {}
data = self.read(cr, uid, ids)[0]
ids_list = []
if context.get('active_id',False):
ids_list.append(context.get('active_id',False))
else:
record = self.browse(cr,uid,ids[0],context=context)
for analytic_record in record.analytic_account_journal_id:
ids_list.append(analytic_record.id)
datas = {
'ids': context.get('active_ids',[]),
'ids': ids_list,
'model': 'account.analytic.journal',
'form': data
}
@ -50,6 +58,14 @@ class account_analytic_journal_report(osv.osv_memory):
'report_name': 'account.analytic.journal',
'datas': datas,
}
def default_get(self, cr, uid, fields, context=None):
if context is None:
context = {}
res = super(account_analytic_journal_report, self).default_get(cr, uid, fields, context=context)
if 'analytic_account_journal_id' in fields:
res.update({'analytic_account_journal_id': context.get('active_ids',[])})
return res
account_analytic_journal_report()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -7,15 +7,16 @@
<field name="model">account.analytic.journal.report</field>
<field name="arch" type="xml">
<form string="Select Period" version="7.0">
<header>
<button name="check_report" string="Print" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</header>
<group col="4">
<field name="date1"/>
<field name="date2"/>
<field name="analytic_account_journal_id" widget="many2many_tags" class="oe_inline" required="1"/>
</group>
<footer>
<button name="check_report" string="Print" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>
@ -38,6 +39,13 @@
<field name="key">action</field>
<field name="model">account.analytic.journal</field>
</record>
<menuitem groups="analytic.group_analytic_accounting" id="next_id_40"
name="Analytic" parent="account.menu_finance_generic_reporting"
sequence="4"/>
<menuitem groups="analytic.group_analytic_accounting"
action="account.action_account_analytic_journal"
id="account_analytic_journal_print" parent="account.next_id_40"/>
</data>
</openerp>