interval calculation and info update

This commit is contained in:
Dominic Bosch 2014-04-20 15:06:36 +02:00
parent d32d442000
commit 87379e3584
4 changed files with 29 additions and 11 deletions

View file

@ -62,7 +62,8 @@ exports.addRuleListener = ( eh ) =>
try
oRule = JSON.parse strRule
db.resetLog userName, oRule.id
db.appendLog userName, oRule.id, "INIT", "Rule '#{ oRule.id }' initialized"
db.appendLog userName, oRule.id, "INIT", "Rule '#{ oRule.id }' initialized.
Interval set to #{ oRule.event_interval } minutes"
eventEmitter.emit 'rule',
event: 'init'
@ -248,7 +249,8 @@ storeRule = ( user, oPayload, callback ) =>
# Initialize the rule log
db.resetLog user.username, rule.id
db.appendLog user.username, rule.id, "INIT", "Rule '#{ rule.id }' initialized"
db.appendLog user.username, rule.id, "INIT",
"Rule '#{ rule.id }' initialized. Interval set to #{ rule.event_interval } minutes"
# Inform everbody about the new rule
eventEmitter.emit 'rule',

View file

@ -67,7 +67,7 @@ Components Manager
try {
oRule = JSON.parse(strRule);
db.resetLog(userName, oRule.id);
db.appendLog(userName, oRule.id, "INIT", "Rule '" + oRule.id + "' initialized");
db.appendLog(userName, oRule.id, "INIT", "Rule '" + oRule.id + "' initialized. Interval set to " + oRule.event_interval + " minutes");
return eventEmitter.emit('rule', {
event: 'init',
user: userName,
@ -339,7 +339,7 @@ Components Manager
db.actionInvokers.storeUserArguments(user.username, rule.id, arr[0], arr[1], JSON.stringify(args));
}
db.resetLog(user.username, rule.id);
db.appendLog(user.username, rule.id, "INIT", "Rule '" + rule.id + "' initialized");
db.appendLog(user.username, rule.id, "INIT", "Rule '" + rule.id + "' initialized. Interval set to " + rule.event_interval + " minutes");
eventEmitter.emit('rule', {
event: 'new',
user: user.username,

View file

@ -368,20 +368,26 @@ fOnLoad = () ->
fParseTime = ( str, hasDay ) ->
arrTime = str.split ':'
# If there's only one entry, this is the amount of minutes
if hasDay
def = 0
else
def = 10
if arrTime.length is 1
time = parseInt( str ) || 10
time = parseInt( str ) || def
if hasDay
time * 60
else
time
else
h = parseInt( arrTime[ 0 ] ) || 0
h * 60 + ( parseInt( arrTime[ 1 ] ) || 10 )
if h > 0
def = 0
h * 60 + ( parseInt( arrTime[ 1 ] ) || def )
txtInterval = $( '#event_interval' ).val()
if not txtInterval
mins = 1
mins = 10
else
arrInp = txtInterval.split ' '
# There's only one string entered, either day or hour
@ -394,6 +400,7 @@ fOnLoad = () ->
# We have to limit this to 24 days because setTimeout only takes integer values
# until we implement a scheduler that deals with larger intervals
mins = Math.min mins, 35700
mins = Math.max 1, mins
fCheckOverwrite = ( obj ) ->
( err ) ->
if err.status is 409

View file

@ -485,10 +485,15 @@
throw new Error("Conditions Invalid! Needs to be an Array of Strings!");
}
fParseTime = function(str, hasDay) {
var arrTime, h, time;
var arrTime, def, h, time;
arrTime = str.split(':');
if (hasDay) {
def = 0;
} else {
def = 10;
}
if (arrTime.length === 1) {
time = parseInt(str) || 10;
time = parseInt(str) || def;
if (hasDay) {
return time * 60;
} else {
@ -496,12 +501,15 @@
}
} else {
h = parseInt(arrTime[0]) || 0;
return h * 60 + (parseInt(arrTime[1]) || 10);
if (h > 0) {
def = 0;
}
return h * 60 + (parseInt(arrTime[1]) || def);
}
};
txtInterval = $('#event_interval').val();
if (!txtInterval) {
mins = 1;
mins = 10;
} else {
arrInp = txtInterval.split(' ');
if (arrInp.length === 1) {
@ -512,6 +520,7 @@
}
}
mins = Math.min(mins, 35700);
mins = Math.max(1, mins);
fCheckOverwrite = function(obj) {
return function(err) {
var payl;