From b461dd366fb42ad42eaf46112acb8d8283704662 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Fri, 5 Oct 2012 12:30:33 +0530 Subject: [PATCH 01/11] [IMP]discount shown on ticket. if pos have no order lines it can not validate for ticket print. and improve report of sale detail bzr revid: sgo@tinyerp.com-20121005070033-o51n2w72j7322zg5 --- addons/point_of_sale/report/pos_details.py | 22 ++++++++++--------- addons/point_of_sale/report/pos_details.rml | 2 +- addons/point_of_sale/static/src/js/screens.js | 3 +++ addons/point_of_sale/static/src/xml/pos.xml | 13 ++++++++++- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/addons/point_of_sale/report/pos_details.py b/addons/point_of_sale/report/pos_details.py index f8565a8776a..293eeb722a3 100644 --- a/addons/point_of_sale/report/pos_details.py +++ b/addons/point_of_sale/report/pos_details.py @@ -91,16 +91,17 @@ class pos_details(report_sxw.rml_parse): def _get_sum_dis_2(self): return self.discount or 0.0 - def _get_sum_discount(self, objects): + def _get_sum_discount(self, form): #code for the sum of discount value - return reduce(lambda acc, object: - acc + reduce( - lambda sum_dis, line: - sum_dis + ((line.price_unit * line.qty) * (line.discount / 100)), - object.lines, - 0.0), - objects, - 0.0) + pos_obj = self.pool.get('pos.order') + user_obj = self.pool.get('res.users') + user_ids = form['user_ids'] or self._get_all_users() + company_id = user_obj.browse(self.cr, self.uid, self.uid).company_id.id + pos_ids = pos_obj.search(self.cr, self.uid, [('date_order','>=',form['date_start'] + ' 00:00:00'),('date_order','<=',form['date_end'] + ' 23:59:59'),('user_id','in',user_ids),('company_id','=',company_id)]) + for pos in pos_obj.browse(self.cr, self.uid, pos_ids): + for pol in pos.lines: + self.total_discount += ((pol.price_unit * pol.qty) * (pol.discount / 100)) + return self.total_discount or False def _get_payments(self, form): statement_line_obj = self.pool.get("account.bank.statement.line") @@ -179,11 +180,12 @@ class pos_details(report_sxw.rml_parse): self.qty = 0.0 self.total_invoiced = 0.0 self.discount = 0.0 + self.total_discount = 0.0 self.localcontext.update({ 'time': time, 'strip_name': self._strip_name, 'getpayments': self._get_payments, - 'getsumdisc': self._get_sum_dis_2, + 'getsumdisc': self._get_sum_discount, 'gettotalofthaday': self._total_of_the_day, 'gettaxamount': self._get_tax_amount, 'pos_sales_details':self._pos_sales_details, diff --git a/addons/point_of_sale/report/pos_details.rml b/addons/point_of_sale/report/pos_details.rml index b0019133009..8c20a786b6f 100644 --- a/addons/point_of_sale/report/pos_details.rml +++ b/addons/point_of_sale/report/pos_details.rml @@ -373,7 +373,7 @@ Total discount - [[ formatLang(getsumdisc(), dp='Sale Price') ]] [[ company.currency_id.symbol ]] + [[ formatLang(getsumdisc(data['form']), dp='Sale Price') ]] [[ company.currency_id.symbol ]] diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js index 1ad03c5ead1..1f8a35c3105 100644 --- a/addons/point_of_sale/static/src/js/screens.js +++ b/addons/point_of_sale/static/src/js/screens.js @@ -966,6 +966,9 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa this.$('#payment-paid-total').html(paidTotal.toFixed(2)); this.$('#payment-remaining').html(remaining.toFixed(2)); this.$('#payment-change').html(change.toFixed(2)); + if((currentOrder.selected_orderline == undefined)) + remaining = 1 + if(this.pos_widget.action_bar){ this.pos_widget.action_bar.set_button_disabled('validation', remaining > 0); } diff --git a/addons/point_of_sale/static/src/xml/pos.xml b/addons/point_of_sale/static/src/xml/pos.xml index 854dd61cc1b..49864f8ae68 100644 --- a/addons/point_of_sale/static/src/xml/pos.xml +++ b/addons/point_of_sale/static/src/xml/pos.xml @@ -541,6 +541,7 @@
+

@@ -553,12 +554,22 @@ + +
  • + % discount +
  • +
    - + + +
  • + - +
  • +
    From 5b48e0894e293cb811a52b236186ad0b7f7e2b50 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Fri, 5 Oct 2012 16:35:04 +0530 Subject: [PATCH 02/11] [IMP]discount shows grey and small font under product and total discount amt shows after tax bzr revid: sgo@tinyerp.com-20121005110504-63l1uzxi0fomn4ic --- addons/point_of_sale/static/src/css/pos.css | 5 +++++ addons/point_of_sale/static/src/js/models.js | 5 +++++ addons/point_of_sale/static/src/xml/pos.xml | 14 ++++++-------- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/addons/point_of_sale/static/src/css/pos.css b/addons/point_of_sale/static/src/css/pos.css index cbb625c02d7..5881fb30f17 100644 --- a/addons/point_of_sale/static/src/css/pos.css +++ b/addons/point_of_sale/static/src/css/pos.css @@ -102,6 +102,11 @@ border: 1px solid #cecbcb; border-radius: 4px; } +.point-of-sale .pos-disc-font { + font-size: 12px; + font-style:italic; + color: #808080; +} /* ********* The black header bar ********* */ diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js index 2c6f4e8b6e0..fd46476dbe2 100644 --- a/addons/point_of_sale/static/src/js/models.js +++ b/addons/point_of_sale/static/src/js/models.js @@ -614,6 +614,11 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal return sum + orderLine.get_price_with_tax(); }), 0); }, + getDiscountTotal: function() { + return (this.get('orderLines')).reduce((function(sum, orderLine) { + return sum + (orderLine.get_list_price() * (orderLine.get_discount()/100) * orderLine.get_quantity()); + }), 0); + }, getTotalTaxExcluded: function() { return (this.get('orderLines')).reduce((function(sum, orderLine) { return sum + orderLine.get_price_without_tax(); diff --git a/addons/point_of_sale/static/src/xml/pos.xml b/addons/point_of_sale/static/src/xml/pos.xml index 49864f8ae68..cbaf1423b1b 100644 --- a/addons/point_of_sale/static/src/xml/pos.xml +++ b/addons/point_of_sale/static/src/xml/pos.xml @@ -555,8 +555,8 @@ -
  • - % discount +
  • + With a % discount
  • @@ -564,12 +564,7 @@ - - -
  • - - -
  • -
    + @@ -578,6 +573,9 @@ Tax: + Discount: + + Total: From 062a78f8dae1b7747ec62c4a2eb502e8c4f63b03 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Fri, 5 Oct 2012 16:56:33 +0530 Subject: [PATCH 03/11] [IMP]improve pos reprint wizard bzr revid: sgo@tinyerp.com-20121005112633-a7er5yxbykgij52s --- addons/point_of_sale/report/pos_receipt.rml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/addons/point_of_sale/report/pos_receipt.rml b/addons/point_of_sale/report/pos_receipt.rml index 55873887210..03a7decd81e 100644 --- a/addons/point_of_sale/report/pos_receipt.rml +++ b/addons/point_of_sale/report/pos_receipt.rml @@ -104,12 +104,18 @@ [[ repeatIn(o.lines,'line') ]] [[ line.product_id.name ]] + + With a [[ line and line.discount == 0.0 and removeParentNode('font') ]] ([[ '%.2f' % line.discount ]]) % discount. + + + + [[o.state=='cancel' and o.statement_ids and '-' or '']][['%.f' % line.qty ]] - [[o.state=='cancel' and o.statement_ids and '-' or '']][[ '%.2f' % net(line.id) ]] [[company.currency_id.symbol]] [[ line and line.discount == 0.0 and removeParentNode('font') ]] ([[ '%.2f' % line.discount ]]%) [[company.currency_id.symbol]] + [[o.state=='cancel' and o.statement_ids and '-' or '']][[ '%.2f' % net(line.id) ]] [[company.currency_id.symbol]] From a014d89ab64649d6f347ae5d9efa9b0e018ade7f Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Fri, 5 Oct 2012 19:03:15 +0530 Subject: [PATCH 04/11] [IMP]add receipt ref for receipt in pos and pos order bzr revid: sgo@tinyerp.com-20121005133315-qjwl6nx360em8u43 --- addons/point_of_sale/point_of_sale.py | 5 +++-- addons/point_of_sale/point_of_sale_view.xml | 3 +++ addons/point_of_sale/static/src/xml/pos.xml | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index dfd0d73ad55..81df43996d4 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -484,7 +484,8 @@ class pos_order(osv.osv): 'name': order['name'], 'user_id': order['user_id'] or False, 'session_id': order['pos_session_id'], - 'lines': order['lines'] + 'lines': order['lines'], + 'pos_reference':order['name'] }, context) for payments in order['statement_ids']: @@ -592,7 +593,7 @@ class pos_order(osv.osv): 'picking_id': fields.many2one('stock.picking', 'Picking', readonly=True), 'note': fields.text('Internal Notes'), 'nb_print': fields.integer('Number of Print', readonly=True), - + 'pos_reference': fields.char('Receipt Ref', size=64, readonly=True), 'sale_journal': fields.related('session_id', 'config_id', 'journal_id', relation='account.journal', type='many2one', string='Sale Journal', store=True, readonly=True), } diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index 66b7e3b6eb5..e70b71f2604 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -88,6 +88,7 @@ + @@ -131,6 +132,7 @@ + @@ -149,6 +151,7 @@ + diff --git a/addons/point_of_sale/static/src/xml/pos.xml b/addons/point_of_sale/static/src/xml/pos.xml index cbaf1423b1b..89d0a93fef2 100644 --- a/addons/point_of_sale/static/src/xml/pos.xml +++ b/addons/point_of_sale/static/src/xml/pos.xml @@ -543,7 +543,7 @@
    + Date.CultureInfo.formatPatterns.longTime)"/>


  • Phone:
    From d48856e81a1c6515d763e6a99ba8008afded903c Mon Sep 17 00:00:00 2001 From: Amit Patel Date: Wed, 10 Oct 2012 10:59:20 +0530 Subject: [PATCH 05/11] =?UTF-8?q?[FIX]:point=5Fof=5Fsale:=20In=20the=20sam?= =?UTF-8?q?e=20way=20the=20%age=20of=20discount=20was=20wrong=20in=20the?= =?UTF-8?q?=20reporting=20>=20point=20of=20sale=20>=20Sale=20details,=20th?= =?UTF-8?q?ere's=20a=20problem=20of=20conversion=20from=20%age=20to=20amou?= =?UTF-8?q?nt=20in=20the=20other=20report=20(reporting=20>=20point=20of=20?= =?UTF-8?q?sale=20>=20ORDER=20ANALYSIS),=20where=20the=20=20Total=20discou?= =?UTF-8?q?nt=20is=20the=20sum=20of=20%ages=20converted=20in=20=E2=82=AC.?= =?UTF-8?q?=20So=20two=20times=2050%=20discount=20=3D=20100=E2=82=AC=20eve?= =?UTF-8?q?n=20though=20the=20item=20cost=201=20bazillion,=20which=20is=20?= =?UTF-8?q?not=20correct.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bzr revid: apa@tinyerp.com-20121010052920-7d2zl85war0bn8jr --- addons/point_of_sale/report/pos_order_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/point_of_sale/report/pos_order_report.py b/addons/point_of_sale/report/pos_order_report.py index 27086e08b26..914bef06bbf 100644 --- a/addons/point_of_sale/report/pos_order_report.py +++ b/addons/point_of_sale/report/pos_order_report.py @@ -60,7 +60,7 @@ class pos_order_report(osv.osv): to_date(to_char(s.date_order, 'dd-MM-YYYY'),'dd-MM-YYYY') as date, sum(l.qty * u.factor) as product_qty, sum(l.qty * l.price_unit) as price_total, - sum(l.qty * l.discount) as total_discount, + sum((l.qty * l.price_unit) * (l.discount / 100)) as total_discount, (sum(l.qty*l.price_unit)/sum(l.qty * u.factor))::decimal(16,2) as average_price, sum(cast(to_char(date_trunc('day',s.date_order) - date_trunc('day',s.create_date),'DD') as int)) as delay_validation, to_char(s.date_order, 'YYYY') as year, From 0e26c16d0f627cb7417508c07c5c5a246b0310aa Mon Sep 17 00:00:00 2001 From: "Foram Katharotiya (OpenERP)" Date: Wed, 10 Oct 2012 12:39:40 +0530 Subject: [PATCH 06/11] [IMP] appear the pos fields when create a session bzr revid: fka@tinyerp.com-20121010070940-vyjatobj08nmpoir --- addons/point_of_sale/point_of_sale_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index e70b71f2604..d579db71496 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -893,7 +893,7 @@ - + From 0e00c44a6c1dedeaa5633131b3f068bbad8c70dc Mon Sep 17 00:00:00 2001 From: "Khushboo Bhatt (Open ERP)" Date: Wed, 10 Oct 2012 14:51:12 +0530 Subject: [PATCH 07/11] [FIX]mail:the issue of createing new record bzr revid: kbh@tinyerp.com-20121010092112-944vjsuphod8kv8n --- addons/mail/mail_thread.py | 39 +++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index 529ee8c65cc..6f1ea4acd67 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -146,25 +146,26 @@ class mail_thread(osv.AbstractModel): old = set(fol.partner_id.id for fol in fol_obj.browse(cr, SUPERUSER_ID, fol_ids)) new = set(old) - for command in value: - if isinstance(command, (int, long)): - new.add(command) - elif command[0] == 0: - new.add(partner_obj.create(cr, uid, command[2], context=context)) - elif command[0] == 1: - partner_obj.write(cr, uid, [command[1]], command[2], context=context) - new.add(command[1]) - elif command[0] == 2: - partner_obj.unlink(cr, uid, [command[1]], context=context) - new.discard(command[1]) - elif command[0] == 3: - new.discard(command[1]) - elif command[0] == 4: - new.add(command[1]) - elif command[0] == 5: - new.clear() - elif command[0] == 6: - new = set(command[2]) + if value: + for command in value: + if isinstance(command, (int, long)): + new.add(command) + elif command[0] == 0: + new.add(partner_obj.create(cr, uid, command[2], context=context)) + elif command[0] == 1: + partner_obj.write(cr, uid, [command[1]], command[2], context=context) + new.add(command[1]) + elif command[0] == 2: + partner_obj.unlink(cr, uid, [command[1]], context=context) + new.discard(command[1]) + elif command[0] == 3: + new.discard(command[1]) + elif command[0] == 4: + new.add(command[1]) + elif command[0] == 5: + new.clear() + elif command[0] == 6: + new = set(command[2]) # remove partners that are no longer followers fol_ids = fol_obj.search(cr, SUPERUSER_ID, From f15aa20130b62f68d1b381115f800d659772f5a2 Mon Sep 17 00:00:00 2001 From: "Foram Katharotiya (OpenERP)" Date: Wed, 10 Oct 2012 15:10:56 +0530 Subject: [PATCH 08/11] [IMP] remove select view accounts for profit/losss acount on cash registers tab of payment method bzr revid: fka@tinyerp.com-20121010094056-dfzfb9munee7pfpj --- addons/account/account_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 1c40bebba52..ca3819394f1 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -509,8 +509,8 @@ - - + + From 7b585d3e1fb3cb2ce1ec4021abf2f52df3849436 Mon Sep 17 00:00:00 2001 From: Amit Patel Date: Wed, 10 Oct 2012 17:05:56 +0530 Subject: [PATCH 09/11] [FIX]:Uncaught TypeError: Cannot read property 'context' of undefined bzr revid: apa@tinyerp.com-20121010113556-p79hzujiunibwsix --- addons/point_of_sale/static/src/js/widgets.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/point_of_sale/static/src/js/widgets.js b/addons/point_of_sale/static/src/js/widgets.js index 47a527a010d..be2ebcb5c63 100644 --- a/addons/point_of_sale/static/src/js/widgets.js +++ b/addons/point_of_sale/static/src/js/widgets.js @@ -1056,7 +1056,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa return new instance.web.Model("ir.model.data").get_func("search_read")([['name', '=', 'action_client_pos_menu']], ['res_id']).pipe( _.bind(function(res) { return this.rpc('/web/action/load', {'action_id': res[0]['res_id']}).pipe(_.bind(function(result) { - var action = result.result; + var action = result; action.context = _.extend(action.context || {}, {'cancel_action': {type: 'ir.actions.client', tag: 'reload'}}); //self.destroy(); this.do_action(action); From e226a070e1e54e5241a8211a9402ab929df3f68b Mon Sep 17 00:00:00 2001 From: Amit Patel Date: Fri, 12 Oct 2012 12:31:45 +0530 Subject: [PATCH 10/11] [FIX]:Uncaught Error: QWeb2 - template['PaypadButtonWidget']: Runtime Error: TypeError: Cannot read property 'name' of undefined bzr revid: apa@tinyerp.com-20121012070145-8iu2yudx0yjzroj4 --- addons/point_of_sale/static/src/js/models.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js index fd46476dbe2..f3243a035c5 100644 --- a/addons/point_of_sale/static/src/js/models.js +++ b/addons/point_of_sale/static/src/js/models.js @@ -178,12 +178,15 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal [['state','=','open'],['pos_session_id', '=', self.get('pos_session').id]] ); }).pipe(function(bank_statements){ + var journals = new Array(); + _.each(bank_statements,function(statement) { + journals.push(statement.journal_id[0]) + }); self.set('bank_statements', bank_statements); - - return self.fetch('account.journal', undefined, [['user_id','=', self.get('pos_session').user_id[0]]]); + return self.fetch('account.journal', undefined, [['id','in', journals]]); }).pipe(function(journals){ self.set('journals',journals); - + // associate the bank statements with their journals. var bank_statements = self.get('bank_statements'); for(var i = 0, ilen = bank_statements.length; i < ilen; i++){ From 139c98abec6ad16aa91a44defee2345325132754 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Tue, 16 Oct 2012 15:37:20 +0530 Subject: [PATCH 11/11] [IMP]resolve error coming when clicking on paymethod from all session menu bzr revid: sgo@tinyerp.com-20121016100720-jb3hhbxnfya7nrz9 --- .../account_bank_statement.py | 1 - .../account_bank_statement_view.xml | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/account_bank_statement_extensions/account_bank_statement.py b/addons/account_bank_statement_extensions/account_bank_statement.py index 6eeda843dc5..3ef930b3ddc 100644 --- a/addons/account_bank_statement_extensions/account_bank_statement.py +++ b/addons/account_bank_statement_extensions/account_bank_statement.py @@ -105,7 +105,6 @@ account_bank_statement_line_global() class account_bank_statement_line(osv.osv): _inherit = 'account.bank.statement.line' _columns = { - 'date': fields.date('Entry Date', required=True, states={'confirm': [('readonly', True)]}), 'val_date': fields.date('Valuta Date', states={'confirm': [('readonly', True)]}), 'globalisation_id': fields.many2one('account.bank.statement.line.global', 'Globalisation ID', states={'confirm': [('readonly', True)]}, diff --git a/addons/account_bank_statement_extensions/account_bank_statement_view.xml b/addons/account_bank_statement_extensions/account_bank_statement_view.xml index 9164c00373f..43ebfc03382 100644 --- a/addons/account_bank_statement_extensions/account_bank_statement_view.xml +++ b/addons/account_bank_statement_extensions/account_bank_statement_view.xml @@ -56,6 +56,9 @@ + + +