[IMP] account: account_journal_common_default => Improve class add some more methods remove from old report journal files

bzr revid: mra@mra-laptop-20100710123837-gjmixcj0ibvd0lsg
This commit is contained in:
Mustufa Rangwala
2010-07-10 18:08:37 +05:30
parent f4a423b139
commit d3cdab2d55
4 changed files with 126 additions and 81 deletions
+20 -20
View File
@@ -70,28 +70,28 @@ 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_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 _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_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 ''
# 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)
+1 -1
View File
@@ -222,7 +222,7 @@
<td><para style="terp_default_Centre_8">[[ data and 'form' in data and data['form']['date_from'] or '' ]]</para></td>
<td><para style="terp_default_Centre_8">[[ data and 'form' in data and data['form']['date_to'] or '']]</para></td>
<td><para style="terp_default_Centre_8">[[ data and 'form' in data and data['form']['sort_selection'] or 'date' ]]</para></td>
<td><para style="terp_default_Centre_8">[[ get_account(data and 'form' in data and data['form'] or None) ]]</para></td>
<td><para style="terp_default_Centre_8">[[ get_account(data) or removeParentNode('para') ]]</para></td>
<td><para style="terp_default_Centre_8">[[ get_start_period(data) or removeParentNode('para') ]]</para></td>
<td><para style="terp_default_Centre_8">[[ get_end_period(data) or removeParentNode('para') ]]</para></td>
<td><para style="terp_default_Centre_8">[[ data and 'form' in data and data['form']['filter'] or 'No Filter' ]]</para></td>
@@ -18,32 +18,77 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from osv import osv, fields
from tools.translate import _
import pooler
class account_journal_common_default(object):
def _sum_debit(self, period_id, journal_id=False):
if isinstance(journal_id, int):
def _sum_debit(self, period_id=False, journal_id=False):
if journal_id and isinstance(journal_id, int):
journal_id = [journal_id]
if not journal_id:
journal_id = self.journal_ids
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(journal_id)))
res = self.cr.fetchone()[0]
return res or 0.0
def _sum_credit(self, period_id, journal_id=False):
if isinstance(journal_id, int):
journal_id = [journal_id]
if not journal_id:
journal_id = self.journal_ids
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(journal_id)))
if not period_id:
period_id = self.period_ids
if not (period_id and journal_id):
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(period_id), tuple(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 _sum_credit(self, period_id=False, journal_id=False):
if journal_id and isinstance(journal_id, int):
journal_id = [journal_id]
if not journal_id:
journal_id = self.journal_ids
if not period_id:
period_id = self.period_ids
if not (period_id and journal_id):
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(period_id), tuple(journal_id)))
return self.cr.fetchone()[0] or 0.0
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
# 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
def get_start_period(self, data):
if data.get('form', False) and data['form'].get('period_from', False):
return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr,self.uid,data['form']['period_from']).name
return ''
def get_end_period(self, data):
if data.get('form', False) and data['form'].get('period_to', False):
return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr, self.uid, data['form']['period_to']).name
return ''
def get_account(self, data):
if data.get('form', False) and data['form'].get('chart_account_id', False):
return pooler.get_pool(self.cr.dbname).get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).name
return ''
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
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+42 -42
View File
@@ -22,11 +22,12 @@
import time
import pooler
from account_journal_common_default import account_journal_common_default
from report import report_sxw
#
# Use period and Journal for selection or resources
#
class journal_print(report_sxw.rml_parse):
class journal_print(report_sxw.rml_parse, account_journal_common_default):
def __init__(self, cr, uid, name, context=None):
if context is None:
context = {}
@@ -85,48 +86,47 @@ class journal_print(report_sxw.rml_parse):
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)))
# 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
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 _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