Example #1
0
 public function _handler_list_user($handler_id, array $args, array &$data)
 {
     midcom::get('auth')->require_valid_user();
     $this->_request_data['view'] = 'grid';
     $this->_request_data['view_identifier'] = 'my_tasks';
     $siteconfig = org_openpsa_core_siteconfig::get_instance();
     $this->_request_data['contacts_url'] = $siteconfig->get_node_full_url('org.openpsa.contacts');
     //get possible priorities from schema
     $this->_get_priorities();
     $this->_provider = new org_openpsa_widgets_grid_provider($this, 'local');
     $resource_statuses = array(org_openpsa_projects_task_status_dba::PROPOSED, org_openpsa_projects_task_status_dba::ACCEPTED, org_openpsa_projects_task_status_dba::STARTED, org_openpsa_projects_task_status_dba::REOPENED, org_openpsa_projects_task_status_dba::COMPLETED);
     $task_statuses = array(org_openpsa_projects_task_status_dba::PROPOSED, org_openpsa_projects_task_status_dba::DECLINED, org_openpsa_projects_task_status_dba::COMPLETED, org_openpsa_projects_task_status_dba::ONHOLD);
     $mc = org_openpsa_projects_task_resource_dba::new_collector('person', midcom_connection::get_user());
     $mc->add_constraint('orgOpenpsaObtype', '=', ORG_OPENPSA_OBTYPE_PROJECTRESOURCE);
     $mc->add_constraint('task.orgOpenpsaObtype', '=', ORG_OPENPSA_OBTYPE_TASK);
     $mc->add_constraint('task.status', 'IN', $resource_statuses);
     $resource_tasks = $mc->get_values('task');
     $this->_qb = org_openpsa_projects_task_dba::new_query_builder();
     $this->_qb->add_constraint('orgOpenpsaObtype', '=', ORG_OPENPSA_OBTYPE_TASK);
     $this->_qb->begin_group('OR');
     if (!empty($resource_tasks)) {
         //Get active tasks where user is a resource
         $this->_qb->add_constraint('id', 'IN', $resource_tasks);
     }
     //Get relevant tasks where user is manager
     $this->_qb->begin_group('AND');
     $this->_qb->add_constraint('manager', '=', midcom_connection::get_user());
     $this->_qb->add_constraint('status', 'IN', $task_statuses);
     $this->_qb->end_group();
     $this->_qb->end_group();
     org_openpsa_widgets_grid::add_head_elements();
 }