3 var website = openerp.website;
5 website.if_dom_contains('div.o_website_quote', function () {
7 $('a.js_update_line_json').on('click', function (ev) {
9 var $link = $(ev.currentTarget);
10 var href = $link.attr("href");
11 var order_id = href.match(/order_id=([0-9]+)/);
12 var line_id = href.match(/update_line\/([0-9]+)/);
13 var token = href.match(/token=(.*)/);
14 openerp.jsonRpc("/quote/update_line", 'call', {
15 'line_id': line_id[1],
16 'order_id': parseInt(order_id[1]),
18 'remove': $link.is('[href*="remove"]'),
19 'unlink': $link.is('[href*="unlink"]')
21 .then(function (data) {
25 $link.parents('.input-group:first').find('.js_quantity').val(data[0]);
26 $('[data-id="total_amount"]>span').html(data[1]);
31 var empty_sign = false;
32 $('#modelaccept').on('shown.bs.modal', function (e) {
33 $("#signature").empty().jSignature({'decor-color' : '#D1D0CE'});
34 empty_sign = $("#signature").jSignature("getData",'image');
37 $('#sign_clean').on('click', function (e) {
38 $("#signature").jSignature('reset');
42 $('form.js_accept_json').submit(function(ev){
44 var $link = $(ev.currentTarget);
45 var href = $link.attr("action");
46 var order_id = href.match(/accept\/([0-9]+)/);
47 var token = href.match(/token=(.*)/);
51 var signer_name = $("#name").val();
52 var sign = $("#signature").jSignature("getData",'image');
53 var is_empty = sign?empty_sign[1]==sign[1]:false;
54 $('#signer').toggleClass('has-error', ! signer_name);
55 $('#drawsign').toggleClass('panel-danger', is_empty).toggleClass('panel-default', ! is_empty);
57 if (is_empty || ! signer_name)
60 openerp.jsonRpc("/quote/accept", 'call', {
61 'order_id': parseInt(order_id[1]),
63 'signer': signer_name,
64 'sign': sign?JSON.stringify(sign[1]):false,
65 }).then(function (data) {
66 $('#modelaccept').modal('hide');
67 window.location.href = '/quote/'+order_id[1]+'/'+token+'?message=3';
72 // automatically generate a menu from h1 and h2 tag in content
73 var $container = $('body[data-target=".navspy"]');
74 var ul = $('[data-id="quote_sidebar"]', $container);
77 $("[id^=quote_header_], [id^=quote_]", $container).attr("id", "");
78 $("h1, h2", $container).each(function() {
80 switch (this.tagName.toLowerCase()) {
82 id = _.uniqueId('quote_header_');
83 $(this.parentNode).attr('id',id);
84 sub_li = $("<li>").html('<a href="#'+id+'">'+$(this).text()+'</a>').appendTo(ul);
88 id = _.uniqueId('quote_');
91 sub_ul = $("<ul class='nav'>").appendTo(sub_li);
93 $(this.parentNode).attr('id',id);
94 $("<li>").html('<a href="#'+id+'">'+$(this).text()+'</a>').appendTo(sub_ul);