diff --git a/calendar/inc/class.calendar_uilist.inc.php b/calendar/inc/class.calendar_uilist.inc.php
index e20c759e42..6e72fc4cc1 100644
--- a/calendar/inc/class.calendar_uilist.inc.php
+++ b/calendar/inc/class.calendar_uilist.inc.php
@@ -450,6 +450,7 @@ class calendar_uilist extends calendar_ui
{
$icons = calendar_uiviews::integration_get_icons($app,$app_id,$event);
}
+ $event['icons'] = $icons;
}
else
{
diff --git a/calendar/js/et2_widget_event.js b/calendar/js/et2_widget_event.js
index 1f046bbf1f..a5ebe1b7aa 100644
--- a/calendar/js/et2_widget_event.js
+++ b/calendar/js/et2_widget_event.js
@@ -494,10 +494,13 @@ var et2_calendar_event = /** @class */ (function (_super) {
var icons = [];
if (this.options.value.is_private) {
// Hide everything
- icons.push('');
+ icons.push('');
}
else {
- if (this.options.value.app !== 'calendar') {
+ if (this.options.value.icons) {
+ jQuery.extend(icons, this.options.value.icons);
+ }
+ else if (this.options.value.app !== 'calendar') {
var app_icon = "" + (egw.link_get_registry(this.options.value.app, 'icon') || (this.options.value.app + '/navbar'));
icons.push('');
}
@@ -506,14 +509,14 @@ var et2_calendar_event = /** @class */ (function (_super) {
}
if (this.options.value.public == '0') {
// Show private flag
- icons.push('');
+ icons.push('');
}
if (this.options.value['recur_type']) {
icons.push('');
}
// icons for single user, multiple users or group(s) and resources
- var single = '';
- var multiple = '';
+ var single = '';
+ var multiple = '';
for (var uid in this.options.value['participants']) {
// @ts-ignore
if (Object.keys(this.options.value.participants).length == 1 && !isNaN(uid)) {
diff --git a/calendar/js/et2_widget_event.ts b/calendar/js/et2_widget_event.ts
index 0ae5a62115..6daff1edb9 100644
--- a/calendar/js/et2_widget_event.ts
+++ b/calendar/js/et2_widget_event.ts
@@ -627,11 +627,15 @@ export class et2_calendar_event extends et2_valueWidget implements et2_IDetached
if(this.options.value.is_private)
{
// Hide everything
- icons.push('');
+ icons.push('');
}
else
{
- if(this.options.value.app !== 'calendar')
+ if(this.options.value.icons)
+ {
+ jQuery.extend(icons, this.options.value.icons);
+ }
+ else if(this.options.value.app !== 'calendar')
{
let app_icon = ""+(egw.link_get_registry(this.options.value.app,'icon') || (this.options.value.app + '/navbar'));
icons.push('');
@@ -643,15 +647,15 @@ export class et2_calendar_event extends et2_valueWidget implements et2_IDetached
if(this.options.value.public == '0')
{
// Show private flag
- icons.push('');
+ icons.push('');
}
if(this.options.value['recur_type'])
{
icons.push('');
}
// icons for single user, multiple users or group(s) and resources
- const single = '';
- const multiple = '';
+ const single = '';
+ const multiple = '';
for(const uid in this.options.value['participants'])
{
// @ts-ignore
diff --git a/calendar/lang/egw_en.lang b/calendar/lang/egw_en.lang
index c035c97465..2858956360 100644
--- a/calendar/lang/egw_en.lang
+++ b/calendar/lang/egw_en.lang
@@ -370,6 +370,7 @@ monthly calendar en Monthly
monthly (by date) calendar en Monthly -by date
monthly (by day) calendar en Monthly -by day
monthview calendar en Month view
+multiple participants calendar en Multiple participants
multiple week view calendar en Multiple week view
name of current user, all other contact fields are valid too calendar en Name of current user, all other contact fields are valid too
name of the day of the week (ex: monday) calendar en Name of the day of the week (ex: Monday)
@@ -450,6 +451,7 @@ prevent deleting of entries admin en Prevent deleting of entries
previous calendar en Previous
private and global public calendar en Private and global public
private and group public calendar en Private and group public
+private event calendar en Private event
private only calendar en Private only
quantity calendar en Quantity
quick add calendar en Quick add
@@ -545,6 +547,7 @@ show this month calendar en Show this month
show this week calendar en Show this week
show year and age calendar en Show year and age
single event calendar en Single event
+single participant calendar en Single participant
specify where url of the day links to calendar en Specify where URL of the day links to
start calendar en Start
start date/time calendar en Start date / time