Coder Social home page Coder Social logo

slub_events's People

Contributors

byteparty avatar chrode avatar erikmitk avatar gnuj avatar marcmoschslub avatar marionitschke avatar mgrundkoetter avatar percolatorwitt avatar twaurisch avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

slub_events's Issues

Wrong name is used in automatic cancellation mails

If an event is cancelled because of not reaching the minimum amount of subscribers, the organizer and all subscriber receives an email.

In case of the subscriber, the wrong name is used. It's used the name of the organizer.

[FEATURE] Add HTTP-REST API for Events

Requirements

Features

  • fetch all events (exclude hidden, deleted)
  • fetch events by given contraints like categories, past, only-future, tbd.
  • fetch events a given user has subscribed
  • make the API disabled by default
  • possibility to authenticate e.g. by token to deny access by others
  • TYPO3 9.5 LTS and 10.4 LTS compatility

Error in ContactList & GbList templates with ImageViewHelper

Oops, an error occurred!
The argument "image" was registered with type "object", but is of type "integer" in 
view helper "TYPO3\CMS\Fluid\ViewHelpers\ImageViewHelper".

<f:image image="{contact.photo.uid}" alt="Porträt von {contact.name}" title="{contact.name -> f:format.stripTags()}" maxWidth="100" />

must be

<f:image image="{contact.photo}" alt="Porträt von {contact.name}" title="{contact.name -> f:format.stripTags()}" maxWidth="100" />

Error in Backend module after filter for only recurring

I got an Exception/CMS/1264678095 after check the checkbox "checkbox-only-recurring".

The big problem was, that the filter is saved. Every time I select the backend module, I got this error.

$query->in expects an array. I had a string.

Error while copying a single event via list module

Uncaught TYPO3 Exception: DateTime::__construct(): 
Failed to parse time string (1629874800) at position 8 (0): 
Unexpected character | Exception thrown in file .../typo3conf/ext/slub_events/Classes/Slots/HookPreProcessing.php in line 255

Recurring events have wrong dateTimes over daylight saving switch

On creating a recurring event e.g. in summer time, the created child events in winter time will have the wrong startDateTime (and all other dateTimes).
All dateTimes are stored in the database as UTC. The copied child events have the proper UTC-time. But this is not the expected behaviour.
E.g.
The parent event is on summer time 19:00 CEST

Fr 26 Okt 2018 19:00:00 CEST
Fr 26 Okt 2018 17:00:00 UTC

The current child event is created on winter time 18:00 CET

Mi 31 Okt 2018 18:00:00 CET
Mi 31 Okt 2018 17:00:00 UTC

The expected time would be 19:00 CET, so the UTC has to be changed!

Mi 31 Okt 2018 19:00:00 CET
Mi 31 Okt 2018 18:00:00 UTC

Wrong namespace for pagination template in TypoScript

The fully-qualified name for PaginateViewHelper is still TYPO3\CMS\Fluid\ViewHelpers\Widget\PaginateViewHelper, in TYPO3 v9 & v10. But it was faulty replaced in setup.txt by moving to TYPO3Fluid namespace in commit bb0e54e

Please revert
TYPO3Fluid\Fluid\ViewHelpers\Widget\PaginateViewHelper
to
TYPO3\CMS\Fluid\ViewHelpers\Widget\PaginateViewHelper
in
Configuration/TypoScript/setup.txt

Subcategories not recognized by some ViewHelpers

As mentioned in 50dde0d results from CategoryRepository are always arrays now. Some ViewHelpers check the existence of the return from that repository in a wrong way when handling arrays.

The bugs can be found here:

if ($categories && count($categories) == 0) {

from https://github.com/slub/slub_events/blob/master/Classes/ViewHelpers/Condition/HasSubcategoriesViewHelper.php#L69

if (($categories && count($categories) == 0) || ($events && count($events) == 0)) {

from https://github.com/slub/slub_events/blob/master/Classes/ViewHelpers/Condition/GbEventsOfCategoryViewHelper.php#L75

The first part of that condition is meant to enforce the existence of the variable before applying count() to avoid an exception when the variable is not set. Unfortunately PHP returns FALSE when the variable is an empty array.

The solution is to refactored these lines to use empty().

Does expert/contact also get an ICS file?

On subscription, the customer receives an email including an
ics-calendar invitation. MS Outlook and Thunderbird/Lightning recognize

I tried to find out from EmailHelper.php whether the expert also receives that/an invitation. Searching for "contact" as well there, it didn't became clear to me, tough. Contact.php OTOH doesn't mention "ics", but neither does Subscriber.php.

Is maybe sender the expert, or the system? Thanks for any info on this :-)

Date Format

Für User ungewohnte Datumsanzeige in den Meldungen bei der Speicherung einer Veranstaltung, (statt 27.03.2019 03/27/19) in HookPreProcessing.php Zeile 262:
$formatedTimeString = gmstrftime('%a, %x %H:%M:%S', $dt->format('U'));
possible:
$formatedTimeString = gmstrftime('%d.%m.%Y %H:%M', $dt->format('U'));
Thanks
Silvia

Exception during subscription process, if no backend user is available

After sending the subscription form an error is thrown instead of showing the confirmation page:

Core: Exception handler (WEB): Uncaught TYPO3 Exception: Call to a member function getTSConfig() on null |
Error thrown in file /data/httpd/typo3_src-9.5.23/typo3/sysext/core/Classes/DataHandling/DataHandler.php in line 747. 
Requested URL: anmeldung?tx_slubevents_eventsubscribe%%5Baction%%5D=create&cHash=xxx

This is because SubscriberController::clearAllEventListCache() uses the DataHandler class which requires an initialized backend user ($GLOBALS['BE_USER']). If not logged in this error appears.

Make backend module header compatible with TYPO3 v10

In the current state the backend module isn't completely compatible with TYPO3 v10.
This can be seen in the screenshot in PR #60

Backend Module TYPO3 v10

To solve this I want to discuss about moving all backend actions to a separate controller class, because it seems to be necessary to use BackendTemplateView::class or ModuleTemplate::class. Using these in the existing controllers could result in duplicated code or a more complex inheritance, for controllers providing a backend action. That's because of the initialization of the view.

PHP Warning: count()

In EventController.php line 88
if (count($foundRecusiveCategories) > 0) {

Danke
Silvia

[FEATURE] Allow linked content elements to replace description field

With TYPO3 9.5 and the chkeditor does not allow images inline of an RTE field. That's why you cannot embed an image into your event description.

The news-extension has added a feature longer time ago to use linked content elements instead of or additionally to the the description field. This way, you can add one or more text/media elements or other stuff.

The same way would be perfect for slub_events.

[FEATURE] Allow content elements in events

Like in EXT:news, it should be possible to link content elements in event descriptions. This way, we could use images again in event description.

The first image should be used for open graph image tag.

Output of location not consistent

To output the location in an email or .ics file a $helper array is used. Ignoring that the same code is used in different places (I'll do a refactoring) I want to focus on these two code blocks.

SubscriberController.php:234

if (is_object($event->getLocation())) {
    if (is_object($event->getLocation()->getParent()->current())) {
        $helper['location'] = $event->getLocation()->getParent()->current()->getName() . ', ';
        $helper['locationics'] = $this->foldline($event->getLocation()->getParent()->current()->getName()) . ', ';
    }
    $helper['location'] .= $event->getLocation()->getName();
    $helper['locationics'] .= $this->foldline($event->getLocation()->getName());
}

and SubscriberController.php:611

if (is_object($event->getLocation())) {
    if (is_object($event->getLocation()->getParent()->current())) {
        $helper['location'] = $event->getLocation()->getParent()->current()->getName() . ', ';
        $helper['locationics'] =
            $this->foldline($event->getLocation()->getParent()->current()->getName()) . ', ';
    }
    $helper['location'] = $event->getLocation()->getName();
    $helper['locationics'] = $this->foldline($event->getLocation()->getName());
}

The only difference is the missing string concatenation in the second block. It seems that a concatenation was intended, because of the comma three lines earlier, but the complete gets overridden by the child.

Whats' the wanted behavior?

If the concatenation is wanted another problem comes up, because in the first code block two folded lines were put together.

IMHO: The content composition for locations and their parents should happen in the template, also the foldline-method should be a ViewHelper.

I can do this, if you give me you opinion. Maybe it also makes sense to put $helper into a separate class or remove $helper and put some logic into the Event::class

Wrong error message for overbooked GB events

If an event is already full and another user is completing the Genius Bar registration form a wrong error message appears.

Error messages

- Die eingegebene Anzahl der Personen ist nicht gültig.
- Die Veranstaltung ist bereits ausgebucht.

The first message is wrong because the value '1' is always submitted. The problem results because of the else-branch in SubscriberValidator on line 116 to 126.

Cleanup: remove extension_builder text in Fluid templates

Some of the Fluid templates contain text generated by the EXT:extension_builder.

The text-section contains If you modify this template ....

All other extension_builder stuff was removed already, so the texts don't make sense.
I can provide a pull request, if wanted.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.