Exemplo n.º 1
0
 /**
  * USER_PANEL_MANAGER constructor.
  * @param USER $user
  */
 public function __construct($user)
 {
     $this->_user = $user;
     parent::__construct($user->app);
     $this->page_link = $user->replace_page_arguments($this->page_link);
 }
Exemplo n.º 2
0
 /**
  * Create the set of panels to use.
  * @access private
  */
 protected function _add_panels()
 {
     parent::_add_panels();
     $this->_add_entry_panels_for($this->_component->entry_query());
     $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->_component->job_query();
     $in_progress_job_query = clone $job_query;
     $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);
     $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);
     $open_job_query = clone $job_query;
     restrict_to_open($open_job_query);
     $panel = new $job_panel_class_name($this, $open_job_query, $job_type_info);
     $panel->id = 'open_jobs';
     $panel->title = 'Open jobs';
     $this->add_panel($panel);
     $unassigned_job_query = clone $job_query;
     $unassigned_job_query->restrict("assignee_id = 0");
     $panel = new $job_panel_class_name($this, $unassigned_job_query, $job_type_info);
     $panel->id = 'unassigned_jobs';
     $panel->title = 'Unassigned jobs';
     $this->add_panel($panel);
     $closed_job_query = clone $job_query;
     restrict_to_closed($closed_job_query);
     $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);
     $this->_add_comment_panel_for($this->_component->comment_query());
     $this->move_panel_to('in_progress_jobs', 0, Panel_selection);
     $this->move_panel_to('scheduled_jobs', 1, Panel_selection);
     $this->move_panel_to('open_jobs', 2, Panel_selection);
     $this->move_panel_to('unassigned_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);
 }