Skip to content

new rest controller for exporting iCal files

Alex requested to merge 80-calendar-api into master

Closes #80 (closed), should wait for !1716 (merged)

What does this MR do?

Moves the webcal function that lists pickups from its hidden URL to an official REST endpoint GET calendar/{token}. I used the welp/ical-bundle for iCal formatting and the existing fs_apitoken Db table for token management.

How confident are you it won't break things if deployed?

Works for me on localhost. We should test it with some different calendar software to be sure.

How to test

  1. Checkout branch
  2. Login as someone
  3. Go to user menu -> settings -> calendar
  4. Have fun with the buttons
  5. Try the link with the calendar program of your choice

Screenshots (if applicable)

calendar

TODO

  • set expires: 0 HTTP header
  • have Symfony accept the webcal scheme
  • provide both http and webcal links
  • configuration for iCalBundle (!1719 (comment 513677396))
  • support events
  • remove api.php

Checklist

  • added a test, or explain why one is not needed/possible...
  • no unrelated changes
  • asked someone for a code review
  • set a "for:" label to indicate who will be affected by this change
  • use "state:" labels to track this MR's state until it was beta tested
  • added an entry to CHANGELOG.md
  • add a short text that can be used in the release notes
  • Once your MR has been merged, you are responsible to create a testing issue in Beta Testing Repo:
    • Consider writing a detailed description in German.
    • Describe in a few sentences, what should be tested from a user perspective.
    • Also mention different settings (e.g. different browsers, roles, ...). how this change can be tested.
    • Be aware, that also non technical people should understand.

Release notes text

(A short text that will appear in the release notes and describes the change for non-technical people. Not always necessary, e.g. not for refactoring.)

Edited by Alex

Merge request reports