|  | @@ -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();}
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  });
 |