/**
  * Function to perform post save processing (extends parent function)
  * 
  * @access public
  */
 function postProcess()
 {
     $session = CRM_Core_Session::singleton();
     $userId = $session->get('userID');
     if ($this->_action == CRM_Core_Action::DELETE) {
         CRM_Civirules_BAO_Rule::deleteWithId($this->ruleId);
         $session->setStatus('CiviRule deleted', 'Delete', 'success');
         CRM_Utils_System::redirect($session->readUserContext());
     }
     $this->saveRule($this->_submitValues, $userId);
     $this->saveRuleTrigger($this->_submitValues);
     $session->setStatus('Rule with linked Trigger saved succesfully', 'CiviRule saved', 'success');
     /*
      * if add mode, set user context to form in edit mode to add conditions and actions
      */
     if ($this->_action == CRM_Core_Action::ADD || $this->_action == CRM_Core_Action::UPDATE) {
         $editUrl = CRM_Utils_System::url('civicrm/civirule/form/rule', 'action=update&id=' . $this->ruleId, TRUE);
         $session->pushUserContext($editUrl);
     }
     if (isset($this->_submitValues['rule_trigger_select'])) {
         $redirectUrl = $this->getTriggerRedirect($this->_submitValues['rule_trigger_select']);
         if ($redirectUrl) {
             CRM_Utils_System::redirect($redirectUrl);
         }
     }
     parent::postProcess();
 }