/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package models.datatable;
import util.datatable.DataTable;
import com.emc.vipr.model.catalog.ApprovalRestRep;
import com.emc.vipr.model.catalog.CatalogServiceRestRep;
import com.emc.vipr.model.catalog.OrderRestRep;
import controllers.catalog.Approvals;
/**
* @author Chris Dail
*/
public class ApprovalsDataTable extends DataTable {
public ApprovalsDataTable() {
addColumn("orderNumber");
addColumn("serviceTitle").setRenderFunction("renderLink");
addColumn("status").setRenderFunction("render.approvalStatus");
addColumn("orderUserName");
addColumn("createdDate").setRenderFunction("render.localDate");
addColumn("approvedBy");
sortAll();
setDefaultSort("createdDate", "desc");
setRowCallback("createRowLink");
}
public static class ApprovalRequestInfo {
public String id;
public String orderNumber;
public String rowLink;
public String status;
public String serviceTitle;
public String orderUserName;
public Long createdDate;
public Long dateActioned;
public String message;
public String approvedBy;
public ApprovalRequestInfo() {
}
public ApprovalRequestInfo(ApprovalRestRep approval, OrderRestRep order, CatalogServiceRestRep service) {
this.id = approval.getId().toString();
this.rowLink = createLink(Approvals.class, "edit", "id", id);
this.status = approval.getApprovalStatus();
this.message = approval.getMessage();
this.approvedBy = approval.getApprovedBy();
if (approval.getCreationTime() != null) {
this.createdDate = approval.getCreationTime().getTime().getTime();
}
if (approval.getDateActioned() != null) {
this.dateActioned = approval.getDateActioned().getTime();
}
if (order != null) {
this.orderNumber = order.getOrderNumber();
this.orderUserName = order.getSubmittedBy();
}
if (service != null) {
this.serviceTitle = service.getTitle();
}
}
}
}