diff --git a/calendar/inc/class.calendar_uiviews.inc.php b/calendar/inc/class.calendar_uiviews.inc.php index 6e7317f34c..17bbeff58c 100644 --- a/calendar/inc/class.calendar_uiviews.inc.php +++ b/calendar/inc/class.calendar_uiviews.inc.php @@ -574,7 +574,7 @@ class calendar_uiviews extends calendar_ui '" data-tooltip ="'.$tooltip . '" style="position: absolute; left: '.$left.'%; width: '.$width.'%; height: '. $row_height.'%; top: '.($n * $row_height).'%;'. - 'background-color: '.$color.';" '.'" data-date ="'.$this->bo->date2string($event['start']).' '. + 'background-color: '.$color.';" '.'" data-date ="'.$this->bo->date2string($event['start']).'|'.$data['popup'].'" '. '>'."\n".$data['html'].$indent."\n"; } } @@ -1772,7 +1772,14 @@ class calendar_uiviews extends calendar_ui } else { - // Replaced with jquery click handler due to CSP consern + if ($event['recur_type'] != MCAL_RECUR_NONE) + { + $popup = $event['id']."|r"; + } + else + { + $popup = $event['id']."|n"; + } } //_debug_array($event); @@ -2740,7 +2747,7 @@ class calendar_uiviews extends calendar_ui $tooltip = html::htmlspecialchars(str_replace(array("\n","\r","'",'"'),array('','',"\\'",'"'),$data['tooltip'])); return $indent.'
'."\n".$data['html'].$indent."
\n"; + '" data-date ="'.$this->bo->date2string($event['start']).'|'.$data['popup'].'">'."\n".$data['html'].$indent."\n"; } /** diff --git a/calendar/js/app.js b/calendar/js/app.js index a48f592c0d..946f4aa360 100644 --- a/calendar/js/app.js +++ b/calendar/js/app.js @@ -270,9 +270,10 @@ app.classes.calendar = AppJS.extend( //Click Handler for calendar planner jQuery("div.calendar_plannerEvent").on({ click:function(ev){ - var eventId = ev.currentTarget.id.replace(/drag_/g,'').split("_")[0]; - var startDate = ev.currentTarget.getAttribute('data-resize').split("|")[0]; - if (ev.currentTarget.id.match(/drag_/g)) + var eventId = ev.currentTarget.getAttribute('data-date').split("|")[1]; + var startDate = ev.currentTarget.getAttribute('data-date').split("|")[0]; + var recurrFlag = ev.currentTarget.getAttribute('data-date').split("|")[2]; + if (recurrFlag == "n") { egw.open(eventId,'calendar','edit'); }