CMSgov/dpc-app

View on GitHub
dpc-admin/app/views/users/index.html.erb

Summary

Maintainability
Test Coverage
<% title "Manage Users" %>

<div class="ds-l-row">
  <div class="ds-l-row--12 ds-l-md-col--3">
    <%= render "shared/sidenav", current: :users %>
  </div>

  <section class="ds-l-row--12 ds-l-md-col--9 ds-u-md-padding-left--2">
    <%= link_to download_users_path(format: :csv, users: @users.map(&:id)),  class: "utility-button" do %>
      <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
        <use xlink:href="/admin/assets/solid.svg#download"></use>
      </svg>
      Download CSV
    <% end %>

  <section class="ds-l-row--12 ds-l-md-col--12 ds-u-md-padding-left--2">
    <p class=""><%= page_entries_info @users %></p>
    <%= form_tag users_path, method: "get", class: "ds-u-display--flex" do %>
      <%= hidden_field_tag :org_status, params[:org_status] %>
      <%= text_field_tag :keyword, params[:keyword], placeholder: "first name, last name, or email", class: "ds-c-field ds-u-margin--0" %>
      <%= submit_tag "Search", data: { test: 'users-keyword-search-submit' }, class: "ds-c-button ds-c-button--primary ds-u-margin-left--1" %>
    <% end %>

    <div class="ds-u-margin-top--5 ds-u-margin-bottom--2">

    <button type="button" id="filter-modal-trigger" class="list-control-button" data-modal-show="filter-modal" data-test="filter-modal-trigger">
      <svg class="icon ds-u-margin-right--1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
        <use xlink:href="/admin/assets/solid.svg#filter"></use>
      </svg>
      Filter
    </button>

    </div>

    <% @users.each do |user| %>
      <div class="module-container">
        <div class="module-container__id">
          <%= user.id %>
        </div>
        <div class="module-container__primary">
          <h2 class="module-container__heading"><%= link_to user.name, user_path(user) %></h2>
          <div class="site-pills ds-u-margin--0 ds-u-padding-x--2">
          <% user.taggings.each do |tagging| %>
            <span class="site-pills__item site-pills__item--small">
              <%= tagging.tag_name %>
            </span>
          <% end %>
          </div>
          <div class="module-container__primary__footer">
            <div class="ds-u-color--gray">
              Signed up: <%= user.created_at.strftime("%m/%d/%Y") %><br />
              <% if user.confirmed_at != nil %>
                Confirmed
              <% else %>
                Not Confirmed
              <% end %>
            </div>
            <div class="ds-u-color--gray module-container__notes-summary">
              <svg class="icon ds-u-color--muted" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
              <use xlink:href="/admin/assets/solid.svg#sticky-note"></use>
              </svg> <span aria-label="Notes">0</span>
            </div>
          </div>
        </div>
        <div class="module-container__secondary">
          <% if user.primary_organization %>
          <div class="module-container__indicator module-container__indicator--success">Assigned organization</div>
          <div class="module-container__content-wrap">
            <div>
              <svg class="icon ds-u-margin-right--1 ds-u-color--muted" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
              <use xlink:href="/admin/assets/solid.svg#clinic-medical"></use>
              </svg>
              <%= user.primary_organization.name %> </div>
            <div>
              <svg class="icon ds-u-margin-right--1 ds-u-color--muted" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
              <use xlink:href="/admin/assets/solid.svg#shapes"></use>
              </svg>
              <%= user.primary_organization.organization_type.titleize %></div>
            <div>
              <svg class="icon ds-u-margin-right--1 ds-u-color--muted" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
              <use xlink:href="/admin/assets/solid.svg#map-marker-alt"></use>
              </svg>
              <%= user.primary_organization.address_city %>, <%= user.primary_organization.address_state %>
            </div>
          </div>
          <% else %>
            <div class="module-container__indicator module-container__indicator--warn">Requested organization</div>
            <div class="module-container__content-wrap">
              <div>
                <svg class="icon ds-u-margin-right--1 ds-u-color--muted" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
                <use xlink:href="/admin/assets/solid.svg#clinic-medical"></use>
                </svg>
                <%= user.requested_organization %> </div>
              <div>
                <svg class="icon ds-u-margin-right--1 ds-u-color--muted" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
                <use xlink:href="/admin/assets/solid.svg#shapes"></use>
                </svg>
                <%= user.requested_organization_type.titleize %> </div>
              <div>
                <svg class="icon ds-u-margin-right--1 ds-u-color--muted" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
                <use xlink:href="/admin/assets/solid.svg#map-marker-alt"></use>
                </svg>
                <%= city_state(user) %>
              </div>
            </div>
          <% end %>
        </div>
      </div>
    <% end %>
    <%= paginate @users %>
  </section>
</div>

<%= render 'filter_modal' %>