* ACS checks in 'next' blocks can now have a default "catch all" by simply omitting the 'acs' portion of a condition
This commit is contained in:
parent
688e46bc47
commit
48c12ddffb
|
@ -15,9 +15,19 @@ function getConditionalValue(client, condArray, memberName) {
|
||||||
assert(_.isString(memberName));
|
assert(_.isString(memberName));
|
||||||
|
|
||||||
var matchCond = _.find(condArray, function cmp(cond) {
|
var matchCond = _.find(condArray, function cmp(cond) {
|
||||||
return acsParser.parse(cond.acs, { client : client } );
|
return _.has(cond, 'acs') && acsParser.parse(cond.acs, { client : client } );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//
|
||||||
|
// If no matchCond, look for a default entry. That is,
|
||||||
|
// a entry without a 'acs' string.
|
||||||
|
//
|
||||||
|
if(!matchCond) {
|
||||||
|
matchCond = _.find(condArray, function cmp(cond) {
|
||||||
|
return !_.has(cond, 'acs');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if(matchCond) {
|
if(matchCond) {
|
||||||
return matchCond[memberName];
|
return matchCond[memberName];
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
return !isNaN(value) && user.getAge() >= value;
|
return !isNaN(value) && user.getAge() >= value;
|
||||||
},
|
},
|
||||||
AS : function accountStatus() {
|
AS : function accountStatus() {
|
||||||
|
|
||||||
if(_.isNumber(value)) {
|
if(_.isNumber(value)) {
|
||||||
value = [ value ];
|
value = [ value ];
|
||||||
}
|
}
|
||||||
|
@ -82,16 +81,28 @@
|
||||||
return !isNaN(value) && client.term.termWidth >= value;
|
return !isNaN(value) && client.term.termWidth >= value;
|
||||||
},
|
},
|
||||||
ID : function isUserId(value) {
|
ID : function isUserId(value) {
|
||||||
return user.userId === value;
|
if(_.isNumber(value)) {
|
||||||
|
value = [ value ];
|
||||||
|
}
|
||||||
|
|
||||||
|
assert(_.isArray(value));
|
||||||
|
|
||||||
|
return _.findIndex(value, function cmp(uid) {
|
||||||
|
return user.userId === parseInt(uid, 10);
|
||||||
|
}) > -1;
|
||||||
},
|
},
|
||||||
WD : function isOneOfDayOfWeek() {
|
WD : function isOneOfDayOfWeek() {
|
||||||
// :TODO: return true if DoW
|
|
||||||
if(_.isNumber(value)) {
|
if(_.isNumber(value)) {
|
||||||
|
value = [ value ];
|
||||||
} else if(_.isArray(value)) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
|
assert(_.isArray(value));
|
||||||
|
|
||||||
|
var nowDayOfWeek = new Date().getDay();
|
||||||
|
|
||||||
|
return _.findIndex(value, function cmp(dow) {
|
||||||
|
return nowDayOfWeek === parseInt(dow, 10);
|
||||||
|
}) > -1;
|
||||||
},
|
},
|
||||||
MM : function isMinutesPastMidnight() {
|
MM : function isMinutesPastMidnight() {
|
||||||
// :TODO: return true if value is >= minutes past midnight sys time
|
// :TODO: return true if value is >= minutes past midnight sys time
|
||||||
|
|
|
@ -309,7 +309,7 @@
|
||||||
next: fullLoginSequenceLoginArt
|
next: fullLoginSequenceLoginArt
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
acs: !AS2
|
// acs: !AS2
|
||||||
next: newUserInactiveDone
|
next: newUserInactiveDone
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in New Issue