]> source.dussan.org Git - gitea.git/commitdiff
Fix cancel button in the page of project edit not work (#23655)
authorsillyguodong <33891828+sillyguodong@users.noreply.github.com>
Fri, 24 Mar 2023 08:37:56 +0000 (16:37 +0800)
committerGitHub <noreply@github.com>
Fri, 24 Mar 2023 08:37:56 +0000 (16:37 +0800)
Before, in project edit page, the cancel button is not work.

https://user-images.githubusercontent.com/33891828/227182731-6478e29f-0e52-48c4-beb0-6a7d1dda6a1d.mov

1. The wrong classname `cancel` was added to the `<a>` tag. That
classname caused the default click event of `<a>` tag to be cancelled.
Because we have the following settings in the global. So I remove the
classname `cancel`.

https://github.com/go-gitea/gitea/blob/9be90a58754061171bbd5025d85d2b891364efd3/web_src/js/features/common-global.js#L325-L327

2. Another change is that page will redirect to the previous page.

https://user-images.githubusercontent.com/33891828/227187326-c653c6d6-9715-440f-a732-ba0a6f012c81.mov

routers/web/org/projects.go
routers/web/repo/projects.go
templates/projects/new.tmpl
templates/repo/projects/new.tmpl
web_src/js/features/common-global.js

index df16d0a4c7623d94fe9ee952aafb84321d7abf41..5d8005781d41504bf9e5bfae1f5c8adb2688cea3 100644 (file)
@@ -245,9 +245,11 @@ func EditProject(ctx *context.Context) {
                return
        }
 
+       ctx.Data["projectID"] = p.ID
        ctx.Data["title"] = p.Title
        ctx.Data["content"] = p.Description
        ctx.Data["redirect"] = ctx.FormString("redirect")
+       ctx.Data["HomeLink"] = ctx.ContextUser.HomeLink()
 
        ctx.HTML(http.StatusOK, tplProjectsNew)
 }
index e15f548a38dc305ecb4bb40e72325714314ea23e..91e17dee295f40b32d19b375e4f8165b1025beeb 100644 (file)
@@ -232,6 +232,7 @@ func EditProject(ctx *context.Context) {
                return
        }
 
+       ctx.Data["projectID"] = p.ID
        ctx.Data["title"] = p.Title
        ctx.Data["content"] = p.Description
        ctx.Data["card_type"] = p.CardType
index 826869ac5daac932f48926f15076de4a28afcd87..e7927221a8104cc3d723ceee4bf778d08e07d9d1 100644 (file)
@@ -50,7 +50,7 @@
                                <div class="ui divider"></div>
                                <div class="ui left">
                                        {{if .PageIsEditProjects}}
-                                       <a class="ui cancel button" href="{{.RepoLink}}/projects">
+                                       <a class="ui cancel button" href="{{$.HomeLink}}/-/projects{{if eq .redirect "project"}}/{{.projectID}}{{end}}">
                                                {{.locale.Tr "repo.milestones.cancel"}}
                                        </a>
                                        <button class="ui primary button">
index b53a47dc58e6964726a9a5abde84ebfb1c2b2098..20c4d2ebfc6414a70ab2e19f579ba60ca33dd485 100644 (file)
@@ -72,7 +72,7 @@
                                <div class="ui divider"></div>
                                <div class="ui left">
                                        {{if .PageIsEditProjects}}
-                                       <a class="ui cancel button" href="{{.RepoLink}}/projects">
+                                       <a class="ui cancel button" href="{{.RepoLink}}/projects{{if eq .redirect "project"}}/{{.projectID}}{{end}}">
                                                {{.locale.Tr "repo.milestones.cancel"}}
                                        </a>
                                        <button class="ui primary button">
index d533877c27e0e27cc306e40d705395be0afa91f0..3546a052b32dd833c0a3966a5d4701e23c6a7e00 100644 (file)
@@ -322,7 +322,7 @@ export function initGlobalButtons() {
   // There are many "cancel button" elements in modal dialogs, Fomantic UI expects they are button-like elements but never submit a form.
   // However, Gitea misuses the modal dialog and put the cancel buttons inside forms, so we must prevent the form submission.
   // There are a few cancel buttons in non-modal forms, and there are some dynamically created forms (eg: the "Edit Issue Content")
-  $(document).on('click', 'form .ui.cancel.button', (e) => {
+  $(document).on('click', 'form button.ui.cancel.button', (e) => {
     e.preventDefault();
   });