summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorqwerty287 <80460567+qwerty287@users.noreply.github.com>2022-04-28 17:45:33 +0200
committerGitHub <noreply@github.com>2022-04-28 17:45:33 +0200
commit8eb1cd9264af9493e0f57a4a4c0a1f764f7cefcf (patch)
tree46049742d086daa7683db502883a58e94370a583 /templates
parent92dfbada3793fc2be23d38783d6842eac9825f58 (diff)
downloadgitea-8eb1cd9264af9493e0f57a4a4c0a1f764f7cefcf.tar.gz
gitea-8eb1cd9264af9493e0f57a4a4c0a1f764f7cefcf.zip
Add "Allow edits from maintainer" feature (#18002)
Adds a feature [like GitHub has](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) (step 7). If you create a new PR from a forked repo, you can select (and change later, but only if you are the PR creator/poster) the "Allow edits from maintainers" option. Then users with write access to the base branch get more permissions on this branch: * use the update pull request button * push directly from the command line (`git push`) * edit/delete/upload files via web UI * use related API endpoints You can't merge PRs to this branch with this enabled, you'll need "full" code write permissions. This feature has a pretty big impact on the permission system. I might forgot changing some things or didn't find security vulnerabilities. In this case, please leave a review or comment on this PR. Closes #17728 Co-authored-by: 6543 <6543@obermui.de>
Diffstat (limited to 'templates')
-rw-r--r--templates/repo/issue/new_form.tmpl9
-rw-r--r--templates/repo/issue/view_content/sidebar.tmpl16
-rw-r--r--templates/swagger/v1_json.tmpl8
3 files changed, 33 insertions, 0 deletions
diff --git a/templates/repo/issue/new_form.tmpl b/templates/repo/issue/new_form.tmpl
index 1089c82415..9a4548643f 100644
--- a/templates/repo/issue/new_form.tmpl
+++ b/templates/repo/issue/new_form.tmpl
@@ -235,6 +235,15 @@
</a>
{{end}}
</div>
+ {{if and .PageIsComparePull (not (eq .HeadRepo.FullName .BaseCompareRepo.FullName)) .CanWriteToHeadRepo}}
+ <div class="ui divider"></div>
+ <div class="inline field">
+ <div class="ui checkbox">
+ <label class="tooltip" data-content="{{.i18n.Tr "repo.pulls.allow_edits_from_maintainers_desc"}}"><strong>{{.i18n.Tr "repo.pulls.allow_edits_from_maintainers"}}</strong></label>
+ <input name="allow_maintainer_edit" type="checkbox">
+ </div>
+ </div>
+ {{end}}
</div>
<input type="hidden" name="redirect_after_creation" value="{{.redirect_after_creation}}">
</div>
diff --git a/templates/repo/issue/view_content/sidebar.tmpl b/templates/repo/issue/view_content/sidebar.tmpl
index e673add812..9e9bc670a0 100644
--- a/templates/repo/issue/view_content/sidebar.tmpl
+++ b/templates/repo/issue/view_content/sidebar.tmpl
@@ -667,5 +667,21 @@
</form>
</div>
{{end}}
+
+ {{if and .Issue.IsPull .IsIssuePoster (not .Issue.IsClosed)}}
+ {{if and (not (eq .Issue.PullRequest.HeadRepo.FullName .Issue.PullRequest.BaseRepo.FullName)) .CanWriteToHeadRepo}}
+ <div class="ui divider"></div>
+ <div class="inline field">
+ <div class="ui checkbox" id="allow-edits-from-maintainers"
+ data-url="{{.Issue.Link}}"
+ data-prompt-tip="{{.i18n.Tr "repo.pulls.allow_edits_from_maintainers_desc"}}"
+ data-prompt-error="{{.i18n.Tr "repo.pulls.allow_edits_from_maintainers_err"}}"
+ >
+ <label><strong>{{.i18n.Tr "repo.pulls.allow_edits_from_maintainers"}}</strong></label>
+ <input type="checkbox" {{if .Issue.PullRequest.AllowMaintainerEdit}}checked{{end}}>
+ </div>
+ </div>
+ {{end}}
+ {{end}}
</div>
</div>
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index ea03380d43..d57a3a580b 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -14938,6 +14938,10 @@
"description": "EditPullRequestOption options when modify pull request",
"type": "object",
"properties": {
+ "allow_maintainer_edit": {
+ "type": "boolean",
+ "x-go-name": "AllowMaintainerEdit"
+ },
"assignee": {
"type": "string",
"x-go-name": "Assignee"
@@ -17045,6 +17049,10 @@
"description": "PullRequest represents a pull request",
"type": "object",
"properties": {
+ "allow_maintainer_edit": {
+ "type": "boolean",
+ "x-go-name": "AllowMaintainerEdit"
+ },
"assignee": {
"$ref": "#/definitions/User"
},