From 3215016c140191fbf846f61a50d26caf282bd375 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Sun, 31 Jan 2010 16:35:40 +1300 Subject: [PATCH] Fix up the javascript around enabling fields when calendar/addressbook. --- inc/ui/collection-edit.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/inc/ui/collection-edit.php b/inc/ui/collection-edit.php index 1e7bc7e8..b310eb3f 100644 --- a/inc/ui/collection-edit.php +++ b/inc/ui/collection-edit.php @@ -12,7 +12,10 @@ $editor->SetLookup( 'schedule_transp', sprintf('SELECT \'opaque\', \'%s\' UNION $editor->AddAttribute('timezone', 'id', 'fld_timezone' ); $editor->AddAttribute('schedule_transp', 'id', 'fld_schedule_transp' ); -$editor->AddAttribute('is_calendar', 'onclick', 'toggle_enabled(self.checked,\'fld_timezone\',\'fld_schedule_transp\');'); +$editor->AddAttribute('is_calendar', 'id', 'fld_is_calendar'); +$editor->AddAttribute('is_addressbook', 'id', 'fld_is_addressbook'); +$editor->AddAttribute('is_calendar', 'onclick', 'toggle_enabled(\'fld_is_calendar\',\'=fld_timezone\',\'=fld_schedule_transp\',\'!fld_is_addressbook\');'); +$editor->AddAttribute('is_addressbook', 'onclick', 'toggle_enabled(\'fld_is_addressbook\',\'!fld_is_calendar\');'); $editor->SetWhere( 'collection_id='.$id ); @@ -137,13 +140,20 @@ function toggle_enabled() { var argv = toggle_enabled.arguments; var argc = argv.length; + var fld_checkbox = document.getElementById(argv[0]); + if ( argc < 2 ) { return; } for (var i = 1; i < argc; i++) { - var f = document.getElementById(argv[i]); - f.disabled = !argv[0]; + var fld_id = argv[i].substr(1); + var fld_logical = argv[i].substr(0,1); + var f = document.getElementById(fld_id); + if ( fld_logical == '=' ) + f.disabled = !fld_checkbox.checked; + else + f.disabled = fld_checkbox.checked; } } @@ -185,6 +195,11 @@ label.privilege { ##submit## + + EOTEMPLATE; $editor->SetTemplate( $template );