Skip to content

Added user language setting - #3875

Merged
lunny merged 20 commits into
go-gitea:masterfrom
kolaente:save-user-language
May 5, 2018
Merged

lunny merged 20 commits into
go-gitea:masterfrom
kolaente:save-user-language

Conversation

@kolaente

@kolaente kolaente commented May 1, 2018 •

Copy link
Copy Markdown
Member

This pr adds the possibility for users to set their language in the profile settings. When logging in, this setting overwrites the current language setting.

This feature is needed to send translatable emails in the future.

Blocked by go-gitea/go-sdk#104

Comment thread routers/user/setting.go Outdated
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"github.com/Unknwon/i18n"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix import order

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Comment thread models/migrations/v62.go

import (
"fmt"
"github.com/go-xorm/xorm"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix import order

Comment thread models/migrations/migrations.go Outdated
// v61 -> v62
NewMigration("add size column for attachments", addSizeToAttachment),
// v62 -> v63
NewMigration("add language comumn for user setting", addLanguageSetting),

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix typo

Comment thread templates/user/settings/profile.tmpl Outdated
<div class="text">{{.LangName}}</div>
<div class="menu">
{{range .AllLangs}}
<div class="item{{if eq $.Lang .Lang}} active selected{{end}}" data-value="{{.Lang}}">{{.Name}}</div>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should check if .Lang is equal with user's language in database and not with the current language.
If I set german as my language but change it manually by selecting another language (example: english) from the dropdown in the footer, the selected language in the form will be english. The expected selected language should be german.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed that.

@bkcsoft bkcsoft added lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels May 1, 2018
Comment thread routers/user/auth.go Outdated
ctx.Session.Set("uname", u.Name)

// Language setting of the user overwrites the one previously set
if u.Language != "" {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

len(u.Language) != 0

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

Comment thread models/migrations/v62.go Outdated
Language string `xorm:"VARCHAR(5)"`
}

if err := x.Sync2(new(User)); err != nil {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible that if a user logs in after an upgrade of the database, the language he/she is currently using is set as language in database? Do you think that the default language should be en_US (at database migration)?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think empty can be left as default after migration but when first logging in if it is empty it could be set to current ui language

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't thought of that, I'll implement it.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@jonasfranz

Copy link
Copy Markdown
Member

@kolaente Please update go-sdk in order to fix the drone build.

@lafriks lafriks added the type/feature Completely new functionality. Can only be merged if feature freeze is not active. label May 1, 2018
@lafriks lafriks added this to the 1.5.0 milestone May 1, 2018
@lafriks lafriks added the release/highlight Marks a PR as a highlight-worthy change for the release notes. label May 1, 2018
@kolaente

kolaente commented May 1, 2018

Copy link
Copy Markdown
Member Author

@JonasFranzDEV done.

@kolaente

kolaente commented May 1, 2018

Copy link
Copy Markdown
Member Author

Does someone know why drone doesn't picks up the right commit?

@jonasfranz

Copy link
Copy Markdown
Member

LGTM

@bkcsoft bkcsoft added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels May 1, 2018
@kolaente

kolaente commented May 1, 2018

Copy link
Copy Markdown
Member Author

Drone fail seems unrelated, the tests work on my machine.

kolaente added 6 commits May 1, 2018 21:56
…user-language

# Conflicts:
#	models/migrations/migrations.go
#	models/migrations/v62.go
…user-language

# Conflicts:
#	models/migrations/migrations.go
#	models/migrations/v62.go
@codecov-io

codecov-io commented May 3, 2018 •

Copy link
Copy Markdown

Codecov Report

Merging #3875 into master will increase coverage by <.01%.
The diff coverage is 6.25%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3875      +/-   ##
==========================================
+ Coverage   20.16%   20.17%   +<.01%     
==========================================
  Files         145      145              
  Lines       29156    29171      +15     
==========================================
+ Hits         5880     5884       +4     
- Misses      22381    22393      +12     
+ Partials      895      894       -1
Impacted Files Coverage Δ
routers/user/setting.go 2.75% <0%> (-0.02%) ⬇️
routers/user/auth.go 0% <0%> (ø) ⬆️
models/user.go 23.58% <100%> (+0.08%) ⬆️
modules/process/manager.go 73.91% <0%> (+4.34%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 795dcc8...5660ff0. Read the comment docs.

@bkcsoft bkcsoft added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels May 3, 2018
Comment thread routers/user/auth.go Outdated
// If the user does not have a locale set, we save the current one.
if len(u.Language) == 0 {
u.Language = ctx.Locale.Language()
if err := models.UpdateUser(u); err != nil {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should only update language column but not all the columns.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed that.

@lafriks

lafriks commented May 4, 2018

Copy link
Copy Markdown
Member

@lunny need your approval

@lunny
lunny merged commit 1fdf560 into go-gitea:master May 5, 2018
aswild added a commit to aswild/gitea that referenced this pull request Jul 6, 2018
* SECURITY
  * Limit uploaded avatar image-size to 4096x3072 by default (go-gitea#4353)
  * Do not allow to reuse TOTP passcode (go-gitea#3878)
* FEATURE
  * Add cli commands to regen hooks & keys (go-gitea#3979)
  * Add support for FIDO U2F (go-gitea#3971)
  * Added user language setting (go-gitea#3875)
  * LDAP Public SSH Keys synchronization (go-gitea#1844)
  * Add topic support (go-gitea#3711)
  * Multiple assignees (go-gitea#3705)
  * Add protected branch whitelists for merging (go-gitea#3689)
  * Global code search support (go-gitea#3664)
  * Add label descriptions (go-gitea#3662)
  * Add issue search via API (go-gitea#3612)
  * Add repository setting to enable/disable health checks (go-gitea#3607)
  * Emoji Autocomplete (go-gitea#3433)
  * Implements generator cli for secrets (go-gitea#3531)
* ENHANCEMENT
  * Add more webhooks support and refactor webhook templates directory (go-gitea#3929)
  * Add new option to allow only OAuth2/OpenID user registration (go-gitea#3910)
  * Add option to use paged LDAP search when synchronizing users (go-gitea#3895)
  * Symlink icons (go-gitea#1416)
  * Improve release page UI (go-gitea#3693)
  * Add admin dashboard option to run health checks (go-gitea#3606)
  * Add branch link in branch list (go-gitea#3576)
  * Reduce sql query times in retrieveFeeds (go-gitea#3547)
  * Option to enable or disable swagger endpoints (go-gitea#3502)
  * Add missing licenses (go-gitea#3497)
  * Reduce repo indexer disk usage (go-gitea#3452)
  * Enable caching on assets and avatars (go-gitea#3376)
  * Add repository search ordered by stars/forks. Forks column in admin repo list (go-gitea#3969)
  * Add Environment Variables to Docker template (go-gitea#4012)
  * LFS: make HTTP auth period configurable (go-gitea#4035)
  * Add config path as an optionial flag when changing pass via CLI (go-gitea#4184)
  * Refactor User Settings sections (go-gitea#3900)
  * Allow square brackets in external issue patterns (go-gitea#3408)
  * Add Attachment API (go-gitea#3478)
  * Add EnableTimetracking option to app settings (go-gitea#3719)
  * Add config option to enable or disable log executed SQL (go-gitea#3726)
  * Shows total tracked time in issue and milestone list (go-gitea#3341)
* TRANSLATION
  * Improve English grammar and consistency (go-gitea#3614)
* DEPLOYMENT
  * Allow Gitea to run as different USER in Docker (go-gitea#3961)
  * Provide compressed release binaries (go-gitea#3991)
  * Sign release binaries (go-gitea#4188)
@kolaente
kolaente deleted the save-user-language branch July 15, 2018 18:33
@go-gitea go-gitea locked and limited conversation to collaborators Nov 24, 2020
@delvh delvh removed the release/highlight Marks a PR as a highlight-worthy change for the release notes. label Oct 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. type/feature Completely new functionality. Can only be merged if feature freeze is not active.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants