Add new settings profile and preferences pages (#672)

* Add new settings profile and preferences pages

* Fix lint errors
This commit is contained in:
Zach Gollwitzer
2024-04-25 07:54:56 -04:00
committed by GitHub
parent ad4de99f1a
commit 5a5f13b46b
15 changed files with 192 additions and 32 deletions

View File

@@ -3,5 +3,23 @@ class Settings::PreferencesController < ApplicationController
end
def update
preference_params_with_family = preference_params
if Current.family && preference_params[:family_attributes]
family_attributes = preference_params[:family_attributes].merge({ id: Current.family.id })
preference_params_with_family[:family_attributes] = family_attributes
end
if Current.user.update(preference_params_with_family)
redirect_to settings_preferences_path, notice: t(".success")
else
redirect_to settings_preferences_path, notice: t(".success")
render :edit, status: :unprocessable_entity
end
end
private
def preference_params
params.require(:user).permit(family_attributes: [ :id, :currency ])
end
end

View File

@@ -5,13 +5,13 @@ class Settings::ProfilesController < ApplicationController
def update
user_params_with_family = user_params
if Current.family
if Current.family && user_params_with_family[:family_attributes]
family_attributes = user_params_with_family[:family_attributes].merge({ id: Current.family.id })
user_params_with_family[:family_attributes] = family_attributes
end
if Current.user.update(user_params_with_family)
redirect_to root_path, notice: "Profile updated successfully."
redirect_to settings_profile_path, notice: t(".success")
else
render :edit, status: :unprocessable_entity
end
@@ -20,7 +20,7 @@ class Settings::ProfilesController < ApplicationController
private
def user_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation,
family_attributes: [ :name, :id, :currency ])
params.require(:user).permit(:first_name, :last_name,
family_attributes: [ :name, :id ])
end
end