Browse Source

Merge branch 'pshunter-igbmc'

Lauri Ojansivu 6 years ago
parent
commit
ff23c54fd5
4 changed files with 24 additions and 16 deletions
  1. 1 0
      .meteor/packages
  2. 1 0
      .meteor/versions
  3. 1 1
      packages/wekan-ldap/package.js
  4. 21 15
      packages/wekan-ldap/server/sync.js

+ 1 - 0
.meteor/packages

@@ -94,3 +94,4 @@ lamhieu:unblock
 meteorhacks:aggregate@1.3.0
 wekan-markdown
 konecty:mongo-counter
+percolate:synced-cron

+ 1 - 0
.meteor/versions

@@ -137,6 +137,7 @@ peerlibrary:base-component@0.16.0
 peerlibrary:blaze-components@0.15.1
 peerlibrary:computed-field@0.9.0
 peerlibrary:reactive-field@0.5.0
+percolate:synced-cron@1.3.2
 promise@0.11.2
 raix:eventemitter@0.1.3
 raix:handlebar-helpers@0.2.5

+ 1 - 1
packages/wekan-ldap/package.js

@@ -21,7 +21,7 @@ Package.onUse(function(api) {
 
 	api.use('accounts-base', 'server');
 	api.use('accounts-password', 'server');
-
+	api.use('percolate:synced-cron', 'server');
 	api.addFiles('client/loginHelper.js', 'client');
 
 	api.mainModule('server/index.js', 'server');

+ 21 - 15
packages/wekan-ldap/server/sync.js

@@ -1,4 +1,5 @@
 import _ from 'underscore';
+import SyncedCron from 'meteor/percolate:synced-cron';
 import LDAP from './ldap';
 import { log_debug, log_info, log_warn, log_error } from './logger';
 
@@ -418,30 +419,35 @@ function sync() {
 const jobName = 'LDAP_Sync';
 
 const addCronJob = _.debounce(Meteor.bindEnvironment(function addCronJobDebounced() {
+  let sc=SyncedCron.SyncedCron; //Why ?? something must be wrong in the import
   if (LDAP.settings_get('LDAP_BACKGROUND_SYNC') !== true) {
     log_info('Disabling LDAP Background Sync');
-    if (SyncedCron.nextScheduledAtDate(jobName)) {
-      SyncedCron.remove(jobName);
+    if (sc.nextScheduledAtDate(jobName)) {
+      sc.remove(jobName);
     }
     return;
   }
 
-  if (LDAP.settings_get('LDAP_BACKGROUND_SYNC_INTERVAL')) {
-    log_info('Enabling LDAP Background Sync');
-    SyncedCron.add({
-      name: jobName,
-      schedule: (parser) => parser.text(LDAP.settings_get('LDAP_BACKGROUND_SYNC_INTERVAL')),
-      job() {
-        sync();
-      },
-    });
-    SyncedCron.start();
-  }
+  log_info('Enabling LDAP Background Sync');
+  sc.add({
+    name: jobName,
+    schedule: function(parser) {
+    if (LDAP.settings_get('LDAP_BACKGROUND_SYNC_INTERVAL')) {
+       return parser.text(LDAP.settings_get('LDAP_BACKGROUND_SYNC_INTERVAL'));
+    }
+    else {
+       return parser.recur().on(0).minute();
+    }},
+    job: function() {
+      sync();
+    },
+  });
+  sc.start();
+
 }), 500);
 
 Meteor.startup(() => {
   Meteor.defer(() => {
-    LDAP.settings_get('LDAP_BACKGROUND_SYNC', addCronJob);
-    LDAP.settings_get('LDAP_BACKGROUND_SYNC_INTERVAL', addCronJob);
+    if(LDAP.settings_get('LDAP_BACKGROUND_SYNC')){addCronJob();}
   });
 });