@@ -12,6 +12,7 @@ import (
1212	"net/http" 
1313	"os" 
1414	"path/filepath" 
15+ 	"strconv" 
1516	"strings" 
1617
1718	"code.gitea.io/gitea/models/db" 
@@ -350,6 +351,14 @@ func Appearance(ctx *context.Context) {
350351		return  forms .IsUserHiddenCommentTypeGroupChecked (commentTypeGroup , hiddenCommentTypes )
351352	}
352353
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+ 
353362	ctx .HTML (http .StatusOK , tplSettingsAppearance )
354363}
355364
@@ -421,3 +430,16 @@ func UpdateUserHiddenComments(ctx *context.Context) {
421430	ctx .Flash .Success (ctx .Tr ("settings.saved_successfully" ))
422431	ctx .Redirect (setting .AppSubURL  +  "/user/settings/appearance" )
423432}
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