Commit graph

94 commits

Author SHA1 Message Date
17fae724df
Make time zone for slugs configurable (#66)
Slugs of dates are generated during import.
This might lead to confusion if the time zone differs from frontend.
Therefore the time zone is now configurable to allow adjustments for the
actual website.

A new interface `TimeZoneProviderInterface` is provided which can be re
configured to a different implementation.

The default implementation will use TYPO3s `SYS.phpTimeZone` setting,
with fall back to `date_default_timezone_get()` call.
That way it should be useful for most systems out of the box.

Resolves: #11345
2024-09-10 14:32:23 +02:00
2d6c13e199
Support import of HTML variant for detail text (#65)
Provide a new option within configurations to turn on import of HTML
from destination.one for detail text of each event.

Resolves: #10629
2024-08-20 08:58:31 +02:00
39dfc0b42a
Add grouping of locations. (#64)
It is now possible to group locations.
Each location can have arbitrary children.

That can be used for editorial structuring.
Filtering for a location will always find all dates where the location
or one of the child locations is assigned.

One use case can be to group imported locations and provide a grouped
location for filtering in frontend.

Relates: #11233
2024-07-24 10:44:34 +02:00
1d3c28f228
Provide Page Titles (#46)
That way it is possible to alter the TYPO3 page title when showing a
date or event.

Relates: #10640
2023-11-29 10:52:57 +01:00
713bc4b697
Add meta tags (#49)
A new class is added which will add meta tags for dates and events.
The class has an interface which allows it to be replaced via DI to
alter behaviour.

Refactor import regarding data handler. We now also need to add a new
column "keywords". We use the new DataHandler approach.
But that approach only covered relations so far. We therefore refactor
that area to be more generic and use that one for new keywords column.

Relates: #10642
2023-11-29 10:36:59 +01:00
81065f5c67
BREAKING: TYPO3 v12 support (#44)
* Migrated all fixtures to PHP.
* Removed version specific adjustments.
2023-11-27 10:04:42 +01:00
a9f3f108e3
BREAKING: Change of vendor/namespace (#43)
The vendor was renamed from `wrm` to `werkraummedia`.
And the namespace vendor was renamed from `Wrm` to `WerkraumMedia`.

That way all references to PHP classes as well as the package name
itself need to be adjusted.
2023-11-09 10:27:43 +01:00
ab75902a95
Fix broken assignment of features and categories (#41)
We migrated the part of the import to use DataHandler.
We didn't invest too much time as budgets are low.
Still the bugs are covered with tests and fixed.

Relates: #10782
2023-11-06 08:44:03 +01:00
27ee70d0cf
Add event to modify categories during destination.one import (#34)
A new PSR-14 event is added that allows to modify the categories to be
assigned to an event.
The event itself (including already existing categories) as well as the
list of categories to be used after import are available.
It is possible to change the categories to be assigned, e.g. keep some
of the existing categories.

That way it is possible for installations to add custom categories to
events.

Relates: #10623
2023-08-14 12:09:28 +02:00
5af1d08148
Add source while importing from Destination Data One (#37)
Destination Data One provides an source info explaining where the data
originally came from.
This is now added to event records and exposed in TYPO3 backend.
That allows editors to check the source and contact corresponding
sources in order to fix broken data.

Relates: #10630
2023-08-10 15:02:05 +02:00
3d0d5d8645
Add PSR-14 Event to modify event objects prior persistence (#35)
A new PSR-14 event is added that allows to modify the event right before
it is persisted within Destination Data One import.

This for example allows to alter dates, prices, etc.

Improve handling of missing end time in dates.
2023-08-10 14:20:37 +02:00
00946af6ad
Properly handle latitude and longitude during Destination One import (#32)
They sometimes use a different separator.
The code is adjusted to always use same separator and precision.

That will prevent the same location from showing up multiple times due
to different latitude and longitude values.
2023-07-06 12:39:47 +02:00
9f0eaac154
Improve CGL 2023-07-04 10:21:49 +02:00
d4a11436c6
Streamline CGL (#21)
Use php-cs-fixer as within other extensions.
Use same configuration.
Apply configuration
2023-06-07 08:56:42 +02:00
99ef32a37b
Allow to show only upcoming events (#16)
A new TypoScript option upcoming is added.
The option can be set to 0 (default) or 1.
0 behaves the same way as in the past.
1 turns off the option useMidnight, start and end.
Only dates with a start date in the future will be shown.

Relates: #10507
2023-05-22 09:59:45 +02:00
5721a1d399
Allow to filter by organizer (#6)
Relates: #10409
2023-04-03 08:54:48 +02:00
c771924b8e
Properly handle time searches 2023-02-21 14:06:59 +01:00
3cd2aa9095 Check whether order is configured before applying
Relates: #10349
2023-02-16 07:54:53 +01:00
0c9f9542fb Don't break on searchword search
We didn't adjust the location name when using searchwords.
We now properly search within new locations name, instead of old no
longer existing column.

Relates: #10349
2023-02-16 07:54:03 +01:00
ff8519e827 Fix wrong default value in PHP Class 2023-01-09 06:44:58 +00:00
2d2b9ac993 Remove old code base 2022-11-22 12:49:57 +00:00
be56f0fd12 Keep filter during pagination 2022-11-22 11:58:36 +00:00
96a650c5aa Do not fetch dates without available event 2022-09-09 08:50:24 +00:00
d128af94d3 Do not add categories filter of none were defined 2022-08-03 11:59:07 +02:00
239bfe51fc Remove slugs from locations 2022-08-03 09:24:01 +00:00
5652ea6442 Fix broken import without features 2022-08-03 08:57:52 +02:00
9b783e5e89 Ensure no "Undefined array key" within factories 2022-08-03 06:03:06 +00:00
65e653f6ec Add location as separate record 2022-08-02 13:56:18 +00:00
8f729dc0bd Search location name and organizer name 2022-08-02 13:22:37 +00:00
2abc84d1ae Get rid of legacy region property within demand
Only use new way but provide compatibility.
2022-07-14 13:14:01 +02:00
605ad9f9ae Adjust set highlight in Demand 2022-07-14 13:14:00 +02:00
69ac00823b Provide start and end as DateTimeImmutable in DateDemand 2022-07-14 13:14:00 +02:00
7e604504a3 Fix exception if none available category is selected 2022-07-13 15:59:42 +02:00
0fe793307a Weimar events
Add event to alter the View Variables in foreign code.
This is used for grouped dates list on weimar.
2022-07-13 15:59:42 +02:00
0a56a5d482 Integrate destination data features
Import alongside of categories.
Use TYPO3 sys_category again.
2022-07-13 15:59:42 +02:00
3b4ecbe6ce Extend demand and provide search to templates 2022-07-13 15:59:40 +02:00
b0dae68550 Fix broken timezone and end time after import of recurring events 2022-07-07 12:10:49 +00:00
58d602c153 Allow to define midnight or now for todays dates 2022-05-16 13:30:18 +02:00
4ef67b9bae Refactor date creation during import
Split into own class to encapsulate the logic.
2022-04-21 09:30:23 +02:00
3d6bf0ac8a Add import configuration record
It is now possible to create "Import" records in TYPO3 system.
Those records can then be imported via two new commands.
There is no need to configure everything within the command itself.

That allows:
    * To allow editors to maintain import configuration.
    * Have proper labels, description, csh and UI to create import.
      It no longer is necessary to copy UIDs,
      instead proper wizards from TCA are available to select pages.

Relates: #9649
2022-01-27 15:50:36 +01:00
4bc4f34525 Add support for search query in DO import command
Relates: #9648
2022-01-27 07:57:05 +01:00
b5d095659a Use new import class and move url building and fetching 2022-01-26 15:15:15 +01:00
0d0c64f419 Fix PHPStan issues 2021-12-13 09:27:28 +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
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
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