Example #1
0
     }
     if (!is_null($nodesToDelete)) {
         foreach ($nodesToDelete as $folder_id) {
             $f = new WBSElement($folder_id, $root_id);
             try {
                 $f->delete($root_id);
             } catch (Exception $e) {
                 // happens if user moved children AND deleted the node.
                 // The node will not be deleted, but at least the rest of the WBS changes
                 // have a chance to be proceeded.
                 $logger->error("Node {$folder_id} not deleted : " . $e->getMessage());
                 $logger->warn("EXCEPTION stack-trace:\n" . $e->getTraceAsString());
             }
         }
     }
     WBSElement::updateFromDynatree($rootArray, $root_id);
     echo $jsonDynatreeDict;
 } else {
     if ($_POST['action'] == 'loadWBS') {
         try {
             $root_id = Tools::getSecurePOSTIntValue('wbsRootId');
             $hasDetail = 1 === Tools::getSecurePOSTIntValue('hasDetail') ? true : false;
             $userid = $_SESSION['userid'];
             $teamid = isset($_SESSION['teamid']) ? $_SESSION['teamid'] : 0;
             $session_user = UserCache::getInstance()->getUser($userid);
             // Managers & Observers have the same view (MEE,Reestimated, ...)
             $isManager = $session_user->isTeamManager($teamid);
             $isObserver = $session_user->isTeamObserver($teamid);
             $isManager = $isManager || $isObserver;
             $rootElement = new WBSElement($root_id);
             $dynatreeDict = $rootElement->getDynatreeData($hasDetail, $isManager, $teamid);