old_sql 1.29.0 → 1.30.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +0 -4
- data/app/controllers/old_sql/report_controller.rb +10 -0
- data/app/views/old_sql/report/_query.html.erb +8 -18
- data/lib/generators/old_sql/install_generator.rb +2 -0
- data/lib/generators/old_sql/templates/test_db.rb +11 -0
- data/public/javascripts/old_sql/old_sql.js +58 -29
- metadata +4 -3
data/README.md
CHANGED
@@ -38,10 +38,6 @@ Old SQL is a Rails Engine database reporting gem that uses plain old SQL.
|
|
38
38
|
|
39
39
|
![jqGrid view](https://github.com/egonz/old_sql/raw/master/screenshots/jqgrid.png "jqGrid view")
|
40
40
|
|
41
|
-
#### HTML Table
|
42
|
-
|
43
|
-
![table view](https://github.com/egonz/old_sql/raw/master/screenshots/table.png "Table view")
|
44
|
-
|
45
41
|
#### Google Charts
|
46
42
|
|
47
43
|
![table view](https://github.com/egonz/old_sql/raw/master/screenshots/chart.png "Chart view")
|
@@ -224,7 +224,17 @@ module OldSql
|
|
224
224
|
|
225
225
|
def db_list
|
226
226
|
db = []
|
227
|
+
|
227
228
|
db << {name: Rails.env.capitalize, db_class: "active_record/base"}
|
229
|
+
|
230
|
+
if File.directory?("#{Rails.root}/lib/old_sql/db")
|
231
|
+
Dir.glob("#{Rails.root}/lib/old_sql/db/*.rb") do |filename|
|
232
|
+
file_sans_ext = File.basename(filename, ".rb")
|
233
|
+
db << {name: file_sans_ext.capitalize, db_class: "old_sql/db/#{file_sans_ext}"}
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
db
|
228
238
|
end
|
229
239
|
end
|
230
240
|
end
|
@@ -1,25 +1,9 @@
|
|
1
|
-
<script>
|
2
|
-
$(document).ready(function($){
|
3
|
-
$('#run-query').bind('click', function() {
|
4
|
-
query();
|
5
|
-
});
|
6
|
-
|
7
|
-
$('#delete-saved-queries').bind('click', function() {
|
8
|
-
deleted_saved_queries();
|
9
|
-
});
|
10
|
-
|
11
|
-
$('#saved-queries-list').bind('click', function() {
|
12
|
-
$('#query-text').val($("#saved-queries-list option:selected").val());
|
13
|
-
});
|
14
|
-
});
|
15
|
-
</script>
|
16
|
-
|
17
1
|
<div class="query">
|
18
2
|
<div>
|
19
3
|
DATABASE:
|
20
4
|
<select name="query-db" id="query-db" onchange="db_selected()">
|
21
5
|
<% db_list.each do |db| %>
|
22
|
-
<option value="<%=db[:name]%>"
|
6
|
+
<option value="<%=db[:name]%>" db_class="<%=db[:db_class]%>"><%=db[:name]%></option>
|
23
7
|
<% end %>
|
24
8
|
</select>
|
25
9
|
</div>
|
@@ -54,6 +38,12 @@ $(document).ready(function($){
|
|
54
38
|
</div>
|
55
39
|
|
56
40
|
<div>
|
57
|
-
<
|
41
|
+
<span class="query-button">
|
42
|
+
<input id="delete-saved-query" type="submit" value="Delete" onclick="return true;" />
|
43
|
+
</span>
|
44
|
+
|
45
|
+
<span class="query-button">
|
46
|
+
<input id="delete-saved-queries" type="submit" value="Remove All" onclick="return true;" />
|
47
|
+
</span>
|
58
48
|
</div>
|
59
49
|
</div>
|
@@ -51,6 +51,7 @@ module OldSql
|
|
51
51
|
empty_directory "#{app_path}/config/old_sql/report_sql"
|
52
52
|
empty_directory "#{app_path}/config/old_sql/report_design"
|
53
53
|
empty_directory "#{app_path}/lib/old_sql/report_processor"
|
54
|
+
empty_directory "#{app_path}/lib/old_sql/db"
|
54
55
|
end
|
55
56
|
|
56
57
|
def copy_old_sql_files
|
@@ -60,6 +61,7 @@ module OldSql
|
|
60
61
|
copy_file "user_processor.rb.example", "#{app_path}/lib/old_sql/report_processor/user_old_sql_demo_processor.rb"
|
61
62
|
copy_file "user_design_template.csv", "#{app_path}/config/old_sql/report_design/user_old_sql_demo.csv"
|
62
63
|
copy_file "user_old_sql_demo_chart_design.yml", "#{app_path}/config/old_sql/report_design/user_old_sql_demo.yml"
|
64
|
+
copy_file "test_db.rb", "#{app_path}/lib/old_sql/db/test.rb"
|
63
65
|
end
|
64
66
|
|
65
67
|
def configure_initializer
|
@@ -1,24 +1,25 @@
|
|
1
1
|
function load_report()
|
2
2
|
{
|
3
|
-
report_name =
|
4
|
-
report_sql =
|
3
|
+
report_name = $("#report option:selected").attr('name');
|
4
|
+
report_sql = $("#report option:selected").attr('report_sql');
|
5
5
|
report_view = get_report_view();
|
6
6
|
|
7
7
|
if (!reported_selected(report_name)) return;
|
8
8
|
|
9
9
|
var src = "http://"+host+":"+port+"/sql/reports/"+report_view+"/?report="+report_name+
|
10
|
-
"&start_date="
|
10
|
+
"&start_date="+$("#datepicker-start").val()+"&end_date="+$("#datepicker-end").val()+"&report_sql="+
|
11
11
|
report_sql+"&caption="+report_name;
|
12
12
|
|
13
|
-
|
13
|
+
$('iframe').attr('src', src);
|
14
14
|
|
15
15
|
_report_loaded = true;
|
16
16
|
}
|
17
17
|
|
18
18
|
function query()
|
19
19
|
{
|
20
|
-
|
21
|
-
|
20
|
+
orig_sql = $("#query-text").val();
|
21
|
+
sql = orig_sql.replace(new RegExp( "\\n", "g" )," ");
|
22
|
+
db = $("#query-db option:selected").attr('db_class');
|
22
23
|
|
23
24
|
if (!sql) {
|
24
25
|
alert('Invalid Query.');
|
@@ -27,9 +28,9 @@ function query()
|
|
27
28
|
|
28
29
|
var src = "http://"+host+":"+port+"/sql/reports/jqgrid/?&query="+sql+"&db="+db+"&caption=Ad Hoc Query&w="+$(document).width();
|
29
30
|
|
30
|
-
|
31
|
+
$('iframe').attr('src', src);
|
31
32
|
|
32
|
-
save_query(
|
33
|
+
save_query(orig_sql);
|
33
34
|
load_saved_queries();
|
34
35
|
}
|
35
36
|
|
@@ -81,36 +82,49 @@ function deleted_saved_queries()
|
|
81
82
|
}
|
82
83
|
}
|
83
84
|
|
85
|
+
function deleted_saved_query()
|
86
|
+
{
|
87
|
+
if (typeof(localStorage) == 'undefined' ) {
|
88
|
+
alert('Your browser does not support HTML5 localStorage. Try upgrading.');
|
89
|
+
} else {
|
90
|
+
localStorage.removeItem($("#saved-queries-list option:selected").val());
|
91
|
+
$('#saved-queries-list')
|
92
|
+
.find('option:selected')
|
93
|
+
.remove()
|
94
|
+
.end();
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
84
98
|
function reset_report()
|
85
99
|
{
|
86
|
-
|
100
|
+
$('iframe').attr('src', "");
|
87
101
|
}
|
88
102
|
|
89
103
|
function print_report()
|
90
104
|
{
|
91
|
-
report_name =
|
92
|
-
report_sql =
|
105
|
+
report_name = $("#report option:selected").attr('name');
|
106
|
+
report_sql = $("#report option:selected").attr('report_sql');
|
93
107
|
report_view = get_report_view();
|
94
108
|
|
95
109
|
if (!reported_selected(report_name)) return;
|
96
110
|
|
97
111
|
var src = "http://"+host+":"+port+"/sql/reports/print/?report="+report_name+
|
98
|
-
"&start_date="
|
99
|
-
"&report_sql="+report_sql+"&desc="
|
112
|
+
"&start_date="+$("#datepicker-start").val()+"&end_date="+$("#datepicker-end").val()+
|
113
|
+
"&report_sql="+report_sql+"&desc="+$("#report option:selected").attr('desc');
|
100
114
|
window.open(src,'Old SQL Report')
|
101
115
|
}
|
102
116
|
|
103
117
|
function export_report_to_excel()
|
104
118
|
{
|
105
|
-
report_name =
|
106
|
-
report_sql =
|
119
|
+
report_name = $("#report option:selected").attr('name');
|
120
|
+
report_sql = $("#report option:selected").attr('report_sql');
|
107
121
|
report_view = get_report_view();
|
108
122
|
|
109
123
|
if (!reported_selected(report_name)) return;
|
110
124
|
|
111
125
|
var src = "http://"+host+":"+port+"/sql/reports/query.csv/?report="+report_name+
|
112
|
-
"&start_date="
|
113
|
-
"&report_sql="+ report_sql+"&desc="
|
126
|
+
"&start_date="+$("#datepicker-start").val()+"&end_date="+$("#datepicker-end").val()+
|
127
|
+
"&report_sql="+ report_sql+"&desc="+$("#report option:selected").attr('desc');
|
114
128
|
window.open(src,'DB Report')
|
115
129
|
}
|
116
130
|
|
@@ -126,7 +140,7 @@ function reported_selected(report_name)
|
|
126
140
|
|
127
141
|
function get_report_view()
|
128
142
|
{
|
129
|
-
report_view =
|
143
|
+
report_view = $("#report option:selected").attr('report_view');
|
130
144
|
|
131
145
|
if (report_view) {
|
132
146
|
return report_view;
|
@@ -135,29 +149,26 @@ function get_report_view()
|
|
135
149
|
}
|
136
150
|
}
|
137
151
|
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
152
|
+
$(document).ready(function($){
|
153
|
+
$("#datepicker-start").datetimepicker();
|
154
|
+
$("#datepicker-start").datetimepicker( "option", "dateFormat", "yy/mm/dd" );
|
155
|
+
$("#datepicker-end").datetimepicker();
|
156
|
+
$("#datepicker-end").datetimepicker( "option", "dateFormat", "yy/mm/dd" );
|
143
157
|
|
144
158
|
var now = new Date();
|
145
159
|
var tomorrow = new Date();
|
146
160
|
var two_weeks_ago = new Date();
|
147
161
|
two_weeks_ago.setDate(now.getDate() - 14);
|
148
162
|
tomorrow.setDate(now.getDate() + 1);
|
149
|
-
|
150
|
-
|
163
|
+
$("#datepicker-start").attr('value', two_weeks_ago.format("yyyy/mm/dd HH:MM:ss"));
|
164
|
+
$("#datepicker-end").attr('value', tomorrow.format("yyyy/mm/dd HH:MM:ss"));
|
151
165
|
|
152
166
|
//Setup key listeners for the ad hoc query textarea
|
153
167
|
$('#query-text').keydown(function (e) {
|
154
168
|
if (e.ctrlKey && e.keyCode == 13) {
|
155
169
|
e.preventDefault();
|
156
170
|
query();
|
157
|
-
}
|
158
|
-
e.preventDefault();
|
159
|
-
$('#query-text').val($('#query-text').val()+' \n');
|
160
|
-
}
|
171
|
+
}
|
161
172
|
});
|
162
173
|
|
163
174
|
$('#tabs').bind('tabsselect', function(event, ui) {
|
@@ -174,6 +185,24 @@ jQuery(document).ready(function($){
|
|
174
185
|
});
|
175
186
|
});
|
176
187
|
|
188
|
+
$(document).ready(function($){
|
189
|
+
$('#run-query').bind('click', function() {
|
190
|
+
query();
|
191
|
+
});
|
192
|
+
|
193
|
+
$('#saved-queries-list').bind('click', function() {
|
194
|
+
$('#query-text').val($("#saved-queries-list option:selected").val());
|
195
|
+
});
|
196
|
+
|
197
|
+
$('#delete-saved-queries').bind('click', function() {
|
198
|
+
deleted_saved_queries();
|
199
|
+
});
|
200
|
+
|
201
|
+
$('#delete-saved-query').bind('click', function() {
|
202
|
+
deleted_saved_query();
|
203
|
+
});
|
204
|
+
});
|
205
|
+
|
177
206
|
$(function() {
|
178
207
|
$( "#tabs" ).tabs();
|
179
208
|
});
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: old_sql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.
|
5
|
+
version: 1.30.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Eddie Gonzales
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-06-
|
13
|
+
date: 2011-06-28 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: devise
|
@@ -72,6 +72,7 @@ files:
|
|
72
72
|
- lib/generators/old_sql/templates/devise_model.rb.template
|
73
73
|
- lib/generators/old_sql/templates/old_sql.rb
|
74
74
|
- lib/generators/old_sql/templates/reports.yml.example
|
75
|
+
- lib/generators/old_sql/templates/test_db.rb
|
75
76
|
- lib/generators/old_sql/templates/user.erb.example
|
76
77
|
- lib/generators/old_sql/templates/user_design_template.csv
|
77
78
|
- lib/generators/old_sql/templates/user_old_sql_demo_chart_design.yml
|
@@ -197,7 +198,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
197
198
|
requirements:
|
198
199
|
- - ">="
|
199
200
|
- !ruby/object:Gem::Version
|
200
|
-
hash:
|
201
|
+
hash: -3392790754162754922
|
201
202
|
segments:
|
202
203
|
- 0
|
203
204
|
version: "0"
|