/** * 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'); }
/** * 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