summaryrefslogtreecommitdiffstats
path: root/templates/mail
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-10-11 10:27:00 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-10-11 10:27:00 +0000
commit65aa53fc52ff15efe54df4147564828d535837f8 (patch)
tree31c51dad04fdcca80e6d3043c8bd49d2f1a51f83 /templates/mail
parentInitial commit. (diff)
downloadforgejo-debian.tar.xz
forgejo-debian.zip
Adding upstream version 8.0.3.HEADupstream/8.0.3upstreamdebian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'templates/mail')
-rw-r--r--templates/mail/auth/activate.tmpl16
-rw-r--r--templates/mail/auth/activate_email.tmpl16
-rw-r--r--templates/mail/auth/register_notify.tmpl17
-rw-r--r--templates/mail/auth/reset_passwd.tmpl16
-rw-r--r--templates/mail/issue/assigned.tmpl28
-rw-r--r--templates/mail/issue/default.tmpl90
-rw-r--r--templates/mail/notify/admin_new_user.tmpl20
-rw-r--r--templates/mail/notify/collaborator.tmpl20
-rw-r--r--templates/mail/notify/repo_transfer.tmpl18
-rw-r--r--templates/mail/release.tmpl60
-rw-r--r--templates/mail/team_invite.tmpl15
11 files changed, 316 insertions, 0 deletions
diff --git a/templates/mail/auth/activate.tmpl b/templates/mail/auth/activate.tmpl
new file mode 100644
index 00000000..eb7ea5a8
--- /dev/null
+++ b/templates/mail/auth/activate.tmpl
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta name="format-detection" content="telephone=no,date=no,address=no,email=no,url=no">
+</head>
+
+{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
+<body>
+ <p>{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}</p><br>
+ <p>{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}</p><p><a href="{{$activate_url}}">{{$activate_url}}</a></p><br>
+ <p>{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
+
+ <p>© <a target="_blank" rel="noopener noreferrer" href="{{AppUrl}}">{{AppName}}</a></p>
+</body>
+</html>
diff --git a/templates/mail/auth/activate_email.tmpl b/templates/mail/auth/activate_email.tmpl
new file mode 100644
index 00000000..9ca54d30
--- /dev/null
+++ b/templates/mail/auth/activate_email.tmpl
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta Name="format-detection" content="telephone=no,date=no,address=no,email=no,url=no">
+</head>
+
+{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
+<body>
+ <p>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p><br>
+ <p>{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}</p><p><a href="{{$activate_url}}">{{$activate_url}}</a></p><br>
+ <p>{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
+
+ <p>© <a target="_blank" rel="noopener noreferrer" href="{{AppUrl}}">{{AppName}}</a></p>
+</body>
+</html>
diff --git a/templates/mail/auth/register_notify.tmpl b/templates/mail/auth/register_notify.tmpl
new file mode 100644
index 00000000..d3a668b0
--- /dev/null
+++ b/templates/mail/auth/register_notify.tmpl
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta name="format-detection" content="telephone=no,date=no,address=no,email=no,url=no">
+</head>
+
+{{$set_pwd_url := printf "%[1]suser/forgot_password" AppUrl}}
+<body>
+ <p>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p><br>
+ <p>{{.locale.Tr "mail.register_notify.text_1" AppName}}</p><br>
+ <p>{{.locale.Tr "mail.register_notify.text_2" .Username}}</p><p><a href="{{AppUrl}}user/login">{{AppUrl}}user/login</a></p><br>
+ <p>{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}</p><br>
+
+ <p>© <a target="_blank" rel="noopener noreferrer" href="{{AppUrl}}">{{AppName}}</a></p>
+</body>
+</html>
diff --git a/templates/mail/auth/reset_passwd.tmpl b/templates/mail/auth/reset_passwd.tmpl
new file mode 100644
index 00000000..b85b770d
--- /dev/null
+++ b/templates/mail/auth/reset_passwd.tmpl
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta name="format-detection" content="telephone=no,date=no,address=no,email=no,url=no">
+</head>
+
+{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
+<body>
+ <p>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p><br>
+ <p>{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}</p><p><a href="{{$recover_url}}">{{$recover_url}}</a></p><br>
+ <p>{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
+
+ <p>© <a target="_blank" rel="noopener noreferrer" href="{{AppUrl}}">{{AppName}}</a></p>
+</body>
+</html>
diff --git a/templates/mail/issue/assigned.tmpl b/templates/mail/issue/assigned.tmpl
new file mode 100644
index 00000000..f8ad62ae
--- /dev/null
+++ b/templates/mail/issue/assigned.tmpl
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <style>
+ .footer { font-size:small; color:#666;}
+ </style>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</head>
+
+{{$repo_url := HTMLFormat "<a href='%s'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
+{{$link := HTMLFormat "<a href='%s'>#%d</a>" .Link .Issue.Index}}
+<body>
+ <p>
+ {{if .IsPull}}
+ {{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
+ {{else}}
+ {{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}
+ {{end}}
+ </p>
+ <div class="footer">
+ <p>
+ ---
+ <br>
+ <a href="{{.Link}}">{{.locale.Tr "mail.view_it_on" AppName}}</a>.
+ </p>
+ </div>
+</body>
+</html>
diff --git a/templates/mail/issue/default.tmpl b/templates/mail/issue/default.tmpl
new file mode 100644
index 00000000..a94a10e2
--- /dev/null
+++ b/templates/mail/issue/default.tmpl
@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+ <style>
+ blockquote { padding-left: 1em; margin: 1em 0; border-left: 1px solid grey; color: #777}
+ .footer { font-size:small; color:#666;}
+ {{if .ReviewComments}}
+ .review { padding-left: 1em; margin: 1em 0; }
+ .review > pre { padding: 1em; border-left: 1px solid grey; }
+ {{end}}
+ </style>
+
+</head>
+
+<body>
+ {{if .IsMention}}<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}
+ {{if eq .ActionName "push"}}
+ <p>
+ {{if .Comment.IsForcePush}}
+ {{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
+ {{$oldShortSha := ShortSha .Comment.OldCommit}}
+ {{$oldCommitLink := HTMLFormat "<a href='%[1]s'><b>%[2]s</b></a>" $oldCommitUrl $oldShortSha}}
+
+ {{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
+ {{$newShortSha := ShortSha .Comment.NewCommit}}
+ {{$newCommitLink := HTMLFormat "<a href='%[1]s'><b>%[2]s</b></a>" $newCommitUrl $newShortSha}}
+
+ {{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
+ {{else}}
+ {{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
+ {{end}}
+ </p>
+ {{end}}
+ <p>
+ {{if eq .ActionName "close"}}
+ {{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
+ {{else if eq .ActionName "reopen"}}
+ {{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}
+ {{else if eq .ActionName "merge"}}
+ {{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}
+ {{else if eq .ActionName "approve"}}
+ {{.locale.Tr "mail.issue.action.approve" .Doer.Name}}
+ {{else if eq .ActionName "reject"}}
+ {{.locale.Tr "mail.issue.action.reject" .Doer.Name}}
+ {{else if eq .ActionName "review"}}
+ {{.locale.Tr "mail.issue.action.review" .Doer.Name}}
+ {{else if eq .ActionName "review_dismissed"}}
+ {{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}
+ {{else if eq .ActionName "ready_for_review"}}
+ {{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}
+ {{end}}
+
+ {{- if eq .Body ""}}
+ {{if eq .ActionName "new"}}
+ {{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}
+ {{end}}
+ {{else}}
+ {{.Body}}
+ {{end -}}
+ {{- range .ReviewComments}}
+ <hr>
+ {{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}
+ <div class="review">
+ <pre>{{.Patch}}</pre>
+ <div>{{.RenderedContent}}</div>
+ </div>
+ {{end -}}
+ {{if eq .ActionName "push"}}
+ <ul>
+ {{range .Comment.Commits}}
+ <li>
+ <a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">
+ {{ShortSha .ID.String}}
+ </a> - {{.Summary}}
+ </li>
+ {{end}}
+ </ul>
+ {{end}}
+ </p>
+ <div class="footer">
+ <p>
+ ---
+ <br>
+ <a href="{{.Link}}">{{.locale.Tr "mail.view_it_on" AppName}}</a>{{if .CanReply}} {{.locale.Tr "mail.reply"}}{{end}}.
+ </p>
+ </div>
+</body>
+</html>
diff --git a/templates/mail/notify/admin_new_user.tmpl b/templates/mail/notify/admin_new_user.tmpl
new file mode 100644
index 00000000..655c7ce5
--- /dev/null
+++ b/templates/mail/notify/admin_new_user.tmpl
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+ <style>
+ blockquote { padding-left: 1em; margin: 1em 0; border-left: 1px solid grey; color: #777}
+ .footer { font-size:small; color:#666;}
+ </style>
+
+</head>
+
+<body>
+ <ul>
+ <h3>{{.Locale.Tr "mail.admin.new_user.user_info"}}: <a href="{{.NewUserUrl}}">@{{.NewUser.Name}}</a></h3>
+ <li>{{.Locale.Tr "admin.users.created"}}: {{DateTime "full" .NewUser.CreatedUnix}}</li>
+ </ul>
+ <p> {{.Body | SanitizeHTML}} </p>
+</body>
+</html>
diff --git a/templates/mail/notify/collaborator.tmpl b/templates/mail/notify/collaborator.tmpl
new file mode 100644
index 00000000..6108d40e
--- /dev/null
+++ b/templates/mail/notify/collaborator.tmpl
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <style>
+ .footer { font-size:small; color:#666;}
+ </style>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</head>
+
+<body>
+ <p>{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code></p>
+ <div class="footer">
+ <p>
+ ---
+ <br>
+ <a href="{{.Link}}">{{.locale.Tr "mail.view_it_on" AppName}}</a>.
+ </p>
+ </div>
+</body>
+</html>
diff --git a/templates/mail/notify/repo_transfer.tmpl b/templates/mail/notify/repo_transfer.tmpl
new file mode 100644
index 00000000..bc4c4b36
--- /dev/null
+++ b/templates/mail/notify/repo_transfer.tmpl
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</head>
+
+{{$url := HTMLFormat "<a href='%[1]s'>%[2]s</a>" .Link .Repo}}
+<body>
+ <p>{{.Subject}}.
+ {{.locale.Tr "mail.repo.transfer.body" $url}}
+ </p>
+ <p>
+ ---
+ <br>
+ <a href="{{.Link}}">{{.locale.Tr "mail.view_it_on" AppName}}</a>.
+ </p>
+</body>
+</html>
diff --git a/templates/mail/release.tmpl b/templates/mail/release.tmpl
new file mode 100644
index 00000000..8c01aec2
--- /dev/null
+++ b/templates/mail/release.tmpl
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+ <style>
+ blockquote { padding-left: 1em; margin: 1em 0; border-left: 1px solid grey; color: #777}
+ .footer { font-size:small; color:#666;}
+ </style>
+
+</head>
+
+{{$release_url := HTMLFormat "<a href='%s'>%s</a>" .Release.HTMLURL .Release.TagName}}
+{{$repo_url := HTMLFormat "<a href='%s'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
+<body>
+ <p>
+ {{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
+ </p>
+ <h4>{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
+ <p>
+ {{.locale.Tr "mail.release.note"}}<br>
+ {{- if eq .Release.RenderedNote ""}}
+ {{else}}
+ {{.Release.RenderedNote}}
+ {{end -}}
+ </p>
+ <br><br>
+ <p>
+ ---
+ <br>
+ {{.locale.Tr "mail.release.downloads"}}
+ <ul>
+ {{if not .DisableDownloadSourceArchives}}
+ <li>
+ <a href="{{.Release.Repo.Link}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip" rel="nofollow"><strong>{{.locale.Tr "mail.release.download.zip"}}</strong></a>
+ </li>
+ <li>
+ <a href="{{.Release.Repo.Link}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow"><strong>{{.locale.Tr "mail.release.download.targz"}}</strong></a>
+ </li>
+ {{end}}
+ {{if .Release.Attachments}}
+ {{range .Release.Attachments}}
+ <li>
+ <a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}">
+ <strong>{{.Name}} ({{.Size | $.locale.TrSize}})</strong>
+ </a>
+ </li>
+ {{end}}
+ {{end}}
+ </ul>
+ </p>
+ <div class="footer">
+ <p>
+ ---
+ <br>
+ <a href="{{.Link}}">{{.locale.Tr "mail.view_it_on" AppName}}</a>.
+ </p>
+ </div>
+</body>
+</html>
diff --git a/templates/mail/team_invite.tmpl b/templates/mail/team_invite.tmpl
new file mode 100644
index 00000000..cb0c0c0a
--- /dev/null
+++ b/templates/mail/team_invite.tmpl
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta name="format-detection" content="telephone=no,date=no,address=no,email=no,url=no">
+</head>
+<body>
+ <p>{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}</p>
+ <p>{{.locale.Tr "mail.team_invite.text_2"}}</p><p><a href="{{.InviteURL}}">{{.InviteURL}}</a></p>
+ <p>{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
+ <p>{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}</p>
+
+ <p>© <a target="_blank" rel="noopener noreferrer" href="{{AppUrl}}">{{AppName}}</a></p>
+</body>
+</html>