Skip to content
Snippets Groups Projects
Select Git revision
  • 69667f07d07fff69673e188d2589c196a2390899
  • 3.9 default
  • develop
  • 6.0
  • 5.0
  • 4.0
  • scrutinizer-patch-4
  • scrutinizer-patch-3
  • scrutinizer-patch-2
  • scrutinizer-patch-1
  • 3.7
  • 3.8
  • 3.6
  • 3.9_backported
  • 3.8_backported
  • 3.7_backported
  • 3.5
  • 3.6_backported
  • 3.5_backported
  • 3.4
  • 3.3_backported
  • 6.0.4
  • 6.0.3
  • 5.0.7
  • 6.0.2
  • 6.0.1
  • 5.0.6
  • 6.0.0
  • 5.0.5
  • 6.0.0-rc
  • 5.0.4
  • 6.0.0-beta
  • 5.0.3
  • 4.0.6
  • 5.0.2
  • 5.0.1
  • 4.0.5
  • 5.0.0
  • 4.0.4
  • 5.0.0-rc2
  • 5.0.0-rc1
41 results

functions.lib.php

Blame
  • ViewController.php 6.40 KiB
    <?php
    
    class Courses_ViewController extends App_Controller_Action
    {
        public function indexAction()
        {
        	$requestId = $this->getRequest()->getParam('id');
            $myRequestSession = new Zend_Session_Namespace('My Requests');
        	if ($requestId == 'session') {
        		$session = new Zend_Session_Namespace('Edit Request');
        		$request = $session->request;
        		$course = $session->course;
        		$parentCourse = $session->parentCourse;
        		if ($request->getId()) {
        			$initialRequest = false;
        		} else {
        			$initialRequest = true;
        		}
        		$preview = true;
        	} else {
                $request = Requests_RequestModel::find($requestId);
                $course = Courses_CourseModel::findLatestOfRequest($request);
    
    	        $parentCourse = null;
    	        if (in_array($request->getType(), array('ChangeCourse', 'AddISToCourse', 'AddACEAndChangeCourse'))) {
    	            $parentCourse = Courses_CourseModel::findParentOfRequest($request);
    	        }
    	        $initialRequest = false;
    	        $preview = false;
    	        
    	        // if we can know our role, we can create next and prev links.
                $roleId = $myRequestSession->lastRoleId;
                $list = $myRequestSession->lastList;
    	        if ($roleId) {
    	        	$requestOrder = $myRequestSession->requestOrder[$roleId][$list];
    	        	$listPosition = array_search($request->getId(), $requestOrder);
    	        	if ($listPosition == 0) {
    	        		$prevRequestId = $requestOrder[count($requestOrder) - 1];
    	        	} else {
    	        		$prevRequestId = $requestOrder[$listPosition - 1];
    	        	}
    	        	if ($listPosition == count($requestOrder) - 1) {
    	        		$nextRequestId = $requestOrder[0];
    	        	} else {
    	        		$nextRequestId = $requestOrder[$listPosition + 1];
    	        	}
    	        }
        	}
    
        	$comments = Requests_CommentsModel::findByRequest($request);
        	$user = Auth_UserModel::findCurrentUser();
    
            $action = null;
            $canEdit = false;
        	if ($request->getId()) {
            	$possibleAction = Requests_ApprovalActionModel::findByRequest($request);
            	if ($possibleAction) {
    	        	if ($possibleAction instanceof Requests_ApprovalActionSubmitterApprovalModel && $request->getOwner() == $user->getId()) {
    	        	    $action = $possibleAction;
    	        	}
    	        	
    	            $userRoles = Requests_ApprovalRoleModel::findByUser($user);
    	            
    	        	$allowedRoles = array_intersect(array(1) + $possibleAction->getParticipatingRoleIds(), $userRoles->getId());
    	        	if (count($allowedRoles) > 0) {
    	        	    $action = $possibleAction;
    	        	    foreach ($allowedRoles as $allowedRole) {
    	        	    	$actionRoleNames[] = $userRoles[$allowedRole]->getName();
    	        	    }
    	        	}