diff --git a/data/interfaces/default/notifier_config.html b/data/interfaces/default/notifier_config.html
index 1e2723b9..da49c7a1 100644
--- a/data/interfaces/default/notifier_config.html
+++ b/data/interfaces/default/notifier_config.html
@@ -360,7 +360,33 @@
if (result.result == 'success') {
showMsg(' ' + msg, false, true, 5000);
window.open(result.url);
- check_token = setInterval(retrieve_token, 500);
+
+ (function retrieve_token(){
+ facebook_token = null;
+ setTimeout(function() {
+ $.ajax({
+ url: 'facebook_retrieve_token',
+ type: 'GET',
+ success: function(data) {
+ if (data.result === 'success') {
+ facebook_token = true;
+ showMsg(' ' + msg, false, true, 5000);
+ $('#facebook_access_token').val(data.access_token);
+ } else if (data.result === 'error') {
+ facebook_token = false;
+ showMsg(' ' + msg, false, true, 5000, true);
+ }
+ },
+ complete: function() {
+ if (facebook_token === null) {
+ retrieve_token();
+ }
+ },
+ timeout: 1000
+ });
+ }, 1000);
+ })();
+
} else {
showMsg(' ' + msg, false, true, 5000, true);
}
@@ -368,26 +394,9 @@
});
});
- check_token = null;
- function retrieve_token() {
- $.ajax({
- url: 'facebook_retrieve_token',
- cache: false,
- async: true,
- complete: function (xhr, status) {
- var result = $.parseJSON(xhr.responseText);
- var msg = result.msg;
- if (result.result == 'success') {
- showMsg(' ' + msg, false, true, 5000);
- $('#facebook_access_token').val(result.access_token);
- clearInterval(check_token)
- } else if (result.result == 'error') {
- showMsg(' ' + msg, false, true, 5000, true);
- clearInterval(check_token)
- }
- }
- });
- }
+ $('#notifier-config-modal').on('hidden.bs.modal', function () {
+ facebook_token = false;
+ })
% elif notifier['agent_name'] == 'browser':
$('#browser_allow_browser').click(function () {