@@ -12,6 +12,7 @@ import (
12
12
"net/http"
13
13
"os"
14
14
"path/filepath"
15
+ "strconv"
15
16
"strings"
16
17
17
18
"code.gitea.io/gitea/models/db"
@@ -350,6 +351,14 @@ func Appearance(ctx *context.Context) {
350
351
return forms .IsUserHiddenCommentTypeGroupChecked (commentTypeGroup , hiddenCommentTypes )
351
352
}
352
353
354
+ val , err = user_model .GetUserSetting (ctx .Doer .ID , user_model .SettingsForceAbsoluteTimestamps )
355
+ if err != nil {
356
+ ctx .ServerError ("GetUserSetting" , err )
357
+ return
358
+ }
359
+ forceAbsoluteTimestamps , _ := strconv .ParseBool (val ) // we can safely ignore the failed conversion here
360
+ ctx .Data ["ForceAbsoluteTimestamps" ] = forceAbsoluteTimestamps
361
+
353
362
ctx .HTML (http .StatusOK , tplSettingsAppearance )
354
363
}
355
364
@@ -421,3 +430,16 @@ func UpdateUserHiddenComments(ctx *context.Context) {
421
430
ctx .Flash .Success (ctx .Tr ("settings.saved_successfully" ))
422
431
ctx .Redirect (setting .AppSubURL + "/user/settings/appearance" )
423
432
}
433
+
434
+ // UpdateUserTimestamps update a user's timestamp preferences
435
+ func UpdateUserTimestamps (ctx * context.Context ) {
436
+ err := user_model .SetUserSetting (ctx .Doer .ID , user_model .SettingsForceAbsoluteTimestamps , strconv .FormatBool (forms .UserTimestampsFromRequest (ctx ).ForceAbsoluteTimestamps ))
437
+ if err != nil {
438
+ ctx .ServerError ("SetUserSetting" , err )
439
+ return
440
+ }
441
+
442
+ log .Trace ("User settings updated: %s" , ctx .Doer .Name )
443
+ ctx .Flash .Success (ctx .Tr ("settings.saved_successfully" ))
444
+ ctx .Redirect (setting .AppSubURL + "/user/settings/appearance" )
445
+ }
0 commit comments