View Javadoc

1   /**
2    * Copyright 2004-2013 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.hr.time.permissions;
17  
18  import org.kuali.hr.lm.leaveblock.LeaveBlock;
19  import org.kuali.hr.time.authorization.DepartmentalRule;
20  import org.kuali.hr.time.timeblock.TimeBlock;
21  import org.kuali.hr.time.timesheet.TimesheetDocument;
22  
23  
24  
25  public interface TkPermissionsService {
26  
27  	public boolean canAddTimeBlock();
28  	   public boolean canEditTimeBlockAllFields(TimeBlock tb);
29         //public boolean canEditTimeBlockAssignmentOnly(TimeBlock tb);
30  	   public boolean canEditTimeBlock(TimeBlock tb);
31  	   public boolean canDeleteTimeBlock(TimeBlock tb);
32         public boolean canEditLeaveBlock(LeaveBlock lb);
33         public boolean canDeleteLeaveBlock(LeaveBlock lb);
34  	   public boolean canViewAdminTab();
35  	   public boolean canViewClockTab();
36  	   public boolean canViewApproverTab();
37  	   public boolean canViewTimeDetailTab();
38  	   public boolean canViewBatchJobsTab();
39  	   public boolean canViewPersonInfoTab();
40  	   public boolean canViewLeaveAccrualTab();
41  	   public boolean canViewTimesheet(TimesheetDocument doc);
42  	   public boolean canViewTimesheet(String documentId);
43  	   public boolean canEditTimesheet(TimesheetDocument doc);
44  	   public boolean canEditTimesheet(String documentId);
45  	   public boolean canSubmitTimesheet(TimesheetDocument doc);
46  	   public boolean canSubmitTimesheet(String docId);
47  	   public boolean canApproveTimesheet(TimesheetDocument doc);
48  	   public boolean canViewLinkOnMaintPages();
49  	   public boolean canViewDeptMaintPages();
50  	   public boolean canViewDeptMaintPages(DepartmentalRule dr);
51  	   public boolean canEditDeptMaintPages();
52  	   public boolean canEditDeptMaintPages(DepartmentalRule dr);
53  	   public boolean canWildcardWorkAreaInDeptRule(DepartmentalRule dr);
54  	   public boolean canWildcardDeptInDeptRule(DepartmentalRule dr);
55  	   public boolean canEditOvertimeEarnCode(TimeBlock tb);
56  	   public boolean canEditRegEarnCode(TimeBlock tb);
57  	   public boolean canDeleteDeptLunchDeduction();
58  	   public boolean canAddSystemLevelRole();
59  	   public boolean canAddLocationLevelRoles();
60  	   public boolean canAddDepartmentLevelRoles();
61  	   public boolean canAddWorkareaLevelRoles();	   
62  	   public boolean canViewTimeTabs();
63  	   public boolean canViewLeaveTabsWithEStatus();
64  	   public boolean canViewLeaveTabsWithNEStatus();
65  	   /**
66  	    * Determine if given leave block is a accrual generated System Scheduled Timeoff usage that can be banked/transferred
67  	    * and if the leave block is on the current leave calendar entry of the current targeted user
68  	    * @param lb
69  	    * @return
70  	    */
71  	   public boolean canBankOrTransferSSTOUsage(LeaveBlock lb);
72  	   /**
73  	    * Determine if given leave block is a accrual generated System Scheduled Timeoff usage that can be transferred
74  	    * and if the leave block is on the current leave calendar entry of the current targeted user
75  	    * @param lb
76  	    * @return
77  	    */
78  	   public boolean canTransferSSTOUsage(LeaveBlock lb);
79  	   /**
80  	    * Determine if given leave block is a accrual generated System Scheduled Timeoff usage that can be banked
81  	    * and if the leave block is on the current leave calendar entry of the current targeted user
82  	    * @param lb
83  	    * @return
84  	    */
85  	   public boolean canBankSSTOUsage(LeaveBlock lb);
86  }