1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-22 18:28:37 +00:00

Repository transfer has to be confirmed, if user can not create repo for new owner (#14792)

* make repo as "pending transfer" if on transfer start doer has no right to create repo in new destination

* if new pending transfer ocured, create UI & Mail notifications
This commit is contained in:
6543
2021-03-01 01:47:30 +01:00
committed by GitHub
parent e0900310c4
commit a4148c0f12
32 changed files with 898 additions and 167 deletions

View File

@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{{.Subject}}</title>
</head>
<body>
<p>{{.Subject}}.
To accept or reject it visit <a href="{{.Link}}">{{.Repo}}</a> or just ignore it.
<p>
---
<br>
<a href="{{.Link}}">View it on Gitea</a>.
</p>
</body>
</html>

View File

@@ -42,6 +42,24 @@
</div>
{{if not .IsBeingCreated}}
<div class="repo-buttons">
{{if $.RepoTransfer}}
<form method="post" action="{{$.RepoLink}}/action/accept_transfer?redirect_to={{$.RepoLink}}">
{{$.CsrfTokenHtml}}
<div class="ui poping up" data-content="{{if $.CanUserAcceptTransfer}}{{$.i18n.Tr "repo.transfer.accept_desc" $.RepoTransfer.Recipient.DisplayName}}{{else}}{{$.i18n.Tr "repo.transfer.no_permission_to_accept"}}{{end}}" data-position="bottom center" data-variation="tiny">
<button type="submit" class="ui button {{if $.CanUserAcceptTransfer}}green {{end}} ok inverted small"{{if not $.CanUserAcceptTransfer}} disabled{{end}}>
{{$.i18n.Tr "repo.transfer.accept"}}
</button>
</div>
</form>
<form method="post" action="{{$.RepoLink}}/action/reject_transfer?redirect_to={{$.RepoLink}}">
{{$.CsrfTokenHtml}}
<div class="ui poping up" data-content="{{if $.CanUserAcceptTransfer}}{{$.i18n.Tr "repo.transfer.reject_desc" $.RepoTransfer.Recipient.DisplayName}}{{else}}{{$.i18n.Tr "repo.transfer.no_permission_to_reject"}}{{end}}" data-position="bottom center" data-variation="tiny">
<button type="submit" class="ui button {{if $.CanUserAcceptTransfer}}red {{end}}ok inverted small"{{if not $.CanUserAcceptTransfer}} disabled{{end}}>
{{$.i18n.Tr "repo.transfer.reject"}}
</button>
</div>
</form>
{{end}}
<form method="post" action="{{$.RepoLink}}/action/{{if $.IsWatchingRepo}}un{{end}}watch?redirect_to={{$.Link}}">
{{$.CsrfTokenHtml}}
<div class="ui labeled button{{if not $.IsSigned}} poping up{{end}}" tabindex="0"{{if not $.IsSigned}} data-content="{{$.i18n.Tr "repo.watch_guest_user" }}" data-position="top center" data-variation="tiny"{{end}}>

View File

@@ -444,11 +444,23 @@
{{end}}
<div class="item">
<div class="ui right">
<button class="ui basic red show-modal button" data-modal="#transfer-repo-modal">{{.i18n.Tr "repo.settings.transfer"}}</button>
{{if .RepoTransfer}}
<form class="ui form" action="{{.Link}}" method="post">
{{.CsrfTokenHtml}}
<input type="hidden" name="action" value="cancel_transfer">
<button class="ui red button">{{.i18n.Tr "repo.settings.transfer_abort"}}</button>
</form>
{{ else }}
<button class="ui basic red show-modal button" data-modal="#transfer-repo-modal">{{.i18n.Tr "repo.settings.transfer"}}</button>
{{ end }}
</div>
<div>
<h5>{{.i18n.Tr "repo.settings.transfer"}}</h5>
<p>{{.i18n.Tr "repo.settings.transfer_desc"}}</p>
{{if .RepoTransfer}}
<p>{{.i18n.Tr "repo.settings.transfer_started" .RepoTransfer.Recipient.DisplayName}}</p>
{{else}}
<p>{{.i18n.Tr "repo.settings.transfer_desc"}}</p>
{{end}}
</div>
</div>
@@ -599,7 +611,7 @@
<div class="text right actions">
<div class="ui cancel button">{{.i18n.Tr "settings.cancel"}}</div>
<button class="ui red button">{{.i18n.Tr "repo.settings.make_transfer"}}</button>
<button class="ui red button">{{.i18n.Tr "repo.settings.transfer_perform"}}</button>
</div>
</form>
</div>

View File

@@ -39,6 +39,8 @@
<td class="collapsing" data-href="{{.HTMLURL}}">
{{if eq .Status 3}}
<span class="blue">{{svg "octicon-pin"}}</span>
{{else if not $issue}}
<span class="gray">{{svg "octicon-repo"}}</span>
{{else if $issue.IsPull}}
{{if $issue.IsClosed}}
{{if $issue.GetPullRequest.HasMerged}}
@@ -59,7 +61,11 @@
</td>
<td class="eleven wide" data-href="{{.HTMLURL}}">
<a class="item" href="{{.HTMLURL}}">
#{{$issue.Index}} - {{$issue.Title}}
{{if $issue}}
#{{$issue.Index}} - {{$issue.Title}}
{{else}}
{{$repo.FullName}}
{{end}}
</a>
</td>
<td data-href="{{AppSubUrl}}/{{$repoOwner.Name}}/{{$repo.Name}}">