holderdeord/hdo-site

View on GitHub
app/views/admin/issues/_promises.html.erb

Summary

Maintainability
Test Coverage
<div class="tabbable">
  <ul class="nav nav-tabs">
    <li class="active">
      <a href="#promise-connections-tab" data-toggle="tab">Koblede løfter</a>
    </li>

    <li>
      <a href="#promise-search-tab" data-toggle="tab">Finn løfter</a>
    </li>

    <li class="pull-right">
      <%= image_tag 'spinner.gif', id: 'promise-spinner', class: 'hidden' %>
      <div class="cart"></div>
    </li>
  </ul>

  <div class="tab-content">
    <div class="tab-pane active" id="promise-connections-tab">
      <% issue.promise_connections.includes(:promise).
                                   sort_by { |pc| pc.promise.short_party_names }.
                                   group_by { |e| e.promise.parliament_period }.
                                   sort_by { |period, _| period.name }.
                                   reverse.each do |period, connections| %>
        <h4>
          <%= period.name %>
          <small class="pull-right muted">
            <%= connections.size %> <%= Promise.model_name.human(count: connections.size) %>
          </small>
        </h4>

        <% connections.each do |pc| %>
          <div class="promise-connection" data-context='<%= pc.as_edit_view_json.to_json.html_safe %>'>Laster...</div>
        <% end %>
      <% end %>
    </div>

    <div class="tab-pane" id="promise-search-tab">
      Ække klart enna
    </div>
  </div>

</div>

<script data-name="promise-connection-template" type="text/x-handlebars-template">
  <div class="row-fluid">
    <div class="span2">{{promisor_name}}</div>
    <div class="span6"><small>{{promise_body}}</small></div>
    <div class="span4">
      <select class="pull-right" id="promises_{{promise_id}}_status" name="promises[{{promise_id}}][status]">
        <% PromiseConnection.form_states.each do |state| %>
          <option value="<%= state %>" {{selectedIfEqual "<%= state %>" status}}>
            <%= t("app.issues.edit.promise.#{state}") %>
          </option>
        <% end %>
      </select>
    </div>
  </div>
</script>

<script data-name="promise-search-template" type="text/x-handlebars-template">
  <div class="row-fluid">
    <div class="span4">
      {{> navigators}}
    </div>

    <div class="span8">
      {{> pagination}}

      {{#results}}
        <div class="search-result {{#selected}}selected{{/selected}} {{#connected}}connected{{/connected}}" data-type='promise' data-id='{{id}}'>
          <div class="row-fluid">
            {{body}}
          </div>

          <div class="row-fluid">
            <small class="muted">{{parliament_period_name}}, {{promisor_name}}</small>
          </div>
        </div>
      {{/results}}

      {{> pagination}}
    </div>
  </div>
</script>