Skip to content
This repository was archived by the owner on Jan 10, 2023. It is now read-only.
/ OberfeldAgenda Public archive

Einfaches Frontend zur Reservation von Räumen und Erfassung von Terminen

License

Notifications You must be signed in to change notification settings

oberfeld/OberfeldAgenda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OberfeldAgenda

Einfaches Frontend zur Reservation von Räumen und Erfassung von Terminen

Funktionen

  • Alle verfügbaren Kalender auflisten
  • Kalender inkl. Infotext und ICS-Link anzeigen. Kalender wird direkt in einem iFrame von Nextcloud eingebunden
  • Knopf zum Erstellen eines neuen Termins
  • Termin-Formular mit Startzeit, Endzeit, Titel, Name, Email, Telefon, Speichern
  • Formulareingabe erstellt Termin im Kalender
  • Bestätigungsmail an die Person und Kopie an die Verantwortliche Person
  • Im Mail: Direkter Link zurück zum Editieren des Termins, im Anhang der Termin als iCal-Event
  • Editierfenster zum Ändern oder Löschen des Termins (Sofern der Termin in der Zukunft liegt)
  • Jeweils Bestätigungsmail an die Person und Kopie an die Verantwortliche Person
  • Audit-Log schreiben bei allen Änderungen

### Optionale Features

  • Bei der Buchung eines Termines rechts alle Termine am gleichen Tag anzeigen (Per API nachladen wenn das fromdate feststeht)
  • Tägliches Backup aller Kalender

Entwicklung

npm run serve -> http://localhost:8000

  • Keine lokale Datenbank, alle Daten sind direkt auf dem CalDav-Server gespeichert.
  • Konfiguration unter www/application/config/ENVIRONMENT/agenda.php.

Deployment

Noch nicht eingerichtet.

Administration

Neuen Kalender einrichten

  • Passendes Foto machen und als 1024 px breites Bild im Ordner www/images ablegen.
  • Als IT Oberfeld in der Nextcloud einloggen.
  • Auf https://chischte.oberfeld.be/index.php/apps/calendar/ einen neuen Kalender erstellen, Name, Farbe festlegen.
  • Kalender teilen mit Benutzer agendaUser (Production) oder agendaTestUser (Development).
  • Jeweils Häcklein bei kann bearbeiten und Link teilen setzen.
  • Sich die öffentliche URL merken, benötigt werden zwei Teile: Der Key (z.B. /P7QW...3A3/) und die ID (z.B. Sauna-Reservation)
  • In www/application/config/ENVIRONMENT/agenda.php ergänzen:
$config['calendars'] = [
  [
    'id' => 'Sauna-Reservation', // Technische ID in der Nextcloud-URL
    'key' => 'P7QW...3A3', // Kombination aus der Nextcloud-URL
    'name' => 'Sauna Reservation', // Darstellungsname im Frontend
    'image' => 'IMG_3016.jpg',
    'infos' => NULL bzw. 'sauna-infos', // Dateinamen des optionalen Infotextes zu diesem Kalender
    'buttonlabel' => 'Reservieren', // Optional, kosmetisch: Den Text auf dem 'Reservieren'-Knopf ändern.
    'notificationrecipient' => '[email protected]', // Optional: Diese Email-Adresse wird über Reservationen und Änderungen informiert.
  ],
  ...
];
  • Optional HTML-Snippet mit Kalenderinfos unter www/application/views/calendar-infos/ als PHP-Datei ablegen (I.e. sauna-infos.php).

Credits

About

Einfaches Frontend zur Reservation von Räumen und Erfassung von Terminen

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •