/** * 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, 'ProjectCategories')) { return parent::paginate($arguments, $items_per_page, $current_page); } else { return ProjectCategories::instance()->paginate($arguments, $items_per_page, $current_page); } // if }
/** * Delete specific category * * @access public * @param void * @return null */ function delete_category() { $category = ProjectCategories::findById(get_id()); if (!$category instanceof ProjectCategory) { flash_error(lang('category dnx')); $this->redirectTo('tickets', 'categories'); } // if if (!$category->canDelete(logged_user())) { flash_error(lang('no access permissions')); $this->redirectToReferer(get_url('tickets', 'categories')); } // if try { DB::beginWork(); $category->delete(); ApplicationLogs::createLog($category, $category->getProject(), ApplicationLogs::ACTION_DELETE); DB::commit(); flash_success(lang('success deleted category', $category->getName())); } catch (Exception $e) { DB::rollback(); flash_error(lang('error delete category')); } // try $this->redirectTo('tickets', 'categories'); }
/** * Return owner user or company * * @access public * @param void * @return ApplicationDataObject */ function getCategory() { if ($this->getCategoryId() > 0) { return ProjectCategories::findById($this->getCategoryId()); } else { return null; } // if }
/** * Return all categories * * @param void * @return array */ function getCategories() { if(is_null($this->categories)) { $this->categories = ProjectCategories::getProjectCategories($this); } // if return $this->categories; } // getCategories
/** * Return manager instance * * @access protected * @param void * @return ProjectCategories */ function manager() { if (!$this->manager instanceof ProjectCategories) { $this->manager = ProjectCategories::instance(); } return $this->manager; }