64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
| package renderer
 | |
| 
 | |
| import (
 | |
| 	"net/http"
 | |
| 
 | |
| 	agendastorage "git.coopgo.io/coopgo-platform/agenda/storage"
 | |
| )
 | |
| 
 | |
| const agendaMenu = "agenda"
 | |
| 
 | |
| func (renderer *Renderer) AgendaHome(w http.ResponseWriter, r *http.Request, events []agendastorage.Event, groups map[string]any) {
 | |
| 	files := renderer.ThemeConfig.GetStringSlice("views.agenda.list.files")
 | |
| 	state := NewState(r, renderer.ThemeConfig, agendaMenu)
 | |
| 	state.ViewState = map[string]any{
 | |
| 		"events": events,
 | |
| 		"groups": groups,
 | |
| 	}
 | |
| 
 | |
| 	renderer.Render("agenda home", w, r, files, state)
 | |
| }
 | |
| 
 | |
| func (renderer *Renderer) AgendaCreateEvent(w http.ResponseWriter, r *http.Request) {
 | |
| 	files := renderer.ThemeConfig.GetStringSlice("views.agenda.create_event.files")
 | |
| 	state := NewState(r, renderer.ThemeConfig, agendaMenu)
 | |
| 
 | |
| 	renderer.Render("agenda create event", w, r, files, state)
 | |
| }
 | |
| 
 | |
| func (renderer *Renderer) AgendaDisplayEvent(w http.ResponseWriter, r *http.Request, event any, group any, subscribers map[string]any, beneficiaries any) {
 | |
| 	files := renderer.ThemeConfig.GetStringSlice("views.agenda.display_event.files")
 | |
| 	state := NewState(r, renderer.ThemeConfig, agendaMenu)
 | |
| 
 | |
| 	state.ViewState = map[string]any{
 | |
| 		"event":         event,
 | |
| 		"group":         group,
 | |
| 		"subscribers":   subscribers,
 | |
| 		"beneficiaries": beneficiaries,
 | |
| 	}
 | |
| 
 | |
| 	renderer.Render("agenda create event", w, r, files, state)
 | |
| }
 | |
| 
 | |
| func (renderer *Renderer) AgendaUpdateEvent(w http.ResponseWriter, r *http.Request, event any) {
 | |
| 	files := renderer.ThemeConfig.GetStringSlice("views.agenda.update.files")
 | |
| 	state := NewState(r, renderer.ThemeConfig, agendaMenu)
 | |
| 
 | |
| 	state.ViewState = map[string]any{
 | |
| 		"event": event,
 | |
| 	}
 | |
| 
 | |
| 	renderer.Render("event_update", w, r, files, state)
 | |
| }
 | |
| 
 | |
| func (renderer *Renderer) AgendaDeleteEvent(w http.ResponseWriter, r *http.Request, event any) {
 | |
| 	files := renderer.ThemeConfig.GetStringSlice("views.agenda.delete.files")
 | |
| 	state := NewState(r, renderer.ThemeConfig, agendaMenu)
 | |
| 
 | |
| 	state.ViewState = map[string]any{
 | |
| 		"event": event,
 | |
| 	}
 | |
| 
 | |
| 	renderer.Render("event_deleteEvent", w, r, files, state)
 | |
| }
 |