public function steps()
 {
     G::LoadClass('applications');
     $applications = new Applications();
     $proUid = isset($_SESSION['PROCESS']) ? $_SESSION['PROCESS'] : '';
     $tasUid = isset($_SESSION['TASK']) ? $_SESSION['TASK'] : '';
     $appUid = isset($_SESSION['APPLICATION']) ? $_SESSION['APPLICATION'] : '';
     $index = isset($_SESSION['INDEX']) ? $_SESSION['INDEX'] : '';
     $steps = $applications->getSteps($appUid, $index, $tasUid, $proUid);
     $list = array();
     foreach ($steps as $step) {
         $item['id'] = $item['idtodraw'] = $step['id'];
         $item['draggable'] = false;
         $item['leaf'] = true;
         $item['hrefTarget'] = 'casesSubFrame';
         $item['text'] = $step['title'];
         $item['url'] = '../' . $step['url'];
         switch ($step['type']) {
             case 'DYNAFORM':
                 $item['iconCls'] = 'ss_sprite ss_application_form';
                 break;
             case 'OUTPUT_DOCUMENT':
                 $item['iconCls'] = 'ss_sprite ss_application_put';
                 break;
             case 'INPUT_DOCUMENT':
                 $item['iconCls'] = 'ss_sprite ss_application_get';
                 break;
             case 'EXTERNAL':
                 $item['iconCls'] = 'ss_sprite ss_application_view_detail';
                 break;
             default:
                 $item['iconCls'] = 'ICON_ASSIGN_TASK';
         }
         $list[] = $item;
     }
     echo G::json_encode($list);
 }
Example #2
0
 public function indexSingle($httpData)
 {
     require_once 'classes/model/Step.php';
     G::LoadClass('applications');
     $apps = new Applications();
     $step = new Step();
     $cases = $apps->getAll($this->userID, 0, 1, 'todo');
     if (!isset($cases['data'][0])) {
         //the current user has not any aplication to do
         $this->setView($this->userUxBaseTemplate . PATH_SEP . 'indexSingle');
         $this->setVar('default_url', $this->userUxBaseTemplate . "/" . 'error?no=2');
         $this->render();
         exit;
     }
     $lastApp = $cases['data'][0];
     $_SESSION['INDEX'] = $lastApp['DEL_INDEX'];
     $_SESSION['APPLICATION'] = $lastApp['APP_UID'];
     $_SESSION['PROCESS'] = $lastApp['PRO_UID'];
     $_SESSION['TASK'] = $lastApp['TAS_UID'];
     $steps = $apps->getSteps($lastApp['APP_UID'], $lastApp['DEL_INDEX'], $lastApp['TAS_UID'], $lastApp['PRO_UID']);
     $lastStep = array_pop($steps);
     $lastStep['title'] = G::LoadTranslation('ID_FINISH');
     $steps[] = $lastStep;
     $this->setView($this->userUxBaseTemplate . PATH_SEP . 'indexSingle');
     $this->setVar('usrUid', $this->userID);
     $this->setVar('userName', $this->userName);
     $this->setVar('steps', $steps);
     $this->setVar('default_url', "cases/cases_Open?APP_UID={$lastApp['APP_UID']}&DEL_INDEX={$lastApp['DEL_INDEX']}&action=todo");
     $this->render();
 }
Example #3
0
    public function indexSingle ($httpData)
    {
        require_once 'classes/model/Step.php';

        $step = new Step();

        $solrEnabled = false;

        if (($solrConf = System::solrEnv()) !== false) {
            G::LoadClass("AppSolr");

            $ApplicationSolrIndex = new AppSolr(
                $solrConf["solr_enabled"],
                $solrConf["solr_host"],
                $solrConf["solr_instance"]
            );

            if ($ApplicationSolrIndex->isSolrEnabled() && $solrConf['solr_enabled'] == true) {
                //Check if there are missing records to reindex and reindex them
                $ApplicationSolrIndex->synchronizePendingApplications();
                $solrEnabled = true;
            } else{
                $solrEnabled = false;
            }
        }

        if ($solrEnabled) {
            $cases = $ApplicationSolrIndex->getAppGridData($this->userID, 0, 1, 'todo');
        } else {
            G::LoadClass( 'applications' );

            $apps = new Applications();

            $cases = $apps->getAll( $this->userID, 0, 1, 'todo' );
        }

        if (! isset( $cases['data'][0] )) {
            //the current user has not any aplication to do
            $this->setView( $this->userUxBaseTemplate . PATH_SEP . 'indexSingle' );
            $this->setVar( 'default_url', $this->userUxBaseTemplate . "/" . 'error?no=2' );
            $this->render();
            exit();
        }

        $lastApp = $cases['data'][0];
        $_SESSION['INDEX'] = $lastApp['DEL_INDEX'];
        $_SESSION['APPLICATION'] = $lastApp['APP_UID'];
        $_SESSION['PROCESS'] = $lastApp['PRO_UID'];
        $_SESSION['TASK'] = $lastApp['TAS_UID'];

        $steps = $apps->getSteps( $lastApp['APP_UID'], $lastApp['DEL_INDEX'], $lastApp['TAS_UID'], $lastApp['PRO_UID'] );
        $lastStep = array_pop( $steps );
        $lastStep['title'] = G::LoadTranslation( 'ID_FINISH' );
        $steps[] = $lastStep;

        $this->setView( $this->userUxBaseTemplate . PATH_SEP . 'indexSingle' );

        $this->setVar( 'usrUid', $this->userID );
        $this->setVar( 'userName', $this->userName );
        $this->setVar( 'steps', $steps );
        $this->setVar( 'default_url', "cases/cases_Open?APP_UID={$lastApp['APP_UID']}&DEL_INDEX={$lastApp['DEL_INDEX']}&action=todo" );

        $this->render();
    }
Example #4
0
    /**
     * Get Steps evaluate
     *
     * @access public
     * @param string $app_uid, Uid for case
     * @param int $del_index , Index for case
     * @return array
     *
     * @copyright Colosa - Bolivia
     */
    public function getSteps($app_uid, $del_index)
    {
        Validator::isString($app_uid, '$app_uid');
        Validator::appUid($app_uid, '$app_uid');
        Validator::isInteger($del_index, '$del_index');

        $oCase = new \Cases();
        $aCaseField = $oCase->loadCase($app_uid, $del_index);
        $tas_uid  = $aCaseField["TAS_UID"];
        $pro_uid  = $aCaseField["PRO_UID"];

        $oApplication = new \Applications();
        $aField = $oApplication->getSteps($app_uid, $del_index, $tas_uid, $pro_uid);

        return $aField;
    }