/**
  * 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
 }
Ejemplo n.º 3
0
 /**
  * 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
 }