From e232ab6515df76c1700ef7826db254d23bb5bd55 Mon Sep 17 00:00:00 2001
From: Benedikt Wildenhain <benedikt.wildenhain@hs-bochum.de>
Date: Tue, 5 Dec 2023 18:14:03 +0100
Subject: [PATCH] Allow to change email address again

Reverting https://github.com/bigbluebutton/greenlight/pull/4616
---
 app/controllers/api/v1/users_controller.rb                    | 2 +-
 app/javascript/components/users/user/forms/UpdateUserForm.jsx | 2 +-
 build.sh                                                      | 1 +
 spec/controllers/users_controller_spec.rb                     | 2 ++
 4 files changed, 5 insertions(+), 2 deletions(-)
 create mode 100644 build.sh

diff --git a/app/controllers/api/v1/users_controller.rb b/app/controllers/api/v1/users_controller.rb
index 98b52024..c7ea3e28 100644
--- a/app/controllers/api/v1/users_controller.rb
+++ b/app/controllers/api/v1/users_controller.rb
@@ -158,7 +158,7 @@ module Api
       end
 
       def update_user_params
-        @update_user_params ||= params.require(:user).permit(:name, :password, :avatar, :language, :role_id, :invite_token)
+        @update_user_params ||= params.require(:user).permit(:name, :email, :password, :avatar, :language, :role_id, :invite_token)
       end
 
       def change_password_params
diff --git a/app/javascript/components/users/user/forms/UpdateUserForm.jsx b/app/javascript/components/users/user/forms/UpdateUserForm.jsx
index 7d524695..71da2547 100644
--- a/app/javascript/components/users/user/forms/UpdateUserForm.jsx
+++ b/app/javascript/components/users/user/forms/UpdateUserForm.jsx
@@ -71,7 +71,7 @@ export default function UpdateUserForm({ user }) {
   return (
     <Form methods={methods} onSubmit={updateUserAPI.mutate}>
       <FormControl field={fields.name} type="text" />
-      <FormControl field={fields.email} type="email" readOnly />
+      <FormControl field={fields.email} type="email" />
       <FormSelect field={fields.language} variant="dropdown">
         {
           Object.keys(locales || {}).map((code) => <Option key={code} value={code}>{locales[code]}</Option>)
diff --git a/build.sh b/build.sh
new file mode 100644
index 00000000..15d7dbdf
--- /dev/null
+++ b/build.sh
@@ -0,0 +1 @@
+docker build -t gitlab.cvh-server.de:5050/hardwarenahe-it/greenlight:v3-modify-mail .
diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb
index e7f59cde..0abbcc7b 100644
--- a/spec/controllers/users_controller_spec.rb
+++ b/spec/controllers/users_controller_spec.rb
@@ -313,6 +313,7 @@ RSpec.describe Api::V1::UsersController, type: :controller do
     it 'updates the users attributes' do
       updated_params = {
         name: 'New Name',
+        email: 'mail@example.org',
         language: 'fr'
       }
       patch :update, params: { id: user.id, user: updated_params }
@@ -321,6 +322,7 @@ RSpec.describe Api::V1::UsersController, type: :controller do
       user.reload
 
       expect(user.name).to eq(updated_params[:name])
+      expect(user.email).to eq(updated_params[:email])
       expect(user.language).to eq(updated_params[:language])
     end
 
-- 
GitLab