mirror of
https://github.com/wekan/wekan.git
synced 2025-04-22 04:57:07 -04:00
Makes LDAP background sync work. If the sync interval is unspecified, falls back to a hourly default.
This commit is contained in:
parent
f06098f3dd
commit
be44fb8aea
2 changed files with 22 additions and 16 deletions
|
@ -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');
|
||||
|
|
|
@ -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();}
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue