From 0ed13a4a00513296c9b46b9e4b0cd42c5f4319db Mon Sep 17 00:00:00 2001 From: "ajay javiya (OpenERP)" Date: Wed, 18 Dec 2013 18:25:59 +0530 Subject: [PATCH] [ADD] : modal(wizard) on decline button , [IMP]: typos and code bzr revid: aja@tinyerp.com-20131218125559-km8k9ug0izotlynh --- addons/website_sale_quote/controllers/main.py | 21 ++++-- addons/website_sale_quote/sale_quote_view.xml | 71 ++++++++----------- .../static/src/js/sale_quote.js | 1 - .../views/website_sale_quote.xml | 27 ++++++- 4 files changed, 70 insertions(+), 50 deletions(-) diff --git a/addons/website_sale_quote/controllers/main.py b/addons/website_sale_quote/controllers/main.py index 1a8e7c234a8..e66c573b93d 100644 --- a/addons/website_sale_quote/controllers/main.py +++ b/addons/website_sale_quote/controllers/main.py @@ -45,12 +45,20 @@ class sale_quote(http.Controller): user = user_pool.search(request.cr, SUPERUSER_ID, [('partner_id', '=', partner)])[0] return user + def get_message(self, order): + total = 0 + for msg in order.message_ids: + if msg.subtype_id.name in ['Sales Order Confirmed', 'Discussions']: + total += 1 + return total + @website.route(["/quote//"], type='http', auth="public") def view(self, order=None, token=None,**post): assert token == order.access_token, 'No token found' values = {} values.update({ 'quotation': order, + 'message': self.get_message(order) }) return request.website.render('website_sale_quote.so_quotation', values) @@ -59,19 +67,20 @@ class sale_quote(http.Controller): request.registry.get('sale.order').write(request.cr, SUPERUSER_ID, [order_id], {'state': 'manual'}) return request.redirect("/quote/%s/%s" % (order_id, self._get_token(order_id))) - @website.route(['/quote//decline'], type='http', auth="public") - def decline(self, order_id=None, **post): - request.registry.get('sale.order').write(request.cr, SUPERUSER_ID, [order_id], {'state': 'cancel'}) - return request.redirect("/quote/%s/%s" % (order_id, self._get_token(order_id))) + def decline(self, order_id): + return request.registry.get('sale.order').write(request.cr, SUPERUSER_ID, [order_id], {'state': 'cancel'}) @website.route(['/quote//post'], type='http', auth="public") def post(self, order_id=None, **post): if post.get('new_message'): request.session.body = post.get('new_message') + if post.get('decline_message'): + self.decline(order_id) + request.session.body = post.get('decline_message') if 'body' in request.session and request.session.body: request.registry.get('sale.order').message_post(request.cr, self._get_partner_user(order_id), order_id, body=request.session.body, - type='email', + type='comment', subtype='mt_comment', ) request.session.body = False @@ -83,7 +92,7 @@ class sale_quote(http.Controller): return request.registry.get('sale.order.line').unlink(request.cr, SUPERUSER_ID, [int(line_id)], context=request.context) val = self._update_order_line(line_id=int(line_id), number=(remove and -1 or 1)) order = request.registry.get('sale.order').browse(request.cr, SUPERUSER_ID, order_id) - return [val, order.amount_total] + return [str(val), str(order.amount_total)] def _update_order_line(self, line_id, number): order_line_obj = request.registry.get('sale.order.line') diff --git a/addons/website_sale_quote/sale_quote_view.xml b/addons/website_sale_quote/sale_quote_view.xml index 8a8ed6af33c..79b87c92818 100644 --- a/addons/website_sale_quote/sale_quote_view.xml +++ b/addons/website_sale_quote/sale_quote_view.xml @@ -29,49 +29,40 @@

-

- - - -
- - - - - - - - - - - - - -
- + +
+ + - - + + + + + + + + + + +
+ + + + + + + +
+ +
@@ -87,7 +78,7 @@ - Quote Template + Sales Template ir.actions.act_window sale.quote.template form 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 c687ea7a8a2..5e187816143 100644 --- a/addons/website_sale_quote/static/src/js/sale_quote.js +++ b/addons/website_sale_quote/static/src/js/sale_quote.js @@ -5,7 +5,6 @@ $(document).ready(function () { var href = $link.attr("href"); var order_id = $link.attr("href").match(/order_id=([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], 'order_id': parseInt(order_id[1]), diff --git a/addons/website_sale_quote/views/website_sale_quote.xml b/addons/website_sale_quote/views/website_sale_quote.xml index e9a09063b00..a7514020907 100644 --- a/addons/website_sale_quote/views/website_sale_quote.xml +++ b/addons/website_sale_quote/views/website_sale_quote.xml @@ -165,7 +165,7 @@
  • - + @@ -179,7 +179,7 @@ Discuss - +
  • @@ -195,6 +195,7 @@
      +
    • @@ -210,6 +211,7 @@
    • +
    @@ -223,6 +225,25 @@
    +
    @@ -241,7 +262,7 @@
  • -
  • Quotation
  • +
  • Pricing
  • Terms & Conditions