Docs

FREIZEIT

Documentation
Back

FREIZEIT

What is this for?

FREIZEIT is the most extensive plugin in Allesda and supports the complete organization of leisure events / camps:

  • Events (a leisure event / a camp on the calendar)
  • Participants (people, optionally with custom fields, import from CSV)
  • Lists (e.g., attendance list, workshop lists, topic lists)
  • Packing lists with boxes and items (what needs to be packed)
  • Shopping lists (what still needs to be bought)
  • Tents with map view and assignment
  • a dedicated calendar with categories and drag-and-drop
  • a shopping module, a schema service, simple user/account helpers

You switch between events via the menu and an event selector — most functions always relate to the currently selected event.


Step by step by area

A) Events

1. Leisure → Events (/freizeit/events).
2. New: /freizeit/events/new → save (POST /freizeit/events/save).
3. Edit: /freizeit/events/{id}/edit.
4. Activate: POST /freizeit/events/{id}/activate – selects the event as the current one.
5. Delete: POST /freizeit/events/{id}/delete.

B) Calendar

1. Leisure → Calendar (/freizeit/kalender).
2. Drag-and-drop, create categories, move appointments:

  • GET /freizeit/kalender/api/events
  • POST /freizeit/kalender/api/events
  • POST /freizeit/kalender/api/events/{id}
  • POST /freizeit/kalender/api/events/{id}/move
  • POST /freizeit/kalender/api/events/{id}/delete
  • Categories: /freizeit/kalender/api/categories (GET, POST, /{id}, /{id}/delete)

3. Retrieve participants per event:

  • GET /freizeit/kalender/api/events/{id}/participants
  • GET /freizeit/kalender/api/events/{id}/participant-names

C) Participants

1. Leisure → Participants (/freizeit/teilnehmer).
2. New: /freizeit/teilnehmer/newPOST /freizeit/teilnehmer.
3. Edit: /freizeit/teilnehmer/{id}/editPOST /freizeit/teilnehmer/{id}.
4. Detail: /freizeit/teilnehmer/{id}.
5. Delete: POST /freizeit/teilnehmer/{id}/delete.
6. CSV import in four steps:
1. GET /freizeit/teilnehmer/import – Start page
2. POST /freizeit/teilnehmer/import/upload – Upload file
3. GET /freizeit/teilnehmer/import/mapping – Map columns
4. POST /freizeit/teilnehmer/import/execute – Execute import
5. Optionally GET /freizeit/teilnehmer/import/duplicates and POST .../confirm to handle duplicates.

#### Custom fields & required fields (admin)

  • POST /settings/admin/freizeit/teilnehmer/custom-fields/add
  • POST /settings/admin/freizeit/teilnehmer/custom-fields/delete
  • POST /settings/admin/freizeit/teilnehmer/required-fields
  • POST /settings/admin/freizeit/teilnehmer/table-fields – Columns in the table

D) Lists

1. Leisure → Lists (/freizeit/listen).
2. Open list: /freizeit/listen/{id}.
3. Add / remove participants:

  • POST /freizeit/listen/{id}/add
  • POST /freizeit/listen/{id}/remove

#### Manage lists (admin)

  • GET /settings/admin/freizeit/listen
  • POST /settings/admin/freizeit/listen/create – Create list
  • POST /settings/admin/freizeit/listen/rename – Rename
  • POST /settings/admin/freizeit/listen/delete – Delete

E) Packing lists & boxes

1. Leisure → Packing lists (/freizeit/packlisten).
2. Create a packing list: POST /freizeit/packlisten/create.
3. Detail of a packing list: /freizeit/packlisten/{id}.
4. Create / rename / delete boxes:

  • POST /freizeit/packlisten/{id}/kisten/create
  • POST /freizeit/packlisten/{packlistId}/kisten/{boxId}/rename
  • POST /freizeit/packlisten/{packlistId}/kisten/{boxId}/delete

5. Items in a box:

  • POST /freizeit/packlisten/{packlistId}/kisten/{boxId}/items/create
  • POST /freizeit/packlisten/{packlistId}/kisten/{boxId}/items/{itemId}/update
  • POST /freizeit/packlisten/{packlistId}/kisten/{boxId}/items/{itemId}/delete

6. Check off & print:

  • POST /freizeit/packlisten/{packlistId}/kisten/{boxId}/check
  • GET /freizeit/packlisten/{packlistId}/kisten/{boxId}/print
  • GET /freizeit/packlisten/{packlistId}/kisten/{boxId}/items/json (data, e.g., for label printing)

#### Manage templates (admin)

  • GET /settings/admin/freizeit/packlisten – Template list
  • Create / rename / archive / delete / item maintenance analogous to above under /settings/admin/freizeit/packlisten/...

F) Shopping lists

1. Leisure → Shopping lists (/freizeit/einkaufslisten).
2. Create list: POST /freizeit/einkaufslisten/create.
3. Open list: /freizeit/einkaufslisten/{id}.
4. Items:

  • create, edit, check off, delete – also as AJAX (-ajax endpoints) for a reactive UI
  • clear everything that's done: POST /freizeit/einkaufslisten/{id}/clear-checked

G) Tents (assignment planning)

1. Leisure → Tents (/freizeit/zelte).
2. Detail of a tent: /freizeit/zelte/{id}.
3. Maintain mode / assignment:

  • POST /freizeit/zelte/{id}/mode
  • POST /freizeit/zelte/{id}/assign-user / unassign-user
  • POST /freizeit/zelte/{id}/gender
  • POST /freizeit/zelte/{id}/assign / unassign

4. Map / layout:

  • POST /freizeit/zelte/map/upload – Upload map
  • POST /freizeit/zelte/map/delete
  • POST /freizeit/zelte/map/position
  • POST /freizeit/zelte/map/reset
  • POST /freizeit/zelte/map/properties
  • POST /freizeit/zelte/map/create

#### Tent master data (admin)

  • GET /settings/admin/freizeit/zelte
  • POST /settings/admin/freizeit/zelte/create
  • POST /settings/admin/freizeit/zelte/update
  • POST /settings/admin/freizeit/zelte/delete

Frequently asked questions / problems

"Function isn't there"

  • An event must be active (event selector). Many data points are event-specific.

"Import doesn't find columns"

  • CSV with a correct header row? UTF-8?
  • Map manually in the mapping step.

"Packing list won't print"

  • The list must contain items.
  • Test browser print dialog vs. PDF print.

"Tent assignment is off"

  • Check the gender mode and assignments.
  • In case of conflicts, reset the assignment and reassign.

Technical URLs (quick reference, excerpt)

Events: /freizeit/events…
Calendar: /freizeit/kalender…
Participants: /freizeit/teilnehmer…
Lists: /freizeit/listen… + admin /settings/admin/freizeit/listen…
Packing lists: /freizeit/packlisten… + admin /settings/admin/freizeit/packlisten…
Shopping lists: /freizeit/einkaufslisten…
Tents: /freizeit/zelte… + admin /settings/admin/freizeit/zelte…
General admin page: /settings/admin/freizeit

(GET for display, POST for actions in each case. For the full list, see the source code of the *Controller.java files.)

Notes

  • FREIZEIT is the largest plugin and has many sub-modules. It pays to configure it step by step (first create events, then participants, then lists / packing lists / tents).
  • Several modules work together: lists can reference participants, tents reference participants, packing lists reference events.
  • Custom fields for participants are very powerful — set them up early, otherwise imported data will be unstructured.