Releases: derhansen/sf_event_mgt
Maintenance release
[FEATURE] add a RTE field for a custom "registration has ended" text #936
Note: This change introduces a new database field. Please ensure to update the database schema using the TYPO3 install tool.
[FEATURE] Add additional getter for category field #970
[TASK] Improve cr spamcheck JavaScript #962
[TASK] Streamline event overlay icon behavior with TYPO3 core #961
TYPO3 11.5 compatibility
This is the first version of the extension with support for TYPO3 11.5 including support for PHP 7.4 and 8.0
The extension now uses strict types and strict properties wherever possible and many TYPO3 core deprecations have been considered. This results in 7 breaking changes, which need to be taken care of when you migrate a website to TYPO3 11.5 LTS
After updating from a previous version, it is at least required to execute the "Migrate plugins and settings" update wizard and to apply required database changes using the TYPO3 install tool.
Breaking Changes 🔥
All changes listed below are considered breaking changes and you may need to change custom code and custom templates manually. Make sure to read this section carefully.
[!!!][TASK] Remove switchableControllerActions #802
SwitchableControllerActions are deprecated and will be removed in TYPO3 12. Therefore, the event plugin has been split into 5 separate plugins, so switchableControllerActions usage can be removed from the extension. In order to migrate existing plugins and plugin settings, please execute the upgrade wizard.
Note: If the FlexForm of the extension has been extended, those settings will not be considered by the update wizard.
Important manual changes:
- You must also adjust all custom templates, where the old event plugin is referenced in a
f:link.action
viewHelper. There, you must change the old plugin name to the new one. In most scenarios, this can be done by replacingpluginName="Pievent"
withpluginName="Pieventregistration"
. - Plugin access permissions can not be migrated and must be assigned manually to backend users / backend user groups.
[!!!][TASK] Use strict types in domain models #946
All domain models now use strict types and types properties. If you extended the extension with a custom extension, you must ensure to change you classes to support strict types and strict properties.
[!!!][TASK] Move create demand functions to own class to make them testable #909, #922
All Data Transfer Objects (DTOs) do not extend TYPO3\CMS\Extbase\DomainObject\AbstractEntity
any more. DTO classes, which can be instantiated from an array of settings contain the static function createFromSettings
, which returns an object of the class with the given settings set.
If you extended the DTOs in a custom extension, you must ensure that your extended classes match the requirements (strict types and strict properties) of the DTO classes in the main extension.
[!!!][TASK] Remove RegistrationRepository::findExpiredRegistrations #935
The function RegistrationRepository::findExpiredRegistrations
has been removed, as it was not in use any more.
[!!!][TASK] Rename typoscript files to .typoscript #930
The file extension for the TypoScript setup and constants has been renamed from .txt
to .typoscript
. If you included the TypoScript files in your sitepackage, you must ensure to rename the file extension in your includes.
[!!!][FEATURE] Allow use of either reCaptcha or hCaptcha #886
The existing reCaptcha integration has completely been refactored in order to support both reCaptcha and hCaptcha. If you use reCaptcha within the extension, you must manually migrate settings as shown below:
- Migrate all settings
settings.reCaptcha
->settings.registration.captcha
(please check the included TypoScript for new options) - Adjust the
Registration.html
template, so the newReCaptcha
partial will be rendered
[!!!][TASK] Use strict types in AbstractPayment and PaymentController #929, #877
Strict types have been added where ever possible. Also all properties and getter/setters in AbstractPayment
do now require strict types. All controller actions now return a PSR-7 response object.
If you implemented a custom payment method or extended the PaymentController, you must ensure to adjust your code accordingly.
[!!!][TASK] Use own FrontendUser Model and Repository #892
The extension now uses a custom class for FrontendUser and FrontendUserRepository. If you extended the TYPO3 core classes FrontendUser
or FrontendUserRepository
in order to add functionality to ext:sf_event_mgt, you must migrate your changes to support the new classes in the extension.
[!!!][TASK] Replace pagination widget and implement native pagination for list view #803
The backend module now uses the TYPO3 pagination API. If you have extended backend module templates, make sure to replace f:widget.paginate
occurrences as shown in this commit de2730d
Important changes ⚠️
The following important changes are not considered breaking, but manual interaction may be required.
[TASK] Apply Bootstrap 5 changes to backend module #924
If the Administration module template has been overwritten, it is required to adapt the template match the changes in #924 and #803
[TASK] Remove management DB fields from ext_tables.sql #801
[TASK] Remove MM Tables from ext_tables.sql #917
It is recommended to run the "Analyze Database" task in the "Maintenance" administration module to apply required database changes.
New Features
[FEATURE] Added RTE field "Custom text" to event #936
[FEATURE] Added AfterRegistrationCancelledEvent #945
Other changes
[BUGFIX] Fixed incorrect path to link validator TSConfig #943
[BUGFIX] Fixed TitleViewHelperTest
[BUGFIX] Fix SearchDemand::fromArray() for PHP8 #921
[TASK] Move payment fields to registration options tab #956
[TASK] Rename tab "category" to "categories" #957
[TASK] Re-structure "Registration options" fields
[TASK] Always instantiate models/DTOs with makeInstance #953
[TASK] Updated phpstan baseline file
[TASK] Simplified 2 conditions
[TASK] Remove superfluous code in Icons.php
[TASK] Harden getUserMessageTemplateSubject() in NotificationService
[TASK] Ensure TSFE is available before accessing
[TASK] Include PHP 8.0 for tests
[TASK] PHP8 compatibility changes #921 #952
[TASK] Fixed failing functional tests due to strict types
[TASK] Declare strict_types in tests
[TASK] Remove last occurrences of pievent
[TASK] Make RegistrationValidator tests more reliable #914
[TASK] Refactor tests #826
[TASK] Resolve backend user in administration module notification view #949
[TASK] Fixed some issues due to strict properties in domain models #946
[TASK] Fixed some issues due to strict properties in domain models #946
[TASK] Ensure empty values are not saved in flexform #950
[TASK] Replace pluginName in template to new plugin names #802
[TASK] Exclude domain models from DI #916
[TASK] Updated SQL dump for acceptance tests #802
[TASK] Switch content element preview to PreviewRenderer #807
[TASK] Added return type for confirmRegistrationAction #877
[TASK] Make actions return a PSR-7 response #877
[TASK] Use strict types in EventController
[TASK] Re-introduce soft reference parser configuration #907
[TASK] Support TYPO3 pagination API in list view #803
[TASK] Enforce trailing commas in multi line arrays #944
[TASK] Handle Extbase ViewInterface deprecation #941
[TASK] Do not use BackendTemplateView in AdministrationController #934
[TASK] Split TypoScript constants in sections #938
[TASK] Remove workarounds in handleEventNotFoundError
[TASK] Remove ObjectManager usage in Event domain model #859
[TASK] Use strict types in repositories
[TASK] Avoid ObjectManager usage in EventController #859
[TASK] Avoid ObjectManager usage in tests #859
[TASK] Use own CategoryRepository #933
[TASK] Added extension scanner ignore in PageCache hook
[TASK] Use strict types in various viewHelpers
[TASK] Update PageViewHelper to match v11 core version
[TASK] Use strict types in some viewHelpers
[TASK] Use strict types in some viewHelpers
[TASK] Use strict types in RegistrationValidator
[TASK] Use strict types in RegistrationFieldValidator
[TASK] Use strict types in spam checks
[TASK] Use strict types in remaining services
[TASK] Use strict types in RegistrationService
[TASK] Use strict types in NotificationService
[TASK] Use strict types in several services
[TASK] Use strict types in several services
[TASK] Make AttachmentService strict
[TASK] Apply strict types to EventPageTitleProvider
[TASK] Make hook classes more strict
[TASK] Apply strict properties in all PSR-14 events
[TASK] Added declare(strict_types=1) to 2 controllers
[TASK] Minor code format change in DisableLanguageMenuProcessor
[TASK] Make AbstractController more strict
[TASK] Make AdministrationController more strict
[TASK] Raise phpstan to level 5
[TASK] Apply Bootstrap 5 styles to IndexNotify template
[TASK] Avoid usage of TYPO3_REQUEST in extbase controllers #893
[TASK] Refactor handleEventNotFoundError #898
[TASK] Use strict types in EventPlausabilityService
[TASK] Strictify evaluation tests
[TASK] Fixed return type in CleanupCommand
[TASK] Remove 6th parameter in wrapClickMenuOnIcon usage #928
[TASK] Use TYPO3 pagination API in backend module #803
[TASK] Rename GitHub Actions tasks #927
[TASK] Split GitHub actions by unit/functional and acceptance #927
[TASK] Store searchDemand for admin module as array in session #925
[TASK] Apply Bootstrap 5 changes to backend module Refs#924
[TASK] Remove MM Tables from ext_tables.sql #917
[TASK] Remove management DB fields from ext_tables.sql #801
[TASK] Use TCA type "language" #911
[TASK] Fixed RegistrationRepositoryTest #892
[TASK] Make UserRegistrationDemand DTO more strict #922
[TASK] Make SearchDemand DTO more strict #922
[TASK] Make ForeignRecordDemand DTO more strict #922
[TASK] Added missing createFromSettings test for EventDema...
New PSR-14 event and fixed minor bug
Some new features and improvements
[FEATURE] Allow custom format for date fields in CSV export #890
[FEATURE] Add Softrefs and Linkvalidator configuration #901
[FEATURE] Add field "message" to custom notification log #823
[TASK] Remove superfluous language workaround #887
[TASK] Allow events with no enddate #880
[TASK] Change labels for fields "first name" and "last name" #885
[TASK] Hide notification link when event is hidden #883
[TASK] Fixed CSV export unit tests due to latest TYPO3 core update
Maintenance release
2 new features and some minor fixes and improvements
[FEATURE] Added possibility to define image visibility #872
It is now possible to define the visibility (list, detail or both)
of images of an event. The event domain model includes some special
getters to get the images.
{event.image}
= All images{event.images}
= All images{event.listViewImages}
= All images marked for list view{event.firstListViewImage}
= First image for list view (fileReference){event.detailViewImages}
= All images marked for detail view{event.firstDetailViewImage}
= First image for detail view (fileReference)
[FEATURE] Add plugin option to define link to terms and conditions #866
[BUGFIX] Do not show error message, when startdate equals enddate #879
[TASK] Allow events with no enddate #880
[TASK] Register plugin wizard as .tsconfig file #876
[TASK] Set default enddate in OnlineCalendarViewHelper #881
[TASK] Check skipped unit tests #754
[TASK] Ensure exception response codes are ints #882
[TASK] Ignore false positives in extension scanner #794
Minor bugfix
[BUGFIX] Skip HideInlineRegistrations data provider when uid is no int #875
OnlineCalendarViewHelper and some bugfixes
[FEATURE] Added a viewHelper to render URL to event to online calendars #850
It is now possible to add an event to online calendars of Google, Outlook, Office 365 and Yahoo by using the new OnlineCalendarViewHelper
to generate the required link. Please see default detail.html
template for usage.
[BUGFIX] Allow empty date/time in strict database modes #874
[BUGFIX] Unset main_registration properly on cancel registration #871
Bugfix release
[BUGFIX] Allow empty date/time in strict database modes #874
New features and some fixes
[FEATURE] Add new display mode "Time restriction" #482 (thanks @christophlehmann)
[FEATURE] Added event plausibility check #841
When an event has an enddate which is before the startdate, an error message will now be shown when the event is edited.
[TASK] Show visual warning for notification misconfiguration #774
[FEATURE] Referenced fields in CSV export #855
[BUGFIX] Ensure cache is flushed when expired registrations are handled #848
[BUGFIX] Handle non-existent event in checkCancelRegistration() #865 (thanks @christophlehmann)
[TASK] Make start- and enddate fields required in TCA #849
[TASK] Handle only own flexforms in DataHandler hook #858 (thanks @christophlehmann)
[TASK] Harden ArrayUtility and added unit test
[TASK] Removed all author doc comments
[TASK] Move extension icon (thanks @christophlehmann)