Skip to content

Commit 130bf51

Browse files
committed
Merge remote-tracking branch 'upstream/main'
* upstream/main: Move `modules/mirror` to `services` (go-gitea#26737) [skip ci] Updated translations via Crowdin Fix template bugs in recently_pushed_new_branches.tmpl (go-gitea#26744) Fix incorrect "tabindex" attributes (go-gitea#26733) Simplify helper CSS classes and avoid abuse (go-gitea#26728) Remove fomantic loader module (go-gitea#26670) Fix link in mirror docs (go-gitea#26719) Add `eslint-plugin-vue-scoped-css` (go-gitea#26720) Fixed text overflow in dropdown menu (go-gitea#26694) Make web context initialize correctly for different cases (go-gitea#26726) Remove incorrect CSS helper classes (go-gitea#26712) Focus editor on "Write" tab click (go-gitea#26714)
2 parents 9a3215d + 4365274 commit 130bf51

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+462
-1230
lines changed

models/repo/pushmirror.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ func GetPushMirrorsByRepoID(ctx context.Context, repoID int64, listOptions db.Li
128128
func GetPushMirrorsSyncedOnCommit(ctx context.Context, repoID int64) ([]*PushMirror, error) {
129129
mirrors := make([]*PushMirror, 0, 10)
130130
return mirrors, db.GetEngine(ctx).
131-
Where("repo_id=? AND sync_on_commit=?", repoID, true).
131+
Where("repo_id = ? AND sync_on_commit = ?", repoID, true).
132132
Find(&mirrors)
133133
}
134134

modules/context/context.go

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,29 @@ func GetValidateContext(req *http.Request) (ctx *ValidateContext) {
107107
return ctx
108108
}
109109

110+
func NewTemplateContextForWeb(ctx *Context) TemplateContext {
111+
tmplCtx := NewTemplateContext(ctx)
112+
tmplCtx["Locale"] = ctx.Base.Locale
113+
tmplCtx["AvatarUtils"] = templates.NewAvatarUtils(ctx)
114+
return tmplCtx
115+
}
116+
117+
func NewWebContext(base *Base, render Render, session session.Store) *Context {
118+
ctx := &Context{
119+
Base: base,
120+
Render: render,
121+
Session: session,
122+
123+
Cache: mc.GetCache(),
124+
Link: setting.AppSubURL + strings.TrimSuffix(base.Req.URL.EscapedPath(), "/"),
125+
Repo: &Repository{PullRequest: &PullRequest{}},
126+
Org: &Organization{},
127+
}
128+
ctx.TemplateContext = NewTemplateContextForWeb(ctx)
129+
ctx.Flash = &middleware.Flash{DataStore: ctx, Values: url.Values{}}
130+
return ctx
131+
}
132+
110133
// Contexter initializes a classic context for a request.
111134
func Contexter() func(next http.Handler) http.Handler {
112135
rnd := templates.HTMLRenderer()
@@ -127,21 +150,8 @@ func Contexter() func(next http.Handler) http.Handler {
127150
return func(next http.Handler) http.Handler {
128151
return http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) {
129152
base, baseCleanUp := NewBaseContext(resp, req)
130-
ctx := &Context{
131-
Base: base,
132-
Cache: mc.GetCache(),
133-
Link: setting.AppSubURL + strings.TrimSuffix(req.URL.EscapedPath(), "/"),
134-
Render: rnd,
135-
Session: session.GetSession(req),
136-
Repo: &Repository{PullRequest: &PullRequest{}},
137-
Org: &Organization{},
138-
}
139153
defer baseCleanUp()
140-
141-
// TODO: "install.go" also shares the same logic, which should be refactored to a general function
142-
ctx.TemplateContext = NewTemplateContext(ctx)
143-
ctx.TemplateContext["Locale"] = ctx.Locale
144-
ctx.TemplateContext["AvatarUtils"] = templates.NewAvatarUtils(ctx)
154+
ctx := NewWebContext(base, rnd, session.GetSession(req))
145155

146156
ctx.Data.MergeFrom(middleware.CommonTemplateContextData())
147157
ctx.Data["Context"] = ctx // TODO: use "ctx" in template and remove this
@@ -172,8 +182,7 @@ func Contexter() func(next http.Handler) http.Handler {
172182
}
173183
}
174184

175-
// prepare an empty Flash message for current request
176-
ctx.Flash = &middleware.Flash{DataStore: ctx, Values: url.Values{}}
185+
// if there are new messages in the ctx.Flash, write them into cookie
177186
ctx.Resp.Before(func(resp ResponseWriter) {
178187
if val := ctx.Flash.Encode(); val != "" {
179188
middleware.SetSiteCookie(ctx.Resp, CookieNameFlash, val, 0)

modules/context/package.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,12 +154,10 @@ func PackageContexter() func(next http.Handler) http.Handler {
154154
return func(next http.Handler) http.Handler {
155155
return http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) {
156156
base, baseCleanUp := NewBaseContext(resp, req)
157-
ctx := &Context{
158-
Base: base,
159-
Render: renderer, // it is still needed when rendering 500 page in a package handler
160-
}
161157
defer baseCleanUp()
162158

159+
// it is still needed when rendering 500 page in a package handler
160+
ctx := NewWebContext(base, renderer, nil)
163161
ctx.Base.AppendContextValue(WebContextKey, ctx)
164162
next.ServeHTTP(ctx.Resp, ctx.Req)
165163
})

modules/notification/notification.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616
"code.gitea.io/gitea/modules/notification/base"
1717
"code.gitea.io/gitea/modules/notification/indexer"
1818
"code.gitea.io/gitea/modules/notification/mail"
19-
"code.gitea.io/gitea/modules/notification/mirror"
2019
"code.gitea.io/gitea/modules/notification/ui"
2120
"code.gitea.io/gitea/modules/repository"
2221
"code.gitea.io/gitea/modules/setting"
@@ -38,7 +37,6 @@ func NewContext() {
3837
}
3938
RegisterNotifier(indexer.NewNotifier())
4039
RegisterNotifier(action.NewNotifier())
41-
RegisterNotifier(mirror.NewNotifier())
4240
}
4341

4442
// NotifyNewWikiPage notifies creating new wiki pages to notifiers

modules/test/context_tests.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,12 @@ func MockContext(t *testing.T, reqPath string) (*context.Context, *httptest.Resp
4545
resp := httptest.NewRecorder()
4646
req := mockRequest(t, reqPath)
4747
base, baseCleanUp := context.NewBaseContext(resp, req)
48+
_ = baseCleanUp // during test, it doesn't need to do clean up. TODO: this can be improved later
4849
base.Data = middleware.GetContextData(req.Context())
4950
base.Locale = &translation.MockLocale{}
50-
ctx := &context.Context{
51-
Base: base,
52-
Render: &mockRender{},
53-
Flash: &middleware.Flash{Values: url.Values{}},
54-
}
55-
_ = baseCleanUp // during test, it doesn't need to do clean up. TODO: this can be improved later
51+
52+
ctx := context.NewWebContext(base, &MockRender{}, nil)
53+
ctx.Flash = &middleware.Flash{Values: url.Values{}}
5654

5755
chiCtx := chi.NewRouteContext()
5856
ctx.Base.AppendContextValue(chi.RouteCtxKey, chiCtx)
@@ -148,13 +146,13 @@ func LoadGitRepo(t *testing.T, ctx *context.Context) {
148146
assert.NoError(t, err)
149147
}
150148

151-
type mockRender struct{}
149+
type MockRender struct{}
152150

153-
func (tr *mockRender) TemplateLookup(tmpl string, _ gocontext.Context) (templates.TemplateExecutor, error) {
151+
func (tr *MockRender) TemplateLookup(tmpl string, _ gocontext.Context) (templates.TemplateExecutor, error) {
154152
return nil, nil
155153
}
156154

157-
func (tr *mockRender) HTML(w io.Writer, status int, _ string, _ any, _ gocontext.Context) error {
155+
func (tr *MockRender) HTML(w io.Writer, status int, _ string, _ any, _ gocontext.Context) error {
158156
if resp, ok := w.(http.ResponseWriter); ok {
159157
resp.WriteHeader(status)
160158
}

options/locale/locale_en-US.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,6 @@ overview = Overview
598598
following = Following
599599
follow = Follow
600600
unfollow = Unfollow
601-
heatmap.loading = Loading Heatmap…
602601
user_bio = Biography
603602
disabled_public_activity = This user has disabled the public visibility of the activity.
604603
email_visibility.limited = Your email address is visible to all authenticated users

options/locale/locale_ja-JP.ini

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ string.desc=Z - A
167167

168168
[error]
169169
occurred=エラーが発生しました.
170+
report_message=Gitea のバグが疑われる場合は、<a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a>でIssueを検索して、見つからなければ新しいIssueを作成してください。
170171
missing_csrf=不正なリクエスト: CSRFトークンが不明です
171172
invalid_csrf=不正なリクエスト: CSRFトークンが無効です
172173
not_found=ターゲットが見つかりませんでした。
@@ -353,13 +354,15 @@ remember_me=このデバイスで自動サインイン
353354
forgot_password_title=パスワードを忘れた
354355
forgot_password=パスワードをお忘れですか?
355356
sign_up_now=アカウントが必要ですか? 今すぐ登録しましょう。
357+
sign_up_successful=アカウントは無事に作成されました。ようこそ!
356358
confirmation_mail_sent_prompt=<b>%s</b> に確認メールを送信しました。 %s以内に受信トレイを確認し、登録手続きを完了してください。
357359
must_change_password=パスワードの更新
358360
allow_password_change=ユーザーはパスワードの変更が必要 (推奨)
359361
reset_password_mail_sent_prompt=<b>%s</b> に確認メールを送信しました。 %s以内に受信トレイを確認し、アカウント回復手続きを完了してください。
360362
active_your_account=アカウントの有効化
361363
account_activated=アカウントがアクティベートされました
362364
prohibit_login=サインイン禁止
365+
prohibit_login_desc=あなたのアカウントはサインインを禁止されています。 サイト管理者にお問い合わせください。
363366
resent_limit_prompt=少し前に、あなたからアクティベーションメールが要求されています。 3分待ったのち、もう一度試してください。
364367
has_unconfirmed_mail=こんにちは %s さん、あなたのメール アドレス (<b>%s</b>) は確認がとれていません。 確認メールを受け取っていない場合や、改めて送信したい場合は、下のボタンをクリックしてください。
365368
resend_mail=アクティベーションメールを再送信するにはここをクリック
@@ -369,6 +372,7 @@ reset_password=アカウントの回復
369372
invalid_code=確認コードが無効か期限切れです。
370373
invalid_password=アカウントの作成に使用されたパスワードと一致しません。
371374
reset_password_helper=アカウント回復
375+
reset_password_wrong_user=あなたは %s でサインイン中ですが、アカウント回復のリンクは %s のものです。
372376
password_too_short=%d文字未満のパスワードは設定できません。
373377
non_local_account=ローカルユーザーでない場合はGiteaのWebインターフェースからパスワードを変更することはできません。
374378
verify=確認
@@ -393,6 +397,7 @@ openid_connect_title=既存のアカウントに接続
393397
openid_connect_desc=選択したOpenID URIは未登録です。 ここで新しいアカウントと関連付けます。
394398
openid_register_title=アカウント新規作成
395399
openid_register_desc=選択したOpenID URIは未登録です。 ここで新しいアカウントと関連付けます。
400+
openid_signin_desc=OpenID URIを入力します。例: alice.openid.example.org または https://openid.example.org/alice
396401
disable_forgot_password_mail=メール送信設定が無いためアカウントの回復は無効になっています。 サイト管理者にお問い合わせください。
397402
disable_forgot_password_mail_admin=アカウントの回復はメール送信が設定済みの場合だけ使用できます。 アカウントの回復を有効にするにはメール送信を設定してください。
398403
email_domain_blacklisted=あなたのメールアドレスでは登録することはできません。
@@ -403,6 +408,7 @@ authorize_application_description=アクセスを許可すると、このアプ
403408
authorize_title=`"%s"にあなたのアカウントへのアクセスを許可しますか?`
404409
authorization_failed=認可失敗
405410
sspi_auth_failed=SSPI認証に失敗しました
411+
password_pwned=あなたが選択したパスワードは、過去の情報漏洩事件で流出した<a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">盗まれたパスワードのリスト</a>に含まれています。 別のパスワードでもう一度試してください。 また他の登録でもこのパスワードからの変更を検討してください。
406412
password_pwned_err=HaveIBeenPwnedへのリクエストを完了できませんでした
407413

408414
[mail]
@@ -417,6 +423,7 @@ activate_account.text_1=こんにちは、<b>%[1]s</b> さん。 %[2]s へのご
417423
activate_account.text_2=あなたのアカウントを有効化するため、<b>%s</b>以内に次のリンクをクリックしてください:
418424

419425
activate_email=メール アドレスを確認します
426+
activate_email.title=%s さん、メールアドレス確認をお願いします
420427
activate_email.text=あなたのメールアドレスを確認するため、<b>%s</b>以内に次のリンクをクリックしてください:
421428

422429
register_notify=Giteaへようこそ
@@ -608,9 +615,12 @@ delete=アカウントを削除
608615
twofa=2要素認証
609616
account_link=連携アカウント
610617
organization=組織
618+
uid=UID
611619
webauthn=セキュリティキー
612620

613621
public_profile=公開プロフィール
622+
biography_placeholder=自己紹介してください!(Markdownを使うことができます)
623+
profile_desc=あなたのプロフィールが他のユーザーにどのように表示されるかを制御します。あなたのプライマリメールアドレスは、通知、パスワードの回復、WebベースのGit操作に使用されます。
614624
password_username_disabled=非ローカルユーザーのユーザー名は変更できません。詳細はサイト管理者にお問い合わせください。
615625
full_name=フルネーム
616626
website=Webサイト
@@ -662,6 +672,7 @@ update_user_avatar_success=ユーザーのアバターを更新しました。
662672
change_password=パスワードを更新
663673
old_password=現在のパスワード
664674
new_password=新しいパスワード
675+
retype_new_password=新しいパスワードの確認
665676
password_incorrect=現在のパスワードが正しくありません。
666677
change_password_success=パスワードを更新しました。 今後は新しいパスワードを使ってサインインしてください。
667678
password_change_disabled=ローカルユーザーでない場合は、GiteaのWebインターフェースからパスワードを変更することはできません。
@@ -670,6 +681,7 @@ emails=メールアドレス
670681
manage_emails=メールアドレスの管理
671682
manage_themes=デフォルトのテーマを選択
672683
manage_openid=OpenIDアドレスの管理
684+
email_desc=プライマリメールアドレスは、通知、パスワードの回復、さらにメールアドレスを隠さない場合は、WebベースのGit操作にも使用されます。
673685
theme_desc=この設定がサイト全体のデフォルトのテーマとなります。
674686
primary=プライマリー
675687
activated=アクティベート済み
@@ -695,6 +707,7 @@ add_email_success=新しいメールアドレスを追加しました。
695707
email_preference_set_success=メール設定を保存しました。
696708
add_openid_success=新しいOpenIDアドレスを追加しました。
697709
keep_email_private=メールアドレスを隠す
710+
keep_email_private_popup=これによりプロフィールでメールアドレスが隠され、Webインターフェースでのプルリクエスト作成やファイル編集でもメールアドレスが隠されます。 プッシュ済みのコミットは変更されません。
698711
openid_desc=OpenIDを使うと外部プロバイダーに認証を委任することができます。
699712

700713
manage_ssh_keys=SSHキーの管理
@@ -773,7 +786,9 @@ ssh_disabled=SSHは無効です
773786
ssh_signonly=SSHは現在無効になっているため、これらのキーはコミット署名の検証にのみ使用されます。
774787
ssh_externally_managed=このユーザー用に外部で管理されているSSHキーです
775788
manage_social=関連付けられているソーシャルアカウントを管理
789+
social_desc=これらのソーシャルアカウントで、あなたのアカウントにサインインできます。 すべて自分が知っているものであることを確認してください。
776790
unbind=連携の解除
791+
unbind_success=ソーシャルアカウントの登録を削除しました。
777792

778793
manage_access_token=アクセストークンの管理
779794
generate_new_token=新しいトークンを生成
@@ -805,6 +820,8 @@ remove_oauth2_application_desc=OAuth2アプリケーションを削除すると
805820
remove_oauth2_application_success=アプリケーションを削除しました。
806821
create_oauth2_application=新しいOAuth2アプリケーションの作成
807822
create_oauth2_application_button=アプリケーション作成
823+
create_oauth2_application_success=新しいOAuth2アプリケーションを作成しました。
824+
update_oauth2_application_success=OAuth2アプリケーションを更新しました。
808825
oauth2_application_name=アプリケーション名
809826
oauth2_confidential_client=コンフィデンシャルクライアント。 ウェブアプリのように秘密情報を機密にできるアプリの場合に選択します。 デスクトップアプリやモバイルアプリなどのネイティブアプリには選択しないでください。
810827
oauth2_redirect_uris=リダイレクトURI (複数可)。 URIごとに改行してください。
@@ -813,19 +830,24 @@ oauth2_client_id=クライアントID
813830
oauth2_client_secret=クライアント シークレット
814831
oauth2_regenerate_secret=シークレットを再生成
815832
oauth2_regenerate_secret_hint=シークレットを紛失?
833+
oauth2_client_secret_hint=このページから移動したりページを更新すると、二度とこのシークレットは表示されません。 シークレットを保存したことを確認してください。
816834
oauth2_application_edit=編集
817835
oauth2_application_create_description=OAuth2アプリケーションで、サードパーティアプリケーションがこのインスタンス上のユーザーアカウントにアクセスできるようになります。
836+
oauth2_application_remove_description=OAuth2アプリケーションを削除すると、このインスタンス上の許可されたユーザーアカウントへのアクセスができなくなります。 続行しますか?
818837

819838
authorized_oauth2_applications=許可済みOAuth2アプリケーション
839+
authorized_oauth2_applications_description=これらのサードパーティ アプリケーションに、あなたのGiteaアカウントへのアクセスを許可しています。 不要になったアプリケーションはアクセス権を取り消すようにしてください。
820840
revoke_key=取り消し
821841
revoke_oauth2_grant=アクセス権の取り消し
822842
revoke_oauth2_grant_description=このサードパーティ アプリケーションのアクセス権を取り消し、アプリケーションがあなたのデータへアクセスすることを防ぎます。 続行しますか?
843+
revoke_oauth2_grant_success=アクセス権を取り消しました。
823844

824845
twofa_desc=2要素認証はアカウントのセキュリティを強化します。
825846
twofa_is_enrolled=このアカウントは2要素認証が<strong>有効</strong>になっています。
826847
twofa_not_enrolled=このアカウントは2要素認証が設定されていません。
827848
twofa_disable=2要素認証を無効にする
828849
twofa_scratch_token_regenerate=スクラッチトークンを再生成
850+
twofa_scratch_token_regenerated=あなたのスクラッチトークンは %s になりました。 安全な場所に保管してください。 二度と表示されません。
829851
twofa_enroll=2要素認証の開始
830852
twofa_disable_note=2要素認証は必要に応じて無効にできます。
831853
twofa_disable_desc=2要素認証を無効にするとアカウントのセキュリティが低下します。 続行しますか?
@@ -1871,6 +1893,7 @@ settings.mirror_settings.last_update=最終更新
18711893
settings.mirror_settings.push_mirror.none=プッシュミラーは設定されていません
18721894
settings.mirror_settings.push_mirror.remote_url=リモートGitリポジトリのURL
18731895
settings.mirror_settings.push_mirror.add=プッシュミラーを追加
1896+
settings.mirror_settings.push_mirror.edit_sync_time=ミラー同期の間隔を編集
18741897

18751898
settings.sync_mirror=今すぐ同期
18761899
settings.mirror_sync_in_progress=ミラー同期を実行しています。 しばらくあとでまた確認してください。

0 commit comments

Comments
 (0)