clark_kent 0.9.9 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/app/controllers/clark_kent/reports_controller.rb +2 -2
- data/app/models/clark_kent/report.rb +15 -4
- data/app/models/clark_kent/sharing_scope_kind.rb +6 -2
- data/app/views/clark_kent/report_columns/_form.html.erb +8 -8
- data/app/views/clark_kent/report_columns/_index.html.erb +3 -3
- data/app/views/clark_kent/report_columns/_show.html.erb +6 -6
- data/app/views/clark_kent/report_emails/_edit.html.erb +3 -3
- data/app/views/clark_kent/report_emails/_form.html.erb +3 -3
- data/app/views/clark_kent/report_emails/_index.html.erb +3 -3
- data/app/views/clark_kent/report_emails/_show.html.erb +5 -5
- data/app/views/clark_kent/report_filters/_form.html.erb +7 -7
- data/app/views/clark_kent/report_filters/_index.html.erb +3 -3
- data/app/views/clark_kent/report_filters/_show.html.erb +5 -5
- data/app/views/clark_kent/reports/_date_filter.html.erb +10 -12
- data/app/views/clark_kent/reports/_download_link.html.erb +1 -6
- data/app/views/clark_kent/reports/_edit.html.erb +31 -26
- data/app/views/clark_kent/reports/_number_filter.html.erb +6 -6
- data/app/views/clark_kent/reports/_object_filter.html.erb +4 -4
- data/app/views/clark_kent/reports/_print_report.html.erb +1 -1
- data/app/views/clark_kent/reports/_show.html.erb +4 -4
- data/app/views/clark_kent/reports/_string_filter.html.erb +4 -4
- data/app/views/clark_kent/reports/edit.html.erb +4 -4
- data/app/views/clark_kent/reports/new.html.erb +1 -1
- data/app/views/clark_kent/reports/show.html.erb +4 -4
- data/app/views/clark_kent/user_report_emails/_form.html.erb +4 -4
- data/app/views/clark_kent/user_report_emails/_index.html.erb +3 -3
- data/app/views/clark_kent/user_report_emails/_show.html.erb +3 -3
- data/lib/clark_kent/version.rb +1 -1
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +1 -0
- data/test/dummy/log/test.log +519 -23772
- metadata +51 -49
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9e552df82e37d03aacc458fdcbfcccb935f8e3910506ba5efac88b0a8559465d
|
4
|
+
data.tar.gz: 2c4d34bac0e68e8418f771b4dd2932c1cfd3ef29cc0b0462e3032e393721437c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ad6cb7c1c77e05a15ec52c2e95abfbcdf6f0d4e2ee2c3091127a0a50b48fb02329ffb2b099b3103b7092ae5721cdab733226743a2049fb6d82b146d57e8996d
|
7
|
+
data.tar.gz: 01c76efd10ad930849078e2e319036e4e27b64e4e88b14708a1609eb111745ca92c5f33ac7455bd64cf1459cdc9a9d8d53ad48632dc0f5b7253f8fc8573ad022
|
@@ -52,11 +52,11 @@ class ClarkKent::ReportsController < ClarkKent::ApplicationController
|
|
52
52
|
@report_result_name = "report-#{@report.id}-#{Time.now.to_formatted_s(:number)}"
|
53
53
|
parse_date_filters if params[:run_report].present?
|
54
54
|
@these_params[:report_result_name] = @report_result_name
|
55
|
+
@these_params[:browser_tab_id] = @browser_tab_id
|
55
56
|
ConeyIsland.submit(ClarkKent::Report,
|
56
57
|
:send_report_to_s3,
|
57
58
|
args: [@report.id, @these_params],
|
58
|
-
timeout: 300
|
59
|
-
work_queue: 'boardwalk')
|
59
|
+
timeout: 300)
|
60
60
|
render partial: 'download_link'
|
61
61
|
end
|
62
62
|
|
@@ -4,10 +4,14 @@ require 'aws-sdk-v1'
|
|
4
4
|
Dir.glob(Rails.root.join('app/models/reporting/*.rb')) { |file| load file }
|
5
5
|
class Report < ActiveRecord::Base
|
6
6
|
include ClarkKent::Cloneable
|
7
|
+
include ForeignOffice::Broadcaster
|
8
|
+
|
9
|
+
require_channel_presence
|
10
|
+
|
7
11
|
|
8
12
|
SortDirections = {'ascending' => 'asc', 'descending' => 'desc'}
|
9
13
|
|
10
|
-
attr_accessor :summary_row_storage
|
14
|
+
attr_accessor :summary_row_storage, :report_result_url, :browser_tab_id
|
11
15
|
|
12
16
|
belongs_to :sharing_scope, polymorphic: true
|
13
17
|
has_many :report_filters, as: :filterable, dependent: :destroy
|
@@ -58,17 +62,19 @@ require 'aws-sdk-v1'
|
|
58
62
|
buffer << chunk
|
59
63
|
end
|
60
64
|
end
|
61
|
-
report_result_url = report_destination.url_for(
|
65
|
+
report.report_result_url = report_destination.url_for(
|
62
66
|
:read,
|
63
67
|
secure: true,
|
64
68
|
response_content_type: 'text/csv',
|
65
69
|
response_content_encoding: 'binary',
|
70
|
+
response_content_disposition: 'attachment',
|
66
71
|
expires: 60*60*24*30 #good for 30 days
|
67
72
|
)
|
68
73
|
if 'ClarkKent::Report' == report_class.name
|
69
|
-
|
74
|
+
report.browser_tab_id = params[:browser_tab_id]
|
75
|
+
report.broadcast_change
|
70
76
|
end
|
71
|
-
report_result_url.to_s
|
77
|
+
report.report_result_url.to_s
|
72
78
|
end
|
73
79
|
|
74
80
|
def viable_report_columns
|
@@ -315,6 +321,11 @@ require 'aws-sdk-v1'
|
|
315
321
|
end
|
316
322
|
end
|
317
323
|
|
324
|
+
def serialize
|
325
|
+
{ report_result_url: self.report_result_url,
|
326
|
+
browser_tab_id: self.browser_tab_id
|
327
|
+
}
|
328
|
+
end
|
318
329
|
end
|
319
330
|
|
320
331
|
class ReportSort
|
@@ -4,8 +4,12 @@ module ClarkKent
|
|
4
4
|
|
5
5
|
def self.all
|
6
6
|
return @ss_types if @ss_types
|
7
|
-
|
8
|
-
|
7
|
+
if ClarkKent.user_class_name
|
8
|
+
user_ss = self.new(ClarkKent.user_class_name)
|
9
|
+
@ss_types = [user_ss]
|
10
|
+
else
|
11
|
+
@ss_types = []
|
12
|
+
end
|
9
13
|
ClarkKent.other_sharing_scopes.each do |ss_type|
|
10
14
|
@ss_types << self.new(*ss_type)
|
11
15
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="
|
1
|
+
<div class="srow editing">
|
2
2
|
<%= simple_form_for report_column,
|
3
3
|
defaults: {
|
4
4
|
wrapper_html: { class: 'span2'},
|
@@ -13,31 +13,31 @@
|
|
13
13
|
insert_method: report_column.new_record? ? 'append' : 'html',
|
14
14
|
container: '#new_report_column_container',
|
15
15
|
ajax_flash: true } } do |f| %>
|
16
|
-
<div class="
|
16
|
+
<div class="scol one-fifth">
|
17
17
|
<%= f.input :report_id, as: :hidden %>
|
18
18
|
<% if report_column.new_record? %>
|
19
19
|
<%= f.input :column_name, collection: @report.available_columns, prompt: 'select column' %>
|
20
20
|
<% else %>
|
21
|
-
<div class="
|
22
|
-
<div class="
|
21
|
+
<div class="srow quiet">Column Name</div>
|
22
|
+
<div class="srow"><%= report_column.column_name %></div>
|
23
23
|
<% end %>
|
24
24
|
</div>
|
25
|
-
<div class="
|
25
|
+
<div class="scol one-fifth">
|
26
26
|
<%= f.input :column_order %>
|
27
27
|
</div>
|
28
|
-
<div class="
|
28
|
+
<div class="scol one-fifth">
|
29
29
|
<% if !report_column.new_record? and report_column.summarizable? %>
|
30
30
|
<%= f.input :summary_method, collection: ClarkKent::ReportColumn::SummaryMethods %>
|
31
31
|
<% else %>
|
32
32
|
|
33
33
|
<% end %>
|
34
34
|
</div>
|
35
|
-
<div class="
|
35
|
+
<div class="scol one-fifth">
|
36
36
|
<% if report_column.report.sort_column.blank? || report_column.report.sort_column == report_column %>
|
37
37
|
<%= f.input :report_sort, collection: [['A->Z','ascending'],['Z->A','descending']], include_blank: true %>
|
38
38
|
<% end %>
|
39
39
|
</div>
|
40
|
-
<div class="
|
40
|
+
<div class="scol right margin-top">
|
41
41
|
<%= f.button :submit %>
|
42
42
|
<% unless report_column.new_record? %>
|
43
43
|
<%= link_to 'cancel', report_column_url(report_column),
|
@@ -1,16 +1,16 @@
|
|
1
1
|
<div id="report_column_container">
|
2
2
|
<h3>Report Columns</h3>
|
3
|
-
<div id="report_column_list" class="
|
3
|
+
<div id="report_column_list" class="srow">
|
4
4
|
<% @report.viable_report_columns.each do |report_column| %>
|
5
5
|
<%= render partial: '/clark_kent/report_columns/show_wrapper', locals: {report_column: report_column} %>
|
6
6
|
<% end %>
|
7
7
|
</div>
|
8
8
|
|
9
|
-
<div class="
|
9
|
+
<div class="srow margin-top">
|
10
10
|
<%= link_to 'Add a Column', new_report_column_url(report_id: @report.id), class: 'btn btn-primary', data: {ajax_link: "true", ajax_target: '#new_report_column_container'} %>
|
11
11
|
</div>
|
12
12
|
|
13
|
-
<div id="new_report_column_container" class="
|
13
|
+
<div id="new_report_column_container" class="srow margin-top">
|
14
14
|
|
15
15
|
</div>
|
16
16
|
</div>
|
@@ -1,17 +1,17 @@
|
|
1
|
-
<div class="
|
2
|
-
<div class="
|
1
|
+
<div class="srow read-only report-element">
|
2
|
+
<div class="scol one-fifth">
|
3
3
|
<%= report_column.column_name %>
|
4
4
|
</div>
|
5
|
-
<div class="
|
5
|
+
<div class="scol one-fifth">
|
6
6
|
<%= report_column.column_order %>
|
7
7
|
</div>
|
8
|
-
<div class="
|
8
|
+
<div class="scol one-fifth">
|
9
9
|
<%= report_column.summary_method.present? ? "summarize: #{report_column.summary_method}" : '' %>
|
10
10
|
</div>
|
11
|
-
<div class="
|
11
|
+
<div class="scol one-fifth">
|
12
12
|
<%= report_column.report_sort_pretty %>
|
13
13
|
</div>
|
14
|
-
<div class="
|
14
|
+
<div class="scol right">
|
15
15
|
<%= link_to 'edit', edit_report_column_url(report_column),
|
16
16
|
data: {
|
17
17
|
ajax_link: true,
|
@@ -1,10 +1,10 @@
|
|
1
|
-
<div class="
|
1
|
+
<div class="srow editing">
|
2
2
|
<%= render partial: '/clark_kent/report_emails/form', locals: {report_email: report_email} %>
|
3
3
|
<% unless report_email.new_record? %>
|
4
|
-
<div class="well margin-top
|
4
|
+
<div class="well margin-top srow">
|
5
5
|
<%= render partial: '/clark_kent/report_filters/index', locals: {filterable: report_email} %>
|
6
6
|
</div>
|
7
|
-
<div class="well margin-top
|
7
|
+
<div class="well margin-top srow">
|
8
8
|
<%= render partial: '/clark_kent/user_report_emails/index', locals: {report_email: report_email} %>
|
9
9
|
</div>
|
10
10
|
<% end %>
|
@@ -15,14 +15,14 @@
|
|
15
15
|
insert_method: report_email.new_record? ? 'append' : 'html',
|
16
16
|
container: "new_report_email_container_#{report_email.report_id}",
|
17
17
|
ajax_flash: true }} do |f| %>
|
18
|
-
<div class="
|
18
|
+
<div class="scol one-third">
|
19
19
|
<%= f.input :name %>
|
20
20
|
</div>
|
21
|
-
<div class="
|
21
|
+
<div class="scol one-third">
|
22
22
|
<%= f.input :report_id, as: :hidden %>
|
23
23
|
<%= f.input :when_to_send, collection: ClarkKent::ReportEmail::SEND_TIMES, include_blank: false %>
|
24
24
|
</div>
|
25
|
-
<div class="
|
25
|
+
<div class="scol one-third right margin-top">
|
26
26
|
<%= f.button :submit %>
|
27
27
|
<% unless report_email.new_record? %>
|
28
28
|
<%= link_to 'cancel', report_email_url(report_email),
|
@@ -1,16 +1,16 @@
|
|
1
1
|
<div id="report_email_container">
|
2
2
|
<h3>Timed Emails</h3>
|
3
|
-
<div id="report_email_list" class="
|
3
|
+
<div id="report_email_list" class="srow">
|
4
4
|
<% for report_email in @report.report_emails %>
|
5
5
|
<%= render partial: '/clark_kent/report_emails/show_wrapper', locals: {report_email: report_email} %>
|
6
6
|
<% end %>
|
7
7
|
</div>
|
8
8
|
|
9
|
-
<div class="
|
9
|
+
<div class="srow margin-top">
|
10
10
|
<%= link_to 'Add a timed email', new_report_email_url(report_id: @report.id), class: 'btn btn-primary', data: {ajax_link: "true", ajax_target: "#new_report_email_container_#{@report.id}" } %>
|
11
11
|
</div>
|
12
12
|
|
13
|
-
<div id="new_report_email_container_<%= @report.id %>" class="
|
13
|
+
<div id="new_report_email_container_<%= @report.id %>" class="srow margin-top">
|
14
14
|
|
15
15
|
</div>
|
16
16
|
</div>
|
@@ -1,17 +1,17 @@
|
|
1
|
-
<div class="
|
2
|
-
<div class="
|
1
|
+
<div class="srow read-only report-element">
|
2
|
+
<div class="scol one-quarter">
|
3
3
|
<%= report_email.name %> <span class="quiet">send</span> <%= report_email.when_to_send %>
|
4
4
|
</div>
|
5
|
-
<div class="
|
5
|
+
<div class="scol one-quarter">
|
6
6
|
<%= link_to 'edit', edit_report_email_url(report_email),
|
7
7
|
data: {
|
8
8
|
ajax_link: true,
|
9
9
|
ajax_target: "#report_email_#{report_email.id}" } %>
|
10
10
|
</div>
|
11
|
-
<div class="
|
11
|
+
<div class="scol one-quarter">
|
12
12
|
<%= report_email.period_pretty %>
|
13
13
|
</div>
|
14
|
-
<div class="
|
14
|
+
<div class="scol one-quarter">
|
15
15
|
<%= display_for_value(report_email.emails) %>
|
16
16
|
</div>
|
17
17
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="
|
1
|
+
<div class="srow editing">
|
2
2
|
<%= simple_form_for report_filter,
|
3
3
|
as: report_filter,
|
4
4
|
url: report_filter.new_record? ? report_filters_url : report_filter_url(report_filter),
|
@@ -16,7 +16,7 @@
|
|
16
16
|
insert_method: report_filter.new_record? ? 'append' : 'html',
|
17
17
|
container: dom_target(report_filter.filterable, :new_report_filter_container),
|
18
18
|
ajax_flash: true } } do |f| %>
|
19
|
-
<div class="
|
19
|
+
<div class="scol one-third">
|
20
20
|
<%= f.input :filterable_id, as: :hidden %>
|
21
21
|
<%= f.input :filterable_type, as: :hidden %>
|
22
22
|
<% if report_filter.new_record? %>
|
@@ -26,12 +26,12 @@
|
|
26
26
|
id: "report_filter_filter_name_#{report_filter.object_id}"),
|
27
27
|
include_blank: false %>
|
28
28
|
<% else %>
|
29
|
-
<div class="
|
30
|
-
<div class="
|
29
|
+
<div class="srow quiet">Filter Name</div>
|
30
|
+
<div class="srow"><%= report_filter.filter_name %></div>
|
31
31
|
<% end %>
|
32
32
|
</div>
|
33
33
|
<% if report_filter.new_record? %>
|
34
|
-
<div class="
|
34
|
+
<div class="scol one-third" <%= revealer_target_attrs("filter_value_options_#{report_filter.object_id}") %>>
|
35
35
|
<% report_filter.filterable.available_filters.each do |name,label| %>
|
36
36
|
<div <%= revealer_option_attrs("filter_value_options_#{report_filter.object_id}", trigger: name) %> id="filter_value_options_<%= name %>">
|
37
37
|
<%= render partial: report_filter.filterable.filter_kind(name) + '_edit', locals: {f: f, report_filter: report_filter, name: name} %>
|
@@ -39,11 +39,11 @@
|
|
39
39
|
<% end %>
|
40
40
|
</div>
|
41
41
|
<% else %>
|
42
|
-
<div class="
|
42
|
+
<div class="scol one-third">
|
43
43
|
<%= render partial: report_filter.filterable.filter_kind(report_filter.filter_name) + '_edit', locals: {f: f, report_filter: report_filter, name: report_filter.filter_name} %>
|
44
44
|
</div>
|
45
45
|
<% end %>
|
46
|
-
<div class="
|
46
|
+
<div class="scol right margin-top">
|
47
47
|
<%= f.button :submit %>
|
48
48
|
<% if report_filter.new_record? %>
|
49
49
|
<a <%= emptier dom_target(report_filter.filterable, :new_report_filter_container) %>> cancel </a>
|
@@ -1,16 +1,16 @@
|
|
1
1
|
<div id="report_filter_container_<%= dom_id(filterable) %>">
|
2
2
|
<h3><%= filterable.class.name.sub('ClarkKent::','').underscore.humanize %> Filters</h3>
|
3
|
-
<div id="report_filter_list_<%= dom_id(filterable) %>" class="
|
3
|
+
<div id="report_filter_list_<%= dom_id(filterable) %>" class="srow">
|
4
4
|
<% for report_filter in filterable.viable_report_filters %>
|
5
5
|
<%= render partial: '/clark_kent/report_filters/show_wrapper', locals: {report_filter: report_filter} %>
|
6
6
|
<% end %>
|
7
7
|
</div>
|
8
8
|
|
9
|
-
<div class="
|
9
|
+
<div class="srow margin-top">
|
10
10
|
<%= link_to 'Add a Filter', new_report_filter_url(filterable_id: filterable.id, filterable_type: filterable.class.name), class: 'btn btn-primary', data: {ajax_link: "true", ajax_target: "#new_report_filter_container_#{dom_id(filterable)}" } %>
|
11
11
|
</div>
|
12
12
|
|
13
|
-
<div id="<%= dom_id filterable, :new_report_filter_container %>" class="
|
13
|
+
<div id="<%= dom_id filterable, :new_report_filter_container %>" class="srow margin-top">
|
14
14
|
|
15
15
|
</div>
|
16
16
|
</div>
|
@@ -1,11 +1,11 @@
|
|
1
|
-
<div class="
|
2
|
-
<div class="
|
3
|
-
<%= report_filter.display_name %>
|
1
|
+
<div class="srow read-only report-element">
|
2
|
+
<div class="scol one-third">
|
3
|
+
<%= report_filter.display_name %> ->
|
4
4
|
</div>
|
5
|
-
<div class="
|
5
|
+
<div class="scol one-third">
|
6
6
|
<%= render partial: '/clark_kent/report_filters/' + report_filter.filterable.filter_kind(report_filter.filter_name) + '_show', locals: {report_filter: report_filter} %>
|
7
7
|
</div>
|
8
|
-
<div class="
|
8
|
+
<div class="scol right">
|
9
9
|
<%= link_to 'edit', edit_report_filter_url(report_filter),
|
10
10
|
data: {
|
11
11
|
ajax_link: true,
|
@@ -1,24 +1,22 @@
|
|
1
|
-
<div class="
|
2
|
-
<div class="
|
3
|
-
|
1
|
+
<div class="scol one-quarter report-filter">
|
2
|
+
<div class="srow">
|
3
|
+
<b><%= filter.label.humanize %></b>
|
4
4
|
</div>
|
5
|
-
<div class="
|
6
|
-
<div class="
|
5
|
+
<div class="srow">
|
6
|
+
<div class="scol">
|
7
7
|
from<br>
|
8
|
-
<%=
|
8
|
+
<%= date_field_tag "#{filter.param}_from",
|
9
9
|
params["#{filter.param}_from"],
|
10
|
-
data: {date_picker: 'true'
|
10
|
+
data: {date_picker: 'true'},
|
11
11
|
class: 'string input-small',
|
12
|
-
readonly: true,
|
13
12
|
id: "#{filter.param}_start_date" %>
|
14
13
|
</div>
|
15
|
-
<div class="
|
14
|
+
<div class="scol">
|
16
15
|
to<br>
|
17
|
-
<%=
|
16
|
+
<%= date_field_tag "#{filter.param}_until",
|
18
17
|
params["#{filter.param}_until"],
|
19
|
-
data: {date_picker: 'true'
|
18
|
+
data: {date_picker: 'true'},
|
20
19
|
class: 'string input-small',
|
21
|
-
readonly: true,
|
22
20
|
id: "#{filter.param}_end_date" %>
|
23
21
|
</div>
|
24
22
|
</div>
|
@@ -1,11 +1,6 @@
|
|
1
1
|
<% if @report_result_name %>
|
2
2
|
<%= link_to 're-download full csv', '',
|
3
|
-
data:
|
4
|
-
listener: true,
|
5
|
-
channel: @report_result_name,
|
6
|
-
key: 'report_result_url',
|
7
|
-
progress_indicator: true,
|
8
|
-
trigger_on_message: true } %>
|
3
|
+
data: listener_hash(@report, :report_result_url, browser_tab_id: @browser_tab_id, trigger: true ) %>
|
9
4
|
<% else %>
|
10
5
|
<%= link_to 'download full csv', (download_link_report_url(@report.id) + '?' + request.query_parameters.to_param),
|
11
6
|
data: {
|
@@ -1,44 +1,49 @@
|
|
1
|
-
<div class="
|
1
|
+
<div class="srow">
|
2
2
|
<%= simple_form_for @report, html: @report.persisted? ? ajax_form_hash( '#report_info_container' ) : {} do |f| %>
|
3
|
-
<div class="
|
3
|
+
<div class="scol one-quarter">
|
4
4
|
<%= f.input :name, minlength: false %>
|
5
5
|
</div>
|
6
|
-
<div class="
|
6
|
+
<div class="scol one-quarter">
|
7
7
|
<%= f.input :resource_type,
|
8
8
|
collection: ClarkKent.resource_options,
|
9
9
|
label: 'A row for every:',
|
10
10
|
prompt: 'Please Choose' %>
|
11
11
|
|
12
12
|
</div>
|
13
|
-
|
14
|
-
<div class="
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
<%
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
13
|
+
<% if ClarkKent.user_class_name %>
|
14
|
+
<div class="scol one-quarter">
|
15
|
+
<div class="srow">sharing</div>
|
16
|
+
<div class="srow">
|
17
|
+
<%= f.input :sharing_scope_type, collection: ClarkKent::SharingScopeKind.select_options_for_user(clark_kent_user),
|
18
|
+
input_html: revealer("sharing_options", highlander: true),
|
19
|
+
label: false, include_blank: false %>
|
20
|
+
</div>
|
21
|
+
<div class="srow" <%= revealer_target_attrs("sharing_options") %>>
|
22
|
+
<%= f.input :sharing_scope_id, as: :hidden, input_html: {value: clark_kent_user.id, data: {foo: ClarkKent.user_class_name}}, wrapper_html: revealer_option("sharing_options", trigger: ClarkKent.user_class_name).merge(id: "sharing_options_#{ClarkKent.user_class_name}") %>
|
23
|
+
<% ClarkKent::SharingScopeKind.custom_for_user(clark_kent_user).each do |sharing_scope_kind| %>
|
24
|
+
<% if sharing_scope_kind.associated_containers_for(clark_kent_user).respond_to? :each %>
|
25
|
+
<%= f.input :sharing_scope_id, collection: sharing_scope_kind.associated_containers_for(clark_kent_user), label: false, include_blank: false,
|
26
|
+
wrapper_html: revealer_option("sharing_options", trigger: sharing_scope_kind.class_name).merge(id: "sharing_options_#{sharing_scope_kind.class_name}") %>
|
27
|
+
<% else %>
|
28
|
+
<%= f.input :sharing_scope_id, as: :hidden, input_html: {value: sharing_scope_kind.associated_containers_for(clark_kent_user).id}, wrapper_html: revealer_option("sharing_options", trigger: sharing_scope_kind.associated_containers_for(clark_kent_user).class.name).merge(id: "sharing_options_#{sharing_scope_kind.associated_containers_for(clark_kent_user).class.name}") %>
|
29
|
+
<% end %>
|
28
30
|
<% end %>
|
29
|
-
|
30
|
-
|
31
|
-
|
31
|
+
<%= f.input :sharing_scope_id, as: :hidden, input_html: {value: ''},
|
32
|
+
wrapper_html: revealer_option("sharing_options", trigger: "").merge(id: "sharing_options_") %>
|
33
|
+
</div>
|
32
34
|
</div>
|
33
|
-
|
34
|
-
|
35
|
-
|
35
|
+
<% else %>
|
36
|
+
<%= f.input :sharing_scope_type, as: :hidden, value: 'Everyone' %>
|
37
|
+
<%= f.input :sharing_scope_id, as: :hidden, value: 'Everyone' %>
|
38
|
+
<% end %>
|
39
|
+
<div class="scol one-quarter margin-top right">
|
40
|
+
<div class="srow">
|
36
41
|
<%= f.button :submit %>
|
37
42
|
<% unless @report.new_record? %>
|
38
43
|
<%= ajax_link 'cancel', report_url(@report), {class: 'right'}, "#report_info_container" %>
|
39
44
|
</div>
|
40
|
-
<div class="
|
41
|
-
<div class="
|
45
|
+
<div class="srow right">or</div>
|
46
|
+
<div class="srow">
|
42
47
|
<%= link_to "Delete Report", @report, class: 'right', :method=>:delete, :data => { delete_link: true, :confirm => "Are you sure you want to delete this report?" } %>
|
43
48
|
<% end %>
|
44
49
|
</div>
|
@@ -1,16 +1,16 @@
|
|
1
|
-
<div class="
|
2
|
-
<div class="
|
3
|
-
|
1
|
+
<div class="scol one-quarter report-filter">
|
2
|
+
<div class="srow">
|
3
|
+
<b><%= filter.label.humanize %></b>
|
4
4
|
</div>
|
5
|
-
<div class="
|
6
|
-
<div class="
|
5
|
+
<div class="srow">
|
6
|
+
<div class="scol">
|
7
7
|
min<br>
|
8
8
|
<%= text_field_tag "#{filter.param}_min",
|
9
9
|
params["#{filter.param}_min"],
|
10
10
|
class: 'string input-small',
|
11
11
|
id: "#{filter.param}_min" %>
|
12
12
|
</div>
|
13
|
-
<div class="
|
13
|
+
<div class="scol">
|
14
14
|
max<br>
|
15
15
|
<%= text_field_tag "#{filter.param}_max",
|
16
16
|
params["#{filter.param}_max"],
|
@@ -1,8 +1,8 @@
|
|
1
|
-
<div class="
|
2
|
-
<div class="
|
3
|
-
|
1
|
+
<div class="scol one-quarter report-filter">
|
2
|
+
<div class="srow">
|
3
|
+
<b><%= filter.param.humanize %></b>
|
4
4
|
</div>
|
5
|
-
<div class="
|
5
|
+
<div class="srow">
|
6
6
|
<% options = case filter.collection.class.name
|
7
7
|
when 'String', 'Symbol'
|
8
8
|
clark_kent_user.send(filter.collection)
|
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
</div>
|
13
13
|
<div class="modal-body">
|
14
|
-
<p> You will only be printing the current page of results (
|
14
|
+
<p> You will only be printing the current page of results (<%= @report.resource_class.default_per_page %> of <%= @rows.total_count %> total results).
|
15
15
|
To print all results click the <strong>download full csv</strong> link at the bottom of the page.</p>
|
16
16
|
<div class="row-fluid" >
|
17
17
|
<div class="span8"></div>
|
@@ -1,13 +1,13 @@
|
|
1
|
-
<div class="
|
1
|
+
<div class="scol one-quarter">
|
2
2
|
<%= @report.name %>
|
3
3
|
</div>
|
4
|
-
<div class="
|
4
|
+
<div class="scol one-quarter">
|
5
5
|
<span class="quiet">a row for every</span> <%= @report.resource_type_pretty.singularize %>
|
6
6
|
</div>
|
7
|
-
<div class="
|
7
|
+
<div class="scol one-quarter">
|
8
8
|
<span class="quite">shared with</span> <%= @report.sharing_scope_pretty %>
|
9
9
|
</div>
|
10
|
-
<div class="
|
10
|
+
<div class="scol one-quarter right">
|
11
11
|
<%= link_to 'clone', clone_report_url(@report),
|
12
12
|
method: :post,
|
13
13
|
style: 'margin-left: 10px',
|
@@ -1,8 +1,8 @@
|
|
1
|
-
<div class="
|
2
|
-
<div class="
|
3
|
-
|
1
|
+
<div class="scol one-quarter report-filter">
|
2
|
+
<div class="srow">
|
3
|
+
<b><%= filter.param.humanize %></b>
|
4
4
|
</div>
|
5
|
-
<div class="
|
5
|
+
<div class="srow">
|
6
6
|
<%= text_field_tag filter.param, params[filter.param] %>
|
7
7
|
|
8
8
|
</div>
|
@@ -2,20 +2,20 @@
|
|
2
2
|
<%= link_to "← back to report index".html_safe, reports_url %>
|
3
3
|
|
4
4
|
|
5
|
-
<div class="
|
5
|
+
<div class="srow margin-top">
|
6
6
|
<div id="report_info_container">
|
7
7
|
<%= render partial: 'show' %>
|
8
8
|
</div>
|
9
9
|
</div>
|
10
10
|
|
11
11
|
<% unless @report.new_record? %>
|
12
|
-
<div class="well
|
12
|
+
<div class="well srow">
|
13
13
|
<%= render partial: '/clark_kent/report_filters/index', locals: {filterable: @report} %>
|
14
14
|
</div>
|
15
|
-
<div class="well
|
15
|
+
<div class="well srow">
|
16
16
|
<%= render partial: '/clark_kent/report_columns/index' %>
|
17
17
|
</div>
|
18
|
-
<div class="well
|
18
|
+
<div class="well srow">
|
19
19
|
<%= render partial: '/clark_kent/report_emails/index' %>
|
20
20
|
</div>
|
21
21
|
<% end %>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<%= @errors %>
|
7
7
|
</div>
|
8
8
|
<% end %>
|
9
|
-
<div class="
|
9
|
+
<div class="srow margin-top">
|
10
10
|
<form action="<%= report_url(@report) %>" method="get">
|
11
11
|
<% @report.custom_filters.each do |filter| %>
|
12
12
|
<%= render partial: filter.kind, locals: {filter: filter} %>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
</form>
|
18
18
|
</div>
|
19
19
|
<% if @rows %>
|
20
|
-
<div class="
|
20
|
+
<div class="srow margin-top">
|
21
21
|
<table class="stripey-table">
|
22
22
|
<tr>
|
23
23
|
<% @report.report_columns.sorted.each do |column| %>
|
@@ -39,10 +39,10 @@
|
|
39
39
|
<% end %>
|
40
40
|
</table>
|
41
41
|
</div>
|
42
|
-
<div class="
|
42
|
+
<div class="srow margin-top">
|
43
43
|
<%= paginate @rows %>
|
44
44
|
<div id="download_link"><%= render partial: 'download_link' %></div>
|
45
45
|
</div>
|
46
46
|
<% end %>
|
47
|
-
<div class="
|
47
|
+
<div class="scol"> </div>
|
48
48
|
|