Commit graph

75 commits

Author SHA1 Message Date
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
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
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
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
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
39d4f628e3 Prevent broken event state when build from db result
The process will not call __construct, the object storages might not be
initialized. Therefore initializeObject is now implemented which is
calling the existing method to initialize object storages.
2021-09-07 07:52:30 +02:00
326378e2fc Allow to reference events from event
This might be useful to allow editors and integrators to create
something like "you might also be interested in" or "related events".
2021-09-07 07:52:29 +02:00
97bcbe2065 Add original date to dates if available
This is not possible via native API.
We therefore use the event to fetch and add the relation.

Relates: #8857
2021-09-07 07:52:29 +02:00
1929a4a566 Use sorting of categories
Extbase will properly use mm sorting.
But categories can't be sorted within the TCA tree component.
Therefore it makes more sense to use actual sys_category sorting.
In order to do so, we add our own model and pass the sorting.
That way PHP can do the sorting.

That's the easiest approach.
Also events shouldn't contain to many categories.  A performance impact
should not be high.

Relates: #8459
2021-09-07 07:52:28 +02:00
Dirk Koritnik
2450f5c6b7 Switch to Storage Object for images 2021-09-07 07:52:27 +02:00
cbbe56775e Allow to add link for canceled dates
E.g. allow users to get info about refunds.

Relates: #8574
2021-09-07 07:52:26 +02:00
10b4c34fe6 Allow to define a new date if current is postponed
Relates: #8092
2021-09-07 07:52:25 +02:00
c65ae5023f Allow integrator to set start or end for date via settings
Respect start and end when creating demand from settings.
That way integrator can configure it via TypoScript, or provide an
FlexForm.

Also the query was adjusted. It now respects a single value and doesn't
need start and end.
That way upcoming events can be created.

Relates: #8581
2021-09-07 07:52:25 +02:00
cf2b571fda Support manual sorting in foreign language
Given: Website uses copy / free mode of localization.
       and Editor selects specific events to display.
Then:  Those events should be displayed as selected.

Before this change the sorting was applied on uid of objects,
which is the uid of default lanugage record. But editors might select
localized uids. Therefore a fallback is added in case no object was
found.

Relates: #8557
2021-09-07 07:52:25 +02:00
Dirk Koritnik
4a8abbe344 Add getter and setter for caceled 2021-09-07 07:52:24 +02:00
4e2f191030 Fix broken demand support for categories
This was broken since changes during update.
2021-09-07 07:52:22 +02:00
Dirk Koritnik
ce9a1e17e5 Add subtitle filed to event 2021-09-07 07:52:21 +02:00
ca7340782b Allow an date to be marked as canceled
That has no effect, the info is just available from model.
This can be used to display a canceled date in a different way, or
render a notice.

Relates: #8092
2021-09-07 07:52:19 +02:00
f111884299 Refactor and streamline event code
Make controller smaller, remove unused code.
Move creation of demand object into its own factory.
Reduce npath complexity in repository and move parts into named methods.
2021-09-07 07:52:18 +02:00