Ejemplo n.º 1
0
                $_SESSION['CURRENT_TASK'] = $aFields['TAS_UID'];

                require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
                exit();
            }

            /**
             * these routine is to verify if the case was acceded from advanced search list
             */

            if ($_action == 'search') {
                //verify if the case is with the current user
                $c = new Criteria( 'workflow' );
                $c->add( AppDelegationPeer::APP_UID, $sAppUid );
                $c->addAscendingOrderByColumn( AppDelegationPeer::DEL_INDEX );
                $oDataset = AppDelegationPeer::doSelectRs( $c );
                $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
                $oDataset->next();
                $aData = $oDataset->getRow();

                if ($aData['USR_UID'] != $_SESSION['USER_LOGGED'] && $aData['USR_UID'] != "") {
                    //distinct "" for selfservice
                    //so we show just the resume
                    $_SESSION['alreadyDerivated'] = true;
                    //the case is paused show only the resume
                    $_SESSION['APPLICATION'] = $sAppUid;
                    $_SESSION['INDEX'] = $iDelIndex;
                    $_SESSION['PROCESS'] = $aFields['PRO_UID'];
                    $_SESSION['TASK'] = - 1;
                    $_SESSION['STEP_POSITION'] = 0;
Ejemplo n.º 2
0
    public function GetAllOpenDelegation($aData)

    {

        try {

            $aThreads = array();

            $c = new Criteria();

            $c->add(AppDelegationPeer::APP_UID, $aData['APP_UID']);

            $c->add(AppDelegationPeer::DEL_PREVIOUS, $aData['APP_THREAD_PARENT']);

            $c->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN');

            $rs = AppDelegationPeer::doSelectRs($c);

            $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);

            $rs->next();

            $row = $rs->getRow();

            while (is_array($row)) {

                $aThreads[] = $row;

                $rs->next();

                $row = $rs->getRow();

            }

            return $aThreads;

        } catch (exception $e) {

            throw ($e);

        }

    }
Ejemplo n.º 3
0
    /**

     * getRouteCondition

     *

     * @param array $aData

     * @return $routeCondition

     */

    function getRouteCondition ($aData)

    {

        //SELECT *

        //FROM APP_DELEGATION AS A

        //LEFT JOIN TASK AS T ON(T.TAS_UID = A.TAS_UID)

        //LEFT JOIN ROUTE AS R ON(R.TAS_UID = A.TAS_UID)

        //WHERE

        //APP_UID = '$aData['APP_UID']'

        //AND DEL_INDEX = '$aData['DEL_INDEX']'

        $c = new Criteria( 'workflow' );

        $c->clearSelectColumns();

        $c->addSelectColumn( AppDelegationPeer::TAS_UID );

        $c->addSelectColumn( RoutePeer::ROU_CONDITION );

        $c->addSelectColumn( RoutePeer::ROU_NEXT_TASK );

        $c->addSelectColumn( RoutePeer::ROU_TYPE );

        $c->addSelectColumn( RoutePeer::ROU_OPTIONAL );

        $c->addJoin( AppDelegationPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN );

        $c->addJoin( AppDelegationPeer::TAS_UID, RoutePeer::TAS_UID, Criteria::LEFT_JOIN );

        $c->add( AppDelegationPeer::APP_UID, $aData['APP_UID'] );

        $c->add( AppDelegationPeer::DEL_INDEX, $aData['DEL_INDEX'] );

        $c->addAscendingOrderByColumn( RoutePeer::ROU_CASE );

        $rs = AppDelegationPeer::doSelectRs( $c );

        $rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );

        $rs->next();

        $aDerivation = $rs->getRow();

        while (is_array( $aDerivation )) {

            return $aDerivation;

        }



    }
Ejemplo n.º 4
0
     while ($dataset->next()) {
         $row = $dataset->getRow();
         if ($row['TU_RELATION'] == 1) {
             //users
             $dataUser = $user->load($row['USR_UID']);
             if (array_search($dataUser['USR_EMAIL'], $userPermission) === false) {
                 $userPermission[] = $dataUser['USR_EMAIL'];
             }
         } else {
             //Groups
             $criteria = new Criteria('workflow');
             $criteria->addSelectColumn(UsersPeer::USR_EMAIL);
             $criteria->addSelectColumn(UsersPeer::USR_UID);
             $criteria->add(GroupUserPeer::GRP_UID, $row['USR_UID']);
             $criteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
             $oDataset = AppDelegationPeer::doSelectRs($criteria);
             $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
             while ($oDataset->next()) {
                 $aRow = $oDataset->getRow();
                 if (array_search($aRow['USR_EMAIL'], $userPermission) === false) {
                     $userPermission[] = $aRow['USR_EMAIL'];
                 }
             }
         }
     }
     $userPermission = array_unique($userPermission);
     foreach ($userPermission as $key => $value) {
         $pmDrive->setPermission($appData['APP_DRIVE_FOLDER_UID'], $value, 'user', 'writer');
         $pmDrive->setPermission($fileIdDrive, $value);
     }
 }