/**
  * Get project forms that are in relation with this message
  *
  * @param void
  * @return array
  */
 function getRelatedForms()
 {
     if (is_null($this->related_forms)) {
         $this->related_forms = ProjectForms::findAll(array('conditions' => '`action` = ' . DB::escape(ProjectForm::ADD_COMMENT_ACTION) . ' AND `in_object_id` = ' . DB::escape($this->getId()), 'order' => '`order`'));
         // findAll
     }
     // if
     return $this->related_forms;
 }
 /**
  * Delete specific project form
  *
  * @param void
  * @return null
  */
 function delete()
 {
     $project_form = ProjectForms::findById(get_id());
     if (!$project_form instanceof ProjectForm) {
         flash_error(lang('project form dnx'));
         if (ProjectForm::canAdd(logged_user(), active_project())) {
             $this->redirectTo('form');
         } else {
             $this->redirectToUrl(active_project()->getOverviewUrl());
         }
         // if
     }
     // if
     if (!$project_form->canDelete(logged_user())) {
         flash_error(lang('no access permissions'));
         if (ProjectForm::canAdd(logged_user(), active_project())) {
             $this->redirectTo('form');
         } else {
             $this->redirectToUrl(active_project()->getOverviewUrl());
         }
         // if
     }
     // if
     if ($project_form->delete()) {
         ApplicationLogs::createLog($project_form, active_project(), ApplicationLogs::ACTION_DELETE, true);
         flash_success(lang('success delete project form', $project_form->getName()));
     } else {
         flash_error(lang('error delete project form'));
     }
     // if
     $this->redirectTo('form');
 }
示例#3
0
 /**
  * Return only visible project forms
  *
  * @param void
  * @return null
  */
 function getVisibleForms($only_enabled = false)
 {
     $conditions = '`project_id` = ' . DB::escape($this->getId());
     if ($only_enabled) {
         $conditions .= ' AND `is_enabled` = ' . DB::escape(true);
     }
     // if
     return ProjectForms::findAll(array('conditions' => $conditions, 'order' => '`order`'));
     // findAll
 }
 /**
  * Get project forms that are in relation with this message
  *
  * @param void
  * @return array
  */
 function getRelatedForms()
 {
     trace(__FILE__, 'getRelatedForms()');
     if (!plugin_active('form')) {
         return null;
     }
     if (is_null($this->related_forms)) {
         $this->related_forms = ProjectForms::findAll(array('conditions' => '`action` = ' . DB::escape(ProjectForm::ADD_COMMENT_ACTION) . ' AND `in_object_id` = ' . DB::escape($this->getId()), 'order' => '`order`'));
         // findAll
     }
     // if
     return $this->related_forms;
 }
 /**
  * Return manager instance
  *
  * @access protected
  * @param void
  * @return ProjectForms 
  */
 function manager()
 {
     if (!$this->manager instanceof ProjectForms) {
         $this->manager = ProjectForms::instance();
     }
     return $this->manager;
 }
 /**
  * This function will return paginated result. Result is an array where first element is 
  * array of returned object and second populated pagination object that can be used for 
  * obtaining and rendering pagination data using various helpers.
  * 
  * Items and pagination array vars are indexed with 0 for items and 1 for pagination
  * because you can't use associative indexing with list() construct
  *
  * @access public
  * @param array $arguments Query argumens (@see find()) Limit and offset are ignored!
  * @param integer $items_per_page Number of items per page
  * @param integer $current_page Current page number
  * @return array
  */
 function paginate($arguments = null, $items_per_page = 10, $current_page = 1)
 {
     if (isset($this) && instance_of($this, 'ProjectForms')) {
         return parent::paginate($arguments, $items_per_page, $current_page);
     } else {
         return ProjectForms::instance()->paginate($arguments, $items_per_page, $current_page);
         //$instance =& ProjectForms::instance();
         //return $instance->paginate($arguments, $items_per_page, $current_page);
     }
     // if
 }
 /**
 * Return manager instance
 *
 * @access protected
 * @param void
 * @return ProjectForms 
 */
 function manager() {
   if(!($this->manager instanceof ProjectForms)) $this->manager = ProjectForms::instance();
   return $this->manager;
 } // manager