diff --git a/addons/web_linkedin/static/src/css/linkedin.css b/addons/web_linkedin/static/src/css/linkedin.css
index 992dc48aeb8..d6e8dc5067b 100644
--- a/addons/web_linkedin/static/src/css/linkedin.css
+++ b/addons/web_linkedin/static/src/css/linkedin.css
@@ -42,3 +42,13 @@
color: grey;
margin-bottom: 10px;
}
+
+.openerp .oe_social_network_login {
+ margin-bottom: 10px;
+}
+
+.openerp .oe_social_network_login .oe_error {
+ display: none;
+ cursor: pointer;
+}
+
diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js
index d6237e48d51..8fca845673a 100644
--- a/addons/web_linkedin/static/src/js/linkedin.js
+++ b/addons/web_linkedin/static/src/js/linkedin.js
@@ -6,6 +6,13 @@ openerp.web_linkedin = function(instance) {
var QWeb = instance.web.qweb;
var _t = instance.web._t;
+ openerp.web_linkedin.onLinkedInAuth = function () {
+ IN.API.Profile("me")
+ .result( function(me) {
+ console.log("me", me);
+ });
+ };
+
instance.web_linkedin.LinkedinTester = instance.web.Class.extend({
init: function() {
this.linkedin_added = false;
@@ -15,8 +22,12 @@ openerp.web_linkedin = function(instance) {
test_linkedin: function() {
var self = this;
return this.test_api_key().then(function() {
- if (self.linkedin_added)
+ if (self.linkedin_added) {
+ if (IN.User.isAuthorized()) {
+ self.auth_def.resolve();
+ }
return self.linkedin_def.promise();
+ }
var tag = document.createElement('script');
tag.type = 'text/javascript';
tag.src = "http://platform.linkedin.com/in.js";
@@ -178,6 +189,7 @@ openerp.web_linkedin = function(instance) {
instance.web_linkedin.LinkedinPopup = instance.web.Dialog.extend({
template: "Linkedin.popup",
init: function(parent, text) {
+ var self = this;
this._super(parent, {title:_t("LinkedIn search")});
this.text = text;
this.limit = 5;
@@ -189,6 +201,20 @@ openerp.web_linkedin = function(instance) {
instance.web_linkedin.tester.test_authentication().done(function() {
self.trigger("authentified");
});
+
+ this.bind_error();
+ },
+ bind_error: function() {
+ var self = this;
+ this.error_message = window.setTimeout(function() {self.$(".oe_social_network_login .oe_error").show();}, 500);
+ this.$el.on("DOMNodeInserted", function (e) {
+ self.$el.off("DOMNodeInserted");
+ window.clearTimeout(self.error_message);
+ self.$(".oe_social_network_login .oe_error").hide();
+ });
+ this.$(".oe_social_network_login .oe_error").click(function () {
+ IN.User.authorize();
+ });
},
authentified: function() {
var self = this;
diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml
index 4956fd7df5a..6230ef894fd 100644
--- a/addons/web_linkedin/static/src/xml/linkedin.xml
+++ b/addons/web_linkedin/static/src/xml/linkedin.xml
@@ -8,12 +8,16 @@
-
-
People
-
+
+
+

+
+
People
+
Companies
-
+