public function actionTree($id = null, $includeBlocked = false, $includeFields = null) {
		if (!$this->_modelConfigSync->getFlagTreeSubordinateEnable()) {
			throw new InternalErrorException(__d('cake_ldap', 'The database does not contain information on the tree view'));
		}

		$fieldsDb = $this->_modelConfigSync->getListFieldsDb();
		$excludeFields = [
			CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_TELEPHONE_NUMBER,
			CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_MOBILE_TELEPHONE_NUMBER,
		];
		$fieldsList = [
			'id',
			'block',
			CAKE_LDAP_LDAP_ATTRIBUTE_NAME,
			CAKE_LDAP_LDAP_ATTRIBUTE_TITLE
		];
		if (!empty($id) && !$this->_modelEmployee->exists($id)) {
			return $this->_controller->ViewExtension->setExceptionMessage(new NotFoundException(__d('cake_ldap', 'Invalid ID for employee')));
		}

		if ($this->_controller->Components->loaded('ViewExtension')) {
			$this->_controller->ViewExtension->setRedirectUrl(true, 'employee');
		}
		$employees = $this->_modelSubordinate->getArrayTreeEmployee($id, true, $includeBlocked, $includeFields);
		$isTreeDraggable = $this->_modelConfigSync->getFlagTreeSubordinateDraggable();
		$expandAll = !empty($id);
		$pageHeader = __d('cake_ldap', 'Tree view information of employees');
		$headerMenuActions = [
			[
				'fas fa-sync-alt',
				__d('cake_ldap', 'Synchronize information with LDAP server'),
				['controller' => 'employees', 'action' => 'sync', 'prefix' => false],
				[
					'title' => __d('cake_ldap', 'Synchronize information of employees with LDAP server'),
					'data-toggle' => 'request-only',
				]
			],
			[
				'fas fa-sort-alpha-down',
				__d('cake_ldap', 'Order tree of employees'),
				['controller' => 'employees', 'action' => 'order', 'prefix' => false],
				[
					'title' => __d('cake_ldap', 'Order tree of employees by alphabet'),
					'action-type' => 'confirm-post',
					'data-confirm-msg' => __d('cake_ldap', 'Are you sure you wish to re-order tree of employees?')
				]
			],
			[
				'fas fa-check',
				__d('cake_ldap', 'Check state tree of employees'),
				['controller' => 'employees', 'action' => 'check', 'prefix' => false],
				['title' => __d('cake_ldap', 'Check state tree of employees')]
			]
		];
		$breadCrumbs = $this->_modelEmployee->getBreadcrumbInfo();
		$breadCrumbs[] = __d('cake_ldap', 'Tree viewing');

		$this->_controller->set(compact(
			'employees',
			'isTreeDraggable',
			'expandAll',
			'pageHeader',
			'headerMenuActions',
			'breadCrumbs'
		));
	}
public function actionTree($id = null, $includeBlocked = false, $includeFields = null) {
		if (!$this->_modelConfigSync->getFlagTreeSubordinateEnable()) {
			throw new InternalErrorException(__d('cake_ldap', 'The database does not contain information on the tree view'));
		}

		$fieldsDb = $this->_modelConfigSync->getListFieldsDb();
		$excludeFields = [
			CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_TELEPHONE_NUMBER,
			CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_MOBILE_TELEPHONE_NUMBER,
		];
		$fieldsList = [
			'id',
			'block',
			CAKE_LDAP_LDAP_ATTRIBUTE_NAME,
			CAKE_LDAP_LDAP_ATTRIBUTE_TITLE
		];
		if (!empty($id) && !$this->_modelEmployee->exists($id)) {
			return $this->_controller->ViewExtension->setExceptionMessage(new NotFoundException(__d('cake_ldap', 'Invalid ID for employee')));
		}

		if ($this->_controller->Components->loaded('ViewExtension')) {
			$this->_controller->ViewExtension->setRedirectUrl(true, 'employee');
		}
		$employees = $this->_modelSubordinate->getArrayTreeEmployee($id, true, $includeBlocked, $includeFields);
		$isTreeDraggable = $this->_modelConfigSync->getFlagTreeSubordinateDraggable();
		$expandAll = !empty($id);
		$pageHeader = __d('cake_ldap', 'Tree view information of employees');
		$headerMenuActions = [
			[
				'fas fa-sync-alt',
				__d('cake_ldap', 'Synchronize information with LDAP server'),
				['controller' => 'employees', 'action' => 'sync', 'prefix' => false],
				[
					'title' => __d('cake_ldap', 'Synchronize information of employees with LDAP server'),
					'data-toggle' => 'request-only',
				]
			],
			[
				'fas fa-sort-alpha-down',
				__d('cake_ldap', 'Order tree of employees'),
				['controller' => 'employees', 'action' => 'order', 'prefix' => false],
				[
					'title' => __d('cake_ldap', 'Order tree of employees by alphabet'),
					'action-type' => 'confirm-post',
					'data-confirm-msg' => __d('cake_ldap', 'Are you sure you wish to re-order tree of employees?')
				]
			],
			[
				'fas fa-check',
				__d('cake_ldap', 'Check state tree of employees'),
				['controller' => 'employees', 'action' => 'check', 'prefix' => false],
				['title' => __d('cake_ldap', 'Check state tree of employees')]
			]
		];
		$breadCrumbs = $this->_modelEmployee->getBreadcrumbInfo();
		$breadCrumbs[] = __d('cake_ldap', 'Tree viewing');

		$this->_controller->set(compact(
			'employees',
			'isTreeDraggable',
			'expandAll',
			'pageHeader',
			'headerMenuActions',
			'breadCrumbs'
		));
	}
public function actionTree ( $ id = null , $ includeBlocked = false , $ includeFields = null ) { if ( ! $ this -> _modelConfigSync -> getFlagTreeSubordinateEnable ( ) ) { throw new InternalErrorException ( __d ( 'cake_ldap' , 'The database does not contain information on the tree view' ) ) ; } $ fieldsDb = $ this -> _modelConfigSync -> getListFieldsDb ( ) ; $ excludeFields = [ CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_TELEPHONE_NUMBER , CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_MOBILE_TELEPHONE_NUMBER , ] ; $ fieldsList = [ 'id' , 'block' , CAKE_LDAP_LDAP_ATTRIBUTE_NAME , CAKE_LDAP_LDAP_ATTRIBUTE_TITLE ] ; if ( ! empty ( $ id ) && ! $ this -> _modelEmployee -> exists ( $ id ) ) { return $ this -> _controller -> ViewExtension -> setExceptionMessage ( new NotFoundException ( __d ( 'cake_ldap' , 'Invalid ID for employee' ) ) ) ; } if ( $ this -> _controller -> Components -> loaded ( 'ViewExtension' ) ) { $ this -> _controller -> ViewExtension -> setRedirectUrl ( true , 'employee' ) ; } $ employees = $ this -> _modelSubordinate -> getArrayTreeEmployee ( $ id , true , $ includeBlocked , $ includeFields ) ; $ isTreeDraggable = $ this -> _modelConfigSync -> getFlagTreeSubordinateDraggable ( ) ; $ expandAll = ! empty ( $ id ) ; $ pageHeader = __d ( 'cake_ldap' , 'Tree view information of employees' ) ; $ headerMenuActions = [ [ 'fas fa-sync-alt' , __d ( 'cake_ldap' , 'Synchronize information with LDAP server' ) , [ 'controller' => 'employees' , 'action' => 'sync' , 'prefix' => false ] , [ 'title' => __d ( 'cake_ldap' , 'Synchronize information of employees with LDAP server' ) , 'data-toggle' => 'request-only' , ] ] , [ 'fas fa-sort-alpha-down' , __d ( 'cake_ldap' , 'Order tree of employees' ) , [ 'controller' => 'employees' , 'action' => 'order' , 'prefix' => false ] , [ 'title' => __d ( 'cake_ldap' , 'Order tree of employees by alphabet' ) , 'action-type' => 'confirm-post' , 'data-confirm-msg' => __d ( 'cake_ldap' , 'Are you sure you wish to re-order tree of employees?' ) ] ] , [ 'fas fa-check' , __d ( 'cake_ldap' , 'Check state tree of employees' ) , [ 'controller' => 'employees' , 'action' => 'check' , 'prefix' => false ] , [ 'title' => __d ( 'cake_ldap' , 'Check state tree of employees' ) ] ] ] ; $ breadCrumbs = $ this -> _modelEmployee -> getBreadcrumbInfo ( ) ; $ breadCrumbs [ ] = __d ( 'cake_ldap' , 'Tree viewing' ) ; $ this -> _controller -> set ( compact ( 'employees' , 'isTreeDraggable' , 'expandAll' , 'pageHeader' , 'headerMenuActions' , 'breadCrumbs' ) ) ; }
Action `tree`. Used to view tree of subordinate employees.

@param int $id ID of employee for viewing tree of subordinate
@param bool $includeBlocked If False, include only non-blocked employees.
@param array $includeFields List of fields for encluding to tree.
@throws InternalErrorException if tree of subordinate is disabled
@return void
Action tree . Used to view tree of subordinate employees .