From 5b23738b1be8e2e1b1e412ae723c5f23cace75fa Mon Sep 17 00:00:00 2001 From: "ajay javiya (OpenERP)" Date: Mon, 9 Dec 2013 18:40:15 +0530 Subject: [PATCH] [IMP]: quotation view bzr revid: aja@tinyerp.com-20131209131015-8k6z3g1jit5npg6y --- addons/website_sale_quote/controllers/main.py | 14 +- addons/website_sale_quote/models/order.py | 3 +- .../static/src/js/sale_quote.js | 51 +++--- .../views/website_sale_quote.xml | 169 +++++++++--------- 4 files changed, 118 insertions(+), 119 deletions(-) diff --git a/addons/website_sale_quote/controllers/main.py b/addons/website_sale_quote/controllers/main.py index 974e2c7705d..591979703b4 100644 --- a/addons/website_sale_quote/controllers/main.py +++ b/addons/website_sale_quote/controllers/main.py @@ -54,4 +54,16 @@ class sale_quote(http.Controller): request.session.body = False return request.redirect("/quote/%s" % token) - + @website.route(['/quote/update_line'], type='json', auth="public") + def update(self, line_id=None, qty=None, remove=False,unlink=False,**post): + if unlink: + request.registry.get('sale.order.line').unlink(request.cr, SUPERUSER_ID,[int(line_id)], context=request.context) + else: + val = self._update_order_line(line_id=int(line_id), number=(remove and -1 or 1), qty=int(qty)) +# order = request.registry['website'].get_current_order(request.cr, request.uid, context=request.context) + return {} + + def _update_order_line(self,line_id, number,qty): + qty += number + request.registry.get('sale.order.line').write(request.cr, SUPERUSER_ID, [int(line_id)], {'product_uom_qty':(qty)}, context=request.context) + return qty diff --git a/addons/website_sale_quote/models/order.py b/addons/website_sale_quote/models/order.py index 53a5c25a31a..1ad5607765e 100644 --- a/addons/website_sale_quote/models/order.py +++ b/addons/website_sale_quote/models/order.py @@ -41,7 +41,7 @@ class sale_order_line(osv.osv): class sale_order(osv.osv): _inherit = 'sale.order' _columns = { - 'quote_url': fields.char('URL'), + 'quote_url': fields.char('URL', readonly=True), 'access_token':fields.char('Quotation Token', size=256), 'template_id': fields.many2one('sale.order','Quote Template'), 'website_description': fields.html('Description'), @@ -78,6 +78,7 @@ class sale_order(osv.osv): 'product_id': line.product_id.id, 'tax_id': [(6, 0, [x.id for x in line.tax_id])], 'website_description':line.website_description, + 'state':'draft', })) return {'order_line':lines,'website_description': order_template.website_description} diff --git a/addons/website_sale_quote/static/src/js/sale_quote.js b/addons/website_sale_quote/static/src/js/sale_quote.js index 74cb49fbb3f..881b1862959 100644 --- a/addons/website_sale_quote/static/src/js/sale_quote.js +++ b/addons/website_sale_quote/static/src/js/sale_quote.js @@ -1,32 +1,23 @@ -openerp.base_calendar = function(instance) { -var _t = instance.web._t; -var QWeb = instance.web.qweb; -instance.base_calendar = {} - - instance.sale_quote.quotation = instance.web.Widget.extend({ - - init: function(parent, db, action, id, view, quotation) { - this._super(); - this.db = db; - this.action = action; - this.id = id; - this.view = view; - this.quotation = quotation; - }, - start: function() { - var self = this; - self.open_invitation_form(self.quotation); - }, - open_quotation : function(quotation){ - alert('aaa'); - this.$el.html(QWeb.render('quotation_view', {'quotation': JSON.parse(quotation)})); - }, +$(document).ready(function () { + $('a.js_update_line_json').on('click', function (ev) { + ev.preventDefault(); + var $link = $(ev.currentTarget); + var href = $link.attr("href"); + var qty = $link.attr("href").match(/qty=([0-9]+)/); + var line_id = href.match(/update_line\/([0-9]+)/); + console.log(line_id); + openerp.jsonRpc("/quote/update_line/", 'call', { + 'line_id': line_id[1], + 'qty': qty[1], + 'remove': $link.is('[href*="remove"]'), + 'unlink': $link.is('[href*="unlink"]'), + }) + .then(function (data) { + location.reload(); +// $link.parent('.input-group:first').find('.js_line_qty').val(data[0]); +// $('[data-oe-model="sale.order"][data-oe-field="amount_total"]').replaceWith(data[1]); + }); + return false; }); - - instance.sale_quote.view = function (db, action, id, view, quotation) { - instance.session.session_bind(instance.session.origin).done(function () { - new instance.sale_quote.quotation(null,db,action,id,view,quotation).appendTo($("body").addClass('openerp')); - }); - } -}; +}); //vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: diff --git a/addons/website_sale_quote/views/website_sale_quote.xml b/addons/website_sale_quote/views/website_sale_quote.xml index e5ce3176f70..25b79394393 100644 --- a/addons/website_sale_quote/views/website_sale_quote.xml +++ b/addons/website_sale_quote/views/website_sale_quote.xml @@ -83,6 +83,7 @@ +
@@ -93,93 +94,87 @@