From 2d31781bf173cb17e90a8a433ae6d920f8b8e9e2 Mon Sep 17 00:00:00 2001 From: "ajay javiya (OpenERP)" Date: Thu, 23 Jan 2014 15:53:37 +0530 Subject: [PATCH] [REM]: dependency on knowledge [ADD] :edit button on template to trigger on website [REN]: Rename Number of Days into 'Quotation Perido Validity' [IMP]: template layout [FIX] : access right issue 'quote is not accesible without logged in' bzr revid: aja@tinyerp.com-20140123102337-i3jmee0n436azn2j --- addons/website_quotation/__openerp__.py | 2 +- addons/website_quotation/controllers/main.py | 18 +++--- addons/website_quotation/models/order.py | 4 +- .../security/ir.model.access.csv | 2 + .../static/src/js/website_quotation.js | 2 +- .../views/website_quotation.xml | 59 +++++++++---------- .../views/website_quotation_backend.xml | 4 +- 7 files changed, 44 insertions(+), 47 deletions(-) diff --git a/addons/website_quotation/__openerp__.py b/addons/website_quotation/__openerp__.py index 79bd188edcd..92547bb7cbe 100644 --- a/addons/website_quotation/__openerp__.py +++ b/addons/website_quotation/__openerp__.py @@ -9,7 +9,7 @@ OpenERP Sale Quote Roller """, 'author': 'OpenERP SA', - 'depends': ['website','sale', 'portal_sale', 'mail','document'], + 'depends': ['website','sale', 'portal_sale', 'mail'], 'data': [ 'views/website_quotation.xml', 'views/website_quotation_backend.xml', diff --git a/addons/website_quotation/controllers/main.py b/addons/website_quotation/controllers/main.py index 6a38d443bde..a9daaf01f2e 100644 --- a/addons/website_quotation/controllers/main.py +++ b/addons/website_quotation/controllers/main.py @@ -28,18 +28,21 @@ import datetime class sale_quote(http.Controller): - @http.route(["/quote//"], type='http', auth="public", website=True) - def view(self, order_id, token, message=False, **post): + @http.route([ + "/quote/", + "/quote//" + ], type='http', auth="public", website=True) + def view(self, order_id, token=None, message=False, **post): # use SUPERUSER_ID allow to access/view order for public user - order = request.registry.get('sale.order').browse(request.cr, SUPERUSER_ID, order_id) - assert token == order.access_token, 'Access denied, wrong token!' + order = request.registry.get('sale.order').browse(request.cr, token and SUPERUSER_ID or request.uid, order_id) + if token: assert token == order.access_token, 'Access denied, wrong token!' # TODO: if not order.template_id: return to the URL of the portal view of SO values = { 'quotation': order, 'message': message, 'new_post' : request.httprequest.session.get('new_post',False), 'option': self._check_option_len(order), - 'date_diff': (datetime.datetime.now() > datetime.datetime.strptime(order.validity_date , '%Y-%m-%d')) + 'date_diff': order.validity_date and (datetime.datetime.now() > datetime.datetime.strptime(order.validity_date , '%Y-%m-%d')) or False } return request.website.render('website_quotation.so_quotation', values) @@ -89,14 +92,13 @@ class sale_quote(http.Controller): request.httprequest.session['new_post'] = True return werkzeug.utils.redirect("/quote/%s/%s?message=1" % (order_id, token)) - def message_post(self , message, order_id): + def message_post(self , message, order_id, type='comment'): request.session.body = message cr, uid, context = request.cr, request.uid, request.context if 'body' in request.session and request.session.body: request.registry.get('sale.order').message_post(cr, uid, order_id, body=request.session.body, - type='comment', - subtype='mt_comment', + type=type, context=context, ) request.session.body = False diff --git a/addons/website_quotation/models/order.py b/addons/website_quotation/models/order.py index 6c71cf80071..aa79fbd80c7 100644 --- a/addons/website_quotation/models/order.py +++ b/addons/website_quotation/models/order.py @@ -33,7 +33,7 @@ class sale_quote_template(osv.osv): 'quote_line': fields.one2many('sale.quote.line', 'quote_id', 'Quote Template Lines'), 'note': fields.text('Terms and conditions'), 'options': fields.one2many('sale.option.line', 'temp_option_id', 'Optional Products Lines'), - 'number_of_days': fields.integer('Number of Days'), + 'number_of_days': fields.integer('Quotation Period Validity'), } def open_template(self, cr, uid, quote_id, context=None): @@ -114,7 +114,7 @@ class sale_order(osv.osv): return { 'type': 'ir.actions.act_url', 'target': 'self', - 'url': '/quote/%s/%s' % (quote.id, quote.access_token) + 'url': '/quote/%s' % (quote.id) } def onchange_template_id(self, cr, uid, ids, template_id, context=None): diff --git a/addons/website_quotation/security/ir.model.access.csv b/addons/website_quotation/security/ir.model.access.csv index 993b5468179..c4c444c6965 100644 --- a/addons/website_quotation/security/ir.model.access.csv +++ b/addons/website_quotation/security/ir.model.access.csv @@ -1,3 +1,5 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_sale_order_portal,sale.order.portal,model_sale_order,base.group_portal,1,1,1,0 access_sale_order_public,sale.order.public,model_sale_order,base.group_public,1,1,1,0 +access_sale_order_line_public,sale.order.line.public,model_sale_order_line,base.group_public,1,1,1,0 +access_sale_options_line_public,sale.option.line.public,model_sale_option_line,base.group_public,1,1,1,0 diff --git a/addons/website_quotation/static/src/js/website_quotation.js b/addons/website_quotation/static/src/js/website_quotation.js index 3aa587785b8..1647551af67 100644 --- a/addons/website_quotation/static/src/js/website_quotation.js +++ b/addons/website_quotation/static/src/js/website_quotation.js @@ -94,7 +94,7 @@ var target_date = new Date($('#validity_date').val()); setInterval(function () { var current_date = new Date(); var days_left = Math.floor((target_date - current_date)/86400000); - $('#countdown').html(''+((days_left > 0) ? days_left : 0)+'Days') + $('#countdown').html(''+((days_left > 0) ? days_left : 0)+'Day(s)') }, 1000); //vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: diff --git a/addons/website_quotation/views/website_quotation.xml b/addons/website_quotation/views/website_quotation.xml index d7ecc9b4393..5e13c8c635d 100644 --- a/addons/website_quotation/views/website_quotation.xml +++ b/addons/website_quotation/views/website_quotation.xml @@ -426,41 +426,36 @@ diff --git a/addons/website_quotation/views/website_quotation_backend.xml b/addons/website_quotation/views/website_quotation_backend.xml index 6861c3d085f..fbe8fd0700b 100644 --- a/addons/website_quotation/views/website_quotation_backend.xml +++ b/addons/website_quotation/views/website_quotation_backend.xml @@ -40,10 +40,8 @@ form
-
-
+