/** * 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); }
/** * Create the set of panels to use. * @access private */ protected function _add_panels() { parent::_add_panels(); _configure_album_panels($this); }