mirror of
https://github.com/TracksApp/tracks.git
synced 2025-09-21 21:40:48 +02:00
54 lines
1.7 KiB
Ruby
54 lines
1.7 KiB
Ruby
class PreferencesController < ApplicationController
|
|
def index
|
|
@page_title = t('preferences.page_title')
|
|
@prefs = current_user.prefs
|
|
@user = current_user
|
|
end
|
|
|
|
def update
|
|
@prefs = current_user.prefs
|
|
@user = current_user
|
|
user_updated = current_user.update(user_params)
|
|
prefs_updated = current_user.preference.update(prefs_params)
|
|
if (user_updated && prefs_updated)
|
|
if params['user']['password'].present? # password updated?
|
|
logout_user t('preferences.password_changed')
|
|
else
|
|
preference_updated
|
|
end
|
|
else
|
|
msg = "Preferences could not be updated: "
|
|
msg += "User model errors; " unless user_updated
|
|
msg += "Prefs model errors; " unless prefs_updated
|
|
notify :warning, msg
|
|
render 'index'
|
|
end
|
|
end
|
|
|
|
def render_date_format
|
|
format = params[:date_format]
|
|
render :body => l(Date.current, :format => format)
|
|
end
|
|
|
|
private
|
|
|
|
def prefs_params
|
|
params.require(:prefs).permit(
|
|
:date_format, :week_starts, :show_number_completed,
|
|
:show_completed_projects_in_sidebar, :show_hidden_contexts_in_sidebar,
|
|
:staleness_starts, :due_style, :locale, :title_date_format, :time_zone,
|
|
:show_hidden_projects_in_sidebar, :show_project_on_todo_done,
|
|
:review_period, :refresh, :verbose_action_descriptors,
|
|
:mobile_todos_per_page, :sms_email, :sms_context_id, :theme)
|
|
end
|
|
|
|
def user_params
|
|
params.require(:user).permit(:login, :first_name, :last_name, :email, :password_confirmation, :password, :auth_type, :open_id_url)
|
|
end
|
|
|
|
# Display notification if preferences are successful updated
|
|
def preference_updated
|
|
notify :notice, t('preferences.updated')
|
|
redirect_to :action => 'index'
|
|
end
|
|
end
|