[TikiWiki-commits] [Git][tikiwiki/tiki][26.x] [FIX] Fix: Ensure that the calendar module and plugin return the correct URL after saving an event
"franck franck kalunga \(@francksfkal\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <6922764c14f2b_2ae06003c55f4@gitlab-sidekiq-low-urgency-cpu-bound-v2-5d57c968f-4nlbd.mail> |
franck franck kalunga pushed to branch 26.x at Tiki Wiki CMS Groupware / Tiki
Commits:
debae34c by franck franck kalunga at 2025-11-23T02:44:13+00:00
[FIX] Fix: Ensure that the calendar module and plugin return the correct URL after saving an event
---
* [FIX] Fix: Ensure that the calendar module and plugin return the correct URL after saving an event
---
* [FIX] Fix: Ensure that the calendar module and plugin return the correct URL after saving an event
---
* [FIX] Fix: Ensure that the calendar module and plugin return the correct URL after saving an event
---
* [FIX] Fix: Ensure that the calendar module and plugin return the correct URL after saving an event
---
* [FIX] Fix: Ensure that the calendar module and plugin return the correct URL after saving an event
See merge request tikiwiki/tiki!8886
See merge request tikiwiki/tiki!9046
See merge request tikiwiki/tiki!9078
See merge request tikiwiki/tiki!9086
See merge request tikiwiki/tiki!9100
- - - - -
9 changed files:
- lib/core/Services/Calendar/Controller.php
- lib/jquery_tiki/tiki-calendar.js
- lib/wiki-plugins/wikiplugin_calendar.php
- modules/mod-func-calendar_new.php
- templates/calendar/edit_item.tpl
- templates/modules/mod-calendar_new.tpl
- templates/wiki-plugins/wikiplugin_calendar.tpl
- tiki-calendar.php
- tiki-setup.php
Changes:
=====================================
lib/core/Services/Calendar/Controller.php
=====================================
@@ -447,6 +447,7 @@ class Services_Calendar_Controller
'recurrenceId' => 0,
'allday' => $calendar['allday'] == 'y' ? 1 : 0,
'organizers' => [$user],
+ 'returnURL' => $return_url,
'participants' => [[
'username' => $user,
'role' => '',
=====================================
lib/jquery_tiki/tiki-calendar.js
=====================================
@@ -6,7 +6,8 @@ $.fn.setupFullCalendar = function (
fullCalendarParams,
calendarContainer,
targetId = "calendar",
- urlEventSource = "tiki-ajax_services.php?controller=calendar&action=list_items"
+ urlEventSource = "tiki-ajax_services.php?controller=calendar&action=list_items",
+ returnUrl = "tiki-calendar.php"
) {
this.each(function () {
@@ -210,7 +211,7 @@ $.fn.setupFullCalendar = function (
$.openModal({
title: tr("New event"),
size: "modal-lg",
- remote: $.service("calendar", "edit_item", {todate: info.date.toUnix(), modal: 1}),
+ remote: $.service("calendar", "edit_item", {todate: info.date.toUnix(), modal: 1, return_url: returnUrl}),
open: function () {
$this.tikiModal();
=====================================
lib/wiki-plugins/wikiplugin_calendar.php
=====================================
@@ -80,8 +80,7 @@ function wikiplugin_calendar_info()
function wikiplugin_calendar($data, $params)
{
- global $prefs, $tiki_p_admin, $tiki_p_view_calendar, $tikiroot;
- global $dc, $user;
+ global $prefs, $tiki_p_admin, $tiki_p_view_calendar, $base_uri;
$smarty = TikiLib::lib('smarty');
$tikilib = TikiLib::lib('tiki');
@@ -140,6 +139,8 @@ function wikiplugin_calendar($data, $params)
$calendarInitialParams = $calendarlib->generalParamsOfCalendar($rawcals['data']);
$calendarInitialParams['initialView'] = $initialView;
$calendars = $calendarInitialParams['calendars'];
+ $current_url = $base_uri;
+ $smarty->assign('returnURL', $current_url);
$smarty->assign(
'fullCalendarParams',
$calendarInitialParams
=====================================
modules/mod-func-calendar_new.php
=====================================
@@ -73,7 +73,7 @@ function module_calendar_new_info()
*/
function module_calendar_new($mod_reference, $module_params)
{
- global $prefs, $user, $tiki_p_admin_calendars;
+ global $prefs, $user, $tiki_p_admin_calendars, $base_uri;
$tikilib = TikiLib::lib('tiki');
$smarty = TikiLib::lib('smarty');
$calendarlib = TikiLib::lib('calendar');
@@ -81,7 +81,7 @@ function module_calendar_new($mod_reference, $module_params)
global $calendarViewMode, $focusdate;
$default = ['viewnavbar' => 'y', 'viewmode' => 'month', 'showaction' => 'y'];
$module_params = array_merge($default, $module_params);
-
+ $defaultCalendarId = 0;
if (isset($_REQUEST['viewmode'])) {
$save_viewmode = $_REQUEST['viewmode'];
}
@@ -155,6 +155,9 @@ function module_calendar_new($mod_reference, $module_params)
'fullCalendarParams',
$calendarInitialParams
);
+
+ $current_url = $base_uri;
+ $smarty->assign('returnURL', $current_url);
$smarty->assign('moduleCalendarFocusdate', $moduleCalendarFocusdate);
$smarty->assign('moduleCalendarIds', $moduleCalendarIds);
$canEditAnything = $calendarInitialParams['canEditAnything'] ? 'y' : 'n';
=====================================
templates/calendar/edit_item.tpl
=====================================
@@ -20,7 +20,7 @@
</div>
<input type="hidden" name="calitem[user]" value="{$calitem.user|escape}">
<input type="hidden" name="tzoffset" value="">
- <input type="hidden" name="return_url" value="tiki-calendar.php">
+ <input type="hidden" id="return_url" name="return_url" value="{$calitem.returnURL}">
{if $calitemId}
<input type="hidden" name="calitemId" value="{$calitemId|escape}">
{/if}
=====================================
templates/modules/mod-calendar_new.tpl
=====================================
@@ -3,7 +3,7 @@
{if $tiki_p_add_events eq 'y' && (empty($module_params.showaction) && $canEditAnything eq 'y' || $module_params.showaction ne 'n')}
<br>
<p>
- <a href="{bootstrap_modal controller='calendar' action='edit_item' size='modal-lg' defaultCalendarId=$defaultCalendarId}" class="btn btn-primary">{icon name='create'} {tr}Add Event{/tr}</a>
+ <a href="{bootstrap_modal controller='calendar' action='edit_item' size='modal-lg' defaultCalendarId=$defaultCalendarId return_url=$returnURL}" class="btn btn-primary">{icon name='create'} {tr}Add Event{/tr}</a>
</p>
{/if}
{if $viewlist eq 'list'}
@@ -21,13 +21,15 @@
let paramOfModuleCalendar = {{$fullCalendarParams|json_encode}};
const moduleCalendarFocusDate = document.getElementById('date-module-calendar');
paramOfModuleCalendar['initialDate'] = $('#date-module-calendar').val();
+ let returnUrl = ('{{$returnURL}}');
+ returnUrl = returnUrl.toString();
const calendarContainer = [window.moduleCalendar];
- $("#module-calendar").setupFullCalendar({{$fullCalendarParams|json_encode}}, calendarContainer, 'module-calendar', 'tiki-ajax_services.php?controller=calendar&action=list_items&calIds={{$moduleCalendarIds}}');
+ $("#module-calendar").setupFullCalendar({{$fullCalendarParams|json_encode}}, calendarContainer, 'module-calendar', 'tiki-ajax_services.php?controller=calendar&action=list_items&calIds={{$moduleCalendarIds}}', returnUrl);
moduleCalendarFocusDate.addEventListener('change', () => {
document.getElementById('module-calendar').innerHTML = "";
paramOfModuleCalendar['initialDate'] = $('#date-module-calendar').val();
- $("#module-calendar").setupFullCalendar(paramOfModuleCalendar, calendarContainer, 'module-calendar', 'tiki-ajax_services.php?controller=calendar&action=list_items&calIds={{$moduleCalendarIds}}');
+ $("#module-calendar").setupFullCalendar(paramOfModuleCalendar, calendarContainer, 'module-calendar', 'tiki-ajax_services.php?controller=calendar&action=list_items&calIds={{$moduleCalendarIds}}', returnUrl);
})
{{if $prefs.print_pdf_from_url neq 'none'}$("#module-calendar").addFullCalendarPrint('#module-calendar-pdf-btn', calendarContainer[0]);{/if}}
{/jq}
=====================================
templates/wiki-plugins/wikiplugin_calendar.tpl
=====================================
@@ -1,6 +1,6 @@
<div class="border border-secondary p-2">
{if $tiki_p_add_events eq 'y' and $viewlist neq 'list'}
- <a href="{bootstrap_modal controller='calendar' action='edit_item' size='modal-lg' defaultCalendarId=$defaultCalendarId}" class="btn btn-primary">{icon name='create'} {tr}Add Event{/tr}</a>
+ <a href="{bootstrap_modal controller='calendar' action='edit_item' size='modal-lg' defaultCalendarId=$defaultCalendarId return_url=$returnURL}" class="btn btn-primary">{icon name='create'} {tr}Add Event{/tr}</a>
{/if}
{if count($calendars) >= 1 && $viewnavbar eq 'y'}
{include file="export_calendar_in_csv_or_ical.tpl"}
@@ -11,12 +11,14 @@
let content = {{$fullCalendarParams|json_encode}};
const elt = document.getElementById('date-plugin-calendar');
content['initialDate'] = $('#date-plugin-calendar').val();
- const wikipluginCalendar = [window.pluginCalendar]
- $("#plugin-calendar").setupFullCalendar(content, wikipluginCalendar, 'plugin-calendar', 'tiki-ajax_services.php?controller=calendar&action=list_items&calIds={{$pluginCalendarIds}}');
+ const wikipluginCalendar = [window.pluginCalendar];
+ let returnUrlForPlugin = ('{{$returnURL}}');
+ returnUrlForPlugin = returnUrlForPlugin.toString();
+ $("#plugin-calendar").setupFullCalendar(content, wikipluginCalendar, 'plugin-calendar', 'tiki-ajax_services.php?controller=calendar&action=list_items&calIds={{$pluginCalendarIds}}', returnUrlForPlugin);
elt.addEventListener('change', () => {
document.getElementById('plugin-calendar').innerHTML = "";
content['initialDate'] = $('#date-plugin-calendar').val();
- $("#plugin-calendar").setupFullCalendar(content, wikipluginCalendar, 'plugin-calendar', 'tiki-ajax_services.php?controller=calendar&action=list_items&calIds={{$pluginCalendarIds}}');
+ $("#plugin-calendar").setupFullCalendar(content, wikipluginCalendar, 'plugin-calendar', 'tiki-ajax_services.php?controller=calendar&action=list_items&calIds={{$pluginCalendarIds}}', returnUrlForPlugin);
})
{{if $prefs.print_pdf_from_url neq 'none'}$("#plugin-calendar").addFullCalendarPrint('#calendar-pdf-btn', wikipluginCalendar[0]);{/if}}
{/jq}
@@ -51,7 +53,6 @@
{if $viewlist neq 'list'}
<input type="date" value="{$focusdate}" id="date-plugin-calendar">
{/if}
-
<div id='plugin-calendar'></div>
{if $viewlist eq 'list'}
{$out}
=====================================
tiki-calendar.php
=====================================
@@ -150,6 +150,9 @@ if (! empty($_REQUEST["calitemId"])) {
} else {
$calitemId = '';
}
+global $base_uri;
+$current_url = $base_uri;
+$smarty->assign('returnURL', $current_url);
$smarty->assign('currentcalitemId', $calitemId);
$smarty->assign('displayedcals', $_SESSION['CalendarViewGroups']);
=====================================
tiki-setup.php
=====================================
@@ -880,6 +880,8 @@ $headerlib->add_cssfile('vendor_bundled/vendor/twbs/bootstrap-icons/font/bootstr
$headerlib->add_css('.fc-day-grid-event > .fc-content { white-space: normal; }');
$headerlib->add_jsfile('vendor_bundled/vendor/moment/moment/min/moment.min.js', true);
$headerlib->add_jsfile('vendor_bundled/vendor/npm-asset/fullcalendar/main.js', true);
+$headerlib->add_cssfile('themes/base_files/feature_css/calendar.css', 20);
+$headerlib->add_jsfile('lib/jquery_tiki/tiki-calendar_edit_item.js');
$headerlib->add_jsfile('lib/jquery_tiki/tiki-calendar.js');
if ($prefs['feature_machine_learning'] == 'y') {
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/debae34c8f3baf35266f3df35226361f77b50431
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/debae34c8f3baf35266f3df35226361f77b50431
You're receiving this email because of your account on gitlab.com.
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs