[IMP] hibou_professional: use token authentication and change quote behavior

This commit is contained in:
Jared Kipe
2020-05-18 18:27:53 -07:00
parent 41f7fb60b6
commit 0822e0df70
3 changed files with 83 additions and 13 deletions

View File

@@ -17,6 +17,7 @@ var HibouProfessionalSystrayWidget = Widget.extend({
self.expiring = false;
self.expired = false;
self.dbuuid = false;
self.quote_url = false;
self.is_admin = false;
self.allow_admin_message = false;
self.allow_message = false;
@@ -36,6 +37,10 @@ var HibouProfessionalSystrayWidget = Widget.extend({
return [];
},
set_error: function(error) {
this.$('.hibou_professional_error').text(error);
},
update_message_type: function(el) {
var selected_type = this.$('select.hibou_message_type').val();
if (selected_type && this.$('.hibou_subject_selection_option.' + selected_type).length > 0) {
@@ -105,6 +110,24 @@ var HibouProfessionalSystrayWidget = Widget.extend({
});
},
button_quote: function() {
var self = this;
var message_p = self.$('.button-quote-link p');
message_p.text('Retrieving URL...');
self._rpc({
model: 'publisher_warranty.contract',
method: 'hibou_professional_quote',
}).then(function (result) {
if (result && result['url']) {
self.quote_url = result.url
self.$('.button-quote-link').attr('href', self.quote_url);
message_p.text('Quote URL ready. Click again!');
} else {
message_p.text('Error with quote url. Maybe the database token is incorrect.');
}
});
},
button_send_message: function() {
var self = this;
var message_type = self.$('select.hibou_message_type').val();
@@ -155,8 +178,14 @@ var HibouProfessionalSystrayWidget = Widget.extend({
args: [],
}).then(function (result) {
$button.prop('disabled', false);
self.update_message_subjects(result.message_subjects);
setTimeout(function (){self.$('.dropdown-toggle').click();}, 100);
if (result['message_subjects']) {
self.update_message_subjects(result.message_subjects);
setTimeout(function () {
self.$('.dropdown-toggle').click();
}, 100);
} else if (result['error']) {
self.set_error(result['error']);
}
});
},
@@ -187,6 +216,16 @@ var HibouProfessionalSystrayWidget = Widget.extend({
self.button_get_messages();
});
// Retrieve quote URL
this.$('.button-quote-link').on('click', function(e){
if (self.quote_url) {
return; // allow default url click event
}
e.preventDefault();
e.stopPropagation();
self.button_quote();
});
// Update Message Preferences Button
this.$('.update_message_preferences').on('click', function(e){
e.preventDefault();

View File

@@ -22,6 +22,7 @@
<div>
<p>We're here to help!<br/>Click here to review Hibou's help resources or to contact us today.</p>
</div>
<div class="text-danger hibou_professional_error"/>
</div>
</div>
</a>
@@ -82,8 +83,7 @@
</div>
</div>
<t t-if="widget.expiration_reason == 'trial' || (! widget.expiration_reason) || widget.expired || widget.expiring">
<a t-attf-href="https://odoo-hibou-test12.hibou-test-odoo.us-w-p1.hibou.me/hibouapi/v1/professional/quote/#{widget.dbuuid}" target="_blank">
<!-- <a t-attf-href="https://hibou.io/hibouapi/v1/professional/quote/#{widget.dbuuid}" target="_blank">-->
<a class="button-quote-link" target="_blank">
<div class="o_mail_preview">
<div class="o_preview_info">
<div class="o_preview_title">