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 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]%>" class_name="<%=db[:class_name]%>"><%=db[:name]%></option>
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
- <input id="delete-saved-queries" type="submit" value="Clear" onclick="return true;" />
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
@@ -0,0 +1,11 @@
1
+ require 'active_record'
2
+
3
+ module OldSql
4
+ module Db
5
+ class Test < ActiveRecord::Base
6
+ config = YAML.load_file(File.join("#{File.dirname(__FILE__)}/../../../config/", 'database.yml'))
7
+
8
+ establish_connection config['test']
9
+ end
10
+ end
11
+ end
@@ -1,24 +1,25 @@
1
1
  function load_report()
2
2
  {
3
- report_name = jQuery("#report option:selected").attr('name');
4
- report_sql = jQuery("#report option:selected").attr('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="+jQuery("#datepicker-start").val()+"&end_date="+jQuery("#datepicker-end").val()+"&report_sql="+
10
+ "&start_date="+$("#datepicker-start").val()+"&end_date="+$("#datepicker-end").val()+"&report_sql="+
11
11
  report_sql+"&caption="+report_name;
12
12
 
13
- jQuery('iframe').attr('src', src);
13
+ $('iframe').attr('src', src);
14
14
 
15
15
  _report_loaded = true;
16
16
  }
17
17
 
18
18
  function query()
19
19
  {
20
- sql = jQuery("#query-text").val();
21
- db = jQuery("#query-db option:selected").attr('class_name');
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
- jQuery('iframe').attr('src', src);
31
+ $('iframe').attr('src', src);
31
32
 
32
- save_query(sql);
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
- jQuery('iframe').attr('src', "");
100
+ $('iframe').attr('src', "");
87
101
  }
88
102
 
89
103
  function print_report()
90
104
  {
91
- report_name = jQuery("#report option:selected").attr('name');
92
- report_sql = jQuery("#report option:selected").attr('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="+jQuery("#datepicker-start").val()+"&end_date="+jQuery("#datepicker-end").val()+
99
- "&report_sql="+report_sql+"&desc="+jQuery("#report option:selected").attr('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 = jQuery("#report option:selected").attr('name');
106
- report_sql = jQuery("#report option:selected").attr('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="+jQuery("#datepicker-start").val()+"&end_date="+jQuery("#datepicker-end").val()+
113
- "&report_sql="+ report_sql+"&desc="+jQuery("#report option:selected").attr('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 = jQuery("#report option:selected").attr('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
- jQuery(document).ready(function($){
139
- jQuery("#datepicker-start").datetimepicker();
140
- jQuery("#datepicker-start").datetimepicker( "option", "dateFormat", "yy/mm/dd" );
141
- jQuery("#datepicker-end").datetimepicker();
142
- jQuery("#datepicker-end").datetimepicker( "option", "dateFormat", "yy/mm/dd" );
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
- jQuery("#datepicker-start").attr('value', two_weeks_ago.format("yyyy/mm/dd HH:MM:ss"));
150
- jQuery("#datepicker-end").attr('value', tomorrow.format("yyyy/mm/dd HH:MM:ss"));
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
- } else if (e.keyCode == 13) {
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.29.0
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-27 00:00:00 Z
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: 1716827423845911602
201
+ hash: -3392790754162754922
201
202
  segments:
202
203
  - 0
203
204
  version: "0"