Advertisement
Guest User

component.class.php

a guest
Sep 11th, 2013
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.07 KB | None | 0 0
  1. <?php
  2.  
  3. class tasksComponents extends sfComponents
  4. {  
  5.   public function executeListing(sfWebRequest $request)
  6.   {
  7.     if(!isset($this->reports_id)) $this->reports_id = false;
  8.    
  9.    
  10.     $q = Doctrine_Core::getTable('Tasks')->createQuery('t')
  11.           ->leftJoin('t.TasksPriority tp')
  12.           ->leftJoin('t.TasksStatus ts')
  13.           ->leftJoin('t.TasksLabels tl')
  14.           ->leftJoin('t.TasksTypes tt')
  15.           ->leftJoin('t.TasksGroups tg')
  16.           ->leftJoin('t.ProjectsPhases pp')
  17.           ->leftJoin('t.Versions v')
  18.           ->leftJoin('t.Projects p')
  19.           ->leftJoin('t.Users');
  20.          
  21.     if($request->hasParameter('projects_id'))
  22.     {
  23.       $q->addWhere('projects_id=?',$request->getParameter('projects_id'));
  24.      
  25.       if(Users::hasAccess('view_own','tasks',$this->getUser(),$request->getParameter('projects_id')))
  26.       {                
  27.         $q->addWhere("find_in_set('" . $this->getUser()->getAttribute('id') . "',t.assigned_to) or t.created_by='" . $this->getUser()->getAttribute('id') . "'");
  28.       }
  29.     }
  30.     else
  31.     {
  32.       if(Users::hasAccess('view_own','projects',$this->getUser()))
  33.       {      
  34.         $q->addWhere("find_in_set('" . $this->getUser()->getAttribute('id') . "',team) or p.created_by='" . $this->getUser()->getAttribute('id') . "'");
  35.       }
  36.      
  37.       if(Users::hasAccess('view_own','tasks',$this->getUser()))
  38.       {                
  39.         $q->addWhere("find_in_set('" . $this->getUser()->getAttribute('id') . "',t.assigned_to) or t.created_by='" . $this->getUser()->getAttribute('id') . "'");
  40.       }      
  41.     }      
  42.                              
  43.     if($this->reports_id>0)
  44.     {
  45.       $q = UserReports::addFiltersToQuery($q,$this->reports_id,$this->getUser()->getAttribute('id'));
  46.     }                
  47.     elseif($request->hasParameter('search'))
  48.     {    
  49.       $q = app::addSearchQuery($q, $request->getParameter('search'),'TasksComments','t',$request->getParameter('search_by_extrafields'));
  50.       $q = app::addListingOrder($q,'tasks',$this->getUser());
  51.     }
  52.     else
  53.     {
  54.       $q = Tasks::addFiltersToQuery($q,$this->getUser()->getAttribute('tasks_filter' . ((int)$request->getParameter('projects_id')>0 ? $request->getParameter('projects_id') : '')));
  55.       $q = app::addListingOrder($q,'tasks',$this->getUser(), (int)$request->getParameter('projects_id'));            
  56.     }
  57.    
  58.     $this->pager = false;
  59.     if(sfConfig::get('app_rows_limit')>0)
  60.     {
  61.       $this->pager = new sfDoctrinePager('Tasks', sfConfig::get('app_rows_limit'));
  62.       $this->pager->setQuery($q);
  63.       $this->pager->setPage($request->getParameter('page', 1));
  64.       $this->pager->init();
  65.     }
  66.                                      
  67.     $this->tasks_list = $q->fetchArray();
  68.    
  69.    
  70.            
  71.     if(isset($this->is_dashboard))
  72.     {
  73.       $this->url_params = 'redirect_to=dashboard';
  74.       $this->display_insert_button = true;
  75.     }
  76.     elseif($this->reports_id>0)
  77.     {
  78.       $this->url_params = 'redirect_to=userReports' . $this->reports_id;
  79.       $this->display_insert_button = true;
  80.     }
  81.     else
  82.     {
  83.       $this->url_params = 'redirect_to=tasksList';
  84.       if($request->hasParameter('projects_id')) $this->url_params = 'projects_id=' . $request->getParameter('projects_id');
  85.       $this->display_insert_button = true;
  86.     }
  87.    
  88.     $this->tlId = rand(1111111,9999999);
  89.    
  90.     $this->users_schema = Users::getSchema();
  91.   }
  92.  
  93.   public function executeFilters(sfWebRequest $request)
  94.   {  
  95.     $m = array();
  96.    
  97.     $params = ((int)$request->getParameter('projects_id')>0 ? 'projects_id=' . $request->getParameter('projects_id') : false);
  98.            
  99.     $m = app::getFilterMenuItemsByTable($m,'TasksPriority','Priority','tasks/index',$params);
  100.     $m = app::getFilterMenuStatusItemsByTable($m,'TasksStatus','Status','tasks/index',$params);
  101.     $m = app::getFilterMenuItemsByTable($m,'TasksLabels','Label','tasks/index',$params);
  102.     $m = app::getFilterMenuItemsByTable($m,'TasksTypes','Type','tasks/index',$params);  
  103.     $m = app::getFilterMenuUsers($m,'TasksAssignedTo', 'Assigned To','tasks/index',$params);
  104.     $m = app::getFilterMenuUsers($m,'TasksCreatedBy','Created By','tasks/index',$params);    
  105.    
  106.     if(!$params)
  107.     {
  108.       $m = app::getFilterProjects($m,'tasks/index',$params,array(),$this->getUser());      
  109.       $m = app::getFilterMenuItemsByTable($m,'ProjectsStatus','Projects Status','tasks/index',$params);
  110.       $m = app::getFilterMenuItemsByTable($m,'ProjectsTypes','Projects Types','tasks/index',$params);
  111.      
  112.     }
  113.     else
  114.     {
  115.       $m = app::getFilterMenuItemsByTable($m,'TasksGroups','Group','tasks/index',$params);  
  116.       $m = app::getFilterMenuItemsByTable($m,'ProjectsPhases','Phase','tasks/index',$params);
  117.       $m = app::getFilterMenuItemsByTable($m,'Versions','Version','tasks/index',$params);
  118.     }
  119.                          
  120.     $this->m = array(array('title'=>__('Filters'),'submenu'=>$m));
  121.   }
  122.  
  123.   public function executeFiltersPreview(sfWebRequest $request)
  124.   {
  125.     $this->filter_by = $this->getUser()->getAttribute('tasks_filter' . ((int)$request->getParameter('projects_id')>0 ? $request->getParameter('projects_id') : ''));
  126.     $this->params = ((int)$request->getParameter('projects_id')>0 ? 'projects_id=' . $request->getParameter('projects_id') : false);
  127.     $this->filter_tables = array('TasksPriority'=>'Priority', 'TasksStatus'=>'Status','TasksTypes'=>'Type','TasksLabels'=>'Label','TasksAssignedTo'=>'Assigned To','TasksCreatedBy'=>'Created By','TasksGroups'=>'Group','ProjectsPhases'=>'Phase','Versions'=>'Version');
  128.    
  129.     $this->filter_tables['Projects']='Projects';    
  130.     $this->filter_tables['ProjectsStatus']='Project Status';
  131.     $this->filter_tables['ProjectsTypes']='Project Type';    
  132.    
  133.  
  134.   }
  135.      
  136.   public function executeDetails()
  137.   {
  138.        
  139.   }
  140.  
  141.   public function executeEmailBody()
  142.   {
  143.        
  144.   }
  145.  
  146.   public function executeRelatedTasksToDiscussions()
  147.   {                
  148.     $this->tasks_list = $q = Doctrine_Core::getTable('Tasks')->createQuery('t')          
  149.           ->leftJoin('t.TasksStatus ts')
  150.           ->leftJoin('t.TasksLabels tl')          
  151.           ->leftJoin('t.Projects p')    
  152.           ->whereIn('discussion_id',$this->discussions_id)                            
  153.           ->fetchArray();
  154.   }
  155.  
  156.   public function executeRelatedTasksToTickets()
  157.   {                
  158.     $this->tasks_list = $q = Doctrine_Core::getTable('Tasks')->createQuery('t')          
  159.           ->leftJoin('t.TasksStatus ts')
  160.           ->leftJoin('t.TasksLabels tl')          
  161.           ->leftJoin('t.Projects p')    
  162.           ->whereIn('tickets_id',$this->tickets_id)                            
  163.           ->fetchArray();
  164.   }
  165.  
  166.   public function executeViewType()
  167.   {
  168.     $s = array();
  169.     $s[] = array('title'=>__('List'),'url'=>'tasks/index?projects_id=' . $this->projects->getId() . '&setViewType=list');
  170.     $s[] = array('title'=>__('Tree'),'url'=>'tasks/index?projects_id=' . $this->projects->getId() . '&setViewType=tree');
  171.     $this->m = array(array('title'=>__('View Type'),'submenu'=>$s));
  172.   }
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement