mirror of
https://github.com/Theodor-Springmann-Stiftung/musenalm.git
synced 2026-02-04 02:25:30 +00:00
FIX: edit pages for contents could not be reached bc of trtailing slash error
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"sort"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/Theodor-Springmann-Stiftung/musenalm/app"
|
||||
@@ -16,9 +18,9 @@ import (
|
||||
|
||||
const (
|
||||
URL_ALMANACH = "/almanach/{id}/"
|
||||
URL_ALMANACH_CONTENTS = "/almanach/{id}/contents/"
|
||||
URL_ALMANACH_CONTENTS = "/almanach/{id}/contents-view/"
|
||||
TEMPLATE_ALMANACH = "/almanach/"
|
||||
TEMPLATE_ALMANACH_CONTENTS = "/almanach/contents/"
|
||||
TEMPLATE_ALMANACH_CONTENTS = "/almanach/contents-view/"
|
||||
)
|
||||
|
||||
// Simple in-memory cache for sorted entries
|
||||
@@ -92,6 +94,11 @@ func (p *AlmanachPage) Setup(router *router.Router[*core.RequestEvent], ia pagem
|
||||
|
||||
func (p *AlmanachPage) GET(engine *templating.Engine, app core.App) HandleFunc {
|
||||
return func(e *core.RequestEvent) error {
|
||||
path := e.Request.URL.Path
|
||||
if strings.Contains(path, "/contents/") && strings.HasSuffix(path, "/edit/") {
|
||||
return e.Redirect(http.StatusTemporaryRedirect, strings.TrimSuffix(path, "/"))
|
||||
}
|
||||
|
||||
id := e.Request.PathValue("id")
|
||||
data := make(map[string]any)
|
||||
filters := NewBeitraegeFilterParameters(e)
|
||||
|
||||
@@ -17,21 +17,21 @@ import (
|
||||
"github.com/Theodor-Springmann-Stiftung/musenalm/pagemodels"
|
||||
"github.com/Theodor-Springmann-Stiftung/musenalm/templating"
|
||||
"github.com/pocketbase/pocketbase/core"
|
||||
"github.com/pocketbase/pocketbase/tools/router"
|
||||
"github.com/pocketbase/pocketbase/tools/filesystem"
|
||||
"github.com/pocketbase/pocketbase/tools/router"
|
||||
)
|
||||
|
||||
const (
|
||||
URL_ALMANACH_CONTENTS_EDIT = "contents/edit"
|
||||
URL_ALMANACH_CONTENTS_NEW = "contents/new"
|
||||
URL_ALMANACH_CONTENTS_ITEM_EDIT = "contents/{contentMusenalmId}/edit"
|
||||
URL_ALMANACH_CONTENTS_DELETE = "contents/delete"
|
||||
URL_ALMANACH_CONTENTS_EDIT_EXTENT = "contents/edit/extent"
|
||||
URL_ALMANACH_CONTENTS_UPLOAD = "contents/upload"
|
||||
URL_ALMANACH_CONTENTS_DELETE_SCAN = "contents/scan/delete"
|
||||
TEMPLATE_ALMANACH_CONTENTS_EDIT = "/almanach/contents/edit/"
|
||||
TEMPLATE_ALMANACH_CONTENTS_ITEM_EDIT = "/almanach/contents/edit_item/"
|
||||
TEMPLATE_ALMANACH_CONTENTS_IMAGES_PANEL = "/almanach/contents/images_panel/"
|
||||
URL_ALMANACH_CONTENTS_EDIT = "contents/edit"
|
||||
URL_ALMANACH_CONTENTS_NEW = "contents/new"
|
||||
URL_ALMANACH_CONTENTS_ITEM_EDIT = "contents/{contentMusenalmId}/edit"
|
||||
URL_ALMANACH_CONTENTS_DELETE = "contents/delete"
|
||||
URL_ALMANACH_CONTENTS_EDIT_EXTENT = "contents/edit/extent"
|
||||
URL_ALMANACH_CONTENTS_UPLOAD = "contents/upload"
|
||||
URL_ALMANACH_CONTENTS_DELETE_SCAN = "contents/scan/delete"
|
||||
TEMPLATE_ALMANACH_CONTENTS_EDIT = "/contents/edit/"
|
||||
TEMPLATE_ALMANACH_CONTENTS_ITEM_EDIT = "/contents/edit_item/"
|
||||
TEMPLATE_ALMANACH_CONTENTS_IMAGES_PANEL = "/contents/images_panel/"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -955,9 +955,9 @@ type contentAgentRelationPayload struct {
|
||||
}
|
||||
|
||||
type contentAgentRelationsPayload struct {
|
||||
Relations []contentAgentRelationPayload
|
||||
Relations []contentAgentRelationPayload
|
||||
NewRelations []contentAgentRelationPayload
|
||||
DeletedIDs []string
|
||||
DeletedIDs []string
|
||||
}
|
||||
|
||||
type contentAgentRender struct {
|
||||
|
||||
Reference in New Issue
Block a user