[ Index ] |
|
Code source de eGroupWare 1.2.106-2 |
1 <?php 2 3 require_once(dirname(__FILE__) . SEP . 'class.monitor.inc.php'); 4 5 class ui_monitorinstances extends monitor 6 { 7 8 var $public_functions = array( 9 'form' => true, 10 ); 11 12 //new filters forthis monitor child 13 var $filter_status; 14 var $filter_act_status; 15 var $filter_user; 16 17 var $extra; 18 var $extra_params; 19 20 function ui_monitorinstances() 21 { 22 parent::monitor('monitor_instances'); 23 } 24 25 function form() 26 { 27 //override default value from monitor 28 $this->order = get_var('order', 'any', 'wf_instance_id'); 29 $this->sort_mode = $this->order . '__' . $this->sort; 30 31 $this->filter_status = get_var('filter_status', 'any', ''); 32 $this->filter_act_status = get_var('filter_act_status', 'any', ''); 33 $this->filter_user = get_var('filter_user', 'any', ''); 34 35 $this->show_monitor_tabs($this->class_name); 36 //echo "order: <pre>";print_r($this->order);echo "</pre>"; 37 38 $this->link_data['search_str'] = $this->search_str; 39 if ($this->filter_status) 40 { 41 $this->wheres[] = "gi.`wf_status`='" . $this->filter_status . "'"; 42 $this->link_data['filter_status'] = $this->filter_status; 43 } 44 if ($this->filter_process) { 45 $this->wheres[] = "gp.wf_p_id='" .$this->filter_process. "'"; 46 $this->link_data['filter_process'] = $this->filter_process; 47 } 48 if ($this->filter_activity) { 49 $this->wheres[] = "ga.wf_activity_id='" .$this->filter_activity. "'"; 50 $this->link_data['filter_activity'] = $this->filter_activity; 51 } 52 if ($this->filter_act_status) 53 { 54 $this->wheres[] = "gia.`wf_status`='" . $this->filter_act_status . "'"; 55 $this->link_data['filter_act_status'] = $this->filter_act_status; 56 } 57 58 if( count($this->wheres) > 0 ) 59 { 60 $this->where = implode(' and ', $this->wheres); 61 } 62 else 63 { 64 $this->where = ''; 65 } 66 67 if( count($this->link_data) == 0 ) 68 { 69 $this->link_data = ''; 70 } 71 72 //echo "where: <pre>";print_r($this->where);echo "</pre>"; 73 //echo "link_data: <pre>";print_r($this->link_data_params);echo "</pre>"; 74 75 $all_statuses = array('aborted', 'active', 'completed', 'exception'); 76 $users =& $this->process_monitor->monitor_list_users(); 77 $instances =& $this->process_monitor->monitor_list_instances($this->start, $this->offset, $this->sort_mode, $this->search_str, $this->where); 78 79 $this->show_filter_process(); 80 if ($this->filter_process) 81 { 82 $this->show_filter_unique_activities("ga.wf_p_id=".$this->filter_process); 83 } 84 else { 85 $this->show_filter_unique_activities(); 86 } 87 $this->show_filter_status($all_statuses, $this->filter_status); 88 $this->show_filter_act_status($this->filter_act_status); 89 $this->show_filter_user($users, $this->filter_user); 90 $this->show_instances_table($instances['data'], $instances['cant']); 91 92 $this->fill_general_variables(); 93 $this->finish(); 94 } 95 96 function show_instances_table(&$instances_data, $total_number) 97 { 98 //warning header names are header_[name or alias of the column in the query without a dot] 99 //this is necessary for sorting 100 $header_array = array( 101 'wf_instance_id' => lang('Id'), 102 'wf_instance_name' => lang('Name'), 103 'wf_procname' => lang('Process'), 104 'wf_activity_name' => lang('Activity'), 105 'wf_status' => lang('Inst. Status'), 106 'wf_act_status' => lang('Act. Status'), 107 'wf_owner' => lang('Owner'), 108 'wf_user' => lang('User'), 109 ); 110 111 $this->fill_nextmatchs($header_array,$total_number); 112 113 $this->t->set_block('monitor_instances', 'block_inst_table', 'inst_table'); 114 115 if (!$instances_data) { 116 $this->t->set_var('inst_table', '<tr><td colspan="4" align="center">'. lang('There are no instances available') .'</td></tr>'); 117 } 118 else { 119 foreach ($instances_data as $instance) 120 { 121 $this->t->set_var(array( 122 'inst_id_href' => $GLOBALS['egw']->link('/index.php', 'menuaction=workflow.ui_admininstance.form&iid='. $instance['wf_instance_id']), 123 'inst_id' => $instance['wf_instance_id'], 124 'instance_name' => $instance['wf_instance_name'], 125 'activity_name' => $instance['wf_activity_name'], 126 'inst_status' => $instance['wf_status'], 127 'inst_owner' => $GLOBALS['egw']->common->grab_owner_name($instance['wf_owner']), 128 'inst_user' => $GLOBALS['egw']->common->grab_owner_name($instance['wf_user']), 129 'inst_procname' => $instance['wf_procname'], 130 'inst_version' => $instance['wf_version'], 131 'class_alternate_row' => $this->nextmatchs->alternate_row_color($tr_color, true), 132 'inst_act_status' =>$instance['wf_act_status'] 133 )); 134 $this->t->parse('inst_table', 'block_inst_table', true); 135 } 136 } 137 } 138 139 function show_filter_status($all_statuses, $filter_status) 140 { 141 $this->t->set_var('filter_status_selected_all', (!$filter_status)? 'selected="selected"' : ''); 142 $this->t->set_block('monitor_instances', 'block_filter_status', 'filter_status'); 143 foreach ($all_statuses as $status) 144 { 145 $this->t->set_var(array( 146 'filter_status_selected' => ($status == $filter_status)? 'selected="selected"' : '', 147 'filter_status_value' => $status, 148 'filter_status_name' => lang($status), 149 )); 150 $this->t->parse('filter_status', 'block_filter_status', true); 151 } 152 } 153 154 function show_filter_act_status($filter_act_status) 155 { 156 $this->t->set_var(array( 157 'filter_act_status_selected_all' => (!$filter_act_status)? 'selected="selected"' : '', 158 'filter_act_status_running' => ($filter_act_status == 'running')? 'selected="selected"' : '', 159 'filter_act_status_completed' => ($filter_act_status == 'completed')? 'selected="selected"' : '' 160 )); 161 } 162 163 function show_filter_user($users, $filter_user) 164 { 165 $this->t->set_var('filter_user_selected_all', (!$this->filter_user)? 'selected="selected"' : ''); 166 $this->t->set_block('monitor_instances', 'block_filter_user', 'filter_user'); 167 foreach ($users as $user) 168 { 169 $this->t->set_var(array( 170 'filter_user_selected' => ($user == $filter_user)? 'selected="selected"' : '', 171 'filter_user_value' => $user, 172 'filter_user_name' => $GLOBALS['egw']->common->grab_owner_name($user) 173 )); 174 $this->t->parse('filter_user', 'block_filter_user', true); 175 } 176 } 177 } 178 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 17:20:01 2007 | par Balluche grâce à PHPXref 0.7 |