예제 #1
0
 /**
  * Create the set of panels to use.
  * @access private
  */
 protected function _add_panels()
 {
     parent::_add_panels();
     $this->add_panels_after('job');
     $job_panel_class_name = $this->app->final_class_name('ENTRY_PANEL', '', 'job');
     $job_type_info = $this->app->type_info_for('JOB', 'projects/obj/job.php');
     $job_query = $this->login->user_entry_query($this->_user->id);
     $job_query->set_type('job');
     $all_jobs_query = $this->login->all_entry_query();
     $all_jobs_query->set_type('job');
     $user_id = $this->_user->id;
     $in_progress_job_query = clone $job_query;
     $in_progress_job_query->restrict('assignee_id = ' . $user_id);
     $in_progress_job_query->restrict('status = 3');
     $panel = new $job_panel_class_name($this, $in_progress_job_query, $job_type_info);
     $panel->id = 'in_progress_jobs';
     $panel->title = 'Jobs in progress';
     $this->add_panel($panel);
     $scheduled_job_query = clone $job_query;
     restrict_to_open($scheduled_job_query);
     restrict_to_scheduled($scheduled_job_query);
     $scheduled_job_query->restrict('assignee_id = ' . $user_id);
     $panel = new $job_panel_class_name($this, $scheduled_job_query, $job_type_info);
     $panel->id = 'scheduled_jobs';
     $panel->title = 'Scheduled jobs';
     $this->add_panel($panel);
     $unscheduled_job_query = clone $job_query;
     restrict_to_open($unscheduled_job_query);
     restrict_to_unscheduled($unscheduled_job_query);
     $panel = new $job_panel_class_name($this, $unscheduled_job_query, $job_type_info);
     $panel->id = 'unscheduled_jobs';
     $panel->title = 'Unscheduled jobs';
     $this->add_panel($panel);
     $assigned_job_query = clone $job_query;
     $assigned_job_query->restrict('assignee_id = ' . $user_id);
     restrict_to_open($assigned_job_query);
     $panel = new $job_panel_class_name($this, $assigned_job_query, $job_type_info);
     $panel->id = 'assigned_jobs';
     $panel->title = 'Assigned jobs';
     $this->add_panel($panel);
     $closed_job_query = clone $job_query;
     $closed_job_query->restrict('closer_id = ' . $user_id);
     $closed_job_query->set_order('job.time_closed DESC');
     $closed_job_query->store_order_as_recent();
     $panel = new $job_panel_class_name($this, $closed_job_query, $job_type_info);
     $panel->id = 'closed_jobs';
     $panel->title = 'Closed jobs';
     $this->add_panel($panel);
     $reported_job_query = clone $job_query;
     $reported_job_query->restrict('reporter_id = ' . $user_id);
     $reported_job_query->restrict('entry.creator_id <> ' . $user_id);
     $panel = new $job_panel_class_name($this, $reported_job_query, $job_type_info);
     $panel->id = 'reported_jobs';
     $panel->title = 'Reported jobs';
     $this->add_panel($panel);
     $this->move_panel_to('in_progress_jobs', 1, Panel_selection);
     $this->move_panel_to('scheduled_jobs', 2, Panel_selection);
     $this->move_panel_to('assigned_jobs', 3, Panel_selection);
     $this->move_panel_to('closed_jobs', 4, Panel_selection);
     $this->move_panel_to('job', 5, Panel_selection);
     $this->move_panel_to('change', 6, Panel_selection);
 }
예제 #2
0
 /**
  * Create the set of panels to use.
  * @access private
  */
 protected function _add_panels()
 {
     parent::_add_panels();
     _configure_album_panels($this);
 }