fix for bug #1715: Create infolog for several addresses fails

This was caused by the (only) clientside code, which could not evaluate
the whole query. It's now done on serverside, thought there's still a
limit of the number of id's transfered in the url.
This commit is contained in:
Ralf Becker 2008-10-20 09:51:38 +00:00
parent 876649fe6f
commit 1709fdf2ae
3 changed files with 30 additions and 4 deletions

View File

@ -577,6 +577,11 @@ class addressbook_ui extends addressbook_bo
return false;
case 'infolog_add':
if ($use_all) // !$use_all is handled purely in javascript
{
$GLOBALS['egw']->js->set_onload(
"win=window.open('".egw::link('/index.php','menuaction=infolog.infolog_ui.edit&type=task&action=addressbook&action_id=').implode(',',$checked)."','_blank','width=750,height=550,left=100,top=200'); win.focus();");
}
$msg = lang('New window opened to edit Infolog for your selection ');
return false;
@ -1873,6 +1878,11 @@ $readonlys['button[vcard]'] = true;
}
}
/**
* Add javascript functions
*
* @return string
*/
function js()
{
return '<script LANGUAGE="JavaScript">
@ -1985,7 +1995,23 @@ $readonlys['button[vcard]'] = true;
)).'"+encodeURIComponent(name)+"&owner="+owner;
}
}
</script>';
function do_action(selbox)
{
if (selbox.value != "") {
if (selbox.value == "infolog_add" && (ids = get_selected(selbox.form,"[rows][checked][]")) && !document.getElementById("exec[use_all]").checked) {
win=window.open("'.egw::link('/index.php','menuaction=infolog.infolog_ui.edit&type=task&action=addressbook&action_id=').'"+ids,"_blank","width=750,height=550,left=100,top=200");
win.focus();
} else if (this.value == "cat_add") {
win=window.open("'.egw::link('/etemplate/process_exec.php','menuaction=addressbook.addressbook_ui.cat_add').'","_blank","width=300,height=400,left=100,top=200");
win.focus();
} else {
selbox.form.submit();
}
selbox.value = "";
}
}
</script>';
}
function migrate2ldap()

View File

@ -2,7 +2,7 @@
/**
* eGroupWare - eTemplates for Application addressbook
* http://www.egroupware.org
* generated by soetemplate::dump4setup() 2008-10-07 15:35
* generated by soetemplate::dump4setup() 2008-10-20 12:12
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package addressbook
@ -98,7 +98,7 @@ $templ_data[] = array('name' => 'addressbook.importexport_wizzard_samplefile','t
$templ_data[] = array('name' => 'addressbook.index','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:2:"h1";s:6:",!@msg";s:2:"h2";s:2:",1";s:2:"c4";s:7:"noPrint";}i:1;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:2;a:2:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:22:"addressbook.index.left";}s:1:"B";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:27:"addressbook.index.right_add";}}i:3;a:2:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"size";s:22:"addressbook.index.rows";s:4:"name";s:2:"nm";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:5:{s:4:"type";s:6:"button";s:4:"name";s:3:"add";s:5:"label";s:3:"Add";s:4:"help";s:17:"Add a new contact";s:7:"onclick";s:164:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.uicontacts.edit\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";}s:1:"B";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:5:"align";s:5:"right";i:1;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:126:"if (this.checked==true && !confirm(\'Apply the action on the whole query, NOT only the shown contacts!!!\')) this.checked=false;";s:4:"help";s:67:"Apply the action on the whole query, NOT only the shown contacts!!!";}i:2;a:6:{s:4:"type";s:6:"select";s:8:"onchange";s:263:"if (this.value != \'\') {if (this.value == \'cat_add\') {win=window.open(egw::link(\'/etemplate/process_exec.php\',\'menuaction=addressbook.uicontacts.cat_add\'),\'_blank\',\'width=300,height=400,left=100,top=200\'); win.focus();} else {this.form.submit(); } this.value=\'\'; }";s:4:"size";s:45:"Select an action or addressbook to move to...";s:7:"no_lang";s:1:"1";s:4:"name";s:6:"action";s:4:"help";s:42:"Select an action or addressbook to move to";}i:3;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:4;s:4:"cols";i:2;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1204812819',);
$templ_data[] = array('name' => 'addressbook.index','template' => '','lang' => '','group' => '0','version' => '1.5.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:2:"h1";s:6:",!@msg";s:2:"h2";s:2:",1";s:2:"c4";s:7:"noPrint";}i:1;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:2;a:2:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:22:"addressbook.index.left";}s:1:"B";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:27:"addressbook.index.right_add";}}i:3;a:2:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"size";s:22:"addressbook.index.rows";s:4:"name";s:2:"nm";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:5:{s:4:"type";s:6:"button";s:4:"name";s:3:"add";s:5:"label";s:3:"Add";s:4:"help";s:17:"Add a new contact";s:7:"onclick";s:168:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.addressbook_ui.edit\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";}s:1:"B";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:5:"align";s:5:"right";i:1;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:126:"if (this.checked==true && !confirm(\'Apply the action on the whole query, NOT only the shown contacts!!!\')) this.checked=false;";s:4:"help";s:67:"Apply the action on the whole query, NOT only the shown contacts!!!";}i:2;a:6:{s:4:"type";s:6:"select";s:8:"onchange";s:533:"if (this.value != \'\') {if (this.value == \'infolog_add\') {ids=get_selected(this.form,\'[rows][checked][]\');win=window.open(egw::link(\'/index.php\',\'menuaction=infolog.infolog_ui.edit&type=task&action=addressbook&action_id=\')+ids,\'_blank\',\'width=750,height=550,left=100,top=200\'); win.focus();}if (this.value == \'cat_add\'){win=window.open(egw::link(\'/etemplate/process_exec.php\',\'menuaction=addressbook.addressbook_ui.cat_add\'),\'_blank\',\'width=300,height=400,left=100,top=200\'); win.focus();} else {this.form.submit(); } this.value=\'\'; }";s:4:"size";s:45:"Select an action or addressbook to move to...";s:7:"no_lang";s:1:"1";s:4:"name";s:6:"action";s:4:"help";s:42:"Select an action or addressbook to move to";}i:3;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:4;s:4:"cols";i:2;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1208264210',);
$templ_data[] = array('name' => 'addressbook.index','template' => '','lang' => '','group' => '0','version' => '1.5.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:2:"h1";s:6:",!@msg";s:2:"h2";s:2:",1";s:2:"c4";s:7:"noPrint";}i:1;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:2;a:2:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:22:"addressbook.index.left";}s:1:"B";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:27:"addressbook.index.right_add";}}i:3;a:2:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"size";s:22:"addressbook.index.rows";s:4:"name";s:2:"nm";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:5:{s:4:"type";s:6:"button";s:4:"name";s:3:"add";s:5:"label";s:3:"Add";s:4:"help";s:17:"Add a new contact";s:7:"onclick";s:168:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.addressbook_ui.edit\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";}s:1:"B";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:5:"align";s:5:"right";i:1;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:126:"if (this.checked==true && !confirm(\'Apply the action on the whole query, NOT only the shown contacts!!!\')) this.checked=false;";s:4:"help";s:67:"Apply the action on the whole query, NOT only the shown contacts!!!";}i:2;a:6:{s:4:"type";s:6:"select";s:8:"onchange";s:16:"do_action(this);";s:4:"size";s:45:"Select an action or addressbook to move to...";s:7:"no_lang";s:1:"1";s:4:"name";s:6:"action";s:4:"help";s:42:"Select an action or addressbook to move to";}i:3;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:4;s:4:"cols";i:2;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1208264210',);
$templ_data[] = array('name' => 'addressbook.index.cat_add','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:4:",top";s:1:"C";s:14:",@cat_tab=Tree";s:1:"D";s:15:",!@cat_tab=Tree";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"image";s:4:"name";s:6:"folder";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:10:"Categories";}s:1:"C";a:3:{s:4:"type";s:10:"select-cat";s:4:"name";s:6:"cat_id";s:4:"size";s:14:"013,,width:99%";}s:1:"D";a:3:{s:4:"type";s:8:"tree-cat";s:4:"name";s:6:"cat_id";s:4:"size";s:13:"13,,width:99%";}}i:2;a:4:{s:1:"A";a:6:{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:7:"cat_add";}i:2;a:3:{s:4:"type";s:6:"button";s:5:"label";s:6:"delete";s:4:"name";s:10:"cat_delete";}s:4:"span";s:3:"all";i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"cancel";s:4:"name";s:10:"cat_cancel";s:7:"onclick";s:15:"window.close();";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:2;s:4:"cols";i:4;s:4:"size";s:17:"100%,300,,,,,auto";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"300";i:6;s:4:"auto";}}}','size' => '100%,300,,,,,auto','style' => '','modified' => '1204881537',);

View File

@ -195,7 +195,7 @@
<hbox align="right">
<checkbox id="use_all" label="whole query" onchange="if (this.checked==true &amp;&amp; !confirm('Apply the action on the whole query, NOT only the shown contacts!!!')) this.checked=false;" statustext="Apply the action on the whole query, NOT only the shown contacts!!!"/>
<menulist>
<menupopup onchange="if (this.value != '') {if (this.value == 'infolog_add') {ids=get_selected(this.form,'[rows][checked][]');win=window.open(egw::link('/index.php','menuaction=infolog.infolog_ui.edit&amp;type=task&amp;action=addressbook&amp;action_id=')+ids,'_blank','width=750,height=550,left=100,top=200'); win.focus();}if (this.value == 'cat_add'){win=window.open(egw::link('/etemplate/process_exec.php','menuaction=addressbook.addressbook_ui.cat_add'),'_blank','width=300,height=400,left=100,top=200'); win.focus();} else {this.form.submit(); } this.value=''; }" options="Select an action or addressbook to move to..." no_lang="1" id="action" statustext="Select an action or addressbook to move to"/>
<menupopup onchange="do_action(this);" options="Select an action or addressbook to move to..." no_lang="1" id="action" statustext="Select an action or addressbook to move to"/>
</menulist>
<button image="arrow_ltr" label="Check all" id="check_all" statustext="Check all" onclick="toggle_all(this.form,form::name('nm[rows][checked][]')); return false;" needed="1" class="checkAllArrow"/>
</hbox>