001 /** 002 * Copyright 2004-2013 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.hr.time.calendar; 017 018 import java.math.BigDecimal; 019 020 import org.kuali.hr.lm.LMConstants; 021 import org.kuali.hr.lm.leaveblock.LeaveBlock; 022 import org.kuali.hr.time.service.base.TkServiceLocator; 023 import org.kuali.rice.krad.util.ObjectUtils; 024 025 import static org.kuali.hr.time.service.base.TkServiceLocator.*; 026 027 public class LeaveBlockRenderer { 028 private LeaveBlock leaveBlock; 029 private String assignmentClass; 030 //private boolean readOnly; 031 032 public LeaveBlockRenderer(LeaveBlock leaveBlock) { 033 this.leaveBlock = leaveBlock; 034 } 035 036 public LeaveBlock getLeaveBlock() { 037 return leaveBlock; 038 } 039 040 public BigDecimal getHours() { 041 return leaveBlock.getLeaveAmount(); 042 } 043 044 public String getEarnCode() { 045 return leaveBlock.getEarnCode(); 046 } 047 048 public String getLeaveBlockId() { 049 return leaveBlock.getLmLeaveBlockId(); 050 } 051 052 public String getDocumentId() { 053 return leaveBlock.getDocumentId(); 054 } 055 056 public String getAssignmentTitle() { 057 return leaveBlock.getAssignmentTitle(); 058 } 059 060 public boolean getEditable() { 061 return leaveBlock.isEditable(); 062 } 063 064 public boolean getDeletable() { 065 return leaveBlock.isDeletable(); 066 } 067 068 public String getAssignmentClass() { 069 return assignmentClass; 070 } 071 072 public void setAssignmentClass(String assignmentClass) { 073 this.assignmentClass = assignmentClass; 074 } 075 076 public String getRequestStatusClass() { 077 return this.leaveBlock.getRequestStatusString().toLowerCase(); 078 } 079 080 public String getLeaveBlockDetails() { 081 if (this.leaveBlock.getLeaveBlockType().equals(LMConstants.LEAVE_BLOCK_TYPE.ACCRUAL_SERVICE)) { 082 // return "accrual"; 083 if(ObjectUtils.isNotNull(leaveBlock.getScheduleTimeOffId())) 084 return TkServiceLocator.getSysSchTimeOffService().getSystemScheduledTimeOff(this.leaveBlock.getScheduleTimeOffId()).getDescr(); 085 else 086 return "accrual"; 087 } 088 else if(this.leaveBlock.getLeaveBlockType().equals(LMConstants.LEAVE_BLOCK_TYPE.BALANCE_TRANSFER)) { 089 if(this.leaveBlock.getDescription().contains("Forfeited")) 090 return "transfer forfeiture"; 091 else if(this.leaveBlock.getDescription().contains("Amount transferred")) 092 return "amount transferred"; 093 else if(this.leaveBlock.getDescription().contains("Transferred amount")) 094 return "transferred amount"; 095 else 096 return "balance transfer"; 097 } 098 else if(this.leaveBlock.getLeaveBlockType().equals(LMConstants.LEAVE_BLOCK_TYPE.LEAVE_PAYOUT)) { 099 if(this.leaveBlock.getDescription().contains("Forfeited")) 100 return "payout forfeiture"; 101 else if(this.leaveBlock.getDescription().contains("Amount paid out")) 102 return "amount paid out"; 103 else if(this.leaveBlock.getDescription().contains("Payout amount")) 104 return "payout amount"; 105 else 106 return "leave payout"; 107 } 108 else 109 if(!this.leaveBlock.getLeaveBlockType().equals(LMConstants.LEAVE_BLOCK_TYPE.LEAVE_CALENDAR) && 110 !this.leaveBlock.getLeaveBlockType().equals(LMConstants.LEAVE_BLOCK_TYPE.TIME_CALENDAR)) 111 return LMConstants.LEAVE_BLOCK_TYPE_MAP.get(this.leaveBlock.getLeaveBlockType()).toLowerCase(); 112 else 113 return getRequestStatusClass(); 114 115 } 116 117 public String getDescription() { 118 return leaveBlock.getDescription(); 119 } 120 121 }