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 canEditTimeBlock(TimeBlock tb);
30  	   public boolean canDeleteTimeBlock(TimeBlock tb);
31         public boolean canEditLeaveBlock(LeaveBlock lb);
32         public boolean canDeleteLeaveBlock(LeaveBlock lb);
33  	   public boolean canViewAdminTab();
34  	   public boolean canViewClockTab();
35  	   public boolean canViewApproverTab();
36  	   public boolean canViewTimeDetailTab();
37  	   public boolean canViewBatchJobsTab();
38  	   public boolean canViewPersonInfoTab();
39  	   public boolean canViewLeaveAccrualTab();
40  	   public boolean canViewTimesheet(TimesheetDocument doc);
41  	   public boolean canViewTimesheet(String documentId);
42  	   public boolean canEditTimesheet(TimesheetDocument doc);
43  	   public boolean canEditTimesheet(String documentId);
44  	   public boolean canSubmitTimesheet(TimesheetDocument doc);
45  	   public boolean canSubmitTimesheet(String docId);
46  	   public boolean canApproveTimesheet(TimesheetDocument doc);
47  	   public boolean canViewLinkOnMaintPages();
48  	   public boolean canViewDeptMaintPages();
49  	   public boolean canViewDeptMaintPages(DepartmentalRule dr);
50  	   public boolean canEditDeptMaintPages();
51  	   public boolean canEditDeptMaintPages(DepartmentalRule dr);
52  	   public boolean canWildcardWorkAreaInDeptRule(DepartmentalRule dr);
53  	   public boolean canWildcardDeptInDeptRule(DepartmentalRule dr);
54  	   public boolean canEditOvertimeEarnCode(TimeBlock tb);
55  	   public boolean canEditRegEarnCode(TimeBlock tb);
56  	   public boolean canDeleteDeptLunchDeduction();
57  	   public boolean canAddSystemLevelRole();
58  	   public boolean canAddLocationLevelRoles();
59  	   public boolean canAddDepartmentLevelRoles();
60  	   public boolean canAddWorkareaLevelRoles();	   
61  	   public boolean canViewTimeTabs();
62  	   public boolean canViewLeaveTabsWithEStatus();
63  	   public boolean canViewLeaveTabsWithNEStatus();
64  	   /**
65  	    * Determine if given leave block is a accrual generated System Scheduled Timeoff usage that can be banked/transferred
66  	    * and if the leave block is on the current leave calendar entry of the current targeted user
67  	    * @param lb
68  	    * @return
69  	    */
70  	   public boolean canBankOrTransferSSTOUsage(LeaveBlock lb);
71  	   /**
72  	    * Determine if given leave block is a accrual generated System Scheduled Timeoff usage that can be transferred
73  	    * and if the leave block is on the current leave calendar entry of the current targeted user
74  	    * @param lb
75  	    * @return
76  	    */
77  	   public boolean canTransferSSTOUsage(LeaveBlock lb);
78  	   /**
79  	    * Determine if given leave block is a accrual generated System Scheduled Timeoff usage that can be banked
80  	    * and if the leave block is on the current leave calendar entry of the current targeted user
81  	    * @param lb
82  	    * @return
83  	    */
84  	   public boolean canBankSSTOUsage(LeaveBlock lb);
85  }