CMSgov/dpc-app

View on GitHub
dpc-web/app/views/devise/registrations/edit.html.erb

Summary

Maintainability
Test Coverage
<% title "Edit info" %>

<div class="ds-l-row">
  <div class="ds-l-col--12 ds-l-md-col--6 ds-u-margin-bottom--1 ds-u-margin-x--auto">
    <div class="card card--border-top card--shadow">

      <h1>Edit your info</h1>
        <%= render "devise/shared/error_messages", resource: resource %>

      <%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>

        <div class="field">
          <%= f.label :first_name, class: "ds-c-label" %>
          <%= f.text_field :first_name, class: "ds-c-field" %>
        </div>

        <div class="field">
          <%= f.label :last_name, class: "ds-c-label" %>
          <%= f.text_field :last_name, class: "ds-c-field" %>
        </div>

        <div class="field">
          <%= f.label :email, class: "ds-c-label" %>
          <%= f.email_field :email, autocomplete: "email", class: "ds-c-field" %>
        </div>

        <div class="field">
          <%= f.label :requested_organization, "Name of your organization", class: "ds-c-label" %>
          <%= f.text_field :requested_organization, class: "ds-c-field" %>
        </div>

        <div class="field">
          <%= f.label :requested_organization_type, 'Type of organization', class: "ds-c-label" %>
          <%= f.select :requested_organization_type,
            organization_types_for_select,
            { include_blank: 'Please select a practice type' },
            class: "ds-c-field drop-down",
            :data => {:hide_follow_up => 'health_it_vendor'},
            value: @user.requested_organization_type
          %>

          <div class="field field--follow-up" <% if @user.requested_organization_type == "health_it_vendor" %>hidden<% end %>>
            <%= f.label :requested_num_providers, class: "ds-c-label" do %>
            Number of Providers at Your Organization
            <span class="ds-c-field__hint">You may use an approximate number.<br/>If you are a vendor, leave blank.</span>
            <% end %>
            <%= f.number_field :requested_num_providers, value: "#{resource.requested_num_providers&.positive? ? resource.requested_num_providers : '' }",
              min: 0, class: "ds-c-field ds-c-field--small" %>
          </div>
        </div>



        <div class="field">
          <%= f.label :address_1, class: "ds-c-label" %>
          <%= f.text_field :address_1, class: "ds-c-field" %>
        </div>

        <div class="field">
          <%= f.label :address_2, "Address 2 (optional)", class: "ds-c-label" %>
          <%= f.text_field :address_2, class: "ds-c-field" %>
        </div>

        <div class="field">
          <%= f.label :city, class: "ds-c-label" %>
          <%= f.text_field :city, class: "ds-c-field" %>
        </div>

        <div class="field">
          <%= f.label :state, class: "ds-c-label" %>
          <%= f.select :state,
                states_for_select,
                { include_blank: 'Please select a state' },
                class: "ds-c-field drop-down",
                value: @user.state
          %>
        </div>

        <div class="field">
          <%= f.label :zip, class: "ds-c-label" %>
          <%= f.text_field :zip, class: "ds-c-field" %>
        </div>

        <div class="ds-u-border-y--1 ds-u-padding-y--2 ds-u-margin-top--3">

          <h3 class="ds-u-margin--0">Update your password</h3>

          <div class="field">
            <%= f.label :password, class: "ds-c-label" %> <em>(leave blank if you don't want to change it)</em><br />

            <div class="password-check-list">
              Password must contain at least:<br />
              <div id="password-char-set" class="invalid">
                <%= @minimum_password_length %> characters minimum
              </div>
              <div id="password-lower-set" class="invalid">
                1 lowercase letter
              </div>
              <div id="password-upper-set" class="invalid">
                1 uppercase letter
              </div>
              <div id="password-num-set" class="invalid">
                1 number
              </div>
              <div id="password-special-set" class="invalid">
                1 special character (!@#$&*-)
              </div>
            </div>
            <%= f.password_field :password, autocomplete: "new-password", class: "ds-c-field", onkeyup: "passwordCheck('user_password')" %>
          </div>

          <div class="field">
            <%= f.label :password_confirmation, class: "ds-c-label" %>
            <div class="password-check-list">
              <div id="password-confirm-set" class="invalid">
                Confirm password
              </div>
            </div>
            <%= f.password_field :password_confirmation, autocomplete: "new-password", class: "ds-c-field", onkeyup: "passwordCheck('user_password_confirmation')" %>
          </div>

          <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
            <div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
          <% end %>
        </div>



        <h3>Enter your password to confirm any changes</h3>
        <div class="field">
          <%= f.label :current_password, class: "ds-c-label" %>
          <%= f.password_field :current_password, autocomplete: "current-password", class: "ds-c-field" %>
        </div>



        <div class="actions ds-u-margin-top--3">
          <%= f.submit "Update", class: "ds-c-button ds-c-button--primary" %>
          <%= link_to "Cancel", root_path, class: "ds-c-button ds-c-button--transparent" %>
        </div>
      <% end %>






    </div>
  </div>
</div>

<div class="ds-l-row ds-u-margin-top--5">
  <div class="ds-l-col--12 ds-l-md-col--6 ds-u-margin-bottom--1 ds-u-margin-x--auto">
    <div class="card card--border-top--red">
      <h2 class="ds-u-color--error-dark ds-u-margin-top--0">Delete my account</h2>
      <%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { class: 'delete_user', id: 'delete_resource', method: :delete }) do |f| %>
        <%= f.label :password, class: "ds-c-label" %> <em>Enter your password to delete your account.</em><br />
        <%= f.password_field :password_to_delete, autocomplete: "off", class: "ds-c-field" %><br />
        <%= f.submit "Delete my account", class:"ds-c-button ds-c-button--danger", data: { test: "delete-user-account" } %>
      <% end %>
    </div>
  </div>
</div>