Merge df88c51256dea8154800b284b559ca3be1367e89 into c2e23d3301b1be2b2ad667184030087f92ad2470

This commit is contained in:
Bartlomiej Komendarczuk 2025-02-19 09:20:03 +08:00 committed by GitHub
commit d1730d56f6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 11 additions and 5 deletions

View File

@ -163,13 +163,17 @@ func parseGPGKey(ctx context.Context, ownerID int64, e *openpgp.Entity, verified
if ident.Revoked(time.Now()) {
continue
}
email := strings.ToLower(strings.TrimSpace(ident.UserId.Email))
emailAddr := &user_model.EmailAddress{
Email: ident.UserId.Email,
LowerEmail: strings.ToLower(strings.TrimSpace(ident.UserId.Email)),
IsActivated: false,
}
for _, e := range userEmails {
if e.IsActivated && e.LowerEmail == email {
emails = append(emails, e)
break
if e.LowerEmail == emailAddr.LowerEmail {
emailAddr.IsActivated = true
}
}
emails = append(emails, emailAddr)
}
if !verified {

View File

@ -839,6 +839,8 @@ add_new_principal = Add Principal
ssh_key_been_used = This SSH key has already been added to the server.
ssh_key_name_used = An SSH key with same name already exists on your account.
ssh_principal_been_used = This principal has already been added to the server.
gpg_email_addresses = Email addresses:
gpg_email_unverified = Unverified
gpg_key_id_used = A public GPG key with same ID already exists.
gpg_no_key_email_found = This GPG key does not match any activated email address associated with your account. It may still be added if you sign the provided token.
gpg_key_matched_identities = Matched Identities:

View File

@ -56,7 +56,7 @@
<span class="flex-text-block" data-tooltip-content="{{ctx.Locale.Tr "settings.gpg_key_verified_long"}}">{{svg "octicon-verified"}} <strong>{{ctx.Locale.Tr "settings.gpg_key_verified"}}</strong></span>
{{end}}
{{if .Emails}}
<span class="flex-text-block" data-tooltip-content="{{ctx.Locale.Tr "settings.gpg_key_matched_identities_long"}}">{{svg "octicon-mail"}} {{ctx.Locale.Tr "settings.gpg_key_matched_identities"}} {{range .Emails}}<strong>{{.Email}} </strong>{{end}}</span>
<span class="flex-text-block" data-tooltip-content="{{ctx.Locale.Tr "settings.gpg_key_matched_identities_long"}}">{{svg "octicon-mail"}} {{ctx.Locale.Tr "settings.gpg_email_addresses"}} {{range .Emails}}<strong>{{.Email}} </strong> {{if not .IsActivated}}<span class="ui label">{{ctx.Locale.Tr "settings.gpg_email_unverified"}}</span>{{end}}{{end}}</span>
{{end}}
<div class="flex-item-body">
<b>{{ctx.Locale.Tr "settings.key_id"}}:</b> {{.PaddedKeyID}}