New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added user language setting #3875

Merged
merged 20 commits into from May 5, 2018

Conversation

6 participants
@kolaente
Copy link
Member

kolaente commented May 1, 2018

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

kolaente added some commits May 1, 2018

@@ -25,6 +25,7 @@ import (
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"github.com/Unknwon/i18n"

This comment has been minimized.

@jonasfranz

jonasfranz May 1, 2018

Member

Fix import order

This comment has been minimized.

@kolaente

kolaente May 1, 2018

Member

Done.


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

This comment has been minimized.

@jonasfranz

jonasfranz May 1, 2018

Member

Fix import order

@@ -176,6 +176,8 @@ var migrations = []Migration{
NewMigration("add is_fsck_enabled column for repos", addFsckEnabledToRepo),
// v61 -> v62
NewMigration("add size column for attachments", addSizeToAttachment),
// v62 -> v63
NewMigration("add language comumn for user setting", addLanguageSetting),

This comment has been minimized.

@jonasfranz

jonasfranz May 1, 2018

Member

Fix typo

<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>

This comment has been minimized.

@jonasfranz

jonasfranz May 1, 2018

Member

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.

This comment has been minimized.

@kolaente

kolaente May 1, 2018

Member

Fixed that.

@@ -333,6 +333,11 @@ func handleSignInFull(ctx *context.Context, u *models.User, remember bool, obeyR
ctx.Session.Set("uid", u.ID)
ctx.Session.Set("uname", u.Name)

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

This comment has been minimized.

@lafriks

lafriks May 1, 2018

Member

len(u.Language) != 0

This comment has been minimized.

@kolaente

kolaente May 1, 2018

Member

Fixed.

Language string `xorm:"VARCHAR(5)"`
}

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

This comment has been minimized.

@jonasfranz

jonasfranz May 1, 2018

Member

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)?

This comment has been minimized.

@lafriks

lafriks May 1, 2018

Member

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

This comment has been minimized.

@kolaente

kolaente May 1, 2018

Member

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

This comment has been minimized.

@kolaente

kolaente May 1, 2018

Member

Done.

@jonasfranz

This comment has been minimized.

Copy link
Member

jonasfranz commented May 1, 2018

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

kolaente added some commits May 1, 2018

@lafriks lafriks added the kind/feature label May 1, 2018

@lafriks lafriks added this to the 1.5.0 milestone May 1, 2018

@lafriks lafriks added the changelog label May 1, 2018

kolaente added some commits May 1, 2018

fmt
@kolaente

This comment has been minimized.

Copy link
Member

kolaente commented May 1, 2018

@JonasFranzDEV done.

kolaente added some commits May 1, 2018

@kolaente

This comment has been minimized.

Copy link
Member

kolaente commented May 1, 2018

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

@jonasfranz

This comment has been minimized.

Copy link
Member

jonasfranz commented May 1, 2018

LGTM

@bkcsoft bkcsoft added lgtm/need 1 and removed lgtm/need 2 labels May 1, 2018

@kolaente

This comment has been minimized.

Copy link
Member

kolaente commented May 1, 2018

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

kolaente added some commits May 1, 2018

Merge branch 'master' of https://github.com/go-gitea/gitea into save-…
…user-language

# Conflicts:
#	vendor/vendor.json
Merge branch 'master' of https://github.com/go-gitea/gitea into save-…
…user-language

# Conflicts:
#	models/migrations/migrations.go
#	models/migrations/v62.go
Merge branch 'master' of https://github.com/go-gitea/gitea into save-…
…user-language

# Conflicts:
#	models/migrations/migrations.go
#	models/migrations/v62.go

kolaente added some commits May 3, 2018

fmt
@codecov-io

This comment has been minimized.

Copy link

codecov-io commented May 3, 2018

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.

@lafriks

lafriks approved these changes May 3, 2018

@bkcsoft bkcsoft added lgtm/done and removed lgtm/need 1 labels May 3, 2018

// 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 {

This comment has been minimized.

@lunny

lunny May 4, 2018

Member

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

This comment has been minimized.

@kolaente

kolaente May 4, 2018

Member

Fixed that.

kolaente and others added some commits May 4, 2018

@lafriks

This comment has been minimized.

Copy link
Member

lafriks commented May 4, 2018

@lunny need your approval

@lunny

lunny approved these changes May 5, 2018

@lunny lunny merged commit 1fdf560 into go-gitea:master May 5, 2018

3 checks passed

Codacy/PR Quality Review Up to standards. A positive pull request.
Details
approvals/lgtm this commit looks good
continuous-integration/drone/pr the build was successful
Details

jonasfranz added a commit to jonasfranz/gitea that referenced this pull request May 6, 2018

Added user language setting (go-gitea#3875)
* Added user language setting

* Added translation string for setting

* Fixed import order + typo

* improved checking if the user has a language saved in the db

* The current saved language is now set a default inside the dropdown

* fmt

* When a user signs in and doesn't have a language saved, the current browser language is saved

* updated gitea-sdk

* Merge branch 'master' of https://github.com/go-gitea/gitea into save-user-language

# Conflicts:
#	models/migrations/migrations.go
#	models/migrations/v62.go

* Made tests work again

* trigger CI

* trigger CI

* fmt

* re-trigger that FUCKING CI SO IT REALLY PICKS UP THE LATEST COMMIT ISTEAD OF PREDENDING TO DO SO

* re-trigger that FUCKING CI SO IT REALLY PICKS UP THE LATEST COMMIT ISTEAD OF PREDENDING TO DO SO

* When loggin in, only the language col gets updated instead of everything

aswild added a commit to aswild/gitea that referenced this pull request Jul 6, 2018

Merge tag 'v1.5.0-rc1' into wild/v1.5
* 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 kolaente:save-user-language branch Jul 15, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment