Skip to content

Commit

Permalink
[#7] Refactors User form to shared partials.
Browse files Browse the repository at this point in the history
  • Loading branch information
fabionl committed Nov 21, 2021
1 parent dcda00c commit 8620b73
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 63 deletions.
24 changes: 24 additions & 0 deletions app/views/admin/shared/_user_configs.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<%# Expects to receive a form object and a disabled boolean
@params form -> a Rails' form builder object
@params disabled -> boolean to configure if the fields are supposed to be disabled
#%>
<%= render Shared::CardComponent.new(title: 'Config') do |card| %>
<div class="field">
<div class="control">
<%= form.label :verified, class: "checkbox" do %>
Verified:
<%= form.check_box :verified, class: "checkbox", disabled: disabled %>
<% end %>
</div>
</div>

<div class="field">
<div class="control">
<%= form.label :admin, class: "checkbox" do %>
Admin:
<%= form.check_box :admin, class: "checkbox", disabled: disabled %>
<% end %>
</div>
</div>
<% end %>

35 changes: 35 additions & 0 deletions app/views/admin/shared/_user_details.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<%# Expects to receive a form object and a disabled boolean
@params form -> a Rails' form builder object
@params disabled -> boolean to configure if the fields are supposed to be disabled
#%>
<%= render Shared::CardComponent.new(title: 'Details') do |card| %>
<div class="field">
<%= form.label :name, "Name:", class: "label" %>
<div class="control">
<%= form.text_field :name, class: "input", disabled: disabled %>
</div>
</div>

<div class="field">
<%= form.label :email, "Email:", class: "label" %>
<div class="control">
<%= form.email_field :email, class: "input", disabled: disabled %>
</div>
</div>

<div class="field">
<%= form.label :phone_number, "Phone Number:", class: "label" %>
<div class="control">
<%= form.telephone_field :phone_number, class: "input", disabled: disabled %>
</div>
</div>

<div class="field">
<%= form.label :organization, "Organization:", class: "label" %>
<div class="control">
<%= form.text_field :organization, class: "input", disabled: disabled %>
</div>
</div>
<% end %>

21 changes: 21 additions & 0 deletions app/views/admin/shared/_user_password.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<%# Expects to receive a form object and a disabled boolean
@params form -> a Rails' form builder object
@params disabled -> boolean to configure if the fields are supposed to be disabled
#%>
<%= render Shared::CardComponent.new(title: 'Password') do |card| %>
<div class="field">
<%= form.label :password, "Password:", class: "label" %>
<div class="control">
<%= form.password_field :password, class: "input" %>
</div>
</div>

<div class="field">
<%= form.label :password_confirmation, "Password Confirmation:", class: "label" %>
<div class="control">
<%= form.password_field :password_confirmation, class: "input", disabled: disabled %>
</div>
</div>
<% end %>

66 changes: 3 additions & 63 deletions app/views/admin/users/_form.html.erb
Original file line number Diff line number Diff line change
@@ -1,73 +1,13 @@
<div class="columns">
<div class="column">
<%= render Shared::CardComponent.new(title: 'Details') do |card| %>
<div class="field">
<%= form.label :name, "Name:", class: "label" %>
<div class="control">
<%= form.text_field :name, class: "input" %>
</div>
</div>

<div class="field">
<%= form.label :email, "Email:", class: "label" %>
<div class="control">
<%= form.email_field :email, class: "input" %>
</div>
</div>

<div class="field">
<%= form.label :phone_number, "Phone Number:", class: "label" %>
<div class="control">
<%= form.telephone_field :phone_number, class: "input" %>
</div>
</div>

<div class="field">
<%= form.label :organization, "Organization:", class: "label" %>
<div class="control">
<%= form.text_field :organization, class: "input" %>
</div>
</div>
<% end %>
<%= render partial: 'admin/shared/user_details', locals: { form: form, disabled: false } %>
</div>

<div class="column">
<%= render Shared::CardComponent.new(title: 'Config') do |card| %>
<div class="field">
<div class="control">
<%= form.label :verified, class: "checkbox" do %>
Verified:
<%= form.check_box :verified, class: "checkbox" %>
<% end %>
</div>
</div>

<div class="field">
<div class="control">
<%= form.label :admin, class: "checkbox" do %>
Admin:
<%= form.check_box :admin, class: "checkbox" %>
<% end %>
</div>
</div>
<% end %>
<%= render partial: 'admin/shared/user_configs', locals: { form: form, disabled: false } %>
<% if @user.new_record? %>
<%= render Shared::CardComponent.new(title: 'Password') do |card| %>
<div class="field">
<%= form.label :password, "Password:", class: "label" %>
<div class="control">
<%= form.password_field :password, class: "input" %>
</div>
</div>

<div class="field">
<%= form.label :password_confirmation, "Password Confirmation:", class: "label" %>
<div class="control">
<%= form.password_field :password_confirmation, class: "input" %>
</div>
</div>
<% end %>
<%= render partial: "admin/shared/user_password", locals: { form: form, disabled: false } %>
<% end %>
</div>
</div>

0 comments on commit 8620b73

Please sign in to comment.