mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-26 00:29:38 +01:00
- fixed bug in creation of recur-exception for the first recurence
- recuring events: instead of edit+edit-series / delete/delete-series buttons use just edit/delete and a new exception button
This commit is contained in:
parent
5c71cc8378
commit
27c3c7ecb3
@ -94,7 +94,8 @@ class bocalupdate extends bocal
|
|||||||
// - new events need start, end and title
|
// - new events need start, end and title
|
||||||
// - updated events cant set start, end or title to empty
|
// - updated events cant set start, end or title to empty
|
||||||
if (!$event['id'] && (!$event['start'] || !$event['end'] || !$event['title']) ||
|
if (!$event['id'] && (!$event['start'] || !$event['end'] || !$event['title']) ||
|
||||||
$event['id'] && (isset($event['start']) && !$event['start'] || isset($event['end']) && !$event['end'] || isset($event['title']) && !$event['title']))
|
$event['id'] && (isset($event['start']) && !$event['start'] || isset($event['end']) && !$event['end'] ||
|
||||||
|
isset($event['title']) && !$event['title']))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -153,6 +154,7 @@ class bocalupdate extends bocal
|
|||||||
foreach((array) $overlapping_events as $k => $overlap)
|
foreach((array) $overlapping_events as $k => $overlap)
|
||||||
{
|
{
|
||||||
if ($overlap['id'] == $event['id'] || // that's the event itself
|
if ($overlap['id'] == $event['id'] || // that's the event itself
|
||||||
|
$overlap['id'] == $event['reference'] || // event is an exception of overlap
|
||||||
$overlap['non_blocking']) // that's a non_blocking event
|
$overlap['non_blocking']) // that's a non_blocking event
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
@ -523,9 +523,11 @@ ORDER BY cal_user_type, cal_usre_id
|
|||||||
// check if the recure-information changed
|
// check if the recure-information changed
|
||||||
$this->db->select($this->repeats_table,'*',array('cal_id' => $cal_id),__LINE__,__FILE__);
|
$this->db->select($this->repeats_table,'*',array('cal_id' => $cal_id),__LINE__,__FILE__);
|
||||||
$old_recur = $this->db->row(true);
|
$old_recur = $this->db->row(true);
|
||||||
|
$old_exceptions = $old_recur['recur_exception'] ? explode(',',$old_recur['recur_exception']) : array();
|
||||||
|
$exceptions = $event['recur_exception'] ? explode(',',$event['recur_exception']) : array();
|
||||||
$set_recurrences = $event['recur_type'] != $old_recur['recur_type'] || $event['recur_data'] != $old_recur['recur_data'] ||
|
$set_recurrences = $event['recur_type'] != $old_recur['recur_type'] || $event['recur_data'] != $old_recur['recur_data'] ||
|
||||||
$event['recur_interval'] != $old_recur['recur_interval'] || $event['recur_enddate'] != $old_recur['recur_enddate'] ||
|
$event['recur_interval'] != $old_recur['recur_interval'] || $event['recur_enddate'] != $old_recur['recur_enddate'] ||
|
||||||
$event['recur_exeption'] != $old_recur['recur_exeption'];
|
count(array_diff($old_exceptions,$exceptions)); // exception deleted
|
||||||
}
|
}
|
||||||
if($event['recur_type'] != MCAL_RECUR_NONE)
|
if($event['recur_type'] != MCAL_RECUR_NONE)
|
||||||
{
|
{
|
||||||
@ -620,7 +622,8 @@ ORDER BY cal_user_type, cal_usre_id
|
|||||||
|
|
||||||
if (!$old_start)
|
if (!$old_start)
|
||||||
{
|
{
|
||||||
if ($change_since !== false) $this->db->select($this->dates_table,'MIN(cal_start) AS cal_start,MIN(cal_end) AS cal_end',array('cal_id'=>$cal_id),__LNE__,__FILE__);
|
if ($change_since !== false) $this->db->select($this->dates_table,'MIN(cal_start) AS cal_start,MIN(cal_end) AS cal_end',
|
||||||
|
array('cal_id'=>$cal_id),__LINE__,__FILE__);
|
||||||
// if no recurrence found, create one with the new dates
|
// if no recurrence found, create one with the new dates
|
||||||
if ($change_since === false || !($row = $this->db->row(true)) || !$row['cal_start'] || !$row['cal_end'])
|
if ($change_since === false || !($row = $this->db->row(true)) || !$row['cal_start'] || !$row['cal_end'])
|
||||||
{
|
{
|
||||||
|
@ -68,13 +68,13 @@ class uiforms extends uical
|
|||||||
{
|
{
|
||||||
$extra_participants = $_GET['participants'] ? explode(',',$_GET['participants']) : array();
|
$extra_participants = $_GET['participants'] ? explode(',',$_GET['participants']) : array();
|
||||||
|
|
||||||
$owner = (int) (isset($_GET['owner']) ? $_GET['owner'] : $this->owner);
|
$owner = isset($_GET['owner']) ? $_GET['owner'] : $this->owner;
|
||||||
if (!$owner || !is_numeric($owner) || $GLOBALS['egw']->accounts->get_type($owner) != 'u' ||
|
if (!$owner || !is_numeric($owner) || $GLOBALS['egw']->accounts->get_type($owner) != 'u' ||
|
||||||
!$this->bo->check_perms(EGW_ACL_ADD,0,$owner))
|
!$this->bo->check_perms(EGW_ACL_ADD,0,$owner))
|
||||||
{
|
{
|
||||||
if ($owner) // make an owner who is no user or we have no add-rights a participant
|
if ($owner) // make an owner who is no user or we have no add-rights a participant
|
||||||
{
|
{
|
||||||
$extra_participants[] = $owner;
|
$extra_participants += explode(',',$owner);
|
||||||
}
|
}
|
||||||
$owner = $this->user;
|
$owner = $this->user;
|
||||||
}
|
}
|
||||||
@ -136,17 +136,7 @@ class uiforms extends uical
|
|||||||
list($button) = @each($content['button']);
|
list($button) = @each($content['button']);
|
||||||
unset($content['button']);
|
unset($content['button']);
|
||||||
|
|
||||||
$view = $content['view'] && $button != 'edit' && $button != 'edit_series';
|
$view = $content['view'] && $button != 'edit' && $button != 'exception';
|
||||||
// if we edit a single recurrance, we need to remember it for save and need to reset the recur information
|
|
||||||
if ($button == 'edit' && $content['recur_type'] != MCAL_RECUR_NONE)
|
|
||||||
{
|
|
||||||
$content['edit_single'] = $content['start'];
|
|
||||||
$content['recur_type'] = MCAL_RECUR_NONE;
|
|
||||||
foreach(array('recur_enddate','recur_interval','recur_exception','recur_data') as $name)
|
|
||||||
{
|
|
||||||
unset($content[$name]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($view && $button == 'vcal')
|
if ($view && $button == 'vcal')
|
||||||
{
|
{
|
||||||
$msg = $this->export($content['id'],true);
|
$msg = $this->export($content['id'],true);
|
||||||
@ -285,7 +275,16 @@ class uiforms extends uical
|
|||||||
);
|
);
|
||||||
switch($button)
|
switch($button)
|
||||||
{
|
{
|
||||||
case 'edit_series':
|
case 'exception': // create an exception in a recuring event
|
||||||
|
$preserv['edit_single'] = $content['start'];
|
||||||
|
$event['recur_type'] = MCAL_RECUR_NONE;
|
||||||
|
foreach(array('recur_enddate','recur_interval','recur_exception','recur_data') as $name)
|
||||||
|
{
|
||||||
|
unset($event[$name]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'edit':
|
||||||
if ($content['recur_type'] != MCAL_RECUR_NONE)
|
if ($content['recur_type'] != MCAL_RECUR_NONE)
|
||||||
{
|
{
|
||||||
// need to reload start and end of the serie
|
// need to reload start and end of the serie
|
||||||
@ -343,9 +342,11 @@ class uiforms extends uical
|
|||||||
// now we need to add the original start as recur-execption to the series
|
// now we need to add the original start as recur-execption to the series
|
||||||
$recur_event = $this->bo->read($event['reference']);
|
$recur_event = $this->bo->read($event['reference']);
|
||||||
$recur_event['recur_exception'][] = $content['edit_single'];
|
$recur_event['recur_exception'][] = $content['edit_single'];
|
||||||
|
unset($recur_event['start']); unset($recur_event['end']); // no update necessary
|
||||||
$this->bo->update($recur_event,true); // no conflict check here
|
$this->bo->update($recur_event,true); // no conflict check here
|
||||||
unset($recur_event);
|
unset($recur_event);
|
||||||
unset($event['edit_single']); // if we further edit it, it's just a single event
|
unset($event['edit_single']); // if we further edit it, it's just a single event
|
||||||
|
unset($preserv['edit_single']);
|
||||||
}
|
}
|
||||||
else // conflict or error, we need to reset everything to the state befor we tried to save it
|
else // conflict or error, we need to reset everything to the state befor we tried to save it
|
||||||
{
|
{
|
||||||
@ -391,21 +392,14 @@ class uiforms extends uical
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'delete':
|
case 'delete':
|
||||||
case 'delete_series':
|
if ($this->bo->delete($event['id'],(int)$content['edit_single']))
|
||||||
if (!$this->bo->check_perms(EGW_ACL_DELETE,$event)) break;
|
|
||||||
if (!$content['edit_series'] && $button == 'delete' && $event['recur_type'] != MCAL_RECUR_NONE) // delete a single event from a recuring event
|
|
||||||
{
|
{
|
||||||
$this->bo->delete($event['id'],$event['start']);
|
$msg = lang('Event deleted');
|
||||||
|
$js = 'opener.location.href=\''.addslashes($GLOBALS['egw']->link('/index.php',array(
|
||||||
|
'menuaction' => $content['referer'],
|
||||||
|
'msg' => $msg,
|
||||||
|
))).'\';';
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->bo->delete($event['id']);
|
|
||||||
}
|
|
||||||
$msg = lang('Event deleted');
|
|
||||||
$js = 'opener.location.href=\''.addslashes($GLOBALS['egw']->link('/index.php',array(
|
|
||||||
'menuaction' => $content['referer'],
|
|
||||||
'msg' => $msg,
|
|
||||||
))).'\';';
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'freetime':
|
case 'freetime':
|
||||||
@ -596,7 +590,6 @@ class uiforms extends uical
|
|||||||
{
|
{
|
||||||
$name = $this->bo->resources[$type]['app'];
|
$name = $this->bo->resources[$type]['app'];
|
||||||
}
|
}
|
||||||
// _debug_array($participants);
|
|
||||||
foreach($participants as $id => $status)
|
foreach($participants as $id => $status)
|
||||||
{
|
{
|
||||||
$content['participants'][$name][] = $id . (substr($status,1) > 1 ? (':'.substr($status,1)) : '');
|
$content['participants'][$name][] = $id . (substr($status,1) > 1 ? (':'.substr($status,1)) : '');
|
||||||
@ -677,7 +670,15 @@ class uiforms extends uical
|
|||||||
unset($readonlys['general|description|participants|recurrence|custom|links|alarms']);
|
unset($readonlys['general|description|participants|recurrence|custom|links|alarms']);
|
||||||
|
|
||||||
$readonlys['button[save]'] = $readonlys['button[apply]'] = $readonlys['freetime'] = true;
|
$readonlys['button[save]'] = $readonlys['button[apply]'] = $readonlys['freetime'] = true;
|
||||||
$readonlys['link'] = $readonlys['link_to'] = $readonlys['customfields'] = true;
|
$readonlys['link_to'] = $readonlys['customfields'] = true;
|
||||||
|
|
||||||
|
if ($event['recur_type'] != MCAL_RECUR_NONE)
|
||||||
|
{
|
||||||
|
$etpl->set_cell_attribute('button[edit]','help','Edit this series of recuring events');
|
||||||
|
$etpl->set_cell_attribute('button[delete]','help','Delete this series of recuring events');
|
||||||
|
$onclick =& $etpl->get_cell_attribute('button[delete]','onclick');
|
||||||
|
$onclick = str_replace('Delete this event','Delete this series of recuring events',$onclick);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -693,14 +694,12 @@ class uiforms extends uical
|
|||||||
{
|
{
|
||||||
$etpl->disable_cells('custom_mail');
|
$etpl->disable_cells('custom_mail');
|
||||||
}
|
}
|
||||||
if (!($readonlys['button[edit_series]'] = $readonlys['button[edit]'] = !$view || !$this->bo->check_perms(EGW_ACL_EDIT,$event)))
|
if (!($readonlys['button[exception]'] = $readonlys['button[edit]'] = !$view || !$this->bo->check_perms(EGW_ACL_EDIT,$event)))
|
||||||
{
|
{
|
||||||
$readonlys['button[edit_series]'] = $event['recur_type'] == MCAL_RECUR_NONE;
|
$readonlys['button[exception]'] = $event['recur_type'] == MCAL_RECUR_NONE;
|
||||||
}
|
|
||||||
if (!($readonlys['button[delete_series]'] = $readonlys['button[delete]'] = !$event['id'] || !$this->bo->check_perms(EGW_ACL_DELETE,$event)))
|
|
||||||
{
|
|
||||||
$readonlys['button[delete_series]'] = !$view || $event['recur_type'] == MCAL_RECUR_NONE;
|
|
||||||
}
|
}
|
||||||
|
$readonlys['button[delete]'] = !$event['id'] || !$this->bo->check_perms(EGW_ACL_DELETE,$event);
|
||||||
|
|
||||||
if ($event['id'] || $this->bo->check_perms(EGW_ACL_EDIT,$event)) // new event or edit rights to the event ==> allow to add alarm for all users
|
if ($event['id'] || $this->bo->check_perms(EGW_ACL_EDIT,$event)) // new event or edit rights to the event ==> allow to add alarm for all users
|
||||||
{
|
{
|
||||||
$sel_options['owner'][0] = lang('All participants');
|
$sel_options['owner'][0] = lang('All participants');
|
||||||
@ -729,7 +728,8 @@ class uiforms extends uical
|
|||||||
//echo "preserv="; _debug_array($preserv);
|
//echo "preserv="; _debug_array($preserv);
|
||||||
//echo "readonlys="; _debug_array($readonlys);
|
//echo "readonlys="; _debug_array($readonlys);
|
||||||
//echo "sel_options="; _debug_array($sel_options);
|
//echo "sel_options="; _debug_array($sel_options);
|
||||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('calendar') . ' - ' . ($event['id'] ? ($view ? lang('View') : lang('Edit')) : lang('Add'));
|
$GLOBALS['egw_info']['flags']['app_header'] = lang('calendar') . ' - ' . ($event['id'] ? ($view ? lang('View') :
|
||||||
|
($content['edit_single'] ? lang('Edit exception') : lang('Edit'))) : lang('Add'));
|
||||||
$GLOBALS['egw_info']['flags']['java_script'] .= "<script>\n$js\n</script>\n";
|
$GLOBALS['egw_info']['flags']['java_script'] .= "<script>\n$js\n</script>\n";
|
||||||
$etpl->exec('calendar.uiforms.process_edit',$content,$sel_options,$readonlys,$preserv,$preserv['no_popup'] ? 0 : 2);
|
$etpl->exec('calendar.uiforms.process_edit',$content,$sel_options,$readonlys,$preserv,$preserv['no_popup'] ? 0 : 2);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// eTemplates for Application 'calendar', generated by soetemplate::dump4setup() 2005-11-23 11:13
|
// eTemplates for Application 'calendar', generated by soetemplate::dump4setup() 2005-11-23 21:53
|
||||||
|
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
@ -11,6 +11,8 @@ $templ_data[] = array('name' => 'calendar.edit','template' => '','lang' => '','g
|
|||||||
|
|
||||||
$templ_data[] = array('name' => 'calendar.edit','template' => '','lang' => '','group' => '0','version' => '1.0.1.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:7:{s:2:"h1";s:6:",!@msg";s:2:"c2";s:2:"th";s:1:"A";s:3:"100";s:2:"c4";s:3:"row";s:2:"h4";s:8:",!@owner";s:1:"B";s:3:"300";s:2:"h2";s:2:"28";}i:1;a:3:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:2;a:3:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Title";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:6:"80,255";s:4:"name";s:5:"title";s:4:"span";s:3:"all";s:6:"needed";s:1:"1";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:3;a:3:{s:1:"A";a:5:{s:4:"type";s:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:63:"General|Description|Participants|Recurrence|Custom|Links|Alarms";s:4:"name";s:63:"general|description|participants|recurrence|custom|links|alarms";s:4:"help";s:158:"Location, Start- and Endtimes, ...|Full description|Participants, Resources, ...|Repeating Event Information|Custom fields|Links, Attachments|Alarm management";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:4;a:3:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:5:"owner";s:8:"readonly";s:1:"1";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:9:"date-time";s:5:"label";s:7:"Updated";s:4:"name";s:8:"modified";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:14:"select-account";s:5:"label";s:2:"by";s:4:"name";s:8:"modifier";s:8:"readonly";s:1:"1";}}}i:5;a:3:{s:1:"A";a:11:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"8";s:4:"span";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:4:"name";s:19:"button[edit_series]";s:5:"label";s:11:"Edit series";s:4:"help";s:35:"Edit this series of recuring events";}i:2;a:4:{s:4:"type";s:6:"button";s:4:"name";s:12:"button[edit]";s:5:"label";s:4:"Edit";s:4:"help";s:15:"Edit this event";}i:3;a:4:{s:4:"type";s:6:"button";s:4:"name";s:12:"button[copy]";s:5:"label";s:4:"Copy";s:4:"help";s:15:"Copy this event";}i:4;a:4:{s:4:"type";s:6:"button";s:4:"name";s:12:"button[vcal]";s:5:"label";s:6:"Export";s:4:"help";s:27:"Download this event as iCal";}i:5;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:12:"button[save]";s:4:"help";s:22:"saves the changes made";}i:6;a:4:{s:4:"type";s:6:"button";s:4:"name";s:13:"button[apply]";s:5:"label";s:5:"Apply";s:4:"help";s:17:"apply the changes";}i:7;a:5:{s:4:"type";s:6:"button";s:4:"name";s:14:"button[cancel]";s:5:"label";s:6:"Cancel";s:7:"onclick";s:15:"window.close();";s:4:"help";s:16:"Close the window";}i:8;a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:11:"custom_mail";s:5:"label";s:21:"mail all participants";s:4:"help";s:59:"compose a mail to all participants after the event is saved";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:5:"align";s:5:"right";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:6:"button";s:4:"name";s:21:"button[delete_series]";s:5:"label";s:13:"Delete series";s:4:"help";s:37:"Delete this series of recuring events";s:7:"onclick";s:56:"return confirm(\'Delete this series of recuring events\');";}i:2;a:5:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:14:"button[delete]";s:4:"help";s:17:"Delete this event";s:7:"onclick";s:36:"return confirm(\'Delete this event\');";}}}}s:4:"rows";i:5;s:4:"cols";i:3;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1118477069',);
|
$templ_data[] = array('name' => 'calendar.edit','template' => '','lang' => '','group' => '0','version' => '1.0.1.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:7:{s:2:"h1";s:6:",!@msg";s:2:"c2";s:2:"th";s:1:"A";s:3:"100";s:2:"c4";s:3:"row";s:2:"h4";s:8:",!@owner";s:1:"B";s:3:"300";s:2:"h2";s:2:"28";}i:1;a:3:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:2;a:3:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Title";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:6:"80,255";s:4:"name";s:5:"title";s:4:"span";s:3:"all";s:6:"needed";s:1:"1";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:3;a:3:{s:1:"A";a:5:{s:4:"type";s:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:63:"General|Description|Participants|Recurrence|Custom|Links|Alarms";s:4:"name";s:63:"general|description|participants|recurrence|custom|links|alarms";s:4:"help";s:158:"Location, Start- and Endtimes, ...|Full description|Participants, Resources, ...|Repeating Event Information|Custom fields|Links, Attachments|Alarm management";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:4;a:3:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:5:"owner";s:8:"readonly";s:1:"1";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:9:"date-time";s:5:"label";s:7:"Updated";s:4:"name";s:8:"modified";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:14:"select-account";s:5:"label";s:2:"by";s:4:"name";s:8:"modifier";s:8:"readonly";s:1:"1";}}}i:5;a:3:{s:1:"A";a:11:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"8";s:4:"span";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:4:"name";s:19:"button[edit_series]";s:5:"label";s:11:"Edit series";s:4:"help";s:35:"Edit this series of recuring events";}i:2;a:4:{s:4:"type";s:6:"button";s:4:"name";s:12:"button[edit]";s:5:"label";s:4:"Edit";s:4:"help";s:15:"Edit this event";}i:3;a:4:{s:4:"type";s:6:"button";s:4:"name";s:12:"button[copy]";s:5:"label";s:4:"Copy";s:4:"help";s:15:"Copy this event";}i:4;a:4:{s:4:"type";s:6:"button";s:4:"name";s:12:"button[vcal]";s:5:"label";s:6:"Export";s:4:"help";s:27:"Download this event as iCal";}i:5;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:12:"button[save]";s:4:"help";s:22:"saves the changes made";}i:6;a:4:{s:4:"type";s:6:"button";s:4:"name";s:13:"button[apply]";s:5:"label";s:5:"Apply";s:4:"help";s:17:"apply the changes";}i:7;a:5:{s:4:"type";s:6:"button";s:4:"name";s:14:"button[cancel]";s:5:"label";s:6:"Cancel";s:7:"onclick";s:15:"window.close();";s:4:"help";s:16:"Close the window";}i:8;a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:11:"custom_mail";s:5:"label";s:21:"mail all participants";s:4:"help";s:59:"compose a mail to all participants after the event is saved";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:5:"align";s:5:"right";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:6:"button";s:4:"name";s:21:"button[delete_series]";s:5:"label";s:13:"Delete series";s:4:"help";s:37:"Delete this series of recuring events";s:7:"onclick";s:56:"return confirm(\'Delete this series of recuring events\');";}i:2;a:5:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:14:"button[delete]";s:4:"help";s:17:"Delete this event";s:7:"onclick";s:36:"return confirm(\'Delete this event\');";}}}}s:4:"rows";i:5;s:4:"cols";i:3;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1118477069',);
|
||||||
|
|
||||||
|
$templ_data[] = array('name' => 'calendar.edit','template' => '','lang' => '','group' => '0','version' => '1.0.1.003','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:7:{s:2:"h1";s:6:",!@msg";s:2:"c2";s:2:"th";s:1:"A";s:3:"100";s:2:"c4";s:3:"row";s:2:"h4";s:8:",!@owner";s:1:"B";s:3:"300";s:2:"h2";s:2:"28";}i:1;a:3:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:2;a:3:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Title";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:6:"80,255";s:4:"name";s:5:"title";s:4:"span";s:3:"all";s:6:"needed";s:1:"1";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:3;a:3:{s:1:"A";a:5:{s:4:"type";s:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:63:"General|Description|Participants|Recurrence|Custom|Links|Alarms";s:4:"name";s:63:"general|description|participants|recurrence|custom|links|alarms";s:4:"help";s:158:"Location, Start- and Endtimes, ...|Full description|Participants, Resources, ...|Repeating Event Information|Custom fields|Links, Attachments|Alarm management";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:4;a:3:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:5:"owner";s:8:"readonly";s:1:"1";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:9:"date-time";s:5:"label";s:7:"Updated";s:4:"name";s:8:"modified";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:14:"select-account";s:5:"label";s:2:"by";s:4:"name";s:8:"modifier";s:8:"readonly";s:1:"1";}}}i:5;a:3:{s:1:"A";a:11:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"8";s:4:"span";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:4:"name";s:12:"button[edit]";s:5:"label";s:4:"Edit";s:4:"help";s:15:"Edit this event";}i:2;a:4:{s:4:"type";s:6:"button";s:4:"name";s:17:"button[exception]";s:5:"label";s:9:"Exception";s:4:"help";s:42:"Create an exception at this recuring event";}i:3;a:4:{s:4:"type";s:6:"button";s:4:"name";s:12:"button[copy]";s:5:"label";s:4:"Copy";s:4:"help";s:15:"Copy this event";}i:4;a:4:{s:4:"type";s:6:"button";s:4:"name";s:12:"button[vcal]";s:5:"label";s:6:"Export";s:4:"help";s:27:"Download this event as iCal";}i:5;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:12:"button[save]";s:4:"help";s:22:"saves the changes made";}i:6;a:4:{s:4:"type";s:6:"button";s:4:"name";s:13:"button[apply]";s:5:"label";s:5:"Apply";s:4:"help";s:17:"apply the changes";}i:7;a:5:{s:4:"type";s:6:"button";s:4:"name";s:14:"button[cancel]";s:5:"label";s:6:"Cancel";s:7:"onclick";s:15:"window.close();";s:4:"help";s:16:"Close the window";}i:8;a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:11:"custom_mail";s:5:"label";s:21:"mail all participants";s:4:"help";s:59:"compose a mail to all participants after the event is saved";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:14:"button[delete]";s:4:"help";s:17:"Delete this event";s:7:"onclick";s:36:"return confirm(\'Delete this event\');";s:5:"align";s:5:"right";}}}s:4:"rows";i:5;s:4:"cols";i:3;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1132776053',);
|
||||||
|
|
||||||
$templ_data[] = array('name' => 'calendar.edit.alarms','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:5:{s:2:"c1";s:3:"row";s:1:"A";s:2:"95";s:2:"h1";s:16:"20,@no_add_alarm";s:2:"c2";s:4:",top";s:2:"h2";s:8:",!@alarm";}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"before the event";}s:1:"B";a:10:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"8";i:1;a:3:{s:4:"type";s:13:"select-number";s:4:"size";s:4:",0,7";s:4:"name";s:15:"new_alarm[days]";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"size";s:18:",,,new_alarm[days]";s:5:"label";s:4:"days";}i:3;a:3:{s:4:"type";s:13:"select-number";s:4:"name";s:16:"new_alarm[hours]";s:4:"size";s:5:",0,23";}i:4;a:3:{s:4:"type";s:5:"label";s:4:"size";s:19:",,,new_alarm[hours]";s:5:"label";s:5:"hours";}i:5;a:3:{s:4:"type";s:13:"select-number";s:4:"name";s:15:"new_alarm[mins]";s:4:"size";s:7:",0,55,5";}i:6;a:3:{s:4:"type";s:5:"label";s:4:"size";s:18:",,,new_alarm[mins]";s:5:"label";s:7:"Minutes";}i:7;a:5:{s:4:"type";s:6:"select";s:4:"name";s:16:"new_alarm[owner]";s:7:"no_lang";s:1:"1";s:5:"label";s:3:"for";s:4:"help";s:31:"Select who should get the alarm";}i:8;a:3:{s:4:"type";s:6:"button";s:4:"name";s:17:"button[add_alarm]";s:5:"label";s:9:"Add alarm";}}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Alarms";}s:1:"B";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:5:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Time";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"before the event";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"All participants";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";}}i:2;a:5:{s:1:"A";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:12:"${row}[time]";s:8:"readonly";s:1:"1";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"name";s:14:"${row}[offset]";s:7:"no_lang";s:1:"1";}s:1:"C";a:4:{s:4:"type";s:8:"checkbox";s:5:"align";s:6:"center";s:4:"name";s:11:"${row}[all]";s:8:"readonly";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"${row}[owner]";s:8:"readonly";s:1:"1";}s:1:"E";a:7:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:5:"align";s:6:"center";s:4:"name";s:27:"delete_alarm[$row_cont[id]]";s:4:"help";s:17:"Delete this alarm";s:7:"onclick";s:36:"return confirm(\'Delete this alarm\');";}}}s:4:"rows";i:2;s:4:"cols";i:5;s:4:"name";s:5:"alarm";s:7:"options";a:0:{}}}}s:4:"rows";i:2;s:4:"cols";i:2;s:4:"size";s:17:"100%,200,,,,,auto";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1118780740',);
|
$templ_data[] = array('name' => 'calendar.edit.alarms','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:5:{s:2:"c1";s:3:"row";s:1:"A";s:2:"95";s:2:"h1";s:16:"20,@no_add_alarm";s:2:"c2";s:4:",top";s:2:"h2";s:8:",!@alarm";}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"before the event";}s:1:"B";a:10:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"8";i:1;a:3:{s:4:"type";s:13:"select-number";s:4:"size";s:4:",0,7";s:4:"name";s:15:"new_alarm[days]";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"size";s:18:",,,new_alarm[days]";s:5:"label";s:4:"days";}i:3;a:3:{s:4:"type";s:13:"select-number";s:4:"name";s:16:"new_alarm[hours]";s:4:"size";s:5:",0,23";}i:4;a:3:{s:4:"type";s:5:"label";s:4:"size";s:19:",,,new_alarm[hours]";s:5:"label";s:5:"hours";}i:5;a:3:{s:4:"type";s:13:"select-number";s:4:"name";s:15:"new_alarm[mins]";s:4:"size";s:7:",0,55,5";}i:6;a:3:{s:4:"type";s:5:"label";s:4:"size";s:18:",,,new_alarm[mins]";s:5:"label";s:7:"Minutes";}i:7;a:5:{s:4:"type";s:6:"select";s:4:"name";s:16:"new_alarm[owner]";s:7:"no_lang";s:1:"1";s:5:"label";s:3:"for";s:4:"help";s:31:"Select who should get the alarm";}i:8;a:3:{s:4:"type";s:6:"button";s:4:"name";s:17:"button[add_alarm]";s:5:"label";s:9:"Add alarm";}}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Alarms";}s:1:"B";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:5:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Time";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"before the event";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"All participants";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";}}i:2;a:5:{s:1:"A";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:12:"${row}[time]";s:8:"readonly";s:1:"1";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"name";s:14:"${row}[offset]";s:7:"no_lang";s:1:"1";}s:1:"C";a:4:{s:4:"type";s:8:"checkbox";s:5:"align";s:6:"center";s:4:"name";s:11:"${row}[all]";s:8:"readonly";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"${row}[owner]";s:8:"readonly";s:1:"1";}s:1:"E";a:7:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:5:"align";s:6:"center";s:4:"name";s:27:"delete_alarm[$row_cont[id]]";s:4:"help";s:17:"Delete this alarm";s:7:"onclick";s:36:"return confirm(\'Delete this alarm\');";}}}s:4:"rows";i:2;s:4:"cols";i:5;s:4:"name";s:5:"alarm";s:7:"options";a:0:{}}}}s:4:"rows";i:2;s:4:"cols";i:2;s:4:"size";s:17:"100%,200,,,,,auto";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1118780740',);
|
||||||
|
|
||||||
$templ_data[] = array('name' => 'calendar.edit.custom','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:2:"c1";s:4:",top";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:12:"customfields";s:4:"name";s:12:"customfields";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:17:"100%,200,,,,,auto";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1118737582',);
|
$templ_data[] = array('name' => 'calendar.edit.custom','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:2:"c1";s:4:",top";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:12:"customfields";s:4:"name";s:12:"customfields";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:17:"100%,200,,,,,auto";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1118737582',);
|
||||||
|
@ -45,6 +45,7 @@ copy of: calendar de Kopie von:
|
|||||||
copy this event calendar de Kopiert diesen Termin
|
copy this event calendar de Kopiert diesen Termin
|
||||||
countries calendar de Länder
|
countries calendar de Länder
|
||||||
country calendar de Land
|
country calendar de Land
|
||||||
|
create an exception at this recuring event calendar de Erzeugt eine Ausnahme an diesem wiederholenden Termin
|
||||||
create new links calendar de Neue Verknüpfung erstellen
|
create new links calendar de Neue Verknüpfung erstellen
|
||||||
csv calendar de CSV
|
csv calendar de CSV
|
||||||
csv-fieldname calendar de CSV-Feldname
|
csv-fieldname calendar de CSV-Feldname
|
||||||
@ -76,6 +77,7 @@ do you wish to autoload calendar holidays files dynamically? admin de Sollen die
|
|||||||
download calendar de Herunterladen
|
download calendar de Herunterladen
|
||||||
download this event as ical calendar de Termin als iCal herunterladen
|
download this event as ical calendar de Termin als iCal herunterladen
|
||||||
duration of the meeting calendar de Dauer des Termins
|
duration of the meeting calendar de Dauer des Termins
|
||||||
|
edit exception calendar de Ausname bearbeiten
|
||||||
edit series calendar de Serie bearbeiten
|
edit series calendar de Serie bearbeiten
|
||||||
edit this event calendar de Diesen Termin bearbeiten
|
edit this event calendar de Diesen Termin bearbeiten
|
||||||
edit this series of recuring events calendar de Diese Serie von wiederholenden Terminen bearbeiten
|
edit this series of recuring events calendar de Diese Serie von wiederholenden Terminen bearbeiten
|
||||||
@ -96,6 +98,7 @@ event deleted calendar de Termin gel
|
|||||||
event details follow calendar de Details zum Termin folgen
|
event details follow calendar de Details zum Termin folgen
|
||||||
event saved calendar de Termin gespeichert
|
event saved calendar de Termin gespeichert
|
||||||
event will occupy the whole day calendar de Termin nimmt den ganzen Tag ein
|
event will occupy the whole day calendar de Termin nimmt den ganzen Tag ein
|
||||||
|
exception calendar de Ausnahme
|
||||||
exceptions calendar de Ausnahmen
|
exceptions calendar de Ausnahmen
|
||||||
existing links calendar de Bestehende Verknüpfungen
|
existing links calendar de Bestehende Verknüpfungen
|
||||||
export calendar de Exportieren
|
export calendar de Exportieren
|
||||||
|
@ -45,6 +45,7 @@ copy of: calendar en Copy of:
|
|||||||
copy this event calendar en Copy this event
|
copy this event calendar en Copy this event
|
||||||
countries calendar en Countries
|
countries calendar en Countries
|
||||||
country calendar en Country
|
country calendar en Country
|
||||||
|
create an exception at this recuring event calendar en Create an exception at this recuring event
|
||||||
create new links calendar en Create new links
|
create new links calendar en Create new links
|
||||||
csv calendar en CSV
|
csv calendar en CSV
|
||||||
csv-fieldname calendar en CSV-Fieldname
|
csv-fieldname calendar en CSV-Fieldname
|
||||||
@ -76,6 +77,7 @@ do you wish to autoload calendar holidays files dynamically? admin en Do you wis
|
|||||||
download calendar en Download
|
download calendar en Download
|
||||||
download this event as ical calendar en Download this event as iCal
|
download this event as ical calendar en Download this event as iCal
|
||||||
duration of the meeting calendar en Duration of the meeting
|
duration of the meeting calendar en Duration of the meeting
|
||||||
|
edit exception calendar en Edit exception
|
||||||
edit series calendar en Edit series
|
edit series calendar en Edit series
|
||||||
edit this event calendar en Edit this event
|
edit this event calendar en Edit this event
|
||||||
edit this series of recuring events calendar en Edit this series of recuring events
|
edit this series of recuring events calendar en Edit this series of recuring events
|
||||||
@ -96,6 +98,7 @@ event deleted calendar en Event deleted
|
|||||||
event details follow calendar en Event Details follow
|
event details follow calendar en Event Details follow
|
||||||
event saved calendar en Event saved
|
event saved calendar en Event saved
|
||||||
event will occupy the whole day calendar en Event will occupy the whole day
|
event will occupy the whole day calendar en Event will occupy the whole day
|
||||||
|
exception calendar en Exception
|
||||||
exceptions calendar en Exceptions
|
exceptions calendar en Exceptions
|
||||||
existing links calendar en Existing links
|
existing links calendar en Existing links
|
||||||
export calendar en Export
|
export calendar en Export
|
||||||
|
@ -57,7 +57,7 @@
|
|||||||
</rows>
|
</rows>
|
||||||
</grid>
|
</grid>
|
||||||
</template>
|
</template>
|
||||||
<template id="calendar.edit.participants" template="" lang="" group="0" version="1.0.1.002">
|
<template id="calendar.edit.participants" template="" lang="" group="0" version="1.0.1.003">
|
||||||
<grid width="100%" height="200" class="row_on" overflow="auto">
|
<grid width="100%" height="200" class="row_on" overflow="auto">
|
||||||
<columns>
|
<columns>
|
||||||
<column width="95"/>
|
<column width="95"/>
|
||||||
@ -68,7 +68,7 @@
|
|||||||
<rows>
|
<rows>
|
||||||
<row class="row" valign="top" disabled="@view">
|
<row class="row" valign="top" disabled="@view">
|
||||||
<description options=",,,participants" value="Participants"/>
|
<description options=",,,participants" value="Participants"/>
|
||||||
<listbox type="select-account" rows="14" id="participants[accounts]"/>
|
<listbox type="select-account" rows="14" options="calendar+" id="participants[accounts]"/>
|
||||||
<description value="Resources" align="right"/>
|
<description value="Resources" align="right"/>
|
||||||
<resources_select options="14" id="participants[resources]"/>
|
<resources_select options="14" id="participants[resources]"/>
|
||||||
</row>
|
</row>
|
||||||
@ -250,7 +250,7 @@
|
|||||||
</rows>
|
</rows>
|
||||||
</grid>
|
</grid>
|
||||||
</template>
|
</template>
|
||||||
<template id="calendar.edit" template="" lang="" group="0" version="1.0.1.002">
|
<template id="calendar.edit" template="" lang="" group="0" version="1.0.1.003">
|
||||||
<grid width="100%">
|
<grid width="100%">
|
||||||
<columns>
|
<columns>
|
||||||
<column width="100"/>
|
<column width="100"/>
|
||||||
@ -303,8 +303,8 @@
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<hbox span="2">
|
<hbox span="2">
|
||||||
<button id="button[edit_series]" label="Edit series" statustext="Edit this series of recuring events"/>
|
|
||||||
<button id="button[edit]" label="Edit" statustext="Edit this event"/>
|
<button id="button[edit]" label="Edit" statustext="Edit this event"/>
|
||||||
|
<button id="button[exception]" label="Exception" statustext="Create an exception at this recuring event"/>
|
||||||
<button id="button[copy]" label="Copy" statustext="Copy this event"/>
|
<button id="button[copy]" label="Copy" statustext="Copy this event"/>
|
||||||
<button id="button[vcal]" label="Export" statustext="Download this event as iCal"/>
|
<button id="button[vcal]" label="Export" statustext="Download this event as iCal"/>
|
||||||
<button label="Save" id="button[save]" statustext="saves the changes made"/>
|
<button label="Save" id="button[save]" statustext="saves the changes made"/>
|
||||||
@ -312,10 +312,7 @@
|
|||||||
<button id="button[cancel]" label="Cancel" onclick="window.close();" statustext="Close the window"/>
|
<button id="button[cancel]" label="Cancel" onclick="window.close();" statustext="Close the window"/>
|
||||||
<checkbox id="custom_mail" label="mail all participants" statustext="compose a mail to all participants after the event is saved"/>
|
<checkbox id="custom_mail" label="mail all participants" statustext="compose a mail to all participants after the event is saved"/>
|
||||||
</hbox>
|
</hbox>
|
||||||
<hbox align="right">
|
<button label="Delete" id="button[delete]" statustext="Delete this event" onclick="return confirm('Delete this event');" align="right"/>
|
||||||
<button id="button[delete_series]" label="Delete series" statustext="Delete this series of recuring events" onclick="return confirm('Delete this series of recuring events');"/>
|
|
||||||
<button label="Delete" id="button[delete]" statustext="Delete this event" onclick="return confirm('Delete this event');"/>
|
|
||||||
</hbox>
|
|
||||||
</row>
|
</row>
|
||||||
</rows>
|
</rows>
|
||||||
</grid>
|
</grid>
|
||||||
|
Loading…
Reference in New Issue
Block a user