admin_data 1.0.22 → 1.1.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.
Files changed (116) hide show
  1. data/History.txt +23 -16
  2. data/README.md +1 -1
  3. data/Rakefile +2 -2
  4. data/app/controllers/admin_data/application_controller.rb +111 -0
  5. data/app/controllers/admin_data/crud_controller.rb +100 -0
  6. data/app/controllers/admin_data/feed_controller.rb +38 -16
  7. data/app/controllers/admin_data/home_controller.rb +11 -0
  8. data/app/controllers/admin_data/migration_controller.rb +12 -12
  9. data/app/controllers/admin_data/public_controller.rb +29 -19
  10. data/app/controllers/admin_data/search_controller.rb +99 -103
  11. data/app/controllers/admin_data/table_structure_controller.rb +25 -0
  12. data/app/helpers/admin_data/application_helper.rb +287 -0
  13. data/app/views/admin_data/crud/association/_association_info.html.erb +11 -0
  14. data/app/views/admin_data/crud/association/_belongs_to_info.html.erb +7 -0
  15. data/app/views/admin_data/{main → crud}/association/_habtm_info.html.erb +3 -3
  16. data/app/views/admin_data/{main → crud}/association/_has_many_info.html.erb +3 -3
  17. data/app/views/admin_data/crud/association/_has_one_info.html.erb +6 -0
  18. data/app/views/admin_data/{main → crud}/edit.html.erb +9 -9
  19. data/app/views/admin_data/{main → crud}/misc/_form.html.erb +6 -6
  20. data/app/views/admin_data/{main → crud}/misc/_modify_record.html.erb +4 -4
  21. data/app/views/admin_data/{main → crud}/new.html.erb +7 -7
  22. data/app/views/admin_data/{main → crud}/show.html.erb +10 -10
  23. data/app/views/admin_data/{main → home}/index.html.erb +2 -2
  24. data/app/views/admin_data/migration/index.html.erb +3 -3
  25. data/app/views/admin_data/search/_search_base.html.erb +5 -5
  26. data/app/views/admin_data/search/quick_search.html.erb +4 -4
  27. data/app/views/admin_data/search/search/_listing.html.erb +11 -9
  28. data/app/views/admin_data/search/search/_sortby.html.erb +4 -3
  29. data/app/views/admin_data/search/search/_title.html.erb +7 -7
  30. data/app/views/admin_data/shared/_breadcrum.html.erb +11 -5
  31. data/app/views/admin_data/shared/_header.html.erb +6 -6
  32. data/app/views/admin_data/shared/_secondary_navigation.html.erb +13 -14
  33. data/app/views/admin_data/{main/table_structure.html.erb → table_structure/index.html.erb} +11 -11
  34. data/app/views/layouts/admin_data.html.erb +15 -15
  35. data/config/routes.rb +3 -3
  36. data/lib/admin_data.rb +29 -6
  37. data/lib/admin_data/active_record_util.rb +38 -6
  38. data/lib/admin_data/configuration.rb +113 -0
  39. data/lib/admin_data/deprecation.rb +31 -0
  40. data/lib/admin_data/railtie.rb +2 -7
  41. data/lib/admin_data/search.rb +1 -1
  42. data/lib/admin_data/util.rb +74 -161
  43. data/lib/admin_data/version.rb +1 -1
  44. data/test/rails_root/app/controllers/application_controller.rb +3 -0
  45. data/test/rails_root/app/helpers/application_helper.rb +5 -0
  46. data/test/rails_root/app/models/city.rb +22 -0
  47. data/test/rails_root/app/models/club.rb +3 -0
  48. data/test/rails_root/app/models/newspaper.rb +4 -0
  49. data/test/rails_root/app/models/phone_number.rb +3 -0
  50. data/test/rails_root/app/models/user.rb +17 -0
  51. data/test/rails_root/app/models/website.rb +3 -0
  52. data/test/rails_root/config/application.rb +42 -0
  53. data/test/rails_root/config/boot.rb +13 -0
  54. data/test/rails_root/config/environment.rb +5 -0
  55. data/test/rails_root/config/environments/development.rb +22 -0
  56. data/test/rails_root/config/environments/production.rb +49 -0
  57. data/test/rails_root/config/environments/test.rb +35 -0
  58. data/test/rails_root/config/initializers/admin_data.rb +22 -0
  59. data/test/rails_root/config/initializers/backtrace_silencers.rb +7 -0
  60. data/test/rails_root/config/initializers/empty_spaces_to_nil.rb +10 -0
  61. data/test/rails_root/config/initializers/inflections.rb +10 -0
  62. data/test/rails_root/config/initializers/mime_types.rb +5 -0
  63. data/test/rails_root/config/initializers/secret_token.rb +7 -0
  64. data/test/rails_root/config/initializers/session_store.rb +8 -0
  65. data/test/rails_root/config/routes.rb +9 -0
  66. data/test/rails_root/db/migrate/20091030202259_create_users.rb +55 -0
  67. data/test/rails_root/db/schema.rb +63 -0
  68. data/test/rails_root/db/seeds.rb +40 -0
  69. data/test/rails_root/features/step_definitions/advance_search_steps.rb +13 -0
  70. data/test/rails_root/features/step_definitions/app_steps.rb +40 -0
  71. data/test/rails_root/features/step_definitions/async.rb +18 -0
  72. data/test/rails_root/features/step_definitions/crud_show_steps.rb +37 -0
  73. data/test/rails_root/features/step_definitions/feed_steps.rb +3 -0
  74. data/test/rails_root/features/step_definitions/quick_search_steps.rb +65 -0
  75. data/test/rails_root/features/step_definitions/util.rb +86 -0
  76. data/test/rails_root/features/step_definitions/web_steps.rb +219 -0
  77. data/test/rails_root/features/support/env.rb +68 -0
  78. data/test/rails_root/features/support/paths.rb +33 -0
  79. data/test/rails_root/test/factories.rb +30 -0
  80. data/test/rails_root/test/performance/browsing_test.rb +9 -0
  81. data/test/rails_root/test/test_helper.rb +13 -0
  82. metadata +100 -49
  83. data/app/controllers/admin_data/base_controller.rb +0 -112
  84. data/app/controllers/admin_data/main_controller.rb +0 -141
  85. data/app/views/admin_data/main/association/_association_info.html.erb +0 -11
  86. data/app/views/admin_data/main/association/_belongs_to_info.html.erb +0 -7
  87. data/app/views/admin_data/main/association/_has_one_info.html.erb +0 -6
  88. data/lib/admin_data/chelper.rb +0 -37
  89. data/lib/admin_data/helpers.rb +0 -271
  90. data/lib/admin_data/settings.rb +0 -67
  91. data/lib/css/base.css +0 -1108
  92. data/lib/css/vendor/jquery-ui-1.7.2.custom.css +0 -406
  93. data/lib/js/advance_search/act_on_result.js +0 -45
  94. data/lib/js/advance_search/advance_search.js +0 -83
  95. data/lib/js/advance_search/advance_search_structure.js +0 -79
  96. data/lib/js/advance_search/ajaxify_advance_search.js +0 -28
  97. data/lib/js/advance_search/build_first_row.js +0 -8
  98. data/lib/js/advance_search/event_bindings.js +0 -76
  99. data/lib/js/advance_search/global_ajax_setting.js +0 -10
  100. data/lib/js/advance_search/trigger_submit_on_domready.js +0 -6
  101. data/lib/js/misc/drop_down_change.js +0 -8
  102. data/lib/js/misc/js_util.js +0 -58
  103. data/lib/js/misc/quick_search_input_focus.js +0 -6
  104. data/lib/js/test/act_on_result.js +0 -120
  105. data/lib/js/test/advance_search.js +0 -80
  106. data/lib/js/test/ajaxify_advance_search.js +0 -29
  107. data/lib/js/test/build_first_row.js +0 -10
  108. data/lib/js/test/event_bindings.js +0 -100
  109. data/lib/js/vendor/jack.js +0 -903
  110. data/lib/js/vendor/jquery-1.4.2.js +0 -6240
  111. data/lib/js/vendor/jquery-ui-1.7.2.custom.min.js +0 -298
  112. data/lib/js/vendor/jquery.ba-isjquery.js +0 -21
  113. data/lib/js/vendor/jquery.form.js +0 -814
  114. data/lib/js/vendor/log.js +0 -9
  115. data/lib/js/vendor/qunit.js +0 -1043
  116. data/lib/js/vendor/rails.js +0 -132
data/History.txt CHANGED
@@ -1,3 +1,10 @@
1
+ === 2010-12-07
2
+ * new router api
3
+ * new configuration api. It is not backward compatible. However the error message is nice.
4
+ * cucumber tests are inside the repo
5
+ * support for column_headers
6
+ * support for column_settings
7
+
1
8
  === 2010-11-08 v1.0.20
2
9
  * support for habtm
3
10
  * do not get the list of nested models. It breaks routing. Comprehensive nested models fix coming soon.
@@ -38,7 +45,7 @@
38
45
  * fix for options defined in ~/config/initializers/admin_data_settings.rb not taking effect
39
46
 
40
47
  === 2010-08-17 v1.0.3
41
- * added more tests
48
+ * added more tests
42
49
  * fixed a bug related to :is_allowed_to_view_klass
43
50
 
44
51
 
@@ -116,7 +123,7 @@
116
123
 
117
124
  === 0.0.26 2009-11-04
118
125
 
119
- * cleaning up History.txt file
126
+ * cleaning up History.txt file
120
127
 
121
128
  === 0.0.25 2009-11-03
122
129
 
@@ -139,7 +146,7 @@
139
146
 
140
147
  === 0.0.21 2009-10-26
141
148
 
142
- * fixed the formatting issue while displaying missing index in diagnostic section
149
+ * fixed the formatting issue while displaying missing index in diagnostic section
143
150
  * by passing additional parameter called 'attr' editing of a record would display
144
151
  only one field to avoid any accidental change.
145
152
 
@@ -154,7 +161,7 @@ override the sql that is built by admin_data
154
161
 
155
162
  === 0.0.18 2009-10-16
156
163
 
157
- * changed theme from warehouse to dark because the association info on the right
164
+ * changed theme from warehouse to dark because the association info on the right
158
165
  hand side was not appearing correctly
159
166
  * homepage should have main tab selected
160
167
  * changed urls to support models that override to_param to other than id
@@ -164,14 +171,14 @@ as A,Q,B instead of A,B,Q.
164
171
  === 0.0.17 2009-10-08
165
172
 
166
173
  * drop down of klasses is now available at the center of home page
167
- * current model will be selected in the drop down
174
+ * current model will be selected in the drop down
168
175
 
169
176
  === 0.0.16 2009-10-07
170
177
 
171
178
  * form UI foreign keys are dropdown (display name attribute if it exists and id otherwise)
172
179
  * form UI date fields use date_select (with free text year since we cannot guess a good range)
173
180
  * form UI refactored to use form_for instead of form_tag and hadcoded html
174
-
181
+
175
182
  === 0.0.15 2009-10-06
176
183
 
177
184
  * cache the list of models
@@ -182,21 +189,21 @@ as A,Q,B instead of A,B,Q.
182
189
 
183
190
  === 0.0.14 2009-10-05
184
191
 
185
- * while editing match was being done for hard coded value id. Now it looks for klass.primary_key
192
+ * while editing match was being done for hard coded value id. Now it looks for klass.primary_key
186
193
 
187
194
  === 0.0.13 2009-10-04
188
195
 
189
- * fixed IE7 bug
196
+ * fixed IE7 bug
190
197
 
191
198
  === 0.0.12 2009-10-04
192
199
 
193
- * fixed bug regarding integer values not appearning in listing
200
+ * fixed bug regarding integer values not appearning in listing
194
201
  * better indentation
195
202
 
196
203
  === 0.0.11 2009-10-01
197
204
 
198
- * Major contribution in this release by Alex Rothenberg. http://github.com/alexrothenberg
199
- * this plugin now treats each model as a restful resource.
205
+ * Major contribution in this release by Alex Rothenberg. http://github.com/alexrothenberg
206
+ * this plugin now treats each model as a restful resource.
200
207
  * security fix and test for it
201
208
  * commented out offending code for has_one relationship
202
209
  * has_one and habtm relationships along with test would be taken up in next release
@@ -210,7 +217,7 @@ as A,Q,B instead of A,B,Q.
210
217
 
211
218
  === 0.0.10 2009-09-18
212
219
 
213
- * fixed listing and has_many association info for namespaced model
220
+ * fixed listing and has_many association info for namespaced model
214
221
 
215
222
  === 0.0.9 2009-09-18
216
223
 
@@ -224,7 +231,7 @@ as A,Q,B instead of A,B,Q.
224
231
 
225
232
  === 0.0.7 2009-09-17
226
233
 
227
- * fixed test for Vehicle::Car
234
+ * fixed test for Vehicle::Car
228
235
 
229
236
  === 0.0.6 2009-09-09
230
237
 
@@ -242,9 +249,9 @@ as A,Q,B instead of A,B,Q.
242
249
 
243
250
  * changed the way security configiruation is passed to the plugin
244
251
 
245
- * users can configure number of records in a page. Default is 50
252
+ * users can configure number of records in a page. Default is 50
246
253
 
247
- * fixed bug associated with advance search
254
+ * fixed bug associated with advance search
248
255
 
249
256
  * added link to report bug in footer
250
257
 
@@ -253,7 +260,7 @@ as A,Q,B instead of A,B,Q.
253
260
  === 0.0.4 2009-08-28
254
261
 
255
262
  * storing serialized array in string causing problem in truncate method. more at
256
- http://github.com/neerajdotname/admin_data/issues#issue/3.
263
+ http://github.com/neerajdotname/admin_data/issues#issue/3.
257
264
 
258
265
  === 0.0.3 2009-08-10
259
266
 
data/README.md CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  #Test#
16
16
 
17
- Test code currently resides in a different project [admin_data_test](http://github.com/neerajdotname/admin_data_test) . Test code should be merged into this project very soon.
17
+ cd _test/rails_app_ and read the instructions mentioned at README.md there.
18
18
 
19
19
 
20
20
  ### License
data/Rakefile CHANGED
@@ -17,7 +17,7 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
17
17
  rdoc.rdoc_dir = 'rdoc'
18
18
  rdoc.title = 'AdminData'
19
19
  rdoc.options << '--line-numbers' << '--inline-source'
20
- rdoc.rdoc_files.include('README.textile')
20
+ rdoc.rdoc_files.include('README.md')
21
21
  rdoc.rdoc_files.include('lib/**/*.rb')
22
22
  end
23
23
 
@@ -31,7 +31,7 @@ begin
31
31
  s.email = "neerajdotname@gmail.com"
32
32
  s.homepage = "http://github.com/neerajdotname/admin_data"
33
33
  s.authors = ['Neeraj Singh']
34
- s.files = FileList["[A-Z]*", "{app,config,lib,test}/**/*", 'init.rb']
34
+ s.files = FileList["[A-Z]*", "{app,config,lib}/**/*", 'init.rb']
35
35
 
36
36
  s.add_dependency('will_paginate', '>= 3.0.pre2')
37
37
 
@@ -0,0 +1,111 @@
1
+ module AdminData
2
+
3
+ class ApplicationController < ::ApplicationController
4
+
5
+ before_filter :ensure_is_allowed_to_view
6
+
7
+ helper_method :is_allowed_to_update?
8
+
9
+ layout 'admin_data'
10
+
11
+ before_filter :build_klasses, :build_drop_down_for_klasses, :check_page_parameter, :prepare_drop_down_klasses
12
+
13
+ attr_reader :klass, :model
14
+
15
+ protected
16
+
17
+ self.config.asset_path = lambda {|asset| "/admin_data/public#{asset}"}
18
+
19
+ private
20
+
21
+ def prepare_drop_down_klasses
22
+ k = params[:klass] || ''
23
+ @drop_down_url = "http://#{request.host_with_port}/admin_data/quick_search/#{CGI.escape(k)}"
24
+ end
25
+
26
+ def ensure_is_allowed_to_view
27
+ render :text => 'not authorized' unless is_allowed_to_view?
28
+ end
29
+
30
+ def ensure_is_allowed_to_update
31
+ render :text => 'not authorized' unless is_allowed_to_update?
32
+ end
33
+
34
+ def get_class_from_params
35
+ begin
36
+ @klass = Util.camelize_constantize(params[:klass])
37
+ rescue TypeError => e # in case no params[:klass] is supplied
38
+ render :text => 'wrong params[:klass] was supplied' and return
39
+ rescue NameError # in case wrong params[:klass] is supplied
40
+ render :text => 'wrong params[:klass] was supplied' and return
41
+ end
42
+ end
43
+
44
+ def build_klasses
45
+ @klasses = _build_all_klasses
46
+ end
47
+
48
+ def _build_all_klasses
49
+ if defined? $admin_data_all_klasses
50
+ return $admin_data_all_klasses
51
+ else
52
+ model_dir = File.join(Rails.root, 'app', 'models')
53
+ model_names = Dir.chdir(model_dir) { Dir["*.rb"] }
54
+ klasses = get_klass_names(model_names)
55
+ $admin_data_all_klasses = remove_klasses_without_table(klasses).sort_by {|r| r.name.underscore}
56
+ end
57
+ end
58
+
59
+ def _build_custom_klasses
60
+ _build_all_klasses.compact.select do |klass_local|
61
+ @klass = klass_local
62
+ is_allowed_to_view_klass?
63
+ end
64
+ end
65
+
66
+ def remove_klasses_without_table(klasses)
67
+ klasses.select { |k| k.ancestors.include?(ActiveRecord::Base) && k.connection.table_exists?(k.table_name) }
68
+ end
69
+
70
+ def get_klass_names(model_names)
71
+ model_names.inject([]) do |output, model_name|
72
+ klass_name = model_name.sub(/\.rb$/,'').camelize
73
+ begin
74
+ output << Util.constantize_klass(klass_name)
75
+ rescue Exception => e
76
+ Rails.logger.debug e.message
77
+ end
78
+ output
79
+ end
80
+ end
81
+
82
+ def build_drop_down_for_klasses
83
+ @drop_down_for_klasses = @klasses.inject([]) do |result, klass|
84
+ result << [klass.name.underscore, admin_data_search_url(:klass => klass.name.underscore)]
85
+ end
86
+ end
87
+
88
+ def check_page_parameter
89
+ # Got hoptoad error because of url like
90
+ # http://localhost:3000/admin_data/User/advance_search?page=http://201.134.249.164/intranet/on.txt?
91
+ if params[:page].blank? || (params[:page] =~ /\A\d+\z/)
92
+ # proceed
93
+ else
94
+ render :text => 'Invalid params[:page]', :status => :unprocessable_entity
95
+ end
96
+ end
97
+
98
+ def per_page
99
+ AdminData.config.number_of_records_per_page
100
+ end
101
+
102
+ def is_allowed_to_view?
103
+ AdminData.config.is_allowed_to_view.call(self)
104
+ end
105
+
106
+ def is_allowed_to_update?
107
+ AdminData.config.is_allowed_to_update.call(self)
108
+ end
109
+
110
+ end
111
+ end
@@ -0,0 +1,100 @@
1
+ module AdminData
2
+
3
+ class CrudController < ApplicationController
4
+
5
+ before_filter :get_class_from_params, :only => [:show, :destroy, :del, :edit, :new, :update, :create]
6
+
7
+ before_filter :get_model_and_verify_it, :only => [:destroy, :del, :edit, :update, :show]
8
+
9
+ before_filter :ensure_is_allowed_to_update, :only => [:destroy, :del, :edit, :update, :create]
10
+
11
+ def show
12
+ @page_title = "#{@klass.name.underscore}:#{@model.id}"
13
+ respond_to {|format| format.html}
14
+ end
15
+
16
+ def destroy
17
+ @klass.send(:destroy, params[:id])
18
+ redirect_to admin_data_search_path(:klass => @klass.name.underscore)
19
+ end
20
+
21
+ def del
22
+ @klass.send(:delete, params[:id])
23
+ flash[:success] = 'Record was deleted'
24
+ redirect_to admin_data_search_path(:klass => @klass.name.underscore)
25
+ end
26
+
27
+ def edit
28
+ @page_title = "edit #{@klass.name.underscore}:#{@model.id}"
29
+ @columns = columns_list
30
+ respond_to {|format| format.html}
31
+ end
32
+
33
+ def new
34
+ @page_title = "new #{@klass.name.underscore}"
35
+ @model = @klass.send(:new)
36
+ @columns = columns_list
37
+ respond_to {|format| format.html}
38
+ end
39
+
40
+ def update
41
+ model_attrs = params[@klass.name.underscore]
42
+ @columns = columns_list
43
+
44
+ respond_to do |format|
45
+ if @model.update_attributes(model_attrs)
46
+ format.html do
47
+ flash[:success] = "Record was updated"
48
+ redirect_to admin_data_path(:id => @model, :klass => @klass.name.underscore)
49
+ end
50
+ format.js { render :json => {:success => true}}
51
+ else
52
+ format.html { render :action => 'edit' }
53
+ format.js { render :json => {:error => @model.errors.full_messages.join } }
54
+ end
55
+ end
56
+ end
57
+
58
+ def create
59
+ model_attrs = params[@klass.name.underscore]
60
+ @model = @klass.create(model_attrs)
61
+ @columns = columns_list
62
+
63
+ respond_to do |format|
64
+ if @model.errors.any?
65
+ format.html { render :action => 'new' }
66
+ format.js { render :json => {:error => @model.errors.full_messages.join() }}
67
+ else
68
+ format.html do
69
+ flash[:success] = "Record was created"
70
+ redirect_to admin_data_path(:id => @model, :klass => @klass.name.underscore)
71
+ end
72
+ format.js { render :json => {} }
73
+ end
74
+ end
75
+ end
76
+
77
+ private
78
+
79
+ def get_model_and_verify_it
80
+ primary_key = @klass.primary_key.intern
81
+ conditional_id = params[:id] =~ /^(\d+)-.*/ ? params[:id].to_i : params[:id]
82
+ condition = {primary_key => conditional_id}
83
+
84
+ _proc = AdminData.config.find_conditions[@klass.name]
85
+ if _proc && find_conditions = _proc.call(params)
86
+ condition = find_conditions.fetch(:conditions) if find_conditions.has_key?(:conditions)
87
+ end
88
+
89
+ unless @model = @klass.find(:first, :conditions => condition)
90
+ render :text => "#{@klass.name} not found: #{params[:id]}"
91
+ return
92
+ end
93
+ end
94
+
95
+ def columns_list
96
+ params[:attr].blank? ? @klass.columns : @klass.columns.find_all {|col| params[:attr] == col.name}
97
+ end
98
+
99
+ end
100
+ end
@@ -1,26 +1,48 @@
1
- class AdminData::FeedController < AdminData::BaseController
1
+ module AdminData
2
2
 
3
- unloadable
3
+ class FeedController < ApplicationController
4
4
 
5
- before_filter :ensure_is_allowed_to_view_feed
5
+ def index
6
+ render :text => "Usage: http://localhost:3000/admin_data/feed/<model name>" and return if params[:klasss].blank?
6
7
 
7
- def index
8
- render :text => "Usage: http://localhost:3000/admin_data/feed/<model name>" and return if params[:klasss].blank?
8
+ begin
9
+ @klass = Util.camelize_constantize(params[:klasss])
10
+ @title = "Feeds from admin_data #{@klass.name}"
11
+ @description = "feeds from AdminData #{@klass.name}"
12
+ @records = @klass.find(:all, :order => "#{@klass.primary_key} desc", :limit => 100)
13
+ rescue NameError => e
14
+ render :text => "No constant was found with name #{params[:klasss]}" and return
15
+ end
16
+ end
17
+
18
+ private
9
19
 
10
- begin
11
- @klass = AdminData::Util.camelize_constantize(params[:klasss])
12
- @title = "Feeds from admin_data #{@klass.name}"
13
- @description = "feeds from AdminData #{@klass.name}"
14
- @records = @klass.find(:all, :order => "#{@klass.primary_key} desc", :limit => 100)
15
- rescue NameError => e
16
- render :text => "No constant was found with name #{params[:klasss]}" and return
20
+ def ensure_is_allowed_to_view_feed
21
+ render :text => 'not authorized' unless is_allowed_to_view_feed?(self)
17
22
  end
18
- end
19
23
 
20
- private
24
+ def is_allowed_to_view_feed?(controller)
25
+ return true if Rails.env.development?
26
+
27
+ if AdminData.config.feed_authentication_user_id.blank?
28
+ Rails.logger.info 'No user id has been supplied for feed'
29
+ return false
30
+ elsif AdminData.config.feed_authentication_password.blank?
31
+ Rails.logger.info 'No password has been supplied for feed'
32
+ return false
33
+ end
34
+
35
+ stored_userid = AdminData.config.feed_authentication_user_id
36
+ stored_password = AdminData.config.feed_authentication_password
37
+ perform_basic_authentication(stored_userid, stored_password, controller)
38
+ end
39
+
40
+ def perform_basic_authentication(stored_userid, stored_password, controller)
41
+ controller.authenticate_or_request_with_http_basic do |input_userid, input_password|
42
+ (input_userid == stored_userid) && (input_password == stored_password)
43
+ end
44
+ end
21
45
 
22
- def ensure_is_allowed_to_view_feed
23
- render :text => 'not authorized' unless AdminData::Util.is_allowed_to_view_feed?(self)
24
46
  end
25
47
 
26
48
  end
@@ -0,0 +1,11 @@
1
+ module AdminData
2
+ class HomeController < ApplicationController
3
+
4
+ def index
5
+ respond_to do |format|
6
+ format.html
7
+ end
8
+ end
9
+
10
+ end
11
+ end
@@ -1,18 +1,18 @@
1
- class AdminData::MigrationController < AdminData::BaseController
1
+ module AdminData
2
+ class MigrationController < ApplicationController
2
3
 
3
- unloadable
4
+ before_filter :ensure_is_allowed_to_view
4
5
 
5
- before_filter :ensure_is_allowed_to_view
6
+ def index
7
+ @page_title = 'migration information'
8
+ @data = ActiveRecord::Base.connection.select_all('select * from schema_migrations')
9
+ respond_to {|format| format.html}
10
+ end
6
11
 
7
- def index
8
- @page_title = 'migration information'
9
- @data = ActiveRecord::Base.connection.select_all('select * from schema_migrations')
10
- respond_to {|format| format.html}
11
- end
12
+ def jstest
13
+ @page_title = 'jstest'
14
+ respond_to {|format| format.html { render :layout => false}}
15
+ end
12
16
 
13
- def jstest
14
- @page_title = 'jstest'
15
- respond_to {|format| format.html { render :layout => false}}
16
17
  end
17
-
18
18
  end