houston/houston-core

View on GitHub
app/views/users/_form.html.erb

Summary

Maintainability
Test Coverage
<%= form_for @user, :html => { :class => "form-horizontal" } do |f| %>
  <fieldset>

    <div class="control-group">
      <%= f.label :first_name, :class => "control-label" %>
      <div class="controls">
        <%= f.text_field :first_name, :class => "text_field" %>
      </div>
    </div>

    <div class="control-group">
      <%= f.label :last_name, :class => "control-label" %>
      <div class="controls">
        <%= f.text_field :last_name, :class => "text_field" %>
      </div>
    </div>

    <div class="control-group">
      <%= f.label :nickname, "Nickname", :class => "control-label" %>
      <div class="controls">
        <%= f.text_field :nickname, :class => "text_field" %>
      </div>
    </div>

    <div class="control-group">
      <%= f.label :email, "Primary Email Address", :class => "control-label" %>
      <div class="controls">
        <%= f.text_field :email, :class => "text_field" %>
      </div>
    </div>

    <div class="control-group">
      <%= f.label :alias_emails, "Other Email Addresses", :class => "control-label" %>
      <div class="controls">
        <%= f.text_area :alias_emails, :class => "text_field", rows: 3, value: @user.alias_emails.join("\n") %>
      </div>
    </div>

    <% if current_user.owner? %>
      <div class="control-group">
        <%= f.label :role, :class => "control-label" %>
        <div class="controls">
          <%= f.select :role, User::ROLES, {class: "select_field"}, {disabled: (current_user == @user)} %>
        </div>
      </div>
    <% end %>


    <%= render_props_fields(f, "edit_user") %>


    <% if @user.new_record? %>
      <div class="control-group">
        <div class="controls">
          <label for="send_invitation">
            <input type="checkbox" id="send_invitation" name="send_invitation" value="1" checked="checked" /> Invite user to set up an account
          </label>
        </div>
      </div>
    <% end %>

    <div class="form-actions">
      <%= f.submit nil, :class => "btn btn-primary" %>
      <%= link_to "Invite", invite_user_path(@user), :method => "post", :class => "btn btn-primary" if @user.persisted? && @user.username.blank? && @user.encrypted_password.blank? && !@user.invitation_sent_at? && can?(:create, User) %>
      <%= link_to "Cancel", users_path, :class => "btn" %>

      <% if @user.persisted? && can?(:destroy, @user) %>
        <button class="btn btn-delete btn-danger" id="retire_user_button">Retire</button>
      <% end %>
    </div>

  </fieldset>
<% end %>

<% content_for :javascripts do %>
<script type="text/javascript">
  $(function() {
    <% if @user.persisted? && can?(:destroy, @user) %>
    $('#retire_user_button').click(function(e) {
      e.preventDefault();
      $.destroy('<%= user_path(@user) %>')
        .success(function() { window.location = '/users'; })
        .error(function() { console.log(arguments); });
    });
    <% end %>
  });
</script>
<% end %>