forked from extern/egroupware
* Calendar - creating an exception to a recurring event now copies the links over to the exception
This commit is contained in:
parent
26c19f4fa6
commit
96aac588e4
@ -744,6 +744,12 @@ class calendar_uiforms extends calendar_ui
|
|||||||
unset($recur_event['alarm']); // unsetting alarms too, as they cant be updated without start!
|
unset($recur_event['alarm']); // unsetting alarms too, as they cant be updated without start!
|
||||||
$this->bo->update($recur_event,true); // no conflict check here
|
$this->bo->update($recur_event,true); // no conflict check here
|
||||||
|
|
||||||
|
// Save links
|
||||||
|
if($content['links'])
|
||||||
|
{
|
||||||
|
Link::link('calendar', $event['id'], $content['links']['to_id']);
|
||||||
|
}
|
||||||
|
|
||||||
if(Api\Json\Response::isJSONResponse())
|
if(Api\Json\Response::isJSONResponse())
|
||||||
{
|
{
|
||||||
// Sending null will trigger a removal of the original
|
// Sending null will trigger a removal of the original
|
||||||
@ -1106,6 +1112,30 @@ class calendar_uiforms extends calendar_ui
|
|||||||
{
|
{
|
||||||
unset($alarm['uid'], $alarm['id'], $alarm['time']);
|
unset($alarm['uid'], $alarm['id'], $alarm['time']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Copy links
|
||||||
|
if(!is_array($event['link_to'])) $event['link_to'] = array();
|
||||||
|
$event['link_to']['to_app'] = 'calendar';
|
||||||
|
$event['link_to']['to_id'] = 0;
|
||||||
|
|
||||||
|
foreach(Link::get_links($event['link_to']['to_app'], $event['id']) as $link)
|
||||||
|
{
|
||||||
|
if(!$link['id']) continue;
|
||||||
|
if ($link['app'] != Link::VFS_APPNAME)
|
||||||
|
{
|
||||||
|
Link::link('calendar', $event['link_to']['to_id'], $link['app'], $link['id'], $link['remark']);
|
||||||
|
}
|
||||||
|
elseif ($link['app'] == Link::VFS_APPNAME)
|
||||||
|
{
|
||||||
|
Link::link('calendar', $event['link_to']['to_id'], Link::VFS_APPNAME, array(
|
||||||
|
'tmp_name' => Link::vfs_path($link['app2'], $link['id2']).'/'.$link['id'],
|
||||||
|
'name' => $link['id'],
|
||||||
|
), $link['remark']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$event['links'] = $event['link_to'];
|
||||||
|
|
||||||
if($this->bo->check_perms(Acl::EDIT,$event))
|
if($this->bo->check_perms(Acl::EDIT,$event))
|
||||||
{
|
{
|
||||||
return lang('Save event as exception - Delete single occurrence - Edit status or alarms for this particular day');
|
return lang('Save event as exception - Delete single occurrence - Edit status or alarms for this particular day');
|
||||||
@ -2738,6 +2768,7 @@ class calendar_uiforms extends calendar_ui
|
|||||||
$preserv = null;
|
$preserv = null;
|
||||||
$this->_create_exception($event,$preserv);
|
$this->_create_exception($event,$preserv);
|
||||||
unset($event['id']);
|
unset($event['id']);
|
||||||
|
$links = $event['link_to']['to_id'];
|
||||||
|
|
||||||
$messages = null;
|
$messages = null;
|
||||||
$conflicts = $this->bo->update($event,false,true,false,true,$messages);
|
$conflicts = $this->bo->update($event,false,true,false,true,$messages);
|
||||||
@ -2826,6 +2857,12 @@ class calendar_uiforms extends calendar_ui
|
|||||||
$message = false;
|
$message = false;
|
||||||
$conflicts=$this->bo->update($event,$ignore_conflicts, true, false, true, $message);
|
$conflicts=$this->bo->update($event,$ignore_conflicts, true, false, true, $message);
|
||||||
|
|
||||||
|
// Save links
|
||||||
|
if($links)
|
||||||
|
{
|
||||||
|
Link::link('calendar', $event['id'], $links);
|
||||||
|
}
|
||||||
|
|
||||||
$this->update_client($event['id'],$d);
|
$this->update_client($event['id'],$d);
|
||||||
$response = Api\Json\Response::get();
|
$response = Api\Json\Response::get();
|
||||||
if(!is_array($conflicts) && $conflicts)
|
if(!is_array($conflicts) && $conflicts)
|
||||||
|
Loading…
Reference in New Issue
Block a user