示例#1
0
 /**
  *
 * Load Userrights and User Id to Sesseion.
 *
 * @param sfRequest $request A request object
 */
 public function executeIndex(sfWebRequest $request) {
     $loginObject = new Login();
     
     /*
     * Load the userrole, userrigths, userSettings, userId, workflowSettings for the logged user and store to session
     */
     $userSettings = UserSettingTable::instance()->getUserSettingById($this->getUser()->getAttribute('id'));
     $userWorkflowSetting = UserWorkflowConfigurationTable::instance()->getSingleUserWorkflowConfigurattion($this->getUser()->getAttribute('id'))->toArray();
     $this->getUser()->setAttribute('userSettings', $userSettings[0]->toArray()); // set userSettings
     $config = SystemConfigurationTable::instance()->getSystemConfiguration()->toArray();
     $this->getUser()->setAttribute('userWorkflowSettings', $loginObject->generateUserWorklowView($userWorkflowSetting, sfContext::getInstance())); // set workflowsettings
     $data = $this->getUser()->getAttribute('userWorkflowSettings');
     $credentials = CredentialTable::instance()->getAllCredentials();
     $userrights = CredentialRoleTable::instance()->getCredentialRoleById($this->getUser()->getAttribute('id'));
     $rights = $loginObject->loadUserRight($credentials, $userrights);
     $this->getUser()->setAttribute('credential', $rights); // set rights and role
     $this->systemConfiguration = $config[0];
     $this->theTheme = $userSettings[0]->getTheme(); // load the users theme
     /*
      * -1 is set when user uses login form to login
      * int is set, when user logges in from en email link, then a workflow needs to opened
      */
     $this->version_id  = $request->getParameter('versionid',-1);
     $this->workflow_id  = $request->getParameter('workflow',-1);
     $this->window  = $request->getParameter('window',-1);
     return sfView::SUCCESS;
 }
 /**
  * Check if an email can be send
  *
  * @return boolean
  */
 public function checkSendingRight() {
     $wfSettings = SystemConfigurationTable::instance()->getSystemConfiguration()->toArray();
     if($wfSettings[0]['sendreceivermail'] == 1) {
         return true;
     }
     else {
         return false;
     }
 }
 /**
  *
  *  Get Values, if Position in mail is shown
  *
  * @return array $result
  */
 public static function getShowPositionInMail() {
     $data = SystemConfigurationTable::instance()->getSystemConfiguration()->toArray();
     $result = array();
     if($data[0]['showpositioninmail'] == 1) {
         $result['hidden'] = 'false';
         $result['collapsible'] = 'true';
     }
     else {
         $result['hidden'] = 'true';
         $result['collapsible'] = 'false';
     }
     return $result;
 }
    protected function execute($arguments = array(), $options = array()) {
        // initialize the database connection
        $databaseManager = new sfDatabaseManager($this->configuration);
        $connection = $databaseManager->getDatabase($options['connection'] ? $options['connection'] : null)->getConnection();
        $context = sfContext::createInstance($this->configuration);
        $context->getConfiguration()->loadHelpers('Partial', 'I18N', 'Url', 'Date', 'CalculateDate', 'ColorBuilder', 'Icon', 'EndAction');
        $serverUrl = $options['setenvironment'] == '' ? $serverUrl = $options['host'] : $serverUrl = $options['host'] . '/' . $options['setenvironment'];

        $system = SystemConfigurationTable::instance()->getSystemConfiguration()->toArray();
        if($system[0]['individualcronjob'] == 1) {
            $systemConifg = new CheckSubstituteRun($context);
            if($systemConifg->checkRun($system[0]['cronjobdays'],$system[0]['cronjobfrom'],$system[0]['cronjobto']) == true) {
                $process = WorkflowProcessUserTable::instance()->getWaitingProcess(); // load all waiting processes
                $sub = new CheckSubstitute($process, $context, $serverUrl, $system[0]['setuseragenttype']);
            }
        }
        else {
            $process = WorkflowProcessUserTable::instance()->getWaitingProcess(); // load all waiting processes
            $sub = new CheckSubstitute($process, $context, $serverUrl, $system[0]['setuseragenttype']);
        }
    }
    protected function execute($arguments = array(), $options = array()) {
    // initialize the database connection
        $databaseManager = new sfDatabaseManager($this->configuration);
        $connection = $databaseManager->getDatabase($options['connection'] ? $options['connection'] : null)->getConnection();
        $context = sfContext::createInstance($this->configuration);
        sfProjectConfiguration::getActive()->loadHelpers('Partial', 'I18N', 'Url');
        $serverUrl = $options['setenvironment'] == '' ? $serverUrl = $options['host'] : $serverUrl = $options['host'] . '/' . $options['setenvironment'];
        


        $wfSettings = SystemConfigurationTable::instance()->getSystemConfiguration()->toArray();
        if($wfSettings[0]['sendremindermail'] == 1) {
            $sendMail = new PrepareReminderEmail();
            $stillOpenWorkflows = array();
            $a = 0;
            $openWorkflows = WorkflowTemplateTable::instance()->getAllRunningWorkflows();
            foreach($openWorkflows as $workflow) {
                $openStations = WorkflowProcessUserTable::instance()->getWaitingStationByVersionId($workflow['WorkflowVersion']['id'])->toArray();
                $data = $sendMail->prepareData($openStations);
                $stillOpenWorkflows[$a]['workflow_id'] = $workflow['id'];
                $stillOpenWorkflows[$a]['name'] = $workflow['name'];
                $stillOpenWorkflows[$a]['workflowversion_id'] = $workflow['WorkflowVersion']['id'];
                $stillOpenWorkflows[$a++]['users'] = $data;
            }
            $stillOpenWorkflows = $sendMail->sortByUser($stillOpenWorkflows);
            foreach($stillOpenWorkflows as $userToSend) {
                $umSettings = new UserMailSettings($userToSend['user_id']);
                $reminder = new SendReminderEmail($umSettings,$context, $userToSend, $serverUrl);
            }

        }


        

    // add your code here
    }
示例#6
0
 public static function getBackgroundColor() {
    $config =  SystemConfigurationTable::instance()->getSystemConfiguration()->toArray();
    return $config[0]['colorofnorthregion'];
 }
    private function mergeArray(array $result) {
        $return = array();
        $activeSlot = array();
        $inacitveSlot = array();
        $systemSettings = SystemConfigurationTable::instance()->getSystemConfiguration()->toArray();
        $a = 0;
        $b = 0;

        if($systemSettings[0]['visibleslots'] == 'CURRENT') {
            foreach($result as $slot) {
                if($slot['isdisabled'] == 0) {
                    $return[$a++] = $slot;
                }
            }
            return $return;

        }
        elseif($systemSettings[0]['visibleslots'] == 'TOPMOST') {
            foreach($result as $slot) {
                if($slot['isdisabled'] == 0) {
                    $activeSlot[$a++] = $slot;
                }
                else {
                    $inacitveSlot[$b++] = $slot;
                }
            }
            $a = 0;
            foreach($activeSlot as $slot) {
                $return[$a++] = $slot;
            }
            foreach($inacitveSlot as $slot) {
                $return[$a++] = $slot;
            }
            return $return;
        }
        else {
            return $result;
        }
        

    }
示例#8
0
    /**
     *
     * Saves SystemSettings to additional Tables in database
     * @param sfWebRequest $request
     * @return <type>
     */
    public function executeSaveSystem(sfWebRequest $request) {
        $sysObj = new SystemSetting();
        $data = $request->getPostParameters();

        
        // save auth settings
        if (isset($data['authentication_type'])) {
            if($data['authentication_type'] == 'DBONLY') {
                AuthenticationConfigurationTable::instance()->updateAuthenticationConfigurationCuteflowDatabase($data);
            }
            elseif ($data['authentication_type'] == 'DATABASE_LDAP') {
                AuthenticationConfigurationTable::instance()->updateAuthenticationConfigurationCuteflowDatabaseAndLDAP($data);
            }
            else {
                AuthenticationConfigurationTable::instance()->updateAuthenticationConfigurationCuteflowDatabaseAndOpenId($data);
            }
        }

        // save systemsetting
        if (isset($data['systemsetting_language'])) {
            $data = $sysObj->buildSystemSetting($data);
            SystemConfigurationTable::instance()->updateSystemConfiguration($data);
        }

        // store Email tab
        if (isset($data['emailtab_emailtype'])) {
            $data = $sysObj->buildEmailSetting($data);
            EmailConfigurationTable::instance()->updateEmailConfiguration($data);
        }

        // store user tab
        if (isset($data['userTab_defaultdurationtype'])) {
            $data = $sysObj->buildUserSetting($data);
            UserConfigurationTable::instance()->updateUserConfiguration($data);
        }
        // save authorization
        if(isset($data['authorizationTab_hiddenpanel'])) {
            AuthorizationConfigurationTable::instance()->setAuthorizationConfigurationToNull();
            $items = $data['authorizationTab'];
            foreach ($items as $item => $key) {
                $item_data = array();
                $item_data = explode('__', $item);
                AuthorizationConfigurationTable::instance()->updateAuthorizationConfigurationById($item_data[0],$item_data[1]);
            }
        }
        // save theme
        if(isset($data['guitab_theme'])) {
            UserConfigurationTable::instance()->updateTheme($data['guitab_theme']);
        }

        // store useragent settings tab
        if(isset($data['useragent_useragentsettings']) OR isset($data['useragent_useragentcreation'])) {
            $data = $sysObj->prepareUserAgentData($data);
            SystemConfigurationTable::instance()->updateUserAgent($data);
        }
        else {
            $data['useragent_useragentsettings'] = 0;
            $data['useragent_useragentcreation'] = 0;
            $data['writeDays'] = 0;
        }
        SystemConfigurationTable::instance()->updateUserAgent($data);

        // save worklfow config 
        WorkflowConfigurationTable::instance()->deleteSettings();
        $worklfow = $data['worklfow'];
        $position = 1;
        foreach($worklfow as $item => $key) {
            $workflow = new WorkflowConfiguration();
            $workflow->setColumntext($item);
            $workflow->setIsactive($key);
            $workflow->setPosition($position++);
            $workflow->save();
        }

        $this->renderText('{success:true}');
        return sfView::NONE;
    }