|
|
@@ -43,9 +43,19 @@ function _get_select(fid) {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+function _date_only(s) {
|
|
|
+ if (!s) { return s; }
|
|
|
+ if (s.length > 0) {
|
|
|
+ return s.split(" ")[0];
|
|
|
+ }
|
|
|
+ return s;
|
|
|
+}
|
|
|
+
|
|
|
function _create_pass_row(dat) {
|
|
|
var pass_table = document.getElementById("manage_card:list_passes");
|
|
|
|
|
|
+ var _cb = "<input type='checkbox' id='xxx' name='xxx'>";
|
|
|
+
|
|
|
while (pass_table.firstChild) {
|
|
|
pass_table.removeChild(pass_table.lastChild);
|
|
|
}
|
|
|
@@ -56,7 +66,8 @@ function _create_pass_row(dat) {
|
|
|
row.classList.add("row-shade");
|
|
|
|
|
|
var fields_width = [1,1,1,1,2,2,2,2];
|
|
|
- var fields = ["x", "Type", "Original", "Remain", "Exp.", "Issued", "First Used", "Last Used"];
|
|
|
+ //var fields = ["x", "Type", "Original", "Remain", "Exp.", "Issued", "First Used", "Last Used"];
|
|
|
+ var fields = ['', "Type", "Original", "Remain", "Exp.", "Issued", "First Used", "Last Used"];
|
|
|
for (var idx=0; idx<fields.length; idx++) {
|
|
|
var cell = document.createElement("div");
|
|
|
cell.innerHTML = fields[idx];
|
|
|
@@ -68,6 +79,8 @@ function _create_pass_row(dat) {
|
|
|
for (var idx=0; idx<dat["pass"].length; idx++) {
|
|
|
var pass_data = dat["pass"][idx];
|
|
|
|
|
|
+ var passid = pass_data["user_pass_id"];
|
|
|
+
|
|
|
var pass_type = "unk";
|
|
|
var pass_rule = pass_data["rule"];
|
|
|
var pass_orig = "";
|
|
|
@@ -108,11 +121,21 @@ function _create_pass_row(dat) {
|
|
|
row.classList.add("row-shade");
|
|
|
}
|
|
|
|
|
|
- var cell = document.createElement("div");
|
|
|
- cell.innerHTML = "x";
|
|
|
+ //var cell = document.createElement("div");
|
|
|
+ //cell.innerHTML = "x";
|
|
|
+
|
|
|
+ var cell = document.createElement("input");
|
|
|
+
|
|
|
+ cell.setAttribute('type', 'checkbox');
|
|
|
+ cell.setAttribute('value', '');
|
|
|
+ cell.setAttribute('id', "manage_card:cb_" + idx + "_pass");
|
|
|
cell.classList.add("col-" + fields_width[0]);
|
|
|
row.appendChild(cell);
|
|
|
|
|
|
+
|
|
|
+ //cell.classList.add("col-" + fields_width[0]);
|
|
|
+ //row.appendChild(cell);
|
|
|
+
|
|
|
cell = document.createElement("div");
|
|
|
cell.innerHTML = pass_type;
|
|
|
cell.classList.add("col-" + fields_width[1]);
|
|
|
@@ -129,17 +152,20 @@ function _create_pass_row(dat) {
|
|
|
row.appendChild(cell);
|
|
|
|
|
|
cell = document.createElement("div");
|
|
|
- cell.innerHTML = pass_exp;
|
|
|
+ //cell.innerHTML = pass_exp;
|
|
|
+ cell.innerHTML = _date_only(pass_exp);
|
|
|
cell.classList.add("col-" + fields_width[4]);
|
|
|
row.appendChild(cell);
|
|
|
|
|
|
cell = document.createElement("div");
|
|
|
- cell.innerHTML = pass_data["issued"];
|
|
|
+ //cell.innerHTML = pass_data["issued"];
|
|
|
+ cell.innerHTML = _date_only(pass_data["issued"]);
|
|
|
cell.classList.add("col-" + fields_width[5]);
|
|
|
row.appendChild(cell);
|
|
|
|
|
|
cell = document.createElement("div");
|
|
|
- cell.innerHTML = pass_firstused;
|
|
|
+ //cell.innerHTML = pass_firstused;
|
|
|
+ cell.innerHTML = _date_only(pass_firstused);
|
|
|
cell.classList.add("col-" + fields_width[6]);
|
|
|
row.appendChild(cell);
|
|
|
|
|
|
@@ -148,6 +174,12 @@ function _create_pass_row(dat) {
|
|
|
cell.classList.add("col-" + fields_width[7]);
|
|
|
row.appendChild(cell);
|
|
|
|
|
|
+ cell = document.createElement("div");
|
|
|
+ cell.innerHTML = passid;
|
|
|
+ cell.setAttribute('id', "manage_card:row_" + idx + "_pass");
|
|
|
+ cell.style.display = "none";
|
|
|
+ row.appendChild(cell);
|
|
|
+
|
|
|
pass_table.appendChild(row);
|
|
|
|
|
|
}
|
|
|
@@ -170,6 +202,8 @@ function manage_card_find_fill(data) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ console.log("cp0");
|
|
|
+
|
|
|
if ("pass" in data) {
|
|
|
_create_pass_row(data);
|
|
|
}
|
|
|
@@ -287,6 +321,8 @@ function api_resp(xhr,extra) {
|
|
|
|
|
|
var dat = JSON.parse(xhr.responseText);
|
|
|
|
|
|
+ console.log(dat);
|
|
|
+
|
|
|
if (extra["ui_function"] === "manage_card.find") {
|
|
|
|
|
|
console.log("manage_card.find", dat);
|
|
|
@@ -295,10 +331,20 @@ function api_resp(xhr,extra) {
|
|
|
(dat.cards.length>0)) {
|
|
|
manage_card_find_fill(dat.cards[0]);
|
|
|
}
|
|
|
+
|
|
|
+ }
|
|
|
+ else if (extra["ui_function"] === "manage_card.findone") {
|
|
|
+
|
|
|
+ console.log("... manage_card.findone", dat);
|
|
|
+
|
|
|
+ manage_card_find_fill(dat);
|
|
|
}
|
|
|
else if (extra["ui_function"] === "manage_card.update") {
|
|
|
+
|
|
|
+ console.log("issuing 'manage_card.update'");
|
|
|
+
|
|
|
var cardid = _get_input_field("manage_card:logical_card_id");
|
|
|
- api_req({"api_function":"CardInfo", "ui_function":"manage_card.find", "data":[["logical_card_id",cardid]]});
|
|
|
+ api_req({"api_function":"CardInfo", "ui_function":"manage_card.findone", "data":[["logical_card_id",cardid]]});
|
|
|
}
|
|
|
|
|
|
else if (extra["ui_function"] === "create_user.finish") {
|
|
|
@@ -320,6 +366,9 @@ function api_resp(xhr,extra) {
|
|
|
api_req({"api_function":"UserInfo", "ui_function":"manage_user.find", "data":[["userid",userid]]});
|
|
|
}
|
|
|
|
|
|
+ else if (extra["ui_function"] === "group") {
|
|
|
+ }
|
|
|
+
|
|
|
//else if (extra["ui_function"] === "manage_card.find") { manage_card_find_fill(dat); }
|
|
|
|
|
|
}
|
|
|
@@ -369,7 +418,7 @@ function manage_card_redirect_manage_user() {
|
|
|
|
|
|
function manage_card_reissue() {
|
|
|
var cardid = _get_input_field("manage_card:logical_card_id");
|
|
|
- _redirect( "reissue?" + "action=get&logical_card_id=" + userid);
|
|
|
+ _redirect( "reissue_card?" + "action=get&logical_card_id=" + cardid);
|
|
|
}
|
|
|
|
|
|
function manage_card_add_pass(pass_type) {
|
|
|
@@ -413,7 +462,9 @@ function manage_card_add_pass_nride() {
|
|
|
]
|
|
|
};
|
|
|
|
|
|
+ //DEBUG
|
|
|
console.log(">>nride++", api_data);
|
|
|
+
|
|
|
api_req(api_data);
|
|
|
}
|
|
|
|
|
|
@@ -440,27 +491,79 @@ function manage_card_add_pass_nday() {
|
|
|
]
|
|
|
};
|
|
|
|
|
|
+ //DEBUG
|
|
|
console.log(">>nday++", api_data);
|
|
|
+
|
|
|
api_req(api_data);
|
|
|
}
|
|
|
|
|
|
function manage_card_add_pass_other() {
|
|
|
-}
|
|
|
-
|
|
|
-function manage_card_delete_pass(passid) {
|
|
|
var cardid = _get_input_field("manage_card:logical_card_id");
|
|
|
+ var ui_ele = document.getElementById("manage_card:pass_other");
|
|
|
|
|
|
- var dat = {
|
|
|
+ var rule = ui_ele.options[ui_ele.selectedIndex].id;
|
|
|
+
|
|
|
+ var api_data = {
|
|
|
"api_function":"Pass",
|
|
|
"ui_function":"manage_card.update",
|
|
|
- "data": [
|
|
|
- ["action", "deactivate"],
|
|
|
- ["logical_card_id",cardid],
|
|
|
- ["user_pass_id", passid]
|
|
|
- ]};
|
|
|
- api_req(dat);
|
|
|
+ "data" : [
|
|
|
+ ["action","add"],
|
|
|
+ ["logical_card_id" , cardid],
|
|
|
+ ["rule" , rule]
|
|
|
+ ]
|
|
|
+ };
|
|
|
+
|
|
|
+ //DEBUG
|
|
|
+ console.log(">>other++", api_data);
|
|
|
+
|
|
|
+ api_req(api_data);
|
|
|
+}
|
|
|
+
|
|
|
+function manage_card_delete_pass() {
|
|
|
+ var cardid = _get_input_field("manage_card:logical_card_id");
|
|
|
+
|
|
|
+ var ele = document.getElementById("manage_card:list_passes");
|
|
|
+ var n = ele.children.length;
|
|
|
+ n-=1;
|
|
|
+
|
|
|
+ for (var ii=0; ii<n; ii++) {
|
|
|
+ var cb = document.getElementById("manage_card:cb_" + ii + "_pass");
|
|
|
+ if (!cb.checked) { continue; }
|
|
|
+
|
|
|
+ var v = document.getElementById("manage_card:row_"+ ii + "_pass");
|
|
|
+ var passid = v.innerHTML;
|
|
|
+
|
|
|
+ console.log("deleting pass", passid, "(card:", cardid,")");
|
|
|
+
|
|
|
+ if (cb.checked) {
|
|
|
+ var dat = {
|
|
|
+ "api_function":"Pass",
|
|
|
+ "ui_function":"manage_card.update",
|
|
|
+ "data": [
|
|
|
+ ["action", "deactivate"],
|
|
|
+ ["logical_card_id",cardid],
|
|
|
+ ["user_pass_id", passid]
|
|
|
+ ]};
|
|
|
+ api_req(dat);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+function manage_card_toggle_pass_select() {
|
|
|
+ var ele = document.getElementById("manage_card:list_passes");
|
|
|
+ var n = ele.children.length;
|
|
|
+ n-=1;
|
|
|
+ for (var ii=0; ii<n; ii++) {
|
|
|
+ var cb = document.getElementById("manage_card:cb_" + ii + "_pass");
|
|
|
+ if (cb.checked) { cb.checked = false; }
|
|
|
+ else { cb.checked = true; }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
// --------------------------------------
|
|
|
// --------------------------------------
|
|
|
|
|
|
@@ -483,11 +586,19 @@ function manage_user_associate_card(data) {
|
|
|
var ele = document.getElementById("manage_user:logical_card_id");
|
|
|
var cardid = ele.value;
|
|
|
|
|
|
+ ele = document.getElementById("manage_user:mag_token");
|
|
|
+ var mag = ele.value;
|
|
|
+
|
|
|
+ ele = document.getElementById("manage_user:rfid_token");
|
|
|
+ var rfid = ele.value;
|
|
|
+
|
|
|
var req_dat = { "api_function":"Card", "ui_function":"manage_user.update",
|
|
|
"data": [
|
|
|
["action","update"],
|
|
|
["userid", userid],
|
|
|
- ["logical_card_id",cardid]
|
|
|
+ ["logical_card_id",cardid],
|
|
|
+ ["mag_token",mag],
|
|
|
+ ["rfid_token",rfid]
|
|
|
] };
|
|
|
|
|
|
api_req(req_dat);
|
|
|
@@ -559,7 +670,7 @@ function admin_api_init() {
|
|
|
_attach_button( "manage_card:button_add_pass_nday", manage_card_add_pass_nday);
|
|
|
_attach_button( "manage_card:button_add_pass_other", manage_card_add_pass_other);
|
|
|
_attach_button( "manage_card:button_delete_pass", manage_card_delete_pass);
|
|
|
-
|
|
|
+ _attach_button( "manage_card:button_toggle_pass_all", manage_card_toggle_pass_select);
|
|
|
|
|
|
if ("logical_card_id" in _h) {
|
|
|
console.log("sending manage_card.find request");
|