Subject: [PATCH links] Ability to edit Organization name in edit form.

From: Peter Sanchez <[email-masked]>
Date: Thu, 2 Oct 2025 06:47:46 -0600

Changelog-added: Ability to edit organization name in edit form.
---
 core/inputs.go          | 2 ++
 core/routes.go          | 8 +++++---
 templates/org_edit.html | 8 ++++++++
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/core/inputs.go b/core/inputs.go
index 4c05ca6..a7b7fa4 100644
--- a/core/inputs.go
+++ b/core/inputs.go
@@ -55,6 +55,7 @@ func (o *OrganizationForm) Validate(c echo.Context) error {
 
 // UpdateOrganizationForm ...
 type UpdateOrganizationForm struct {
+	Name        string `form:"name" validate:"required"`
 	Slug        string `form:"slug" validate:"required"`
 	Enabled     bool   `from:"is_enabled"`
 	DeleteImage bool   `form:"delete"`
@@ -65,6 +66,7 @@ type UpdateOrganizationForm struct {
 func (uo *UpdateOrganizationForm) Validate(c echo.Context) error {
 	errs := validate.FormFieldBinder(c, uo).
 		FailFast(false).
+		String("name", &uo.Name).
 		String("slug", &uo.Slug).
 		Bool("is_enabled", &uo.Enabled).
 		Bool("delete", &uo.DeleteImage).
diff --git a/core/routes.go b/core/routes.go
index 2c2cf09..2677123 100644
--- a/core/routes.go
+++ b/core/routes.go
@@ -906,6 +906,7 @@ func (s *Service) OrgUpdate(c echo.Context) error {
 
 	lt := localizer.GetSessionLocalizer(c)
 	pd := localizer.NewPageData(lt.Translate("Update Organization"))
+	pd.Data["name"] = lt.Translate("Name")
 	pd.Data["slug"] = lt.Translate("Slug")
 	pd.Data["image"] = lt.Translate("Image")
 	pd.Data["is_enabled"] = lt.Translate("Is Enabled")
@@ -965,7 +966,7 @@ func (s *Service) OrgUpdate(c echo.Context) error {
 					id
 				}
 			}`)
-		op.Var("name", org.Name)
+		op.Var("name", form.Name)
 		op.Var("slug", form.Slug)
 		op.Var("deleteImg", form.DeleteImage)
 		op.Var("currentSlug", org.Slug)
@@ -1006,6 +1007,7 @@ func (s *Service) OrgUpdate(c echo.Context) error {
 		return c.Redirect(http.StatusMovedPermanently, c.Echo().Reverse("core:org_list"))
 	}
 
+	form.Name = org.Name
 	form.Slug = org.Slug
 	form.Enabled = org.IsActive
 	form.DefaultPerm = org.Settings.DefaultPerm
@@ -3449,13 +3451,13 @@ func (s *Service) TagAutocomplete(c echo.Context) error {
 		} else {
 			return c.JSON(http.StatusOK, "{}")
 		}
-		
+
 		// Create sql.DB context with timezone to avoid DBI connection hoarding
 		dbi := database.DBIForContext(c.Request().Context())
 		tz := timezone.ForContext(c.Request().Context())
 		newCtx := database.Context(context.Background(), dbi.GetDB())
 		newCtx = timezone.Context(newCtx, tz)
-		
+
 		tags, err = models.GetTags(newCtx, opts)
 		if err != nil {
 			return err
diff --git a/templates/org_edit.html b/templates/org_edit.html
index 235516b..6253ec2 100644
--- a/templates/org_edit.html
+++ b/templates/org_edit.html
@@ -13,6 +13,14 @@
     <div class="alert alert-error" role="alert">{{ . }}</div>
     {{end}}
     {{end}}
+    <div>
+      <label for="name">{{.pd.Data.name}}</label>
+      <input type="text" name="name" value="{{.form.Name}}"/>
+      {{ with .errors.Name }}
+      <p class="error">{{ . }}</p>
+      {{ end }}
+    </div>
+
     <div>
       <label for="slug">{{.pd.Data.slug}}</label>
       <input type="text" name="slug" value="{{.form.Slug}}"/>
-- 
2.49.1