Ejemplo n.º 1
0
    public function editTaskProperties($sTaskUID = '', $iForm = 1, $iIndex = 0)

    {

        $sw_template = false;

        try {

            switch ($iForm) {

                case 1:

                    $sFilename = 'tasks/tasks_Definition.xml';

                    break;

                case 2:

                    $sFilename = 'tasks/tasks_AssignmentRules.xml';

                    break;

                case 3:

                    $sFilename = 'tasks/tasks_TimingControl.xml';

                    break;

                case 4:

                    $sFilename = 'tasks/tasks_Owner.xml';

                    break;

                case 5:

                    $sFilename = 'tasks/tasks_Permissions.xml';

                    break;

                case 6:

                    $sFilename = 'tasks/tasks_Labels.xml';

                    break;

                case 7:

                    $sFilename = 'tasks/tasks_Notifications.xml';

                    break;

                case 8:

                    $sFilename = 'tasks/tasks_Consolidated.xml';

                    break;

                default:

                    //if the $iForm is not one of the defaults then search under Plugins for an extended property. By JHL Jan 18, 2011

                    $oPluginRegistry = & PMPluginRegistry::getSingleton();

                    $activePluginsForTaskProperties = $oPluginRegistry->getTaskExtendedProperties();

                    foreach ($activePluginsForTaskProperties as $key => $taskPropertiesInfo) {

                        $id = $taskPropertiesInfo->sNamespace . "--" . $taskPropertiesInfo->sName;

                        if ($id == $iForm) {

                            $sFilename = $taskPropertiesInfo->sPage;

                            $sw_template = true;

                        }

                    }



                    //$sFilename = 'tasks/tasks_Owner.xml';

                    break;

            }

            $oTask = new Task();

            $aFields = $oTask->load($sTaskUID);

            $aFields['INDEX'] = $iIndex;

            $aFields['IFORM'] = $iForm;

            $aFields['LANG'] = SYS_LANG;



            /**

             * Task Notifications *

             */

            if ($iForm == 7 || $iForm == 1) {

                G::loadClass('processes');

                $files = Processes::getProcessFiles($aFields['PRO_UID'], 'mail');



                $templates = array();

                $templates[] = 'dummy';



                foreach ($files as $file) {

                    $templates[] = array('FILE' => $file['filename'], 'NAME' => $file['filename'] );

                }



                global $_DBArray;

                $_DBArray['_TEMPLATES1'] = $templates;

                $_SESSION['_DBArray'] = $_DBArray;



                if ($iForm == 7) {

                    // Additional configuration

                    G::loadClass('configuration');

                    $oConf = new Configurations();

                    $oConf->loadConfig($x, 'TAS_EXTRA_PROPERTIES', $aFields['TAS_UID'], '', '');

                    $conf = $oConf->aConfig;

                    if (isset($conf['TAS_DEF_MESSAGE_TYPE']) && isset($conf['TAS_DEF_MESSAGE_TYPE'])) {

                        $aFields['TAS_DEF_MESSAGE_TYPE'] = $conf['TAS_DEF_MESSAGE_TYPE'];

                        $aFields['TAS_DEF_MESSAGE_TEMPLATE'] = $conf['TAS_DEF_MESSAGE_TEMPLATE'];

                    }

                }

            }



            if ($iForm == 3) {

                //Load Calendar Information

                $calendar = new Calendar();

                $calendarObj = $calendar->getCalendarList(true, true);



                global $_DBArray;



                $_DBArray['availableCalendars'] = $calendarObj['array'];



                $_SESSION['_DBArray'] = $_DBArray;



                $calendarInfo = $calendar->getCalendarFor($sTaskUID, $sTaskUID, $sTaskUID);



                //If the function returns a DEFAULT calendar it means that this object doesn't have assigned any calendar

                $aFields['TAS_CALENDAR'] = $calendarInfo['CALENDAR_APPLIED'] != 'DEFAULT' ? $calendarInfo['CALENDAR_UID'] : "";

            }



            if ($iForm == 2) {

                switch ($aFields["TAS_ASSIGN_TYPE"]) {

                    case "SELF_SERVICE":

                        $aFields["TAS_ASSIGN_TYPE"] = (!empty($aFields["TAS_GROUP_VARIABLE"])) ? "SELF_SERVICE_EVALUATE" : $aFields["TAS_ASSIGN_TYPE"];

                        break;

                }

            }



            if ($iForm == 8) {

                $oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($_SESSION["cDhTajE2T2lxSkhqMzZUTXVacWYyNcKwV3A4eWYybDdyb1p3"]["TAS_UID"]);

                if ((is_object($oCaseConsolidated)) && get_class($oCaseConsolidated) == "CaseConsolidated") {

                    require_once ("classes/model/ReportTable.php");



                    $aFields["CON_STATUS"]  = $oCaseConsolidated->getConStatus();

                    $aFields["DYN_UID"]     = $oCaseConsolidated->getDynUid();

                    $aFields["REP_TAB_UID"] = $oCaseConsolidated->getRepTabUid();



                    $oReportTables = new ReportTable();

                    $oReportTables = $oReportTables->load($aFields["REP_TAB_UID"]);

                    if (count($oReportTables)>0) {

                        if ($oReportTables['REP_TAB_STATUS'] == 'ACTIVE') {

                            $aFields["TABLE_NAME"] = $oReportTables['REP_TAB_NAME'];

                            $aFields["TITLE"] = $oReportTables['REP_TAB_TITLE'];

                        }

                    }

                }

                $aFields["PRO_UID"]  = $_SESSION["PROCESS"];

                $aFields["TAS_UID"]  = $_SESSION["cDhTajE2T2lxSkhqMzZUTXVacWYyNcKwV3A4eWYybDdyb1p3"]["TAS_UID"];

                $aFields["SYS_LANG"] = SYS_LANG;

                $aFields['INDEX']    = 0;

                $aFields["TABLE_NAME_DEFAULT"] = "__" . $aFields["TAS_UID"];



                $oCriteria = new Criteria("workflow");

                $del = DBAdapter::getStringDelimiter();



                $oCriteria->setDistinct();

                $oCriteria->addSelectColumn(DynaformPeer::DYN_UID);

                $oCriteria->addSelectColumn(ContentPeer::CON_VALUE);

                

                $aConditions   = array();

                $aConditions[] = array(DynaformPeer::DYN_UID, ContentPeer::CON_ID);

                $aConditions[] = array(ContentPeer::CON_CATEGORY, $del . "DYN_TITLE" . $del);

                $aConditions[] = array(ContentPeer::CON_LANG, $del . "en" . $del);

                $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);

                

                $oCriteria->add(DynaformPeer::PRO_UID, $_SESSION["PROCESS"]);

                $oCriteria->add(DynaformPeer::DYN_TYPE, "grid");

                

                $oCriteria->addAscendingOrderByColumn(ContentPeer::CON_VALUE);



                $numRows = DynaformPeer::doCount($oCriteria);

                if ($numRows == 0) {

                    $aFields['TITLE_ALERT'] = G::LoadTranslation('ID_ALERT');

                    $aFields['SUBTITLE_MESSAGE'] = G::LoadTranslation('ID_CONSOLIDATED_DYNAFORM_REQUIRED');

                    $sFilename = 'tasks/tasks_Consolidated_Error.xml';

                }

            }



            global $G_PUBLISH;

            G::LoadClass('xmlfield_InputPM');

            $G_PUBLISH = new Publisher();

            if ($sw_template) {

                $G_PUBLISH->AddContent('view', $sFilename);

            } else {

                $G_PUBLISH->AddContent('xmlform', 'xmlform', $sFilename, '', $aFields);

            }



            G::RenderPage('publish', 'raw');

            return true;

        } catch (Exception $oError) {

            throw ($oError);

        }

    }
Ejemplo n.º 2
0
 public function editTaskProperties($sTaskUID = '', $iForm = 1, $iIndex = 0)
 {
     $sw_template = false;
     try {
         switch ($iForm) {
             case 1:
                 $sFilename = 'tasks/tasks_Definition.xml';
                 break;
             case 2:
                 $sFilename = 'tasks/tasks_AssignmentRules.xml';
                 break;
             case 3:
                 $sFilename = 'tasks/tasks_TimingControl.xml';
                 break;
             case 4:
                 $sFilename = 'tasks/tasks_Owner.xml';
                 break;
             case 5:
                 $sFilename = 'tasks/tasks_Permissions.xml';
                 break;
             case 6:
                 $sFilename = 'tasks/tasks_Labels.xml';
                 break;
             case 7:
                 $sFilename = 'tasks/tasks_Notifications.xml';
                 break;
             default:
                 //if the $iForm is not one of the defaults then search under Plugins for an extended property. By JHL Jan 18, 2011
                 $oPluginRegistry =& PMPluginRegistry::getSingleton();
                 $activePluginsForTaskProperties = $oPluginRegistry->getTaskExtendedProperties();
                 $oPM->taskOptions = array();
                 foreach ($activePluginsForTaskProperties as $key => $taskPropertiesInfo) {
                     $id = $taskPropertiesInfo->sNamespace . "--" . $taskPropertiesInfo->sName;
                     if ($id == $iForm) {
                         $sFilename = $taskPropertiesInfo->sPage;
                         $sw_template = true;
                     }
                 }
                 //$sFilename = 'tasks/tasks_Owner.xml';
                 break;
         }
         $oTask = new Task();
         $aFields = $oTask->load($sTaskUID);
         $aFields['INDEX'] = $iIndex;
         $aFields['IFORM'] = $iForm;
         $aFields['LANG'] = SYS_LANG;
         /**
          * Task Notifications *
          */
         if ($iForm == 7 || $iForm == 1) {
             G::loadClass('processes');
             $files = Processes::getProcessFiles($aFields['PRO_UID'], 'mail');
             $templates = array();
             $templates[] = 'dummy';
             foreach ($files as $file) {
                 $templates[] = array('FILE' => $file['filename'], 'NAME' => $file['filename']);
             }
             global $_DBArray;
             $_DBArray['_TEMPLATES1'] = $templates;
             $_SESSION['_DBArray'] = $_DBArray;
             if ($iForm == 7) {
                 // Additional configuration
                 G::loadClass('configuration');
                 $oConf = new Configurations();
                 $oConf->loadConfig($x, 'TAS_EXTRA_PROPERTIES', $aFields['TAS_UID'], '', '');
                 $conf = $oConf->aConfig;
                 if (isset($conf['TAS_DEF_MESSAGE_TYPE']) && isset($conf['TAS_DEF_MESSAGE_TYPE'])) {
                     $aFields['TAS_DEF_MESSAGE_TYPE'] = $conf['TAS_DEF_MESSAGE_TYPE'];
                     $aFields['TAS_DEF_MESSAGE_TEMPLATE'] = $conf['TAS_DEF_MESSAGE_TEMPLATE'];
                 }
             }
         }
         if ($iForm == 3) {
             //Load Calendar Information
             $calendar = new Calendar();
             $calendarObj = $calendar->getCalendarList(true, true);
             global $_DBArray;
             $_DBArray['availableCalendars'] = $calendarObj['array'];
             $_SESSION['_DBArray'] = $_DBArray;
             $calendarInfo = $calendar->getCalendarFor($sTaskUID, $sTaskUID, $sTaskUID);
             //If the function returns a DEFAULT calendar it means that this object doesn't have assigned any calendar
             $aFields['TAS_CALENDAR'] = $calendarInfo['CALENDAR_APPLIED'] != 'DEFAULT' ? $calendarInfo['CALENDAR_UID'] : "";
         }
         if ($iForm == 2) {
             switch ($aFields["TAS_ASSIGN_TYPE"]) {
                 case "SELF_SERVICE":
                     $aFields["TAS_ASSIGN_TYPE"] = !empty($aFields["TAS_GROUP_VARIABLE"]) ? "SELF_SERVICE_EVALUATE" : $aFields["TAS_ASSIGN_TYPE"];
                     break;
             }
         }
         global $G_PUBLISH;
         G::LoadClass('xmlfield_InputPM');
         $G_PUBLISH = new Publisher();
         if ($sw_template) {
             $G_PUBLISH->AddContent('view', $sFilename);
         } else {
             $G_PUBLISH->AddContent('xmlform', 'xmlform', $sFilename, '', $aFields);
         }
         G::RenderPage('publish', 'raw');
         return true;
     } catch (Exception $oError) {
         throw $oError;
     }
 }
Ejemplo n.º 3
0
    /**
     * Verify if doesn't exists the Template in Routing Screen Template
     *
     * @param string $processUid            Unique id of Process
     * @param string $fileName              Name template
     * @param string $fieldNameForException Field name for the exception
     *
     * return void Throw exception if doesn't exists the Template in Routing Screen Template
     */
    public function throwExceptionIfNotExistsRoutingScreenTemplate($processUid, $fileName, $fieldNameForException)
    {
        try {
            \G::LoadClass("processes");

            $arrayFile = \Processes::getProcessFiles($processUid, "mail");
            $flag = 0;

            foreach ($arrayFile as $f) {
                if ($f["filename"] == $fileName) {
                    $flag = 1;
                    break;
                }
            }

            if ($flag == 0) {
                throw new \Exception(\G::LoadTranslation("ID_ROUTING_SCREEN_TEMPLATE_DOES_NOT_EXIST", array($fieldNameForException, $fileName)));
            }
        } catch (\Exception $e) {
            throw $e;
        }
    }