From 187e9ff63c7b9d89a2c0a80b270bb8d05b53a27e Mon Sep 17 00:00:00 2001 From: "PSI(OpenERP)" <> Date: Thu, 5 Aug 2010 10:11:04 +0530 Subject: [PATCH 01/18] [IMP] hr_payroll: Reports improvements and add bank field on payroll advice object bzr revid: mra@mra-laptop-20100805044104-jt6s9irtb1v59fr2 --- addons/hr_payroll/hr_payroll.py | 24 +++++++ addons/hr_payroll/hr_payroll_view.xml | 15 +++-- addons/hr_payroll/report/payroll_register.rml | 20 +++--- addons/hr_payroll/report/payslip.rml | 65 ++++++------------- .../report/report_payroll_advice.rml | 43 ++++++------ 5 files changed, 87 insertions(+), 80 deletions(-) diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py index a7984d7c7fa..6454c02a04d 100644 --- a/addons/hr_payroll/hr_payroll.py +++ b/addons/hr_payroll/hr_payroll.py @@ -325,6 +325,17 @@ class payroll_advice(osv.osv): _name = 'hr.payroll.advice' _description = 'Bank Advice Note' + def _get_bank(self, cr, uid, ids, field_name, args, context=None): + res = {} + if context is None: + context = {} + for rec in self.browse(cr, uid, ids, context=context): + if rec.company_id and rec.company_id.partner_id.bank_ids: + res[rec.id] = rec.company_id.partner_id.bank_ids[0].bank.name + else: + res[rec.id] = '' + return res + _columns = { 'register_id':fields.many2one('hr.payroll.register', 'Payroll Register', required=False), 'name':fields.char('Name', size=2048, required=True, readonly=False), @@ -340,6 +351,7 @@ class payroll_advice(osv.osv): 'chaque_nos':fields.char('Chaque Nos', size=256, required=False, readonly=False), 'account_id': fields.many2one('account.account', 'Account', required=True), 'company_id':fields.many2one('res.company', 'Company', required=False), + 'bank': fields.function(_get_bank, method=True, string='Bank', type="char"), } _defaults = { @@ -368,6 +380,18 @@ class payroll_advice(osv.osv): self.write(cr, uid, ids, {'state':'cancel'}, context=context) return True + def onchange_company_id(self, cr, uid, ids, company_id, context=None): + res = {} + if context is None: + context = {} + if company_id: + company = self.pool.get('res.company').browse(cr, uid, company_id, context=context) + res.update({'bank': company.partner_id.bank_ids[0].bank.name}) + return { + 'value':res + } + + payroll_advice() class payroll_advice_line(osv.osv): diff --git a/addons/hr_payroll/hr_payroll_view.xml b/addons/hr_payroll/hr_payroll_view.xml index 8f50302d703..2ad028bd752 100644 --- a/addons/hr_payroll/hr_payroll_view.xml +++ b/addons/hr_payroll/hr_payroll_view.xml @@ -606,7 +606,7 @@ - + @@ -692,11 +692,11 @@ - + company.contribution.select company.contribution search - + @@ -720,7 +720,7 @@ company.contribution form - + - - + + + + + diff --git a/addons/hr_payroll/report/payroll_register.rml b/addons/hr_payroll/report/payroll_register.rml index 13e40b68fe5..10f01c182cd 100644 --- a/addons/hr_payroll/report/payroll_register.rml +++ b/addons/hr_payroll/report/payroll_register.rml @@ -2,7 +2,7 @@ @@ -104,7 +104,7 @@ - + Expanse To @@ -130,7 +130,7 @@ Date - [[o.date]] + [[formatLang(time.strftime('%Y-%m-%d'), date = True)]] @@ -177,22 +177,22 @@ [[ l.employee_id.name ]] - [[l.basic]] + [[formatLang(l.basic)]] - [[l.other_pay]] + [[formatLang(l.other_pay)]] - [[l.allounce]] + [[formatLang(l.allounce)]] - [[l.grows]] + [[formatLang(l.grows)]] - [[l.deduction]] + [[formatLang(l.deduction)]] - [[l.net]] + [[formatLang(l.net)]] @@ -230,7 +230,7 @@ - + For [[company.name]], diff --git a/addons/hr_payroll/report/payslip.rml b/addons/hr_payroll/report/payslip.rml index ede60a9a490..30f20d167c6 100755 --- a/addons/hr_payroll/report/payslip.rml +++ b/addons/hr_payroll/report/payslip.rml @@ -72,15 +72,9 @@ + - - - - - - - @@ -95,15 +89,9 @@ + - - - - - - - @@ -240,18 +228,18 @@ - + - - - - - - + + + + + + - - + + @@ -272,11 +260,11 @@ - + + - [[repeatIn(objects,'o')]] @@ -296,7 +284,7 @@ - + Code @@ -312,7 +300,7 @@ - + Address @@ -322,7 +310,7 @@ - + Email @@ -338,7 +326,7 @@ - + Slip ID @@ -346,12 +334,6 @@ [[ o.number or '' ]] - - Bill No - - - [[ o.move_id and o.move_id.name or '' ]] - PAN No @@ -360,7 +342,7 @@ - + Register @@ -368,17 +350,11 @@ [[ o.register_id and o.register_id.name or '' ]] - - Payment - - - [[ o.payment_id and o.payment_id.name or '' ]] - Designation - [[ o.employee_id.contract_ids and o.employee_id.contract_ids[0].function.name or '' ]] + [[ o.employee_id.contract_ids and o.employee_id.contract_ids[0].job_id.name or '' ]] @@ -515,7 +491,7 @@ - [[repeatIn(get_earnings(o.line_ids),'a') ]][[ a.code or removeParentNode('tr') ]] + [[repeatIn(get_earnings(o.line_ids),'a') ]] [[ a.code or removeParentNode('tr') ]] [[ formatLang(a.total) ]] @@ -669,3 +645,4 @@ + diff --git a/addons/hr_payroll/report/report_payroll_advice.rml b/addons/hr_payroll/report/report_payroll_advice.rml index 00a2d599d0e..d9f8c793a8e 100644 --- a/addons/hr_payroll/report/report_payroll_advice.rml +++ b/addons/hr_payroll/report/report_payroll_advice.rml @@ -64,14 +64,14 @@ - + - + - - + + @@ -81,8 +81,8 @@ - - + + @@ -97,10 +97,10 @@ - - - - + + + + @@ -109,15 +109,15 @@ - - - - + + + + - - + + + - [[repeatIn(objects,'o')]] Payment Advice @@ -132,7 +132,9 @@ - [[ formatLang(o.date,date=True) ]] + + + @@ -147,7 +149,7 @@ - Axis Bank + [[o.bank or 'Bank']] @@ -172,7 +174,7 @@ - [[ o.name ]] for period [[ get_month(o.date)['mname'] ]] + [[ o.name ]] for period [[ get_month(o.date)['mname'] ]] @@ -335,3 +337,4 @@ + From bef2f4f82ade6a7713ab90d89d69452676757db3 Mon Sep 17 00:00:00 2001 From: "p_christ@hol.gr" <> Date: Thu, 5 Aug 2010 10:58:15 +0530 Subject: [PATCH 02/18] [FIX] Project: Task search fix regression bzr revid: mra@mra-laptop-20100805052815-3gum037ihtbp5bp3 --- addons/project/project.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index f0e1ceaaddd..fd839149422 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -335,28 +335,29 @@ class task(osv.osv): _description = "Task" _log_create = True _date_name = "date_start" - + def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False): + obj_project = self.pool.get('project.project') for domain in args: if domain[0] == 'project_id' and (not isinstance(domain[2], str)): - id = isinstance(domain[2], list) and int(domain[2][0]) or int(domain[2]) - if id: - if self.pool.get('project.project').read(cr, user, id, ['state'])['state'] == 'template': - args.append(['active', '=', False]) + id = isinstance(domain[2], list) and domain[2][0] or domain[2] + if id and isinstance(id, (long, int)): + if obj_project.read(cr, user, id, ['state'])['state'] == 'template': + args.append(('active', '=', False)) return super(task, self).search(cr, user, args, offset=offset, limit=limit, order=order, context=context, count=count) def _str_get(self, task, level=0, border='***', context=None): return border+' '+(task.user_id and task.user_id.name.upper() or '')+(level and (': L'+str(level)) or '')+(' - %.1fh / %.1fh'%(task.effective_hours or 0.0,task.planned_hours))+' '+border+'\n'+ \ border[0]+' '+(task.name or '')+'\n'+ \ (task.description or '')+'\n\n' - + # Compute: effective_hours, total_hours, progress def _hours_get(self, cr, uid, ids, field_names, args, context=None): project_obj = self.pool.get('project.project') res = {} cr.execute("SELECT task_id, COALESCE(SUM(hours),0) FROM project_task_work WHERE task_id IN %s GROUP BY task_id",(tuple(ids),)) hours = dict(cr.fetchall()) - + uom_obj = self.pool.get('product.uom') user_uom, default_uom = project_obj._get_user_and_default_uom_ids(cr, uid) if user_uom != default_uom: From fa1990b532f9602beee7e955c0a61ab4d9299b66 Mon Sep 17 00:00:00 2001 From: "sbh (Open ERP)" Date: Thu, 5 Aug 2010 11:09:52 +0530 Subject: [PATCH 03/18] [Fix] stock : Fix the packing report bzr revid: sbh@tinyerp.com-20100805053952-8suzix8brrra4x8s --- addons/stock/report/packing.rml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/addons/stock/report/packing.rml b/addons/stock/report/packing.rml index 3db817996d9..7288615da6d 100644 --- a/addons/stock/report/packing.rml +++ b/addons/stock/report/packing.rml @@ -276,12 +276,11 @@ - [[ (move_lines.state == 'done' or move_lines.state == 'confirmed') and removeParentNode('para') ]] - Non Assigned Products: [[ ( move_lines.state == 'assigned' or move_lines.state == 'done' or move_lines.state == 'confirmed' ) and removeParentNode('para') ]] - [[ (move_lines.state == 'done' or move_lines.state == 'confirmed') and removeParentNode('para') ]] -
- [[ repeatIn([line for line in picking.move_lines if (line.state != 'assigned' )],'move_lines') ]] + + [[ ([line for line in picking.move_lines if (line.state == 'draft' )]) and 'Non Assigned Products:' or removeParentNode('para') ]] +
+ [[ repeatIn([line for line in picking.move_lines if (line.state != 'assigned' )],'move_lines') ]] [ [[ move_lines.product_id.default_code ]] ] [[ move_lines.product_id.name ]] [[ move_lines.product_id.variants or '']] From 5b52666f71e44d2478ab2399b30360acf6db717b Mon Sep 17 00:00:00 2001 From: "atp (Open ERP)" Date: Thu, 5 Aug 2010 11:18:57 +0530 Subject: [PATCH 04/18] [IMP]: Use Tooltips in auction form and change menu name. bzr revid: atp@tinyerp.co.in-20100805054857-iw21bieed73n29ns --- addons/auction/auction.py | 16 ++++++++-------- addons/auction/auction_view.xml | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/addons/auction/auction.py b/addons/auction/auction.py index 41c75e0fe7b..6a241873f98 100644 --- a/addons/auction/auction.py +++ b/addons/auction/auction.py @@ -72,14 +72,14 @@ class auction_dates(osv.osv): _columns = { 'name': fields.char('Auction Name', size=64, required=True), - 'expo1': fields.date('First Exposition Day', required=True), - 'expo2': fields.date('Last Exposition Day', required=True), - 'auction1': fields.date('First Auction Day', required=True), - 'auction2': fields.date('Last Auction Day', required=True), - 'journal_id': fields.many2one('account.journal', 'Buyer Journal', required=True), - 'journal_seller_id': fields.many2one('account.journal', 'Seller Journal', required=True), - 'buyer_costs': fields.many2many('account.tax', 'auction_buyer_taxes_rel', 'auction_id', 'tax_id', 'Buyer Costs'), - 'seller_costs': fields.many2many('account.tax', 'auction_seller_taxes_rel', 'auction_id', 'tax_id', 'Seller Costs'), + 'expo1': fields.date('First Exposition Day', required=True, help="Beginning Exposition Date For Auction"), + 'expo2': fields.date('Last Exposition Day', required=True, help="Last Exposition Date For Auction"), + 'auction1': fields.date('First Auction Day', required=True, help="Start Date Of Auction"), + 'auction2': fields.date('Last Auction Day', required=True, help="End Date Of Auction"), + 'journal_id': fields.many2one('account.journal', 'Buyer Journal', required=True, help="Account Journal For Buyer"), + 'journal_seller_id': fields.many2one('account.journal', 'Seller Journal', required=True, help="Account Journal For Seller"), + 'buyer_costs': fields.many2many('account.tax', 'auction_buyer_taxes_rel', 'auction_id', 'tax_id', 'Buyer Costs', help="Account Tax For Buyer"), + 'seller_costs': fields.many2many('account.tax', 'auction_seller_taxes_rel', 'auction_id', 'tax_id', 'Seller Costs', help="Account Tax For Seller"), 'acc_income': fields.many2one('account.account', 'Income Account', required=True), 'acc_expense': fields.many2one('account.account', 'Expense Account', required=True), 'adj_total': fields.function(_adjudication_get, method=True, string='Total Adjudication', store=True), diff --git a/addons/auction/auction_view.xml b/addons/auction/auction_view.xml index 46d49754d16..6079081c417 100644 --- a/addons/auction/auction_view.xml +++ b/addons/auction/auction_view.xml @@ -55,6 +55,7 @@ + auction.lot.category.form auction.lot.category @@ -91,7 +92,6 @@ -