-
Notifications
You must be signed in to change notification settings - Fork 27
/
history.html.haml
58 lines (53 loc) · 3.69 KB
/
history.html.haml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
= stylesheet_link_tag 'rails_admin/ra.history'
= javascript_include_tag 'rails_admin/diff_match_patch'
= javascript_include_tag 'rails_admin/jquery.pretty-text-diff'
= javascript_include_tag 'rails_admin/ra.history'
- params = request.params.except(:action, :controller, :model_name)
- query = params[:query]
- filter = params[:filter]
- sort = params[:sort]
- sort_reverse = params[:sort_reverse]
- path_method = params[:id] ? "history_show_path" : "history_index_path"
= form_tag("", method: "get", class: "search pjax-form form-inline") do
.well
.input-group
%input.form-control.input-small{name: "query", type: "search", value: query, placeholder: "#{t("admin.misc.filter")}", class: 'input-small'}
%span.input-group-btn
%button.btn.btn-primary{type: 'submit', :'data-disable-with' => '<i class="icon-white icon-refresh"></i> '.html_safe + t('admin.misc.refresh')}
%i.icon-white.icon-refresh
= t("admin.misc.refresh")
%table#history.table.table-striped.table-condensed
%thead
%tr
- columns = []
- columns << { property_name: "created_at", css_class: "created_at",link_text: t('admin.table_headers.created_at') }
- columns << { property_name: "username", css_class: "username", link_text: t('admin.table_headers.username') }
- columns << { property_name: "item", css_class: "item", link_text: t('admin.table_headers.item') } if @general
- columns << { property_name: "message", css_class: "message", link_text: t('admin.table_headers.message') }
- columns << { property_name: "rollback", css_class: "rollback", link_text: t('admin.history_rollback.table_headers.rollback') }
- columns.each do |column|
- property_name = column[:property_name]
- selected = (sort == property_name)
- sort_direction = (sort_reverse ? "headerSortUp" : "headerSortDown" if selected)
- sort_location = send(path_method, params.except("sort_reverse").merge(model_name: @abstract_model.to_param, sort: property_name).merge(selected && sort_reverse != "true" ? {sort_reverse: "true"} : {}))
%th{class: "header pjax #{column[:css_class]} #{sort_direction if selected}", :'data-href' => sort_location}= column[:link_text]
%tbody
- @history.each_with_index do |object, index|
%tr
- unless object.created_at.nil?
%td= l(object.created_at, format: :long, default: l(object.created_at, format: :long, locale: :en))
%td= object.username
- if @general
- if o = @abstract_model.get(object.item)
- label = o.send(@abstract_model.config.object_label_method)
- if show_action = action(:show, @abstract_model, o)
%td= link_to(label, url_for(action: show_action.action_name, model_name: @abstract_model.to_param, id: o.id), class: 'pjax')
- else
%td= label
- else
%td= "#{@abstract_model.config.label} ##{object.item}"
%td= object.message.in?(['delete', 'new']) ? t("admin.actions.#{object.message}.done").capitalize : object.message
%td= link_to(t("admin.history_rollback.table_headers.view_changes"), "#", class: "changeset", :data => {:url => url_for(action: action(:history_index, @abstract_model).action_name, model_name: @abstract_model.to_param, version_id: object.version_id)})
- unless params[:all] || !@history.respond_to?(:current_page)
= paginate(@history, theme: lookup_context.exists?('kaminari/ra-twitter-bootstrap/_paginator') ? 'ra-twitter-bootstrap' : 'twitter-bootstrap', remote: true)
= link_to(t("admin.misc.show_all"), send(path_method, params.merge(all: true)), class: "show-all btn pjax") unless (tc = @history.total_count) <= @history.size || tc > 100