/* Over-ride usual search behavior */
if (param.keySearch) {
keySearch = param.value;
- sql1 += ' and (jt0.item_number ~^ ${p1} or jt0.item_upccode ~^ ${p1}) ' +
+ sql1 += ' and itemsite_item_id in (select item_id from item where item_number ~^ ${p1} or item_upccode ~^ ${p1}) ' +
'union ' +
'select t1.itemsite_id ' +
'from %1$I.%2$I t1 {joins} ' +
/* Query the model */
sql1 = sql1.replace(/{conditions}/g, clause.conditions)
.replace(/{extra}/g, extra)
- .replace('{joins}', clause.joins)
- .replace('{joins}', clause.joins)
- .replace('{joins}', clause.joins)
+ .replace(/{joins}/g, clause.joins)
.replace('{orderBy}', clause.orderBy)
.replace('{limit}', limit)
.replace('{offset}', offset)
});
});
+ it('should be able to do an item-site search with a keysearch', function (done) {
+ var sql = 'select xt.js_init(true);select xt.post($${"nameSpace":"XM","type":"ItemSiteRelation","dispatch":{"functionName":"fetch","parameters":{"parameters":[{"attribute":["number","barcode"],"operator":"BEGINS_WITH","value":"BTR","keySearch":true}],"orderBy":[{"attribute":"number"},{"attribute":"barcode"}],"rowLimit":10}},"username":"admin","encryptionKey":"this is any content"}$$);';
+
+ datasource.query(sql, creds, function (err, res) {
+ var results;
+ assert.isNull(err);
+ assert.equal(1, res.rowCount, JSON.stringify(res.rows));
+ results = JSON.parse(res.rows[1].post);
+ assert.isNumber(results.length);
+ done();
+ });
+ });
+
+
it('should support a nested order-by', function (done) {
var sql = 'select xt.js_init(true);select xt.get($${"nameSpace":"XM","type":"ItemSource","query":{"orderBy":[{"attribute":"vendorItemNumber"},{"attribute":"vendor.name"}],"parameters":[{"attribute":"isActive","value":true},{"attribute":"effective","operator":"<=","value":"2014-03-20T04:00:00.000Z"},{"attribute":"expires","operator":">=","value":"2014-03-22T01:18:09.202Z"}],"rowOffset":0,"rowLimit":50},"username":"admin","encryptionKey":"this is any content"}$$);';
});
});
+
// incident plus
//select xt.js_init(true);select xt.get($${"nameSpace":"XM","type":"IncidentListItem","query":{"orderBy":[{"attribute":"priorityOrder"},{"attribute":"updated","descending":true},{"attribute":"number","descending":true,"numeric":true}],"rowOffset":0,"rowLimit":50,"parameters":[{"attribute":["owner.username","assignedTo.username"],"operator":"","isCharacteristic":false,"value":"admin"},{"attribute":"project","operator":"","isCharacteristic":false,"value":"GREENLEAF"},{"attribute":"foundIn","operator":"","isCharacteristic":false,"value":"d0e6c507-eac5-461c-f63e-91e352a3ffb1"}]},"username":"admin","encryptionKey":"this is any content"}$$)