[IMP] Clean journal reports

bzr revid: mra@mra-laptop-20100713033927-bzzw4lkodqhzumjj
This commit is contained in:
Mustufa Rangwala 2010-07-13 09:09:27 +05:30
parent 858d5c3786
commit 236aacd7cb
4 changed files with 38 additions and 120 deletions

View File

@ -29,22 +29,6 @@ from report import report_sxw
#
class journal_print(report_sxw.rml_parse, account_journal_common_default):
def set_context(self, objects, data, ids, report_type=None):
new_ids = ids
self.query_get_clause = ''
self.sort_selection = 'date'
if (data['model'] == 'ir.ui.menu'):
new_ids = 'active_ids' in data['form'] and data['form']['active_ids'] or []
self.query_get_clause = 'AND '
self.query_get_clause += data['form']['query_line'] or ''
self.sort_selection = data['form']['sort_selection']
objects = self.pool.get('account.journal.period').browse(self.cr, self.uid, new_ids)
if new_ids:
self.cr.execute('SELECT period_id, journal_id FROM account_journal_period WHERE id IN %s', (tuple(new_ids),))
res = self.cr.fetchall()
self.period_ids, self.journal_ids = zip(*res)
return super(journal_print, self).set_context(objects, data, ids, report_type)
def __init__(self, cr, uid, name, context=None):
if context is None:
context = {}
@ -64,6 +48,22 @@ class journal_print(report_sxw.rml_parse, account_journal_common_default):
'get_end_date': self._get_end_date
})
def set_context(self, objects, data, ids, report_type=None): # Improve move to common default?
new_ids = ids
self.query_get_clause = ''
self.sort_selection = 'date'
if (data['model'] == 'ir.ui.menu'):
new_ids = 'active_ids' in data['form'] and data['form']['active_ids'] or []
self.query_get_clause = 'AND '
self.query_get_clause += data['form']['query_line'] or ''
self.sort_selection = data['form']['sort_selection']
objects = self.pool.get('account.journal.period').browse(self.cr, self.uid, new_ids)
if new_ids:
self.cr.execute('SELECT period_id, journal_id FROM account_journal_period WHERE id IN %s', (tuple(new_ids),))
res = self.cr.fetchall()
self.period_ids, self.journal_ids = zip(*res)
return super(journal_print, self).set_context(objects, data, ids, report_type)
def lines(self, period_id, journal_id=[]):
obj_mline = self.pool.get('account.move.line')
self.cr.execute('update account_journal_period set state=%s where journal_id IN %s and period_id=%s and state=%s', ('printed', self.journal_ids, period_id, 'draft'))
@ -72,29 +72,6 @@ class journal_print(report_sxw.rml_parse, account_journal_common_default):
ids = map(lambda x: x[0], self.cr.fetchall())
return obj_mline.browse(self.cr, self.uid, ids)
# def _sum_debit(self, period_id, journal_id=[]):
# self.cr.execute('SELECT SUM(debit) FROM account_move_line l WHERE period_id=%s AND journal_id IN %s '+ self.query_get_clause +'', (period_id, self.journal_ids))
# return self.cr.fetchone()[0] or 0.0
#
# def _sum_credit(self, period_id, journal_id=[]):
# self.cr.execute('SELECT SUM(credit) FROM account_move_line l WHERE period_id=%s AND journal_id IN %s '+ self.query_get_clause +'', (period_id, self.journal_ids))
# return self.cr.fetchone()[0] or 0.0
# def get_start_period(self, form):
# if 'period_from' in form and form['period_from']:
# return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr,self.uid,form['period_from']).name
# return ''
#
# def get_end_period(self, form):
# if 'period_to' in form and form['period_to']:
# return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr,self.uid,form['period_to']).name
# return ''
# def get_account(self, form):
# if form and 'chart_account_id' in form and form['chart_account_id']:
# return pooler.get_pool(self.cr.dbname).get('account.account').browse(self.cr,self.uid,form['chart_account_id']).name
# return ''
report_sxw.report_sxw('report.account.journal.period.print', 'account.journal.period', 'addons/account/report/account_journal.rml', parser=journal_print, header=False)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -107,6 +107,7 @@ class account_journal_common_default(object):
self.cr.execute('SELECT SUM(credit) FROM account_move_line l '
'WHERE period_id=%s AND journal_id IN %s '+self.query_get_clause +' ',
(period_id, tuple(journals)))
return self.cr.fetchone()[0] or 0.0
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -29,20 +29,6 @@ import pooler
#
class journal_print(report_sxw.rml_parse, account_journal_common_default):
def set_context(self, objects, data, ids, report_type=None):
new_ids = ids
self.query_get_clause = ''
if (data['model'] == 'ir.ui.menu'):
new_ids = 'active_ids' in data['form'] and data['form']['active_ids'] or []
self.query_get_clause = 'AND '
self.query_get_clause += data['form']['query_line'] or ''
objects = self.pool.get('account.journal.period').browse(self.cr, self.uid, new_ids)
if new_ids:
self.cr.execute('SELECT period_id, journal_id FROM account_journal_period WHERE id IN %s', (tuple(new_ids),))
res = self.cr.fetchall()
self.period_ids, self.journal_ids = zip(*res)
return super(journal_print, self).set_context(objects, data, ids, report_type)
def __init__(self, cr, uid, name, context=None):
if context is None:
context = {}
@ -59,24 +45,25 @@ class journal_print(report_sxw.rml_parse, account_journal_common_default):
# 'get_end_date': self.get_end_date
})
def set_context(self, objects, data, ids, report_type=None): # Improve move to common default?
new_ids = ids
self.query_get_clause = ''
if (data['model'] == 'ir.ui.menu'):
new_ids = 'active_ids' in data['form'] and data['form']['active_ids'] or []
self.query_get_clause = 'AND '
self.query_get_clause += data['form']['query_line'] or ''
objects = self.pool.get('account.journal.period').browse(self.cr, self.uid, new_ids)
if new_ids:
self.cr.execute('SELECT period_id, journal_id FROM account_journal_period WHERE id IN %s', (tuple(new_ids),))
res = self.cr.fetchall()
self.period_ids, self.journal_ids = zip(*res)
return super(journal_print, self).set_context(objects, data, ids, report_type)
def lines(self, period_id, journal_id):
self.cr.execute('SELECT a.code, a.name, SUM(debit) AS debit, SUM(credit) AS credit from account_move_line l LEFT JOIN account_account a ON (l.account_id=a.id) WHERE l.period_id=%s AND l.journal_id=%s '+self.query_get_clause+' GROUP BY a.id, a.code, a.name', (period_id, journal_id))
res = self.cr.dictfetchall()
return res
# def _sum_debit(self, period_id, journal_id):
# self.cr.execute('SELECT SUM(debit) FROM account_move_line l WHERE period_id=%s AND journal_id=%s '+self.query_get_clause+' ', (period_id, journal_id))
# return self.cr.fetchone()[0] or 0.0
#
# def _sum_credit(self, period_id, journal_id):
# self.cr.execute('SELECT SUM(credit) FROM account_move_line l WHERE period_id=%s AND journal_id=%s '+self.query_get_clause+'', (period_id, journal_id))
# return self.cr.fetchone()[0] or 0.0
#
# def get_start_date(self, form):
# return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr,self.uid,form['period_from']).name
#
# def get_end_date(self, form):
# return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr,self.uid,form['period_to']).name
report_sxw.report_sxw('report.account.central.journal', 'account.journal.period', 'addons/account/report/central_journal.rml', parser=journal_print, header=False)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -28,6 +28,7 @@ from report import report_sxw
# Use period and Journal for selection or resources
#
class journal_print(report_sxw.rml_parse, account_journal_common_default):
def __init__(self, cr, uid, name, context=None):
if context is None:
context = {}
@ -47,7 +48,7 @@ class journal_print(report_sxw.rml_parse, account_journal_common_default):
'get_filter': self._get_filter
})
def set_context(self, objects, data, ids, report_type=None):
def set_context(self, objects, data, ids, report_type=None): # Improve move to common default?
new_ids = ids
self.query_get_clause = ''
if (data['model'] == 'ir.ui.menu'):
@ -84,56 +85,8 @@ class journal_print(report_sxw.rml_parse, account_journal_common_default):
'GROUP BY j.id, j.code, j.name',
(period_id, tuple(self.journal_ids)))
res = self.cr.dictfetchall()
return res
# def _sum_debit_period(self, period_id, journal_id=None):
# journals = journal_id or self.journal_ids
# if not journals:
# return 0.0
# self.cr.execute('SELECT SUM(debit) FROM account_move_line l '
# 'WHERE period_id=%s AND journal_id IN %s '+ self.query_get_clause +'',
# (period_id, tuple(journals)))
#
# return self.cr.fetchone()[0] or 0.0
#
# def _sum_credit_period(self, period_id, journal_id=None):
# journals = journal_id or self.journal_ids
# if not journals:
# return 0.0
# self.cr.execute('SELECT SUM(credit) FROM account_move_line l '
# 'WHERE period_id=%s AND journal_id IN %s '+self.query_get_clause +' ',
# (period_id, tuple(journals)))
# return self.cr.fetchone()[0] or 0.0
# def _sum_debit(self, period_id=None, journal_id=None):
# journals = journal_id or self.journal_ids
# periods = period_id or self.period_ids
# if not (journals and periods):
# return 0.0
# self.cr.execute('SELECT SUM(debit) FROM account_move_line l '
# 'WHERE period_id IN %s '
# 'AND journal_id IN %s '+self.query_get_clause +'',
# (tuple(periods), tuple(journals)))
# res = self.cr.fetchone()[0]
# return res or 0.0
#
# def _sum_credit(self, period_id=None, journal_id=None):
# periods = period_id or self.period_ids
# journals = journal_id or self.journal_ids
# if not (periods and journals):
# return 0.0
# self.cr.execute('SELECT SUM(credit) FROM account_move_line l '
# 'WHERE period_id IN %s '
# 'AND journal_id IN %s '+self.query_get_clause +'',
# (tuple(periods), tuple(journals)))
# return self.cr.fetchone()[0] or 0.0
def get_start_date(self, form):
return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr,self.uid,form['period_from']).name
def get_end_date(self, form):
return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr,self.uid,form['period_to']).name
return self.cr.dictfetchall()
report_sxw.report_sxw('report.account.general.journal', 'account.journal.period', 'addons/account/report/general_journal.rml', parser=journal_print, header=False)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: