Add section to the Admin page that will allow administrator to clear all unassigned identifiers.
#69
This commit is contained in:
parent
153876d6a1
commit
50863b937c
@ -77,7 +77,33 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="CardManagement" class="container">
|
||||||
|
<div class="row">
|
||||||
|
<h2 class="col-md-4">Unassigned Cards</h2>
|
||||||
|
<button class="col-md-1 btn btn-default pull-right" style="margin-top: 20px;" data-bind="click: $root.clearUnassignedCards">
|
||||||
|
<span class="glyphicon glyphicon-trash"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div data-bind="with: unassignedCardList">
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Card Unique Id</th>
|
||||||
|
<th>Last Used Date</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody data-bind="foreach: data">
|
||||||
|
<tr>
|
||||||
|
<td data-bind="text: UniqueId"></td>
|
||||||
|
<td data-bind="text: $root.convertToDisplayDateTime(LastUsed)"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<script src="Helpers.min.js" type="text/javascript"></script>
|
<script src="Helpers.min.js" type="text/javascript"></script>
|
||||||
<script src="admin.min.js" type="text/javascript"></script>
|
<script src="admin.js" type="text/javascript"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@ -2,6 +2,7 @@
|
|||||||
var self = this;
|
var self = this;
|
||||||
self.groupsList = ko.observable(null);
|
self.groupsList = ko.observable(null);
|
||||||
self.groupEditItem = ko.observable(null);
|
self.groupEditItem = ko.observable(null);
|
||||||
|
self.unassignedCardList = ko.observable(null);
|
||||||
self.helpers = new Helpers();
|
self.helpers = new Helpers();
|
||||||
self.uiPages = {
|
self.uiPages = {
|
||||||
overview: "overview",
|
overview: "overview",
|
||||||
@ -11,7 +12,9 @@
|
|||||||
self.apiEndpoints = {
|
self.apiEndpoints = {
|
||||||
deleteGroups:"/api/groups/delete",
|
deleteGroups:"/api/groups/delete",
|
||||||
getGroups: "/api/groups",
|
getGroups: "/api/groups",
|
||||||
editGroup: "/api/groups/edit"
|
editGroup: "/api/groups/edit",
|
||||||
|
getUnassignedCards: "/api/cards/unassigned",
|
||||||
|
clearUnassignedCards: "/api/cards/unassigned"
|
||||||
};
|
};
|
||||||
self.clearGroupForm = function () {
|
self.clearGroupForm = function () {
|
||||||
self.helpers.goToMenuOption(self.uiPages.group);
|
self.helpers.goToMenuOption(self.uiPages.group);
|
||||||
@ -69,10 +72,48 @@
|
|||||||
var errorObj = self.helpers.processRequestFailure(resp, status, error);
|
var errorObj = self.helpers.processRequestFailure(resp, status, error);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
self.getUnassignedCardData = function() {
|
||||||
|
var url = self.helpers.createRequestUrl(self.apiEndpoints.getUnassignedCards, null, false);
|
||||||
|
$.getJSON(url,
|
||||||
|
function(res) {
|
||||||
|
self.unassignedCardList(res);
|
||||||
|
}).fail(function(resp, status, error) {
|
||||||
|
console.log("error - getUnassignedCards");
|
||||||
|
var errorObj = self.helpers.processRequestFailure(resp, status, error);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
self.clearUnassignedCards = function() {
|
||||||
|
var url = self.helpers.createRequestUrl(self.apiEndpoints.clearUnassignedCards, null, false);
|
||||||
|
$.ajax({
|
||||||
|
type: "DELETE",
|
||||||
|
url: url,
|
||||||
|
data: "",
|
||||||
|
success: function() {
|
||||||
|
self.getUnassignedCardData(); //update
|
||||||
|
},
|
||||||
|
error: function(jqxhr, status, error) {
|
||||||
|
console.log("error - clearUnassignedCards");
|
||||||
|
var errorObj = self.helpers.processRequestFailure(resp, status, error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
self.padNumber = function (number) {
|
||||||
|
return (number < 10 ? "0" : "") + number;
|
||||||
|
};
|
||||||
|
self.convertToDisplayDateTime = function (dateValue) {
|
||||||
|
var date = new Date(dateValue); // dd MM YY HH:mm:ss e.g.: 01 Mar 17 17:34:02
|
||||||
|
return date.getDate() + " "
|
||||||
|
+ date.toLocaleString("en-us", { month: "long" }) + " "
|
||||||
|
+ (date.getYear()-100) + " "
|
||||||
|
+ self.padNumber(date.getHours()) + ":"
|
||||||
|
+ self.padNumber(date.getMinutes()) + ":"
|
||||||
|
+ self.padNumber(date.getSeconds());
|
||||||
|
};
|
||||||
Sammy(function () {
|
Sammy(function () {
|
||||||
this.disable_push_state = true;
|
this.disable_push_state = true;
|
||||||
this.get("#overview", function () {
|
this.get("#overview", function () {
|
||||||
self.getGroups();
|
self.getGroups();
|
||||||
|
self.getUnassignedCardData();
|
||||||
});
|
});
|
||||||
this.post("#editgroup", function () {
|
this.post("#editgroup", function () {
|
||||||
self.submitGroupEdit(self.groupEditItem());
|
self.submitGroupEdit(self.groupEditItem());
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
function AdminVM(){var n=this;n.groupsList=ko.observable(null);n.groupEditItem=ko.observable(null);n.helpers=new Helpers;n.uiPages={overview:"overview",group:"groups",home:function(){return this.overview}};n.apiEndpoints={deleteGroups:"/api/groups/delete",getGroups:"/api/groups",editGroup:"/api/groups/edit"};n.clearGroupForm=function(){n.helpers.goToMenuOption(n.uiPages.group);n.groupEditItem(null)};n.hideGroupForm=function(){n.groupEditItem(null)};n.newGroupForm=function(){n.groupEditItem({Id:-1,Name:""});n.helpers.goToMenuOption(n.uiPages.group)};n.groupFormHidden=ko.computed(function(){return n.groupEditItem()==null},n);n.editGroupClick=function(t){n.helpers.goToMenuOption(n.uiPages.group);n.groupEditItem(t)};n.getGroups=function(){var t=n.helpers.createRequestUrl(n.apiEndpoints.getGroups,null,!1);$.getJSON(t,function(t){n.groupsList(t)}).fail(function(t,i,r){console.log("error - getGroups");var u=n.helpers.processRequestFailure(t,i,r)})};n.deleteGroup=function(t){var i=n.helpers.createRequestUrl(n.apiEndpoints.deleteGroups,[{key:"groupId",value:t}],!1,!1);$.ajax({url:i,type:"DELETE",success:function(){console.log("deleted "+t);n.hideGroupForm();n.helpers.goToMenuOption(n.uiPages.home())}});console.log("delete: "+t)};n.submitGroupEdit=function(t){var i=n.helpers.createRequestUrl(n.apiEndpoints.editGroup,null,!1);$.post(i,t,function(){},"json").done(function(){n.groupEditItem(null);n.helpers.goToMenuOption(n.uiPages.home())}).fail(function(t,i,r){n.helpers.goToMenuOption(n.uiPages.home());var u=n.helpers.processRequestFailure(t,i,r)})};Sammy(function(){this.disable_push_state=!0;this.get("#overview",function(){n.getGroups()});this.post("#editgroup",function(){return n.submitGroupEdit(n.groupEditItem()),!1});this.get("",function(){this.app.runRoute("get","#"+n.uiPages.home())})}).run()}ko.applyBindings(new AdminVM)
|
function AdminVM(){var n=this;n.groupsList=ko.observable(null);n.groupEditItem=ko.observable(null);n.unassignedCardList=ko.observable(null);n.helpers=new Helpers;n.uiPages={overview:"overview",group:"groups",home:function(){return this.overview}};n.apiEndpoints={deleteGroups:"/api/groups/delete",getGroups:"/api/groups",editGroup:"/api/groups/edit",getUnassignedCards:"/api/cards/unassigned",clearUnassignedCards:"/api/cards/unassigned"};n.clearGroupForm=function(){n.helpers.goToMenuOption(n.uiPages.group);n.groupEditItem(null)};n.hideGroupForm=function(){n.groupEditItem(null)};n.newGroupForm=function(){n.groupEditItem({Id:-1,Name:""});n.helpers.goToMenuOption(n.uiPages.group)};n.groupFormHidden=ko.computed(function(){return n.groupEditItem()==null},n);n.editGroupClick=function(t){n.helpers.goToMenuOption(n.uiPages.group);n.groupEditItem(t)};n.getGroups=function(){var t=n.helpers.createRequestUrl(n.apiEndpoints.getGroups,null,!1);$.getJSON(t,function(t){n.groupsList(t)}).fail(function(t,i,r){console.log("error - getGroups");var u=n.helpers.processRequestFailure(t,i,r)})};n.deleteGroup=function(t){var i=n.helpers.createRequestUrl(n.apiEndpoints.deleteGroups,[{key:"groupId",value:t}],!1,!1);$.ajax({url:i,type:"DELETE",success:function(){console.log("deleted "+t);n.hideGroupForm();n.helpers.goToMenuOption(n.uiPages.home())}});console.log("delete: "+t)};n.submitGroupEdit=function(t){var i=n.helpers.createRequestUrl(n.apiEndpoints.editGroup,null,!1);$.post(i,t,function(){},"json").done(function(){n.groupEditItem(null);n.helpers.goToMenuOption(n.uiPages.home())}).fail(function(t,i,r){n.helpers.goToMenuOption(n.uiPages.home());var u=n.helpers.processRequestFailure(t,i,r)})};n.getUnassignedCardData=function(){var t=n.helpers.createRequestUrl(n.apiEndpoints.getUnassignedCards,null,!1);$.getJSON(t,function(t){n.unassignedCardList(t)}).fail(function(t,i,r){console.log("error - getUnassignedCards");var u=n.helpers.processRequestFailure(t,i,r)})};n.clearUnassignedCards=function(){var t=n.helpers.createRequestUrl(n.apiEndpoints.clearUnassignedCards,null,!1);$.ajax({type:"DELETE",url:t,data:"",success:function(){n.getUnassignedCardData()},error:function(t,i,r){console.log("error - clearUnassignedCards");var u=n.helpers.processRequestFailure(resp,i,r)}})};n.padNumber=function(n){return(n<10?"0":"")+n};n.convertToDisplayDateTime=function(t){var i=new Date(t);return i.getDate()+" "+i.toLocaleString("en-us",{month:"long"})+" "+(i.getYear()-100)+" "+n.padNumber(i.getHours())+":"+n.padNumber(i.getMinutes())+":"+n.padNumber(i.getSeconds())};Sammy(function(){this.disable_push_state=!0;this.get("#overview",function(){n.getGroups();n.getUnassignedCardData()});this.post("#editgroup",function(){return n.submitGroupEdit(n.groupEditItem()),!1});this.get("",function(){this.app.runRoute("get","#"+n.uiPages.home())})}).run()}ko.applyBindings(new AdminVM)
|
||||||
Loading…
Reference in New Issue
Block a user