/** * Return manager instance * * @access protected * @param void * @return ProjectTaskListTemplates */ function manager() { if (!$this->manager instanceof ProjectTaskListTemplates) { $this->manager = ProjectTaskListTemplates::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, 'ProjectTaskListTemplates')) { return parent::paginate($arguments, $items_per_page, $current_page); } else { return ProjectTaskListTemplates::instance()->paginate($arguments, $items_per_page, $current_page); //$instance =& ProjectTaskListTemplates::instance(); //return $instance->paginate($arguments, $items_per_page, $current_page); } // if }
/** * Save task list as a template * * @access public * @param void * @return null */ function save_as_template() { $this->setTemplate('save_as_template'); $task_list = ProjectTaskLists::findById(get_id()); if (!$task_list instanceof ProjectTaskList) { flash_error(lang('task list dnx')); $this->redirectTo('task'); } // if if (!$task_list->canEdit(logged_user())) { flash_error(lang('no access permissions')); $this->redirectTo('task'); } // if tpl_assign('task_list', $task_list); if (isset($_POST['new']) && isset($_POST['name'])) { $name = sanitize($_POST['name']); if (strlen($name) == 0) { flash_error(lang('task list template name required')); $this->redirectTo('task'); } if (ProjectTaskListTemplates::nameExists($name)) { flash_error(lang('task list template unique')); return; } $temp = new ProjectTaskListTemplate(); $data = $task_list->pickle(); $temp->setData($data); $temp->setName($name); try { DB::beginWork(); $temp->save(); ApplicationLogs::createLog($temp, active_project(), ApplicationLogs::ACTION_ADD); DB::commit(); flash_success(lang('success save as template task list', $temp->getName())); $this->redirectToUrl($task_list->getViewUrl()); } catch (Exception $e) { DB::rollback(); tpl_assign('error', $e); } // try } // if }