diff --git a/infolog/inc/class.infolog_ui.inc.php b/infolog/inc/class.infolog_ui.inc.php index a057611894..825b050c79 100644 --- a/infolog/inc/class.infolog_ui.inc.php +++ b/infolog/inc/class.infolog_ui.inc.php @@ -511,19 +511,20 @@ class infolog_ui else { // Some processing to add values in for links and cats - if($values['multi_action'] == 'link') + $multi_action = $values['multi_action']; + // Action has an additional action - add / delete, etc. Buttons named _action[action_name] + if(in_array($multi_action, array('link', 'responsible'))) { - $values['multi_action'] = 'link_' . key($values['link_action']) . '_'.$values['action_link']; - unset($values['action_link']); - unset($values['link_action']); + $values['multi_action'] .= '_' . key($values[$multi_action . '_action']); } - elseif ($values['multi_action'] == 'cat') + // Action has a parameter - cat_id, percent, etc + if (in_array($multi_action, array('link', 'cat', 'completion', 'responsible'))) { - $values['multi_action'] = 'cat_' . $values['cat']; - } - elseif ($values['multi_action'] == 'completion') - { - $values['multi_action'] = 'completion_' . $values['completion']; + if(is_array($values[$multi_action])) + { + $values[$multi_action] = implode(',',$values[$multi_action]); + } + $values['multi_action'] .= '_' . $values[$multi_action]; } if ($this->action($values['multi_action'],$values['nm']['rows']['checked'],$values['use_all'], $success,$failed,$action_msg,false,$msg)) @@ -741,6 +742,7 @@ class infolog_ui 'cat' => lang('Change category'), 'link' => lang('Add or delete links'), 'completion' => lang('Change completion'), + 'responsible' => lang('Change responsible'), ) ); @@ -949,6 +951,26 @@ class infolog_ui $failed++; } break; + case 'responsible': + list($add_remove, $users) = explode('_', $settings, 2); + $action_msg = lang('changed responsible') . ' - ' . ($add_remove == 'add' ? lang('added') : lang('removed')) . ' '; + $users = explode(',', $users); + $names = array(); + foreach($users as $account_id) { + $names[] = common::display_fullname($GLOBALS['egw']->accounts->id2name($account_id)); + } + $action_msg .= implode(', ', $names); + $function = $add_remove == 'add' ? 'array_merge' : 'array_diff'; + $entry['info_responsible'] = array_unique($function($entry['info_responsible'], $users)); + if($this->bo->write($entry)) + { + $success++; + } + else + { + $failed++; + } + break; } } return ($failed == 0); diff --git a/infolog/js/index.js b/infolog/js/index.js index 7d1d097aa4..70ebf9b76d 100644 --- a/infolog/js/index.js +++ b/infolog/js/index.js @@ -9,25 +9,10 @@ function do_infolog_action(selbox) { if(selbox.value == "") return; var prefix = selbox.id.substring(0,selbox.id.indexOf('[')); - switch(selbox.value) { - case "link": - var popup = document.getElementById(prefix+'[link_popup]'); - if(popup) { - popup.style.display = 'block'; - } - return; - case "cat": - var popup = document.getElementById(prefix+'[cat_popup]'); - if(popup) { - popup.style.display = 'block'; - } - return; - case "completion": - var popup = document.getElementById(prefix+'[completion_popup]'); - if(popup) { - popup.style.display = 'block'; - } - return; + var popup = document.getElementById(prefix + '[' + selbox.value + '_popup]'); + if(popup) { + popup.style.display = 'block'; + return; } selbox.form.submit(); selbox.value = ""; diff --git a/infolog/setup/etemplates.inc.php b/infolog/setup/etemplates.inc.php index cc0ce09df0..8d928678a2 100644 --- a/infolog/setup/etemplates.inc.php +++ b/infolog/setup/etemplates.inc.php @@ -2,7 +2,7 @@ /** * eGroupWare - eTemplates for Application infolog * http://www.egroupware.org - * generated by soetemplate::dump4setup() 2010-11-23 10:55 + * generated by soetemplate::dump4setup() 2010-12-08 11:58 * * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @package infolog @@ -55,7 +55,7 @@ $templ_data[] = array('name' => 'infolog.export_csv_selectors','template' => '', $templ_data[] = array('name' => 'infolog.importexport_wizard_chooseowner','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:1:{s:2:"h2";s:14:",@no_owner_map";}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";}}i:2;a:1:{s:1:"A";a:3:{s:4:"type";s:8:"checkbox";s:5:"label";s:30:"Use field from CSV if possible";s:4:"name";s:14:"owner_from_csv";}}i:3;a:1:{s:1:"A";a:2:{s:4:"type";s:14:"select-account";s:4:"name";s:5:"owner";}}i:4;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}i:5;a:1:{s:1:"A";a:3:{s:4:"type";s:11:"select-bool";s:5:"label";s:26:"Change owner when updating";s:4:"name";s:12:"change_owner";}}}s:4:"rows";i:5;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1286389863',); -$templ_data[] = array('name' => 'infolog.index','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:7:{i:0;a:6:{s:1:"A";s:3:"90%";s:2:"h3";s:2:",1";s:2:"h2";s:6:",!@msg";s:2:"c6";s:7:"noPrint";s:2:"h4";s:7:",!@main";s:2:"h1";s:6:",!@css";}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:4:"html";s:4:"span";s:3:"all";s:4:"name";s:3:"css";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:5:"align";s:6:"center";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:11:"header_left";}s:1:"B";a:2:{s:4:"type";s:8:"template";s:4:"name";s:12:"header_right";}}i:4;a:2:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:4:"main";s:4:"span";s:3:"all";s:4:"name";s:27:"infolog.index.rows-noheader";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"size";s:20:"infolog.index.rows,1";s:4:"span";s:3:"all";s:4:"name";s:2:"nm";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:6;a:2:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:9:"add[note]";s:4:"help";s:15:"Add a new Entry";s:7:"onclick";s:245:"window.open(egw::link(\'/index.php\',\'menuaction=infolog.infolog_ui.edit&type=note&action=$cont[action]&action_id=$cont[action_id]&cat_id={$cont[nm][cat_id]}\'),\'_blank\',\'dependent=yes,width=750,height=600,scrollbars=yes,status=yes\'); return false;";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";s:4:"help";s:17:"Back to main list";}}s:1:"B";a:9:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"6";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:3:"box";s:4:"name";s:10:"link_popup";s:4:"size";s:1:"1";s:4:"span";s:20:",action_popup prompt";i:1;a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:",promptheader";s:5:"label";s:17:"Add / Remove link";}i:2;a:3:{s:4:"type";s:10:"link-entry";s:4:"name";s:11:"action_link";s:4:"span";s:21:",action_popup-content";}i:3;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:16:"link_action[add]";}i:2;a:3:{s:4:"type";s:6:"button";s:4:"name";s:19:"link_action[delete]";s:5:"label";s:6:"Delete";}i:3;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:6:"Cancel";s:7:"onclick";s:30:"hide_popup(this,\'link_popup\');";}}}}i:2;a:5:{s:4:"type";s:3:"box";s:4:"name";s:9:"cat_popup";s:4:"size";s:1:"1";s:4:"span";s:20:",action_popup prompt";i:1;a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:",promptheader";s:5:"label";s:15:"Change category";}i:2;a:5:{s:4:"type";s:10:"select-cat";s:4:"span";s:21:",action_popup-content";s:4:"name";s:3:"cat";s:4:"size";s:14:"None,,,infolog";s:5:"label";s:19:"Select new category";}i:3;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"button";s:5:"label";s:5:"Apply";s:4:"name";s:10:"change_cat";}i:2;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:6:"Cancel";s:7:"onclick";s:29:"hide_popup(this,\'cat_popup\');";}}}}i:3;a:5:{s:4:"type";s:3:"box";s:4:"name";s:16:"completion_popup";s:4:"size";s:1:"1";s:4:"span";s:20:",action_popup prompt";i:1;a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:",promptheader";s:5:"label";s:16:"Change completed";}i:2;a:4:{s:4:"type";s:14:"select-percent";s:4:"span";s:21:",action_popup-content";s:4:"name";s:10:"completion";s:5:"label";s:9:"Completed";}i:3;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"button";s:5:"label";s:5:"Apply";s:4:"name";s:17:"change_completion";}i:2;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:6:"Cancel";s:7:"onclick";s:36:"hide_popup(this,\'completion_popup\');";}}}}i:4;a:5:{s:4:"type";s:8:"checkbox";s:4:"name";s:7:"use_all";s:5:"label";s:11:"whole query";s:8:"onchange";s:125:"if (this.checked==true && !confirm(\'Apply the action on the whole query, NOT only the shown entries!!!\')) this.checked=false;";s:4:"help";s:66:"Apply the action on the whole query, NOT only the shown entries!!!";}i:5;a:6:{s:4:"type";s:6:"select";s:8:"onchange";s:24:"do_infolog_action(this);";s:4:"size";s:19:"Select an action...";s:7:"no_lang";s:1:"1";s:4:"name";s:12:"multi_action";s:4:"help";s:16:"Select an action";}i:6;a:8:{s:4:"type";s:6:"button";s:4:"size";s:9:"arrow_ltr";s:5:"label";s:9:"Check all";s:4:"name";s:9:"check_all";s:4:"help";s:9:"Check all";s:7:"onclick";s:70:"toggle_all(this.form,form::name(\'nm[rows][checked][]\')); return false;";s:6:"needed";s:1:"1";s:4:"span";s:14:",checkAllArrow";}}}}s:4:"rows";i:6;s:4:"cols";i:2;s:4:"size";s:12:"100%,,0,,0,0";}}','size' => '100%,,0,,0,0','style' => '/** +$templ_data[] = array('name' => 'infolog.index','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:7:{i:0;a:6:{s:1:"A";s:3:"90%";s:2:"h3";s:2:",1";s:2:"h2";s:6:",!@msg";s:2:"c6";s:7:"noPrint";s:2:"h4";s:7:",!@main";s:2:"h1";s:6:",!@css";}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:4:"html";s:4:"span";s:3:"all";s:4:"name";s:3:"css";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:5:"align";s:6:"center";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:11:"header_left";}s:1:"B";a:2:{s:4:"type";s:8:"template";s:4:"name";s:12:"header_right";}}i:4;a:2:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:4:"main";s:4:"span";s:3:"all";s:4:"name";s:27:"infolog.index.rows-noheader";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"size";s:20:"infolog.index.rows,1";s:4:"span";s:3:"all";s:4:"name";s:2:"nm";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:6;a:2:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:9:"add[note]";s:4:"help";s:15:"Add a new Entry";s:7:"onclick";s:245:"window.open(egw::link(\'/index.php\',\'menuaction=infolog.infolog_ui.edit&type=note&action=$cont[action]&action_id=$cont[action_id]&cat_id={$cont[nm][cat_id]}\'),\'_blank\',\'dependent=yes,width=750,height=600,scrollbars=yes,status=yes\'); return false;";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";s:4:"help";s:17:"Back to main list";}}s:1:"B";a:10:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"7";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:3:"box";s:4:"name";s:10:"link_popup";s:4:"size";s:1:"1";s:4:"span";s:20:",action_popup prompt";i:1;a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:",promptheader";s:5:"label";s:17:"Add / Remove link";}i:2;a:3:{s:4:"type";s:10:"link-entry";s:4:"name";s:4:"link";s:4:"span";s:21:",action_popup-content";}i:3;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:16:"link_action[add]";}i:2;a:3:{s:4:"type";s:6:"button";s:4:"name";s:19:"link_action[delete]";s:5:"label";s:6:"Delete";}i:3;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:6:"Cancel";s:7:"onclick";s:30:"hide_popup(this,\'link_popup\');";}}}}i:2;a:5:{s:4:"type";s:3:"box";s:4:"name";s:9:"cat_popup";s:4:"size";s:1:"1";s:4:"span";s:20:",action_popup prompt";i:1;a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:",promptheader";s:5:"label";s:15:"Change category";}i:2;a:5:{s:4:"type";s:10:"select-cat";s:4:"span";s:21:",action_popup-content";s:4:"name";s:3:"cat";s:4:"size";s:14:"None,,,infolog";s:5:"label";s:19:"Select new category";}i:3;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"button";s:5:"label";s:5:"Apply";s:4:"name";s:10:"change_cat";}i:2;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:6:"Cancel";s:7:"onclick";s:29:"hide_popup(this,\'cat_popup\');";}}}}i:3;a:5:{s:4:"type";s:3:"box";s:4:"name";s:16:"completion_popup";s:4:"size";s:1:"1";s:4:"span";s:20:",action_popup prompt";i:1;a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:",promptheader";s:5:"label";s:16:"Change completed";}i:2;a:4:{s:4:"type";s:14:"select-percent";s:4:"span";s:21:",action_popup-content";s:4:"name";s:10:"completion";s:5:"label";s:9:"Completed";}i:3;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"button";s:5:"label";s:5:"Apply";s:4:"name";s:17:"change_completion";}i:2;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:6:"Cancel";s:7:"onclick";s:36:"hide_popup(this,\'completion_popup\');";}}}}i:4;a:5:{s:4:"type";s:3:"box";s:4:"name";s:17:"responsible_popup";s:4:"size";s:1:"1";s:4:"span";s:20:",action_popup prompt";i:1;a:6:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"4";i:1;a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:",promptheader";s:5:"label";s:18:"Change responsible";}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Select users";}i:3;a:4:{s:4:"type";s:14:"select-account";s:4:"span";s:21:",action_popup-content";s:4:"name";s:11:"responsible";s:4:"size";s:1:"5";}i:4;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:23:"responsible_action[add]";}i:2;a:3:{s:4:"type";s:6:"button";s:4:"name";s:26:"responsible_action[delete]";s:5:"label";s:6:"Delete";}i:3;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:6:"Cancel";s:7:"onclick";s:37:"hide_popup(this,\'responsible_popup\');";}}}}i:5;a:5:{s:4:"type";s:8:"checkbox";s:4:"name";s:7:"use_all";s:5:"label";s:11:"whole query";s:8:"onchange";s:125:"if (this.checked==true && !confirm(\'Apply the action on the whole query, NOT only the shown entries!!!\')) this.checked=false;";s:4:"help";s:66:"Apply the action on the whole query, NOT only the shown entries!!!";}i:6;a:6:{s:4:"type";s:6:"select";s:8:"onchange";s:24:"do_infolog_action(this);";s:4:"size";s:19:"Select an action...";s:7:"no_lang";s:1:"1";s:4:"name";s:12:"multi_action";s:4:"help";s:16:"Select an action";}i:7;a:8:{s:4:"type";s:6:"button";s:4:"size";s:9:"arrow_ltr";s:5:"label";s:9:"Check all";s:4:"name";s:9:"check_all";s:4:"help";s:9:"Check all";s:7:"onclick";s:70:"toggle_all(this.form,form::name(\'nm[rows][checked][]\')); return false;";s:6:"needed";s:1:"1";s:4:"span";s:14:",checkAllArrow";}}}}s:4:"rows";i:6;s:4:"cols";i:2;s:4:"size";s:12:"100%,,0,,0,0";}}','size' => '100%,,0,,0,0','style' => '/** * Add / remove link or category popup used for actions on multiple entries */