/**
*
* Copyright (C) 2021 Akorbi Digital RMP
*
* This file is part of RunMyProcess SDK-JS.
*
* RunMyProcess SDK-JS is free software: you can redistribute it and/or modify
* it under the terms of the Apache License Version 2.0 (the "License");
*
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
A List of the users
@constructor
@property {Array} users - Array of users.
@see Resource
@example Load customers
var userList = new UserList();
userList.load({
onSuccess:function(){
alert('List Loaded! '+userList.users.length+' users on list');
}
});
*/
function UserList(){
this.users = [];
};
/**
Inherits Resource
@borrows Resource.js
*/
UserList.prototype = new Resource();
/**
Overrides Resource's loadPreset method.
@method
@see Resource#loadPreset
*/
UserList.prototype.loadPreset = function () {
/**
Overrides Resource's generateUrl method to return the request url
@method
@see Resource#generateUrl
*/
if(!this.version)this.version = 'current';
//this.defaultFilters =[];//Remove default filters generated by filters in the selfUrl
this.generateUrl=function () {
return this.selfUrl || this.reconstructUrl(context.link.user);//If selUrl is not set get the url from context
};
};
/**
Overrides Resource's loadSet method to set local variables after request.
@method
@param {json} rObject - JSON representation of the loaded data.
@see Resource#loadSet
*/
UserList.prototype.loadSet = function (rObject) {
var father = this;
father.users = [];
var ent=this.getArray(rObject, "entry");
for (var i = 0; i < ent.length; i++) {
var u = new User();//Create a new instance of User
u.id = ent[i].id;
u.categories = u.getArray(ent[i], "category");
u.selfUrl = ent[i].content.src;
u.author = ent[i].author;
u.title = ent[i].title;
u.updated = new Date(ent[i].updated);
u.setLinks = u.getArray(ent[i], "link");
u.rights = ent[i].rights;
u.title = ent[i].title;
u.name = ent[i].author.name;
u.email = ent[i].author.email;
u.published = new Date(ent[i].published);
var cat = u.categories;
for (var j = 0; j < cat.length; j++) {
switch (cat[j].term) {
case 'profile':
u.profile = cat[j].label;
break;
case 'language':
u.language = cat[j].label;
break;
case 'status':
u.status = cat[j].label;
break;
case 'client_language':
u.clientLanguage = cat[j].label;
break;
case 'billing_status':
u.billingStatus = cat[j].label;
break;
case 'receive_alert':
u.receive_alert = cat[j].label;
break;
}
}
father.users.push(u);
}
};