if (!empty($statusDate)) { ?> <span class="eventDate">(<?php echo $statusDate; ?> )</span> <?php } ?> </div><br/> <div class="txtName"><?php echo $lang_Recruit_JobApplicationDetails_Actions; ?> </div><div class="txtValue"> <?php $authManager = new RecruitmentAuthManager(); $authorize = new authorize($_SESSION['empID'], $_SESSION['isAdmin']); $actions = $authManager->getAllowedActions($authorize, $application); $applicationId = $application->getId(); foreach ($actions as $action) { $resourceName = 'lang_Recruit_JobApplicationAction_' . $action; $actionName = isset(${$resourceName}) ? ${$resourceName} : $action; $actionURL = $baseURL . '&action=Confirm' . $action . '&id=' . $applicationId; ?> <a href="<?php echo $actionURL; ?> " style="white-space:nowrap;"> <?php echo $actionName; ?>
/** * Test method isAllowedToChangeEventStatus() */ public function testIsAllowedToChangeEventStatus() { $authManager = new RecruitmentAuthManager(); $app = JobApplication::getJobApplication(1); // Different users $admin = new authorize(null, authorize::YES); $hiring = new authorize('011', authorize::NO); $first = new authorize(13, authorize::NO); $second = new authorize(14, authorize::NO); $manager = new authorize(15, authorize::NO); $nonManager = new authorize(16, authorize::NO); // Admin, Hiring Manager and interviewer(owner) allowed to change status event when there are // no newer events. $app->setStatus(JobApplication::STATUS_FIRST_INTERVIEW_SCHEDULED); $app->save(); $event = $app->getEventOfType(JobApplicationEvent::EVENT_SCHEDULE_FIRST_INTERVIEW); $this->assertTrue($authManager->isAllowedToChangeEventStatus($admin, $event)); $this->assertTrue($authManager->isAllowedToChangeEventStatus($hiring, $event)); $this->assertTrue($authManager->isAllowedToChangeEventStatus($first, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($second, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($manager, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($nonManager, $event)); //Not allowed to change status when not current event. $app->setStatus(JobApplication::STATUS_SECOND_INTERVIEW_SCHEDULED); $app->save(); $event = $app->getEventOfType(JobApplicationEvent::EVENT_SCHEDULE_FIRST_INTERVIEW); $this->assertFalse($authManager->isAllowedToChangeEventStatus($admin, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($hiring, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($first, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($second, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($manager, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($nonManager, $event)); //Not allowed to change status when not current event. $app->setStatus(JobApplication::STATUS_REJECTED); $app->save(); $event = $app->getEventOfType(JobApplicationEvent::EVENT_SCHEDULE_SECOND_INTERVIEW); $this->assertFalse($authManager->isAllowedToChangeEventStatus($admin, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($hiring, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($first, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($second, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($manager, $event)); $this->assertFalse($authManager->isAllowedToChangeEventStatus($nonManager, $event)); }
<div class="txtValue"><?php echo LocaleUtil::getInstance()->formatDate($application->getAppliedDateTime()); ?> </div><br /> <div class="txtName"><?php echo $lang_Recruit_JobApplicationDetails_Status; ?> </div> <div class="txtValue" style="white-space:nowrap;"> <?php echo $statusList[$application->getStatus()]; ?> </div><br/> <?php $authManager = new RecruitmentAuthManager(); $auth = new authorize($_SESSION['empID'], $_SESSION['isAdmin']); $role = $authManager->getRoleForApplication($auth, $application); $eventCount = 0; foreach ($events as $event) { $allowEdit = $authManager->isAllowedToEditEvent($auth, $event); $allowStatusChange = $authManager->isAllowedToChangeEventStatus($auth, $event); $title = $eventTitles[$event->getEventType()]; if ($event->getEventType() == JobApplicationEvent::EVENT_SCHEDULE_FIRST_INTERVIEW || $event->getEventType() == JobApplicationEvent::EVENT_SCHEDULE_SECOND_INTERVIEW) { $showEventDate = true; $evenDateLabel = $lang_Recruit_JobApplicationHistory_InterviewTime; $showStatus = true; $showOwner = true; $creatorLabel = $lang_Recruit_JobApplicationHistory_ScheduledBy; } else { $eventDateLabel = '';