Commit graph

225 commits

Author SHA1 Message Date
f06f9c3303 Use empty image for tests
We do not need content, so no need for an actual image which uses space
and might have some license.
2021-12-16 13:20:43 +01:00
410f5ab534 Fix naming of test 2021-12-16 13:20:16 +01:00
fb2eceb5e6 Refactor tests to move common code into parent class
This keeps tests smaller and everyone can see the setup of the test and
assertions, without boilerplate code in between.
2021-12-16 10:12:26 +01:00
15dec49445 Remove usage of uploads folder, use transient API instead
Relates: #9533
2021-12-16 10:00:51 +01:00
de82e395e6 Fix Coding Guideline check on CI
The current setup actually fixed and didn't check or fail.
That's changed and code is fixed.
2021-12-16 09:13:15 +01:00
0e5cd38176 Add first basic functional test for import
The test ensures import runs with a small example set of events.

We needed to alter fetching of images, in order to properly mock
responses.
2021-12-16 09:08:16 +01:00
73161fa24e Make region optional during import 2021-12-14 17:31:56 +01:00
29c31375a5 Remove PHPStan issues
Most were fixed, some were ignored on top level.
2021-12-14 17:31:46 +01:00
a576709947 Use dependency injection within command
Do not fetch service with legacy API, instead use proper Dependency
Injection.

Relates: #9532
2021-12-14 16:09:42 +01:00
c2e648b2c5 Remove no longer existing ctrl entry 2021-12-13 09:42:24 +01:00
0d0c64f419 Fix PHPStan issues 2021-12-13 09:27:28 +01:00
b430993655 Remove execution rights from php file 2021-12-13 08:51:32 +01:00
c09c3ffb57 Add proper description to command output in v11 2021-12-13 08:48:44 +01:00
ff3a577935 Add TYPO3 v11 configurations 2021-12-13 08:48:34 +01:00
f44bcd5d04 Remove ExtensionBuilder related stuff 2021-12-13 08:48:22 +01:00
d99e690a98 Migrate readme to Documentation 2021-12-13 08:48:10 +01:00
a06ac46ae3 Add PHP 8.0 to CI 2021-12-13 08:29:20 +01:00
0764aa9f0f Add PHP 8.0 to CI 2021-12-13 08:29:16 +01:00
fb0cb60b97 Update changelog 2021-12-08 09:12:26 +01:00
2f2957ef6c Cleanup Documentation
Remove all boilerplate which was not touched anyway.
Migrate from Settings.yml to Settings.cfg.
2021-12-08 09:11:22 +01:00
34dff294ea Add proper Changelog to documentation from now on 2021-12-08 09:06:57 +01:00
ce3863619e Add query callback to date demand
This allows 3rd party to alter the query of dates when demand is used.
E.g. allow more complex filters specific for some situations like CEs.

Relates: #9505
2021-12-07 15:26:25 +01:00
30f030aab6 !!!|Show all coming + running dates by default
Only coming dates were shown by default.

Relates: #9505
2021-12-06 12:34:32 +01:00
bc6aa4d359 Apply stdWrap to date demand settings
Move to a dedicated factory for easier re use.
Add dependencies and apply stdWrap to properties.
That allows to dynamically set values like dates by using stdWrap
features.

E.g.:

    settings {
        end {
            strtotime = midnight +1 day
        }
    }

Relates: #9505
2021-12-06 12:34:32 +01:00
809ef032f4 Allow editing and creation of dates within event
Relates: #9471
2021-11-23 08:28:22 +01:00
c38241f351 Fix broken upcoming feature
Using a FlexForm results in stored Unixtimestamps.
Adding 00:00 and using strtotime will result in false, resulting in
null.

We now just keep the provided value as integer.
That way underlying code works as expected and delivers events from
given start date.

Relates: #9352, #8581
2021-10-11 11:33:52 +02:00
f0ee19cfae Fix CGL ordering of import statements
Update of dev dependency results in better sorting of UpperCamelCase.
2021-10-11 11:33:11 +02:00
de6c317602 Do not break PHPStan due to new PHPDoc in TYPO3 source
Update of TYPO3 results in the following error:

     ------ -----------------------------------------------------------------------
     Line   Classes/Service/DestinationDataImportService.php
    ------ -----------------------------------------------------------------------
     135    Property
            Wrm\Events\Service\DestinationDataImportService::$objectManager with
            generic class TYPO3\CMS\Extbase\Object\ObjectManager does not specify
            its types: T
            💡 You can turn this off by setting
            checkGenericClassInNonGenericObjectType: false in your
            phpstan.neon.
     160    Method Wrm\Events\Service\DestinationDataImportService::__construct()
            has parameter $objectManager with generic class
            TYPO3\CMS\Extbase\Object\ObjectManager but does not specify its
            types: T
            💡 You can turn this off by setting
            checkGenericClassInNonGenericObjectType: false in your
            phpstan.neon.
    ------ -----------------------------------------------------------------------

We disable the check for now.
2021-10-11 11:32:27 +02:00
Dirk Koritnik
d5ad0a66a8 Fix probems with catgories
* make sure no empty category is listed in search filter
* fix type error in dd import
2021-09-08 11:03:30 +00:00
22e75d4729 Do not load all dates of each event
Most of the time dates are fetched and shown.
They need the event to show info like title.
But they nearly never need further dates, except in detail view.

Turning this property lazy will save a lot of data fetching and mapping
and provides a huge performance impact.
2021-09-08 10:13:01 +02:00
Dirk Koritnik
515351823b Show cancel notice 2021-09-07 19:23:57 +02:00
Dirk Koritnik
2d3db75070 Add categories to search template 2021-09-07 19:23:35 +02:00
Dirk Koritnik
a0cf9f30a6 Edit version and constraints 2021-09-07 19:02:15 +02:00
Dirk Koritnik
ce6d50a7d7 Remove regions from cleanup 2021-09-07 19:01:47 +02:00
b906c50a09 Mark extension compatible with php 7.2 2021-09-07 16:19:29 +02:00
da87dc7644 Improve determination of "end" in db constraints
Some dates might not have an end date, but only start.
Those should be respected.
2021-09-07 16:03:54 +02:00
26cc0d3f8c Fix wrong converted condition
The condition was changed when types where properly added.
The actual meaning was changed by accident and is now fixed again.
2021-09-07 15:58:00 +02:00
6226fb32d4 Do not break import if region could not be found 2021-09-07 12:19:49 +02:00
1f769939b4 Extend cleanup
Properly cleanup system.

Delete further records when deleting everything.
Also respect further records when purging old entries.

Respect:

* sys_category_record_mm
* sys_file_reference
* sys_file_metadata
2021-09-07 12:19:09 +02:00
10237d6f91 Add PHPStan to CI 2021-09-07 11:42:53 +02:00
f618536ff9 Add PHPStan
In order to static analyze code and prevent bugs when changing code.
Fix issues in most of the files.
2021-09-07 11:07:55 +02:00
ebb668221e Support canceled attribute during import of destination data
Destination data provides an attribute "DETAILS_ABGESAGT" to mark an
event as canceled.
We now fetch that info and mark all dates of that event as canceled.

This also contains refactoring of creation of dates within import.
All dates had the same info, and are now created at a single place.

Relates: #9280
2021-09-07 09:29:38 +02:00
b8b11f3e19 Merge branch 'feature/add-ci' into 'master'
Support canceled attribute during import of destination data

See merge request typo3/events!11
2021-09-07 07:28:39 +00:00
cbe4eda380 Add CI
* Add first basic CI with defaults.
* Add ecs for coding guideline.
* Fix invalid xliff files.
2021-09-07 09:26:59 +02:00
27e5bb129a Merge branch 'bugfix/inherit-from-extbase-repository' into 'master'
Fix Category type miss match during import

See merge request typo3/events!9
2021-09-07 06:51:51 +00:00
8ded245785 Fix Category type miss match during import
Extbase Category repository was used, while custom Category instances
were expected.
The repository didn't inherit from Extbase Repository and therefore
didn't provide expected findByUid method.
2021-09-07 08:40:09 +02:00
Dirk Koritnik
919db32131 Merge branch 'feature/typo3-v10' into 'master'
State compatibility with v10

See merge request typo3/events!8
2021-09-07 06:12:57 +00:00
410a73052e Fix type miss match of object storages
The properties should always be ObjectStorage instances.
We streamline the annotation and initialization to ensure exactly that.

Also import needs small adjustment as it still expected null as possible
return type.
2021-09-07 07:54:43 +02:00
018fdc697e Fix RemoveAllCommand return type
The command should always return an integer as exit code.
The called method does not return anything, resulting in null to be
returned.
2021-09-07 07:54:43 +02:00
d0cb951550 Do not break performance when no postponed date exists
Some sites do not use postponed_date at all.
It would be a massive performance issue to still search for them for
each and every date instance that is created.

This small addition will solve the issue for those pages.
It will still once at least one internal reference is added.

We could then try to add proxies which are build and added, but don't
use the DB. That way the performance would still be okay, and data will
only be fetched when used.
2021-09-07 07:54:43 +02:00