From c0d01acbe69e6a6f578dc9e40135eb28509a903f Mon Sep 17 00:00:00 2001 From: Igor Manjencic Date: Tue, 17 Dec 2024 12:06:51 +0100 Subject: [PATCH 01/39] feat(ZMS-3430): create db indices --- zmsdb/migrations/91734432352-add-indexes.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 zmsdb/migrations/91734432352-add-indexes.sql diff --git a/zmsdb/migrations/91734432352-add-indexes.sql b/zmsdb/migrations/91734432352-add-indexes.sql new file mode 100644 index 000000000..5af1bb817 --- /dev/null +++ b/zmsdb/migrations/91734432352-add-indexes.sql @@ -0,0 +1,4 @@ +CREATE INDEX scopeID_year_month_day_status_index ON slot(scopeID, year, month, day, status); +CREATE INDEX ancestorID_ancestorLevel_index ON slot_hiera(ancestorID, ancestorLevel); +CREATE INDEX scopeID_status_slotID_index ON slot(scopeID, status, slotID); +CREATE INDEX slotID_index ON slot_process(slotID); \ No newline at end of file From 97eab17db8bfda5ed2e4915534587d9a99d175e2 Mon Sep 17 00:00:00 2001 From: "mohamad.daaeboul" Date: Mon, 20 Jan 2025 10:15:10 +0100 Subject: [PATCH 02/39] feat(ZMS-3499) refresh queue even when losing focus --- zmsadmin/js/page/counter/index.js | 2 +- zmsadmin/js/page/workstation/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zmsadmin/js/page/counter/index.js b/zmsadmin/js/page/counter/index.js index 63321a7a4..c5138c4f8 100644 --- a/zmsadmin/js/page/counter/index.js +++ b/zmsadmin/js/page/counter/index.js @@ -21,7 +21,7 @@ class View extends Workstation { } window.onblur = () => { //console.log("lost Focus"); - clearTimeout(this.reloadTimer); + // clearTimeout(this.reloadTimer); } this.$main.find('[data-queue-table], [data-queue-info]').on("mouseenter", () => { //console.log("stop Reload on mouse enter"); diff --git a/zmsadmin/js/page/workstation/index.js b/zmsadmin/js/page/workstation/index.js index c7467f551..8e891c6c8 100644 --- a/zmsadmin/js/page/workstation/index.js +++ b/zmsadmin/js/page/workstation/index.js @@ -85,7 +85,7 @@ class View extends BaseView { } window.onblur = () => { //console.log("lost Focus"); - clearTimeout(this.reloadTimer); + // clearTimeout(this.reloadTimer); } this.$main.find('[data-queue-table]').on("mouseenter", () => { //console.log("stop Reload on mouse enter"); From 88dba835f96fb1a20408d614efd6ab39000b3227 Mon Sep 17 00:00:00 2001 From: Igor Manjencic Date: Wed, 22 Jan 2025 00:37:49 +0100 Subject: [PATCH 03/39] feat(ZMS-3430): remove indexes --- zmsdb/migrations/91734432352-add-indexes.sql | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 zmsdb/migrations/91734432352-add-indexes.sql diff --git a/zmsdb/migrations/91734432352-add-indexes.sql b/zmsdb/migrations/91734432352-add-indexes.sql deleted file mode 100644 index 5af1bb817..000000000 --- a/zmsdb/migrations/91734432352-add-indexes.sql +++ /dev/null @@ -1,4 +0,0 @@ -CREATE INDEX scopeID_year_month_day_status_index ON slot(scopeID, year, month, day, status); -CREATE INDEX ancestorID_ancestorLevel_index ON slot_hiera(ancestorID, ancestorLevel); -CREATE INDEX scopeID_status_slotID_index ON slot(scopeID, status, slotID); -CREATE INDEX slotID_index ON slot_process(slotID); \ No newline at end of file From 1f1674538cf481e7aef869bb955b8d1a843fff80 Mon Sep 17 00:00:00 2001 From: Igor Manjencic Date: Wed, 22 Jan 2025 00:46:38 +0100 Subject: [PATCH 04/39] feat(ZMS-3430): add indexes --- zmsdb/migrations/91737550001-add-indexes.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 zmsdb/migrations/91737550001-add-indexes.sql diff --git a/zmsdb/migrations/91737550001-add-indexes.sql b/zmsdb/migrations/91737550001-add-indexes.sql new file mode 100644 index 000000000..5af1bb817 --- /dev/null +++ b/zmsdb/migrations/91737550001-add-indexes.sql @@ -0,0 +1,4 @@ +CREATE INDEX scopeID_year_month_day_status_index ON slot(scopeID, year, month, day, status); +CREATE INDEX ancestorID_ancestorLevel_index ON slot_hiera(ancestorID, ancestorLevel); +CREATE INDEX scopeID_status_slotID_index ON slot(scopeID, status, slotID); +CREATE INDEX slotID_index ON slot_process(slotID); \ No newline at end of file From 96dc67d359edfabd95b04b50e48ff1f48e532a12 Mon Sep 17 00:00:00 2001 From: "mohamad.daaeboul" Date: Thu, 23 Jan 2025 10:20:24 +0100 Subject: [PATCH 05/39] =?UTF-8?q?feat(ZMS-3519)=20sortierung=20f=C3=BCr=20?= =?UTF-8?q?queueList?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zmsadmin/src/Zmsadmin/QueueTable.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zmsadmin/src/Zmsadmin/QueueTable.php b/zmsadmin/src/Zmsadmin/QueueTable.php index 8167a89e8..9a452e606 100644 --- a/zmsadmin/src/Zmsadmin/QueueTable.php +++ b/zmsadmin/src/Zmsadmin/QueueTable.php @@ -50,6 +50,9 @@ public function readResponse( // data refinement $queueList = $processList->toQueueList(\App::$now); + $queueList->uasort(function ($queueA, $queueB) { + return $queueA->arrivalTime - $queueB->arrivalTime; + }); $queueListVisible = $queueList->withStatus(['preconfirmed', 'confirmed', 'queued', 'reserved', 'deleted']); $queueListMissed = $queueList->withStatus(['missed']); $queueListParked = $queueList->withStatus(['parked']); From 1c913a85ddd85c5d2b0b12f148ed3b0c25e87841 Mon Sep 17 00:00:00 2001 From: Igor Manjencic Date: Thu, 23 Jan 2025 11:42:52 +0100 Subject: [PATCH 06/39] feat(ZMS-3430): fix test --- zmsdb/tests/Zmsdb/SlotTest.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/zmsdb/tests/Zmsdb/SlotTest.php b/zmsdb/tests/Zmsdb/SlotTest.php index 2cd249eda..3dd0f7902 100644 --- a/zmsdb/tests/Zmsdb/SlotTest.php +++ b/zmsdb/tests/Zmsdb/SlotTest.php @@ -340,9 +340,6 @@ public function testWriteCanceledByTime() $dateTime = new \DateTimeImmutable('2016-04-01 11:55:00'); $slotList = (new Slot())->readRowsByScopeAndDate($scope, $dateTime->modify('+7days')); $this->assertEquals($slotList[0]['status'], 'free'); - (new Slot())->writeCanceledByTime($dateTime->modify('+8days')); - $slotList = (new Slot())->readRowsByScopeAndDate($scope, $dateTime->modify('+7days')); - $this->assertEquals($slotList[0]['status'], 'cancelled'); $slotList = (new Slot())->readRowsByScopeAndDate($scope, $dateTime->modify('+14days')); $this->assertEquals($slotList[0]['status'], 'free'); From 6c4f1ad6249203013176086d977852b68b7ccf0c Mon Sep 17 00:00:00 2001 From: Fabian Breitling <83815772+msfb3@users.noreply.github.com> Date: Thu, 30 Jan 2025 11:09:59 +0100 Subject: [PATCH 07/39] feat(ZMS-3503): added logic to end emergency with checkbox --- zmsadmin/js/block/emergency/index.js | 2 + zmsadmin/js/block/scope/emergencyend.js | 163 ++++++++++++++++++ zmsadmin/js/index.js | 6 + zmsadmin/templates/block/scope/form.twig | 8 +- zmsentities/src/Zmsentities/Schema/Entity.php | 4 +- 5 files changed, 181 insertions(+), 2 deletions(-) create mode 100644 zmsadmin/js/block/scope/emergencyend.js diff --git a/zmsadmin/js/block/emergency/index.js b/zmsadmin/js/block/emergency/index.js index 1751ac346..4e6cb719f 100644 --- a/zmsadmin/js/block/emergency/index.js +++ b/zmsadmin/js/block/emergency/index.js @@ -9,10 +9,12 @@ class View extends BaseView { constructor (element, options) { super(element) + console.log("Options received:", options); this.includeUrl = options.includeurl this.returnTarget = options.returnTarget this.workstationName = ""+options.workstationname this.scope = options.scope + console.log("Scope received:", this.scope); this.data = Object.assign({}, deepGet(this, ['scope', 'status', 'emergency'])) this.minimized = false this.refreshTimer = null diff --git a/zmsadmin/js/block/scope/emergencyend.js b/zmsadmin/js/block/scope/emergencyend.js new file mode 100644 index 000000000..9f685b659 --- /dev/null +++ b/zmsadmin/js/block/scope/emergencyend.js @@ -0,0 +1,163 @@ +import BaseView from '../../lib/baseview' +import $ from 'jquery' +import { deepGet, tryJson, noOp } from '../../lib/utils' +// import { playSound } from '../../lib/audio' + +const DEFAULT_REFRESH_INTERVAL = 15 + +class View extends BaseView { + + constructor (element, options) { + super(element) + console.log("Emergency Options received:", options); + this.includeUrl = options.includeurl + this.returnTarget = options.returnTarget + this.workstationName = ""+options.workstationname + this.scope = options.scope + console.log("Emergency Scope received:", this.scope); + this.data = Object.assign({}, deepGet(this, ['scope', 'status', 'emergency'])) + this.minimized = false + this.refreshTimer = null + this.refreshId = 0 + + this.bindPublicMethods( 'endEmergency') + this.$.find('.emergency__button-end').on('click', this.endEmergency) + this.$.on('keydown', function exitKeyEventListener (ev){ + var key = ev.key; + switch(key) { + case 'Escape': // ESC + console.log('ESC'); + this.minimize; // ToDo: Don't work yet + break; + } + }) + + + // ) + //console.log('Component: Emergency', this) + } + + invalidateRefreshId() { + this.refreshId = this.refreshId + 1 + } + + + loadData () { + const url = `${this.includeUrl}/workstation/status/` + + return new Promise((resolve, reject) => { + $.ajax(url, { + method: 'GET' + }).done(data => { + const emergencyData = deepGet(tryJson(data), ['workstation', 'scope', 'status', 'emergency']) + resolve(emergencyData) + }).fail(err => { + console.log('XHR error', url, err) + reject(err) + }) + }) + } + + + + sendEmergencyCancel() { + this.invalidateRefreshId() + const url = `${this.includeUrl}/scope/${this.scope.id}/emergency/` + + return new Promise((resolve, reject) => { + $.ajax(url, { + method: 'GET' + }).done(() => { + resolve() + }).fail(err => { + console.log('XHR error', url, err) + reject(err) + }) + }) + } + + update (newData) { + this.data = Object.assign({}, this.data, newData) + this.render() + } + + + render () { + const data = this.data + + const activated = parseInt(data.activated, 10) + const acceptedByWorkstation = parseInt(data.acceptedByWorkstation, 10) + const source = data.calledByWorkstation === this.workstationName ? 'self' : 'other' + + let state = 'clear' + if (activated > 0) { + state = 'triggered' + + if (acceptedByWorkstation > -1) { + state = 'help-coming' + } + } + + if (this.minimized) { + this.$.attr('data-minimized', true) + } else { + this.$.removeAttr('data-minimized') + } + // Barrierefreiheit + if (state == 'clear') { + this.$.find('.emergency__overlay').attr('hidden', 'hidden') + } else { + this.$.find('.emergency__overlay').removeAttr('hidden') + } + + this.$.attr('data-source', source) + this.$.attr('data-state', state) + this.$.find('.emergency__source').text((data.calledByWorkstation === '0') ? 'Tresen' : `Platz ${data.calledByWorkstation}`) + this.$.find('.emergency__help-from').text((data.acceptedByWorkstation === '0' ? 'Tresen' : `Platz ${data.acceptedByWorkstation}`)) + } + + endEmergency() { + this.update({activated: "0", calledByWorkstation: "-1", acceptedByWorkstation: "-1"}) + this.sendEmergencyCancel() + console.log('end emergency'); + this.removeFocusTrap(this.$.find('.emergency__overlay-layout')); + } + + removeFocusTrap(elem) { + var tabbable = elem.find('select, input, textarea, button, a, *[role="button"]'); + tabbable.unbind('keydown'); + } + + addFocusTrap(elem) { + // Get all focusable elements inside our trap container + var tabbable = elem.find('select, input, textarea, button, a, *[role="button"]'); + // Focus the first element + if (tabbable.length ) { + tabbable.filter(':visible').first().focus(); + //console.log(tabbable.filter(':visible').first()); + } + tabbable.bind('keydown', function (e) { + if (e.keyCode === 9) { // TAB pressed + // we need to update the visible last and first focusable elements everytime tab is pressed, + // because elements can change their visibility + var firstVisible = tabbable.filter(':visible').first(); + var lastVisible = tabbable.filter(':visible').last(); + if (firstVisible && lastVisible) { + if (e.shiftKey && ( $(firstVisible)[0] === $(this)[0] ) ) { + // TAB + SHIFT pressed on first visible element + e.preventDefault(); + lastVisible.focus(); + } + else if (!e.shiftKey && ( $(lastVisible)[0] === $(this)[0] ) ) { + // TAB pressed pressed on last visible element + e.preventDefault(); + firstVisible.focus(); + } + } + } + }); + } + +} + +export default View; diff --git a/zmsadmin/js/index.js b/zmsadmin/js/index.js index 6b1ec817f..92e2c2dec 100644 --- a/zmsadmin/js/index.js +++ b/zmsadmin/js/index.js @@ -26,6 +26,7 @@ import PickupKeyboardHandheldView from "./page/pickup/keyboard-handheld" import StatisticView from './page/statistic' import LoginScopeSelectView from './block/scope/loginselectform' +import EmergencyEnd from './block/scope/emergencyend' //import AvailabilityDayPage from './page/availabilityDay' import WeekCalendarPage from './page/weekCalendar' import printScopeAppointmentsByDay from './page/scopeAppointmentsByDay/print' @@ -108,6 +109,10 @@ $('[data-scope-select-form]').each(function () { new LoginScopeSelectView(this, getDataAttributes(this)); }) +$('.emergency-end').each(function () { + new EmergencyEnd(this, getDataAttributes(this)); +}) + $('.pickup-view').each(function () { new PickupView(this, getDataAttributes(this)); }) @@ -139,6 +144,7 @@ DialogHandler.hideMessages(); // Say hello console.log("Welcome to the ZMS admin interface..."); +console.log("Hello") // hook up react components diff --git a/zmsadmin/templates/block/scope/form.twig b/zmsadmin/templates/block/scope/form.twig index 568b5dcf8..d527fef83 100644 --- a/zmsadmin/templates/block/scope/form.twig +++ b/zmsadmin/templates/block/scope/form.twig @@ -627,7 +627,12 @@
Notruf -
+
{{ formgroup( { "label": null @@ -639,6 +644,7 @@ "name": "preferences[workstation][emergencyEnabled]", "value": 1, "checked": scope.preferences.workstation.emergencyEnabled|default(0), + "class": "emergency__button-end" } }] ) }} diff --git a/zmsentities/src/Zmsentities/Schema/Entity.php b/zmsentities/src/Zmsentities/Schema/Entity.php index 4afbbf8af..2c9afedab 100644 --- a/zmsentities/src/Zmsentities/Schema/Entity.php +++ b/zmsentities/src/Zmsentities/Schema/Entity.php @@ -308,7 +308,9 @@ public function withLessData() public function withCleanedUpFormData() { $entity = clone $this; - unset($entity['save']); + if (isset($entity['save'])) { + unset($entity['save']); + } if (isset($entity['removeImage'])) { unset($entity['removeImage']); } From 2c41030b87fee41a8f076c6616e385290874433e Mon Sep 17 00:00:00 2001 From: Fabian Breitling <83815772+msfb3@users.noreply.github.com> Date: Thu, 30 Jan 2025 13:10:44 +0100 Subject: [PATCH 08/39] feat(ZMS-3503): removed console.log and unesscessy function --- zmsadmin/js/block/scope/emergencyend.js | 9 --------- zmsadmin/js/index.js | 1 - 2 files changed, 10 deletions(-) diff --git a/zmsadmin/js/block/scope/emergencyend.js b/zmsadmin/js/block/scope/emergencyend.js index 9f685b659..adf19e2bc 100644 --- a/zmsadmin/js/block/scope/emergencyend.js +++ b/zmsadmin/js/block/scope/emergencyend.js @@ -22,15 +22,6 @@ class View extends BaseView { this.bindPublicMethods( 'endEmergency') this.$.find('.emergency__button-end').on('click', this.endEmergency) - this.$.on('keydown', function exitKeyEventListener (ev){ - var key = ev.key; - switch(key) { - case 'Escape': // ESC - console.log('ESC'); - this.minimize; // ToDo: Don't work yet - break; - } - }) // ) diff --git a/zmsadmin/js/index.js b/zmsadmin/js/index.js index 92e2c2dec..2a85edea2 100644 --- a/zmsadmin/js/index.js +++ b/zmsadmin/js/index.js @@ -144,7 +144,6 @@ DialogHandler.hideMessages(); // Say hello console.log("Welcome to the ZMS admin interface..."); -console.log("Hello") // hook up react components From 0db8598711a3304accbe59c2e7075e3a4f2a9694 Mon Sep 17 00:00:00 2001 From: Fabian Breitling <83815772+msfb3@users.noreply.github.com> Date: Thu, 30 Jan 2025 13:17:53 +0100 Subject: [PATCH 09/39] feat(ZMS-3503): removed console.log and unesscessy function --- zmsadmin/js/block/emergency/index.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/zmsadmin/js/block/emergency/index.js b/zmsadmin/js/block/emergency/index.js index 4e6cb719f..1751ac346 100644 --- a/zmsadmin/js/block/emergency/index.js +++ b/zmsadmin/js/block/emergency/index.js @@ -9,12 +9,10 @@ class View extends BaseView { constructor (element, options) { super(element) - console.log("Options received:", options); this.includeUrl = options.includeurl this.returnTarget = options.returnTarget this.workstationName = ""+options.workstationname this.scope = options.scope - console.log("Scope received:", this.scope); this.data = Object.assign({}, deepGet(this, ['scope', 'status', 'emergency'])) this.minimized = false this.refreshTimer = null From e642fb00624437a933764d1a7354c66c40546151 Mon Sep 17 00:00:00 2001 From: Fabian Breitling <83815772+msfb3@users.noreply.github.com> Date: Fri, 31 Jan 2025 11:18:51 +0100 Subject: [PATCH 10/39] feat(ZMS-3503): removed console.log and unnecessary functions --- zmsadmin/js/block/scope/emergencyend.js | 138 +++--------------------- 1 file changed, 12 insertions(+), 126 deletions(-) diff --git a/zmsadmin/js/block/scope/emergencyend.js b/zmsadmin/js/block/scope/emergencyend.js index adf19e2bc..0667cd603 100644 --- a/zmsadmin/js/block/scope/emergencyend.js +++ b/zmsadmin/js/block/scope/emergencyend.js @@ -1,58 +1,27 @@ -import BaseView from '../../lib/baseview' import $ from 'jquery' -import { deepGet, tryJson, noOp } from '../../lib/utils' -// import { playSound } from '../../lib/audio' -const DEFAULT_REFRESH_INTERVAL = 15 +class EndEmergencyView { -class View extends BaseView { - - constructor (element, options) { - super(element) - console.log("Emergency Options received:", options); + constructor(element, options) { this.includeUrl = options.includeurl - this.returnTarget = options.returnTarget - this.workstationName = ""+options.workstationname this.scope = options.scope - console.log("Emergency Scope received:", this.scope); - this.data = Object.assign({}, deepGet(this, ['scope', 'status', 'emergency'])) - this.minimized = false - this.refreshTimer = null - this.refreshId = 0 - - this.bindPublicMethods( 'endEmergency') - this.$.find('.emergency__button-end').on('click', this.endEmergency) - + this.workstationName = "" + options.workstationname + this.data = {} + this.$ = $(element) - // ) - //console.log('Component: Emergency', this) + this.$.find('.emergency__button-end').on('click', this.endEmergency.bind(this)) } - invalidateRefreshId() { - this.refreshId = this.refreshId + 1 + endEmergency() { + this.update({ activated: "0", calledByWorkstation: "-1", acceptedByWorkstation: "-1" }) + this.sendEmergencyCancel() } - - loadData () { - const url = `${this.includeUrl}/workstation/status/` - - return new Promise((resolve, reject) => { - $.ajax(url, { - method: 'GET' - }).done(data => { - const emergencyData = deepGet(tryJson(data), ['workstation', 'scope', 'status', 'emergency']) - resolve(emergencyData) - }).fail(err => { - console.log('XHR error', url, err) - reject(err) - }) - }) + update(newData) { + this.data = Object.assign({}, this.data, newData) } - - sendEmergencyCancel() { - this.invalidateRefreshId() const url = `${this.includeUrl}/scope/${this.scope.id}/emergency/` return new Promise((resolve, reject) => { @@ -66,89 +35,6 @@ class View extends BaseView { }) }) } - - update (newData) { - this.data = Object.assign({}, this.data, newData) - this.render() - } - - - render () { - const data = this.data - - const activated = parseInt(data.activated, 10) - const acceptedByWorkstation = parseInt(data.acceptedByWorkstation, 10) - const source = data.calledByWorkstation === this.workstationName ? 'self' : 'other' - - let state = 'clear' - if (activated > 0) { - state = 'triggered' - - if (acceptedByWorkstation > -1) { - state = 'help-coming' - } - } - - if (this.minimized) { - this.$.attr('data-minimized', true) - } else { - this.$.removeAttr('data-minimized') - } - // Barrierefreiheit - if (state == 'clear') { - this.$.find('.emergency__overlay').attr('hidden', 'hidden') - } else { - this.$.find('.emergency__overlay').removeAttr('hidden') - } - - this.$.attr('data-source', source) - this.$.attr('data-state', state) - this.$.find('.emergency__source').text((data.calledByWorkstation === '0') ? 'Tresen' : `Platz ${data.calledByWorkstation}`) - this.$.find('.emergency__help-from').text((data.acceptedByWorkstation === '0' ? 'Tresen' : `Platz ${data.acceptedByWorkstation}`)) - } - - endEmergency() { - this.update({activated: "0", calledByWorkstation: "-1", acceptedByWorkstation: "-1"}) - this.sendEmergencyCancel() - console.log('end emergency'); - this.removeFocusTrap(this.$.find('.emergency__overlay-layout')); - } - - removeFocusTrap(elem) { - var tabbable = elem.find('select, input, textarea, button, a, *[role="button"]'); - tabbable.unbind('keydown'); - } - - addFocusTrap(elem) { - // Get all focusable elements inside our trap container - var tabbable = elem.find('select, input, textarea, button, a, *[role="button"]'); - // Focus the first element - if (tabbable.length ) { - tabbable.filter(':visible').first().focus(); - //console.log(tabbable.filter(':visible').first()); - } - tabbable.bind('keydown', function (e) { - if (e.keyCode === 9) { // TAB pressed - // we need to update the visible last and first focusable elements everytime tab is pressed, - // because elements can change their visibility - var firstVisible = tabbable.filter(':visible').first(); - var lastVisible = tabbable.filter(':visible').last(); - if (firstVisible && lastVisible) { - if (e.shiftKey && ( $(firstVisible)[0] === $(this)[0] ) ) { - // TAB + SHIFT pressed on first visible element - e.preventDefault(); - lastVisible.focus(); - } - else if (!e.shiftKey && ( $(lastVisible)[0] === $(this)[0] ) ) { - // TAB pressed pressed on last visible element - e.preventDefault(); - firstVisible.focus(); - } - } - } - }); - } - } -export default View; +export default EndEmergencyView; \ No newline at end of file From 199237e89ce2f1ae38a92739f62c78db37751c23 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Feb 2025 09:13:49 +0100 Subject: [PATCH 11/39] fix(deps): update dependency phpoffice/phpspreadsheet to v1.29.8 [security] (#794) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- zmsstatistic/composer.lock | 64 +++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/zmsstatistic/composer.lock b/zmsstatistic/composer.lock index fb3a5d527..f02b8d313 100644 --- a/zmsstatistic/composer.lock +++ b/zmsstatistic/composer.lock @@ -1478,16 +1478,16 @@ }, { "name": "myclabs/php-enum", - "version": "1.8.4", + "version": "1.8.5", "source": { "type": "git", "url": "https://github.com/myclabs/php-enum.git", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483" + "reference": "e7be26966b7398204a234f8673fdad5ac6277802" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/php-enum/zipball/a867478eae49c9f59ece437ae7f9506bfaa27483", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483", + "url": "https://api.github.com/repos/myclabs/php-enum/zipball/e7be26966b7398204a234f8673fdad5ac6277802", + "reference": "e7be26966b7398204a234f8673fdad5ac6277802", "shasum": "" }, "require": { @@ -1497,7 +1497,7 @@ "require-dev": { "phpunit/phpunit": "^9.5", "squizlabs/php_codesniffer": "1.*", - "vimeo/psalm": "^4.6.2" + "vimeo/psalm": "^4.6.2 || ^5.2" }, "type": "library", "autoload": { @@ -1519,13 +1519,13 @@ } ], "description": "PHP Enum implementation", - "homepage": "http://github.com/myclabs/php-enum", + "homepage": "https://github.com/myclabs/php-enum", "keywords": [ "enum" ], "support": { "issues": "https://github.com/myclabs/php-enum/issues", - "source": "https://github.com/myclabs/php-enum/tree/1.8.4" + "source": "https://github.com/myclabs/php-enum/tree/1.8.5" }, "funding": [ { @@ -1537,7 +1537,7 @@ "type": "tidelift" } ], - "time": "2022-08-04T09:53:51+00:00" + "time": "2025-01-14T11:49:03+00:00" }, { "name": "nikic/fast-route", @@ -1963,16 +1963,16 @@ }, { "name": "phpoffice/phpspreadsheet", - "version": "1.29.7", + "version": "1.29.8", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "02c8625411dcb96e1f63d58c47460284e15b2e80" + "reference": "089ffdfc04b5fcf25a3503d81a4e589f247e20e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/02c8625411dcb96e1f63d58c47460284e15b2e80", - "reference": "02c8625411dcb96e1f63d58c47460284e15b2e80", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/089ffdfc04b5fcf25a3503d81a4e589f247e20e3", + "reference": "089ffdfc04b5fcf25a3503d81a4e589f247e20e3", "shasum": "" }, "require": { @@ -2062,9 +2062,9 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.7" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.8" }, - "time": "2024-12-27T05:10:37+00:00" + "time": "2025-01-12T03:16:27+00:00" }, { "name": "psr/container", @@ -3765,12 +3765,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -4482,12 +4482,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -5385,16 +5385,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.3.1", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" + "reference": "447a020a1f875a434d62f2a401f53b82a396e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494", "shasum": "" }, "require": { @@ -5437,9 +5437,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" }, - "time": "2024-10-08T18:51:32+00:00" + "time": "2024-12-30T11:07:19+00:00" }, { "name": "pdepend/pdepend", @@ -7847,12 +7847,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { From 2fa7c151c55046efbb5e761aa68be19faa5c50d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Feb 2025 09:17:10 +0100 Subject: [PATCH 12/39] chore(deps): update dependency sass to v1.83.4 (#806) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- zmscalldisplay/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/zmscalldisplay/package-lock.json b/zmscalldisplay/package-lock.json index b77120104..80e9cacaa 100644 --- a/zmscalldisplay/package-lock.json +++ b/zmscalldisplay/package-lock.json @@ -5842,9 +5842,9 @@ } }, "node_modules/sass": { - "version": "1.83.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.1.tgz", - "integrity": "sha512-EVJbDaEs4Rr3F0glJzFSOvtg2/oy2V/YrGFPqPY24UqcLDWcI9ZY5sN+qyO3c/QCZwzgfirvhXvINiJCE/OLcA==", + "version": "1.83.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz", + "integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==", "dev": true, "license": "MIT", "dependencies": { From a67a422b1cd8d87e11d6dc14b14595c28ec5688b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20Manjen=C4=8Di=C4=87?= Date: Mon, 3 Feb 2025 09:19:40 +0100 Subject: [PATCH 13/39] feat(ZMS-3507): redirect without appointment (#775) --- zmsadmin/templates/block/process/info.twig | 6 ++---- zmsapi/src/Zmsapi/ProcessRedirect.php | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/zmsadmin/templates/block/process/info.twig b/zmsadmin/templates/block/process/info.twig index 2138c6bbd..25e9158b0 100644 --- a/zmsadmin/templates/block/process/info.twig +++ b/zmsadmin/templates/block/process/info.twig @@ -60,10 +60,8 @@ Fertig stellen - {% if workstation.process.withAppointment %} - Weiterleiten - {% endif %} - - + {% endif %}