Skip to content

Releases: derhansen/sf_event_mgt

Maintenance release

18 Dec 17:56
c3eea15
Compare
Choose a tag to compare

[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

17 Oct 12:51
6d23752
Compare
Choose a tag to compare

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.

image

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 replacing pluginName="Pievent" with pluginName="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 new ReCaptcha 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...

Read more

New PSR-14 event and fixed minor bug

01 Oct 14:26
0f68bea
Compare
Choose a tag to compare

[BUGFIX] Fixed incorrect path to link validator TSConfig #943
[FEATURE] AfterRegistrationCanceledEvent #945

Some new features and improvements

26 Aug 12:10
af99335
Compare
Choose a tag to compare

[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

26 Aug 12:21
4610fca
Compare
Choose a tag to compare

[FEATURE] Add Softrefs and Linkvalidator configuration #901
[BUGFIX] Ensure language field is properly set #900
[TASK] Allow events with no enddate #880

2 new features and some minor fixes and improvements

06 Jun 17:40
58c4daa
Compare
Choose a tag to compare

[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

05 May 06:30
1951923
Compare
Choose a tag to compare

[BUGFIX] Skip HideInlineRegistrations data provider when uid is no int #875

OnlineCalendarViewHelper and some bugfixes

02 May 18:02
e189b22
Compare
Choose a tag to compare

[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

02 May 17:56
b6261aa
Compare
Choose a tag to compare

[BUGFIX] Allow empty date/time in strict database modes #874

New features and some fixes

05 Apr 11:44
138f6a5
Compare
Choose a tag to compare

[FEATURE] Add new display mode "Time restriction" #482 (thanks @christophlehmann)

image

[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.

image

[TASK] Show visual warning for notification misconfiguration #774

image

[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)