the_jobbook_admin_data 1.3.0a

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. data/.gitignore +19 -0
  2. data/CHANGELOG.rdoc +284 -0
  3. data/Gemfile +22 -0
  4. data/Gemfile.lock +121 -0
  5. data/Guardfile +14 -0
  6. data/MIT-LICENSE +20 -0
  7. data/README.md +37 -0
  8. data/README.rdoc +3 -0
  9. data/Rakefile +40 -0
  10. data/admin_data.gemspec +23 -0
  11. data/app/assets/images/add.png +0 -0
  12. data/app/assets/images/admin_data/.gitkeep +0 -0
  13. data/app/assets/images/no.png +0 -0
  14. data/app/assets/images/site.png +0 -0
  15. data/app/assets/images/sort_by_asc.jpg +0 -0
  16. data/app/assets/images/sort_by_desc.jpg +0 -0
  17. data/app/assets/images/sort_by_nothing.jpg +0 -0
  18. data/app/assets/javascripts/admin_data.js +18 -0
  19. data/app/assets/javascripts/admin_data/application.js +15 -0
  20. data/app/assets/javascripts/advance_search/act_on_result.js +45 -0
  21. data/app/assets/javascripts/advance_search/advance_search.js +83 -0
  22. data/app/assets/javascripts/advance_search/advance_search_structure.js +79 -0
  23. data/app/assets/javascripts/advance_search/ajaxify_advance_search.js +28 -0
  24. data/app/assets/javascripts/advance_search/build_first_row.js +8 -0
  25. data/app/assets/javascripts/advance_search/event_bindings.js +76 -0
  26. data/app/assets/javascripts/advance_search/global_ajax_setting.js +10 -0
  27. data/app/assets/javascripts/advance_search/sortby.js +14 -0
  28. data/app/assets/javascripts/advance_search/trigger_submit_on_domready.js +6 -0
  29. data/app/assets/javascripts/analytics/report.js +7 -0
  30. data/app/assets/javascripts/misc/drop_down_change.js +8 -0
  31. data/app/assets/javascripts/misc/js_util.js +58 -0
  32. data/app/assets/javascripts/misc/quick_search_input_focus.js +6 -0
  33. data/app/assets/javascripts/vendor/jquery-1.4.2.js +6240 -0
  34. data/app/assets/javascripts/vendor/jquery-ui-1.7.2.custom.min.js +298 -0
  35. data/app/assets/javascripts/vendor/jquery.ba-isjquery.js +21 -0
  36. data/app/assets/javascripts/vendor/jquery_form.js +814 -0
  37. data/app/assets/javascripts/vendor/log.js +9 -0
  38. data/app/assets/javascripts/vendor/rails.js +132 -0
  39. data/app/assets/stylesheets/admin_data.css +1141 -0
  40. data/app/assets/stylesheets/admin_data/application.css +13 -0
  41. data/app/assets/stylesheets/vendor/jquery-ui-1.7.2.custom.css +406 -0
  42. data/app/controllers/admin_data/application_controller.rb +107 -0
  43. data/app/controllers/admin_data/crud_controller.rb +100 -0
  44. data/app/controllers/admin_data/feed_controller.rb +48 -0
  45. data/app/controllers/admin_data/home_controller.rb +8 -0
  46. data/app/controllers/admin_data/migration_controller.rb +18 -0
  47. data/app/controllers/admin_data/public_controller.rb +28 -0
  48. data/app/controllers/admin_data/search_controller.rb +143 -0
  49. data/app/controllers/admin_data/table_structure_controller.rb +25 -0
  50. data/app/helpers/admin_data/application_helper.rb +320 -0
  51. data/app/views/admin_data/crud/association/_association_info.html.erb +11 -0
  52. data/app/views/admin_data/crud/association/_belongs_to_info.html.erb +7 -0
  53. data/app/views/admin_data/crud/association/_habtm_info.html.erb +7 -0
  54. data/app/views/admin_data/crud/association/_has_many_info.html.erb +7 -0
  55. data/app/views/admin_data/crud/association/_has_one_info.html.erb +6 -0
  56. data/app/views/admin_data/crud/edit.html.erb +36 -0
  57. data/app/views/admin_data/crud/misc/_form.html.erb +38 -0
  58. data/app/views/admin_data/crud/misc/_modify_record.html.erb +18 -0
  59. data/app/views/admin_data/crud/new.html.erb +25 -0
  60. data/app/views/admin_data/crud/show.html.erb +42 -0
  61. data/app/views/admin_data/feed/index.rss.builder +25 -0
  62. data/app/views/admin_data/home/index.html.erb +21 -0
  63. data/app/views/admin_data/migration/index.html.erb +18 -0
  64. data/app/views/admin_data/migration/jstest.html.erb +51 -0
  65. data/app/views/admin_data/search/advance_search.html.erb +1 -0
  66. data/app/views/admin_data/search/quick_search.html.erb +1 -0
  67. data/app/views/admin_data/search/search/_advance_search_form.html.erb +52 -0
  68. data/app/views/admin_data/search/search/_errors.html.erb +5 -0
  69. data/app/views/admin_data/search/search/_listing.html.erb +43 -0
  70. data/app/views/admin_data/search/search/_search_form.html.erb +27 -0
  71. data/app/views/admin_data/search/search/_title.html.erb +34 -0
  72. data/app/views/admin_data/shared/_breadcrum.html.erb +16 -0
  73. data/app/views/admin_data/shared/_drop_down_klasses.html.erb +4 -0
  74. data/app/views/admin_data/shared/_flash_message.html.erb +13 -0
  75. data/app/views/admin_data/shared/_header.html.erb +20 -0
  76. data/app/views/admin_data/shared/_powered_by.html.erb +6 -0
  77. data/app/views/admin_data/shared/_secondary_navigation.html.erb +26 -0
  78. data/app/views/admin_data/table_structure/index.html.erb +54 -0
  79. data/app/views/layouts/admin_data.html.erb +34 -0
  80. data/app/views/layouts/admin_data/application.html.erb +14 -0
  81. data/app/views/layouts/search.html.erb +71 -0
  82. data/config/routes.rb +32 -0
  83. data/lib/admin_data.rb +27 -0
  84. data/lib/admin_data/active_record_util.rb +102 -0
  85. data/lib/admin_data/analytics.rb +176 -0
  86. data/lib/admin_data/authenticator.rb +15 -0
  87. data/lib/admin_data/config.rb +38 -0
  88. data/lib/admin_data/configuration.rb +127 -0
  89. data/lib/admin_data/date_util.rb +58 -0
  90. data/lib/admin_data/engine.rb +17 -0
  91. data/lib/admin_data/model_finder.rb +15 -0
  92. data/lib/admin_data/rails_version_check.rb +8 -0
  93. data/lib/admin_data/search.rb +188 -0
  94. data/lib/admin_data/setup_config.rb +24 -0
  95. data/lib/admin_data/util.rb +102 -0
  96. data/lib/admin_data/version.rb +3 -0
  97. data/lib/tasks/admin_data_tasks.rake +4 -0
  98. data/script/rails +8 -0
  99. data/test/admin_data_test.rb +7 -0
  100. data/test/dummy/README.md +19 -0
  101. data/test/dummy/Rakefile +7 -0
  102. data/test/dummy/app/controllers/application_controller.rb +3 -0
  103. data/test/dummy/app/helpers/application_helper.rb +5 -0
  104. data/test/dummy/app/models/user.rb +3 -0
  105. data/test/dummy/app/models/user/student.rb +2 -0
  106. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  107. data/test/dummy/config.ru +4 -0
  108. data/test/dummy/config/application.rb +15 -0
  109. data/test/dummy/config/boot.rb +13 -0
  110. data/test/dummy/config/cucumber.yml +9 -0
  111. data/test/dummy/config/database.yml +25 -0
  112. data/test/dummy/config/database.yml.mysql +22 -0
  113. data/test/dummy/config/database.yml.pg +15 -0
  114. data/test/dummy/config/database.yml.sqlite3 +25 -0
  115. data/test/dummy/config/environment.rb +5 -0
  116. data/test/dummy/config/environments/development.rb +22 -0
  117. data/test/dummy/config/environments/production.rb +49 -0
  118. data/test/dummy/config/environments/test.rb +35 -0
  119. data/test/dummy/config/initializers/admin_data.rb +15 -0
  120. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  121. data/test/dummy/config/initializers/empty_spaces_to_nil.rb +10 -0
  122. data/test/dummy/config/initializers/inflections.rb +10 -0
  123. data/test/dummy/config/initializers/mime_types.rb +5 -0
  124. data/test/dummy/config/initializers/secret_token.rb +7 -0
  125. data/test/dummy/config/initializers/session_store.rb +8 -0
  126. data/test/dummy/config/locales/en.yml +5 -0
  127. data/test/dummy/config/routes.rb +9 -0
  128. data/test/dummy/db/development.sqlite3 +0 -0
  129. data/test/dummy/db/migrate/20091030202259_create_tables.rb +72 -0
  130. data/test/dummy/db/production.sqlite3 +1 -0
  131. data/test/dummy/db/schema.rb +23 -0
  132. data/test/dummy/db/seeds.rb +40 -0
  133. data/test/dummy/db/test.sqlite3 +0 -0
  134. data/test/dummy/features/advance_search/boolean.feature +74 -0
  135. data/test/dummy/features/advance_search/datetime.feature +101 -0
  136. data/test/dummy/features/advance_search/delete_all.feature +20 -0
  137. data/test/dummy/features/advance_search/destroy_all.feature +20 -0
  138. data/test/dummy/features/advance_search/integer.feature +69 -0
  139. data/test/dummy/features/advance_search/multiple_rows.feature +87 -0
  140. data/test/dummy/features/advance_search/string.feature +130 -0
  141. data/test/dummy/features/crud.feature +50 -0
  142. data/test/dummy/features/crud_show.feature +56 -0
  143. data/test/dummy/features/feed.feature +13 -0
  144. data/test/dummy/features/home.feature +42 -0
  145. data/test/dummy/features/migration.feature +7 -0
  146. data/test/dummy/features/quick_search.feature +113 -0
  147. data/test/dummy/features/step_definitions/advance_search_steps.rb +13 -0
  148. data/test/dummy/features/step_definitions/app_steps.rb +36 -0
  149. data/test/dummy/features/step_definitions/async.rb +18 -0
  150. data/test/dummy/features/step_definitions/configuration_steps.rb +61 -0
  151. data/test/dummy/features/step_definitions/crud_show_steps.rb +37 -0
  152. data/test/dummy/features/step_definitions/feed_steps.rb +24 -0
  153. data/test/dummy/features/step_definitions/quick_search_steps.rb +68 -0
  154. data/test/dummy/features/step_definitions/util.rb +90 -0
  155. data/test/dummy/features/step_definitions/web_steps.rb +219 -0
  156. data/test/dummy/features/support/env.rb +66 -0
  157. data/test/dummy/features/support/hooks.rb +9 -0
  158. data/test/dummy/features/support/paths.rb +33 -0
  159. data/test/dummy/features/table_structure.feature +18 -0
  160. data/test/dummy/lib/tasks/.gitkeep +0 -0
  161. data/test/dummy/lib/tasks/cucumber.rake +53 -0
  162. data/test/dummy/lib/tasks/dbs.rake +30 -0
  163. data/test/dummy/lib/tasks/sample_cars.rake +18 -0
  164. data/test/dummy/public/.gitkeep +0 -0
  165. data/test/dummy/script/cucumber +10 -0
  166. data/test/dummy/script/rails +6 -0
  167. data/test/dummy/test/factories.rb +30 -0
  168. data/test/dummy/test/test_helper.rb +7 -0
  169. data/test/integration/navigation_test.rb +10 -0
  170. data/test/test_helper.rb +15 -0
  171. data/test/unit/admin_data/model_finder_test.rb +16 -0
  172. data/test/unit/car_test.rb +96 -0
  173. data/test/unit/user_phone_test.rb +19 -0
  174. metadata +253 -0
@@ -0,0 +1,9 @@
1
+ function log() {
2
+ try {
3
+ console.log.apply(console, arguments);
4
+ } catch(e) {
5
+ //alert( Array.prototype.join.call( arguments, " "));
6
+ }
7
+ }
8
+
9
+
@@ -0,0 +1,132 @@
1
+ jQuery(function ($) {
2
+ var csrf_token = $('meta[name=csrf-token]').attr('content'),
3
+ csrf_param = $('meta[name=csrf-param]').attr('content');
4
+
5
+ $.fn.extend({
6
+ /**
7
+ * Triggers a custom event on an element and returns the event result
8
+ * this is used to get around not being able to ensure callbacks are placed
9
+ * at the end of the chain.
10
+ *
11
+ * TODO: deprecate with jQuery 1.4.2 release, in favor of subscribing to our
12
+ * own events and placing ourselves at the end of the chain.
13
+ */
14
+ triggerAndReturn: function (name, data) {
15
+ var event = new $.Event(name);
16
+ this.trigger(event, data);
17
+
18
+ return event.result !== false;
19
+ },
20
+
21
+ /**
22
+ * Handles execution of remote calls firing overridable events along the way
23
+ */
24
+ callRemote: function () {
25
+ var el = this,
26
+ method = el.attr('method') || el.attr('data-method') || 'GET',
27
+ url = el.attr('action') || el.attr('href'),
28
+ dataType = el.attr('data-type') || 'script';
29
+
30
+ if (url === undefined) {
31
+ throw "No URL specified for remote call (action or href must be present).";
32
+ } else {
33
+ if (el.triggerAndReturn('ajax:before')) {
34
+ var data = el.is('form') ? el.serializeArray() : [];
35
+ $.ajax({
36
+ url: url,
37
+ data: data,
38
+ dataType: dataType,
39
+ type: method.toUpperCase(),
40
+ beforeSend: function (xhr) {
41
+ el.trigger('ajax:loading', xhr);
42
+ },
43
+ success: function (data, status, xhr) {
44
+ el.trigger('ajax:success', [data, status, xhr]);
45
+ },
46
+ complete: function (xhr) {
47
+ el.trigger('ajax:complete', xhr);
48
+ },
49
+ error: function (xhr, status, error) {
50
+ el.trigger('ajax:failure', [xhr, status, error]);
51
+ }
52
+ });
53
+ }
54
+
55
+ el.trigger('ajax:after');
56
+ }
57
+ }
58
+ });
59
+
60
+ /**
61
+ * confirmation handler
62
+ */
63
+ $('a[data-confirm],input[data-confirm]').live('click', function () {
64
+ var el = $(this);
65
+ if (el.triggerAndReturn('confirm')) {
66
+ if (!confirm(el.attr('data-confirm'))) {
67
+ return false;
68
+ }
69
+ }
70
+ });
71
+
72
+
73
+ /**
74
+ * remote handlers
75
+ */
76
+ $('form[data-remote]').live('submit', function (e) {
77
+ $(this).callRemote();
78
+ e.preventDefault();
79
+ });
80
+
81
+ $('a[data-remote],input[data-remote]').live('click', function (e) {
82
+ $(this).callRemote();
83
+ e.preventDefault();
84
+ });
85
+
86
+ $('a[data-method]:not([data-remote])').live('click', function (e){
87
+ var link = $(this),
88
+ href = link.attr('href'),
89
+ method = link.attr('data-method'),
90
+ form = $('<form method="post" action="'+href+'"></form>'),
91
+ metadata_input = '<input name="_method" value="'+method+'" type="hidden" />';
92
+
93
+ if (csrf_param != null && csrf_token != null) {
94
+ metadata_input += '<input name="'+csrf_param+'" value="'+csrf_token+'" type="hidden" />';
95
+ }
96
+
97
+ form.hide()
98
+ .append(metadata_input)
99
+ .appendTo('body');
100
+
101
+ e.preventDefault();
102
+ form.submit();
103
+ });
104
+
105
+ /**
106
+ * disable-with handlers
107
+ */
108
+ var disable_with_input_selector = 'input[data-disable-with]';
109
+ var disable_with_form_remote_selector = 'form[data-remote]:has(' + disable_with_input_selector + ')';
110
+ var disable_with_form_not_remote_selector = 'form:not([data-remote]):has(' + disable_with_input_selector + ')';
111
+
112
+ var disable_with_input_function = function () {
113
+ $(this).find(disable_with_input_selector).each(function () {
114
+ var input = $(this);
115
+ input.data('enable-with', input.val())
116
+ .attr('value', input.attr('data-disable-with'))
117
+ .attr('disabled', 'disabled');
118
+ });
119
+ };
120
+
121
+ $(disable_with_form_remote_selector).live('ajax:before', disable_with_input_function);
122
+ $(disable_with_form_not_remote_selector).live('submit', disable_with_input_function);
123
+
124
+ $(disable_with_form_remote_selector).live('ajax:complete', function () {
125
+ $(this).find(disable_with_input_selector).each(function () {
126
+ var input = $(this);
127
+ input.removeAttr('disabled')
128
+ .val(input.data('enable-with'));
129
+ });
130
+ });
131
+
132
+ });
@@ -0,0 +1,1141 @@
1
+ /*
2
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
5
+ *= require_self
6
+ *= require_tree ./vendor
7
+ */
8
+
9
+ * {
10
+ margin: 0;
11
+ padding:0
12
+ }
13
+
14
+ .clear { clear: both; height: 0; }
15
+
16
+ h1 { margin: 15px 0; font-size: 22px; font-weight: normal; }
17
+ h2 { font-size: 22px; margin: 15px 0; font-weight: normal;}
18
+ h3 { font-size: 18px; margin: 10px 0; font-weight: normal;}
19
+ h4 { font-size: 16px; margin: 10px 0; font-weight: normal;}
20
+ hr {height: 1px; border: 0; }
21
+ p { margin: 15px 0;}
22
+ a img { border: none; }
23
+
24
+ body {
25
+ font-size: 15px;
26
+ font-family: sans-serif;
27
+ background: #fff;
28
+ }
29
+
30
+ #container {
31
+ min-width: 940px;
32
+ margin: 0 10px;
33
+ background: #B3D8EF;
34
+ background: #0f61a1;
35
+ background: #e4e4e4;
36
+ }
37
+
38
+ #header {
39
+ padding: 0 20px;
40
+ }
41
+ #wrapper {
42
+ padding: 0 20px;
43
+ margin: 0;
44
+ }
45
+
46
+ #header {
47
+ position: relative;
48
+ padding-top: 0px;
49
+ margin-top: 0px;
50
+ margin-bottom: 15px;
51
+ margin:0;
52
+ background: #ddd;
53
+ float: left;
54
+ width: 100%;
55
+ font-size: 20px;
56
+ background-color: #D5E9F6;
57
+ }
58
+
59
+ #header h1 {
60
+ margin: 0;
61
+ padding: 10px 0;
62
+ font-size: 40px;
63
+ float: left;
64
+ padding: 15px 45px 15px 10px;
65
+ font-style: normal;
66
+ font-weight: bold;
67
+ text-transform: normal;
68
+ letter-spacing: 1px;
69
+ line-height: 1.2em;
70
+ }
71
+
72
+ #header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
73
+ text-decoration: none;
74
+ font-family: "Helvetica Neue Light","HelveticaNeue-Light","Helvetica Neue",Calibri,Helvetica,Arial;
75
+ color: #000;
76
+ }
77
+
78
+
79
+ #main {
80
+ width: 70%;
81
+ float: left;
82
+ background: #fff;
83
+ padding: 0 20px;
84
+ }
85
+
86
+ .actions-bar {
87
+ padding: 10px 1px;
88
+ }
89
+
90
+ .actions-bar .actions {
91
+ float: left;
92
+ }
93
+
94
+
95
+ .actions-bar .pagination {
96
+ float: right;
97
+ padding: 1px 0;
98
+ }
99
+
100
+ #sidebar {
101
+ width: 25%;
102
+ float: right;
103
+ }
104
+
105
+ #sidebar h3 {
106
+ padding: 10px 15px;
107
+ margin: 0;
108
+ font-size: 13px;
109
+ }
110
+
111
+ #sidebar .block {
112
+ margin-bottom: 20px;
113
+ padding-bottom: 10px;
114
+ }
115
+
116
+ #sidebar .block .content {
117
+ padding: 0 15px;
118
+ }
119
+
120
+ #sidebar ul.navigation li a:link, #sidebar ul.navigation li a:visited {
121
+ display: block;
122
+ padding: 10px 15px;
123
+ }
124
+
125
+ #sidebar .block .sidebar-block, #sidebar .notice {
126
+ padding:10px;
127
+ }
128
+
129
+ #wrapper {
130
+ padding-top: 10px;
131
+ }
132
+
133
+ #main .block {
134
+ margin-bottom: 20px;
135
+ padding-top: 1px;
136
+ }
137
+
138
+ #main .block .content .inner {
139
+ padding: 0 15px 15px;
140
+ }
141
+
142
+ #main .main p.first {
143
+ margin-top: 0;
144
+ }
145
+
146
+ #user-navigation {
147
+ position: absolute;
148
+ top: 0px;
149
+ right: 20px;
150
+ }
151
+
152
+ #main-navigation {
153
+ width: 100%;
154
+ }
155
+
156
+ #user-navigation ul, #main-navigation ul, .secondary-navigation ul, #sidebar ul.navigation {
157
+ margin: 0;
158
+ padding: 0;
159
+ list-style-type: none;
160
+ }
161
+
162
+ #user-navigation ul li, #main-navigation ul li, .secondary-navigation ul li {
163
+ float: left;
164
+ }
165
+
166
+ #main-navigation ul li {
167
+ margin-right: 5px;
168
+ }
169
+
170
+ #user-navigation ul li {
171
+ padding: 5px 10px;
172
+ }
173
+
174
+ #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
175
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
176
+ #user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
177
+ text-decoration: none;
178
+ }
179
+
180
+ #main-navigation ul li a {
181
+ font-size: 15px;
182
+ display: block;
183
+ padding: 8px 15px;
184
+ }
185
+
186
+ .secondary-navigation {
187
+ font-size: 13px;
188
+ border-bottom-width: 10px;
189
+ border-bottom-style: solid;
190
+ }
191
+
192
+ .secondary-navigation ul li a {
193
+ display: block;
194
+ padding: 10px 15px;
195
+ }
196
+
197
+ #footer {
198
+ padding-bottom: 20px;
199
+ }
200
+
201
+ /* pagination */
202
+
203
+ .pagination a, .pagination span, .pagination em {
204
+ padding: 2px 5px;
205
+ margin-right: 5px;
206
+ display: block;
207
+ float: left;
208
+ border-style: solid;
209
+ border-width: 1px;
210
+ }
211
+
212
+ .pagination em {
213
+ font-weight: bold;
214
+ }
215
+
216
+ .pagination a {
217
+ text-decoration: none;
218
+ }
219
+
220
+ /* tables */
221
+ .table {
222
+ width: 100%;
223
+ border-collapse: collapse;
224
+ margin-bottom: 15px;
225
+ }
226
+
227
+ .table th {
228
+ padding: 10px;
229
+ font-weight: bold;
230
+ text-align: left;
231
+ }
232
+
233
+ .table th.first {
234
+ width: 30px;
235
+ }
236
+
237
+ .table th.last {
238
+ width: 200px;
239
+ }
240
+
241
+ .table .checkbox {
242
+ margin-left: 10px;
243
+ }
244
+
245
+ .table td {
246
+ padding: 10px;
247
+ }
248
+
249
+ .table td.last {
250
+ text-align: right;
251
+ }
252
+
253
+ /* forms */
254
+
255
+ input.checkbox {
256
+ margin: 0;
257
+ padding: 0;
258
+ }
259
+
260
+ .form .group {
261
+ margin-bottom: 15px;
262
+ }
263
+
264
+ .form div.left {
265
+ width: 20%;
266
+ float: left;
267
+ }
268
+
269
+ .form div.right {
270
+ width: 75%;
271
+ float: right;
272
+ }
273
+
274
+ .form .columns .column {
275
+ width: 48%;
276
+ }
277
+
278
+ .form .columns .left {
279
+ float: left;
280
+ }
281
+
282
+ .form .columns .right {
283
+ float: right;
284
+ }
285
+
286
+ .form label.label, .form input.text_field, .form textarea.text_area {
287
+ font-size: 1.2em;
288
+ padding: 1px 0;
289
+ margin: 0;
290
+ }
291
+
292
+ .form label.right {
293
+ text-align: right;
294
+ }
295
+
296
+ .form input.checkbox, .form input.radio {
297
+ margin-right: 5px;
298
+ }
299
+
300
+ .form label.checkbox, .form label.radio {
301
+ line-height: 1.5em;
302
+ }
303
+
304
+ .form label.label {
305
+ display: block;
306
+ padding-bottom: 2px;
307
+ font-weight: bold;
308
+ }
309
+
310
+ .form div.fieldWithErrors label.label {
311
+ display: inline;
312
+ }
313
+
314
+ .form .fieldWithErrors .error {
315
+ color: red;
316
+ }
317
+
318
+ .form input.text_field, .form textarea.text_area {
319
+ width: 100%;
320
+ border-width: 1px;
321
+ border-style: solid;
322
+ }
323
+
324
+ /* lists */
325
+
326
+ ul.list {
327
+ margin: 0;
328
+ padding: 0;
329
+ list-style-type: none;
330
+ }
331
+
332
+ ul.list li {
333
+ clear: left;
334
+ padding-bottom: 5px;
335
+ }
336
+
337
+ ul.list li .left {
338
+ float: left;
339
+ }
340
+
341
+ ul.list li .left .avatar {
342
+ width: 50px;
343
+ height: 50px;
344
+ }
345
+
346
+ ul.list li .item {
347
+ margin-left: 80px;
348
+ }
349
+
350
+ ul.list li .item .avatar {
351
+ float: left;
352
+ margin: 0 5px 5px 0;
353
+ width: 30px;
354
+ height: 30px;
355
+ }
356
+
357
+ /* box */
358
+
359
+ #box {
360
+ width: 500px;
361
+ margin: 50px auto;
362
+ }
363
+
364
+ #box .block {
365
+ margin-bottom: 20px;
366
+ }
367
+
368
+ #box .block h2 {
369
+ padding: 10px 15px;
370
+ margin: 0;
371
+ }
372
+
373
+ #box .block .content {
374
+ padding: 10px 20px;
375
+ }
376
+
377
+
378
+ /*
379
+
380
+ Drastic Dark
381
+ by Juan Maria Martinez Arce
382
+ juan[at]insignia4u.com
383
+
384
+ light grey: #ededec
385
+ medium grey: #36393d
386
+ dark grey: #1a1a1a
387
+ interactive action yellow #ffff88
388
+ red #cc0000
389
+ light blue #E6EEFC
390
+ dark blue #0B43A8
391
+
392
+ */
393
+
394
+ .small {
395
+ font-size: 11px;
396
+ font-style: normal;
397
+ font-weight: normal;
398
+ text-transform: normal;
399
+ letter-spacing: normal;
400
+ line-height: 1.4em;
401
+ }
402
+
403
+ .gray {
404
+ color:#999999;
405
+ font-family: Georgia, serif;
406
+ font-size: 13px;
407
+ font-style: italic;
408
+ font-weight: normal;
409
+ text-transform: normal;
410
+ letter-spacing: normal;
411
+ line-height: 1.6em;
412
+ }
413
+
414
+ .hightlight {
415
+ background-color: #ffff88;
416
+ font-weight: bold;
417
+ color: #36393d;
418
+ }
419
+
420
+ a:link, a:visited, a:hover, a:active, h1, h2, h3 { color: #36393d; }
421
+ a { -moz-outline: none; }
422
+
423
+ body {
424
+ color: #222;
425
+ background: #ededec;
426
+ background: #0F61FF;
427
+ background: #0072bc;
428
+ background: #fff;
429
+ background: #0f61a1;
430
+ background: #e4e4e4;
431
+ font-family: helvetica, arial, sans-serif;
432
+ }
433
+
434
+ hr {
435
+ background: #f0f0ee;
436
+ color: #f0f0ee;
437
+ }
438
+
439
+
440
+ #user-navigation {
441
+ top: auto;
442
+ bottom: 5px;
443
+ right: 25px;
444
+ }
445
+
446
+ #user-navigation a.logout {
447
+ background: #cc0000;
448
+ padding: 1px 4px;
449
+ -moz-border-radius: 4px;
450
+ -webkit-border-radius: 3px;
451
+ }
452
+
453
+ #main .block .content {
454
+ background: #FFF;
455
+ padding-top: 1px;
456
+ }
457
+
458
+ #main .block .content h2 {
459
+ margin-left: 15px;
460
+ font-size: 22px;
461
+ font-style: normal;
462
+ font-weight: bold;
463
+ text-transform: normal;
464
+ letter-spacing: -1px;
465
+ line-height: 1.2em;
466
+ }
467
+
468
+ #main .block .content p {
469
+ font-size: 13px;
470
+ font-style: normal;
471
+ font-weight: normal;
472
+ text-transform: normal;
473
+ letter-spacing: normal;
474
+ line-height: 1.45em;
475
+ }
476
+
477
+ #sidebar .block {
478
+ background: #FFF;
479
+ }
480
+
481
+ #sidebar .block h4 {
482
+ font-weight: bold;
483
+ }
484
+
485
+ #sidebar .notice {
486
+ background: #E6EEFC;
487
+ }
488
+
489
+ #sidebar .notice h4 {
490
+ color: #0B43A8;
491
+ }
492
+
493
+ #sidebar h3 {
494
+ background: #36393d;
495
+ color: #FFF;
496
+ border-bottom: 5px solid #1a1a1a;
497
+ }
498
+
499
+ #main-navigation ul li {
500
+ padding-left: 15px;
501
+ }
502
+
503
+ #main-navigation ul li a {
504
+ padding: 8px 0;
505
+ }
506
+
507
+ #main-navigation ul li.active {
508
+ padding: 0;
509
+ margin-left: 15px;
510
+ }
511
+
512
+ #main-navigation ul li.active {
513
+ margin-left: 15px;
514
+ }
515
+
516
+ #main-navigation ul li.active a {
517
+ padding: 8px 15px;
518
+ }
519
+
520
+ #sidebar ul li a:link, #sidebar ul li a:visited {
521
+ background: #FFF;
522
+ border-bottom: 1px solid #F0F0EE;
523
+ text-decoration: none;
524
+ }
525
+
526
+ #sidebar ul li a:hover, #sidebar ul li a:active {
527
+ background: #666666;
528
+ color: #ffffff;;
529
+ }
530
+
531
+ #main-navigation {
532
+ background: #1a1a1a;
533
+ }
534
+
535
+ #main-navigation ul li {
536
+ background: #1a1a1a;
537
+ margin-right: 0;
538
+ }
539
+
540
+ #main-navigation ul li.active {
541
+ background: #f0f0ee;
542
+ }
543
+
544
+ #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
545
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
546
+ #user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
547
+ text-decoration: none;
548
+ color: #FFF;
549
+ }
550
+
551
+ .secondary-navigation li a:hover {
552
+ background: #666666;
553
+ }
554
+
555
+ #main-navigation ul li.active a:link, #main-navigation ul li.active a:visited, #main-navigation ul li.active a:hover, #main-navigation ul li.active a:active {
556
+ color: #1a1a1a;
557
+ }
558
+
559
+ .secondary-navigation {
560
+ background: #36393d;
561
+ border-bottom-color: #4F8AFF;
562
+ }
563
+
564
+ .secondary-navigation ul li.active, .secondary-navigation ul li.active a:hover {
565
+ background: #1a1a1a;
566
+ background: #4F8AFF;
567
+ }
568
+
569
+ #footer .block {
570
+ color: #FFF;
571
+ background: #1a1a1a;
572
+ }
573
+
574
+ #footer .block p {
575
+ margin: 0;
576
+ padding: 10px;
577
+ }
578
+
579
+ /* pagination */
580
+
581
+ .pagination a, .pagination span {
582
+ background: #ededec;
583
+ -moz-border-radius: 3px;
584
+ border: 1px solid #c1c1c1;
585
+ }
586
+
587
+ .pagination span.current {
588
+ background: #36393d;
589
+ color: #FFF;
590
+ border: 1px solid #36393d;
591
+ }
592
+
593
+ .pagination a {
594
+ color: #1a1a1a;
595
+ }
596
+
597
+ .pagination a:hover {
598
+ border: 1px solid #666;
599
+ }
600
+
601
+ /* tables */
602
+
603
+ .table th {
604
+ background: #36393d;
605
+ color: #FFF;
606
+ }
607
+
608
+ .table td {
609
+ border-bottom:1px solid #F0F0EE;
610
+ }
611
+
612
+ .table tr.even {
613
+ background: #ebebeb;
614
+ }
615
+
616
+ /* forms */
617
+
618
+ .form label.label {
619
+ color: #666666;
620
+ }
621
+
622
+ .form input.text_field, .form textarea.text_area {
623
+ width: 100%;
624
+ border: 1px solid #ededec;
625
+ }
626
+
627
+ .form input.button {
628
+ background: #ededec;
629
+ -moz-border-radius: 5px;
630
+ border: 1px solid #c1c1c1;
631
+ padding: 2px 5px;
632
+ cursor: pointer;
633
+ color: #36393d;
634
+ font-weight: bold;
635
+ font-size: 11px;
636
+ }
637
+
638
+ .form input.button:hover {
639
+ border: 1px solid #666;
640
+ }
641
+
642
+ .form .description {
643
+ font-style: italic;
644
+ color: #8C8C8C;
645
+ font-size: .9em;
646
+ }
647
+
648
+ .form .navform a {
649
+ color: #cc0000;
650
+ }
651
+
652
+ /* flash-messages */
653
+ .flash .message {
654
+ -moz-border-radius: 3px;
655
+ -webkit-border-radius: 3px;
656
+ text-align:center;
657
+ margin: 0 auto 15px;
658
+
659
+ }
660
+
661
+ .flash .message p {
662
+ margin:8px;
663
+ }
664
+ .flash .error {
665
+ border: 1px solid #fbb;
666
+ background-color: #fdd;
667
+ }
668
+ .flash .warning {
669
+ border: 1px solid #fffaaa;
670
+ background-color: #ffffcc;
671
+ }
672
+ .flash .notice {
673
+ border: 1px solid #1FDF00;
674
+ background-color: #BBFFB6;
675
+ }
676
+
677
+ /* lists */
678
+
679
+ ul.list li {
680
+ border-bottom-color: #F0F0EE;
681
+ border-bottom-width: 1px;
682
+ border-bottom-style: solid;
683
+ }
684
+
685
+ ul.list li .item .avatar {
686
+ border-color: #F0F0EE;
687
+ border-width: 1px;
688
+ border-style: solid;
689
+ padding: 2px;
690
+ }
691
+
692
+ /* box */
693
+
694
+ #box .block {
695
+ background: #FFF;
696
+ }
697
+
698
+ #box .block h2 {
699
+ background: #36393d;
700
+ color: #FFF;
701
+ }
702
+
703
+
704
+ /* rounded borders */
705
+
706
+ #main, #main-navigation, #main-navigation li, .secondary-navigation, #main .block, #sidebar .block, #sidebar h3, ul.list li,
707
+ #footer .block, .form input.button, #box .block, #box .block h2 {
708
+ -moz-border-radius-topleft: 4px;
709
+ -webkit-border-top-left-radius: 4px;
710
+ -moz-border-radius-topright: 4px;
711
+ -webkit-border-top-right-radius: 4px;
712
+ }
713
+
714
+ .secondary-navigation li.first a, .secondary-navigation ul li.first, .table th.first, .table th.first {
715
+ -moz-border-radius-topleft: 4px;
716
+ -webkit-border-top-left-radius: 4px;
717
+ }
718
+
719
+ .table th.last {
720
+ -moz-border-radius-topright: 4px;
721
+ -webkit-border-top-right-radius: 4px;
722
+ }
723
+
724
+ .secondary-navigation ul li.first {
725
+ -moz-border-radius-topleft: 4px;
726
+ -webkit-border-top-left-radius: 4px;
727
+ }
728
+
729
+ #sidebar, #sidebar .block, #main .block, #sidebar ul.navigation, ul.list li, #footer .block, .form input.button, #box .block {
730
+ -moz-border-radius-bottomleft: 4px;
731
+ -webkit-border-bottom-left-radius: 4px;
732
+ -moz-border-radius-bottomright: 4px;
733
+ -webkit-border-bottom-right-radius: 4px;
734
+ }
735
+
736
+ .secondary-navigation {
737
+ border-bottom-width: 5px;
738
+ }
739
+
740
+ .umbrella {
741
+ font-family:lucida grande,verdana;
742
+ font-size:12px;
743
+ text-align:left;
744
+ }
745
+ .umbrella h1 {
746
+ color:#000000;
747
+ font-size: 26px;
748
+ font-weight: bold;
749
+ border-bottom: 1px dotted #CCCCCC;
750
+ }
751
+ #main .block .umbrella h2 {
752
+ color:#000000;
753
+ font-size:16px;
754
+ margin: 10px 0 2px 0;
755
+ padding:0;
756
+ font-family:"Lucida Grande",arial,sans-serif;
757
+ }
758
+ .umbrella h2 span {
759
+ color: #666;
760
+ font-size: 12px;
761
+ font-weight: normal;
762
+ }
763
+ .umbrella input {
764
+ font-size:14px;
765
+ margin-bottom:10px;
766
+ padding:3px;
767
+ }
768
+ .umbrella input.button {
769
+ font-size:14px;
770
+ margin:10px 0 0;
771
+ padding:3px;
772
+ width:auto;
773
+ }
774
+
775
+ input[type="button"] { cursor: pointer; }
776
+ input.button { cursor: pointer; }
777
+
778
+ .element { border: 1px solid red; }
779
+
780
+ .rounded{
781
+ -moz-border-radius: 5px; /* Firefox */
782
+ -webkit-border-radius: 5px; /* Safari */
783
+ }
784
+
785
+ .flash .error {
786
+ background: #c00;
787
+ color: #fff;
788
+ }
789
+
790
+ .flash .message {
791
+ text-align: left;
792
+ }
793
+
794
+
795
+ #iheader {
796
+ margin: 0 auto;
797
+ width: 950px;
798
+ }
799
+
800
+ #header ul {
801
+ list-style: none;
802
+ padding: 10px 0 0 20px;
803
+ margin: 0;
804
+ }
805
+
806
+ #header ul li {
807
+ float: left;
808
+ border: 1px solid;
809
+ border-bottom-width: 0;
810
+ margin: 0 0.5em 0 0;
811
+ }
812
+
813
+ #header ul li#selected {
814
+ position: relative;
815
+ top: 1px;
816
+ }
817
+
818
+ #header ul li a {
819
+ display: block;
820
+ padding: 5px 6px 0 6px;
821
+ text-decoration: none;
822
+ color: white;
823
+ background: #1a4f85;
824
+ }
825
+
826
+ #header ul li#selected a {
827
+ background: #fff;
828
+ color: #1a4f85;
829
+ }
830
+
831
+ #header ul li a:hover {
832
+ background: #539ADF;
833
+ }
834
+
835
+
836
+
837
+ #footer {
838
+ padding-left:30px;
839
+ }
840
+
841
+ .search_form {
842
+ margin:15px 5px 5px 5px;
843
+ padding:5px;
844
+ }
845
+
846
+ .breadcrum {
847
+ margin-bottom: 15px;
848
+ background: #fff;
849
+ padding: 10px 4px;
850
+ }
851
+
852
+ #quick_search_input { font-size: 15px; }
853
+
854
+ table.with_border td{
855
+ border:2px solid #DEDEDE;
856
+ padding:5px;
857
+ }
858
+
859
+ table {
860
+ border-collapse: collapse;
861
+ border-spacing: 0;
862
+ }
863
+
864
+ .advtable {
865
+ font-size: 15px;
866
+ }
867
+
868
+ #advance_search_table select {
869
+ font-size: 15px;
870
+ width: 280px;
871
+ padding: 2px;
872
+ margin: 2px;
873
+ }
874
+
875
+ #advance_search_table select option {
876
+ padding: 2px 5px;
877
+ }
878
+
879
+ .advtable td {
880
+ border-bottom: 1px solid #F0F0EE;
881
+ padding: 10px;
882
+ }
883
+
884
+ .ram_input_field_col3 {
885
+ font-size: 15px;
886
+ }
887
+
888
+ /*IE6 will ignore this*/
889
+ input[disabled], input[readonly], select[disabled], select[readonly], checkbox[disabled], checkbox[readonly], textarea[disabled], textarea[readonly]
890
+ {
891
+ background-color: #dcdcdc;
892
+ border: 1px solid gray;
893
+ color: #000000;
894
+ cursor: default;
895
+ }
896
+
897
+ input.col3 {
898
+ height: 20px;
899
+ font-size: 16px;
900
+ }
901
+
902
+ span.searching_message{
903
+ color: red;
904
+ font-size: 25px;
905
+ margin: 20px 0 20px 0;
906
+ }
907
+
908
+ table#view_table {
909
+ padding: 0;
910
+ margin: 5px 0 5px 0;
911
+ border-collapse: collapse;
912
+ border-spacing: 0;
913
+ font-size:13px;
914
+ }
915
+
916
+ table#view_table th {
917
+ border: 1px solid #ccc;
918
+ letter-spacing: 2px;
919
+ text-align: left;
920
+ }
921
+
922
+
923
+ table#view_table td {
924
+ border: 1px solid #DEDEDE;
925
+ padding: 6px 6px 6px 12px;
926
+ }
927
+
928
+ table#view_table tr:hover {
929
+ background: #FFFFC0;
930
+ }
931
+
932
+
933
+ #model_drop_down {
934
+ position: absolute;
935
+ top: 10px;
936
+ left: 100px;
937
+ }
938
+
939
+ .drop_down_value_klass {
940
+ width: 300px;
941
+ font-size: 14px;
942
+ padding: 5px;
943
+ height: 40px;
944
+ line-height: 40px;
945
+ }
946
+
947
+ .drop_down_value_klass option {
948
+ padding: 2px;
949
+ }
950
+
951
+
952
+ .klass_box {
953
+ margin: 15px 0 15px 0;
954
+ padding: 15px 20px 15px 0;
955
+ line-height: 40px;
956
+ font-size: 16px;
957
+ }
958
+
959
+ .klass_description {
960
+ font-size: 90%;
961
+ }
962
+
963
+ #footer p {
964
+ float: left;
965
+ font-size: 11px;
966
+ padding: 2px 10px 2px 2px;
967
+ }
968
+
969
+ #main {
970
+ width: 100%;
971
+ }
972
+
973
+
974
+ .main2 {
975
+ background-color: #FFF;
976
+ padding: 5px;
977
+ margin: 10px 2px 10px 2px;
978
+ float: left;
979
+ }
980
+
981
+ .error {
982
+ color: red;
983
+ font-size: 16px;
984
+ }
985
+
986
+ #noscript-warning {
987
+ background-color:#AE0000;
988
+ color:#FFFFFF;
989
+ font-family:Arial,Helvetica,sans-serif;
990
+ font-size:140%;
991
+ font-weight:bold;
992
+ left:0;
993
+ padding:5px 0;
994
+ position:fixed;
995
+ text-align:center;
996
+ top:0;
997
+ width:100%;
998
+ z-index:101;
999
+ }
1000
+
1001
+ a:link, a:visited, a:active {
1002
+ text-decoration: none;
1003
+ color: green;
1004
+ }
1005
+
1006
+ a:hover {
1007
+ text-decoration: underline;
1008
+ color: #f03;
1009
+ }
1010
+
1011
+ #footer a, .group a, .pagination a {
1012
+ color: #36393d;
1013
+ }
1014
+
1015
+ .association_info {
1016
+ line-height: 20px;
1017
+ }
1018
+
1019
+ table#missing_index tr td {
1020
+ height: 25px;
1021
+ }
1022
+
1023
+ .clear { clear: both; }
1024
+
1025
+ .rounded {
1026
+ -moz-border-radius: 5px; /* Firefox */
1027
+ -webkit-border-radius: 5px; /* Safari */
1028
+ }
1029
+
1030
+ .powered_by {
1031
+ font-family: Arial;
1032
+ font-size: 12px;
1033
+ }
1034
+
1035
+ .submit_search {
1036
+ -moz-border-radius: 5px; /* Firefox */
1037
+ -webkit-border-radius: 5px; /* Safari */
1038
+ float: left;
1039
+ border: 1px solid #000;
1040
+ color: #000;
1041
+ /*background: #4F8AFF;*/
1042
+ padding: 3px;
1043
+ font-weight: bold;
1044
+ font-size: 16px;
1045
+ cursor: pointer;
1046
+ }
1047
+
1048
+
1049
+ .add_row_link, .remove_row {
1050
+ font-size: 30px;
1051
+ text-decoration: none;
1052
+ color: #fff;
1053
+ padding: 0 3px;
1054
+ margin: 0;
1055
+ }
1056
+
1057
+ #advance_search_table a {
1058
+ color: #fff;
1059
+ }
1060
+
1061
+ ul#subnav {
1062
+ background: #fff9d8;
1063
+ display: inline;
1064
+ padding: 10px 6px;
1065
+ position: absolute;
1066
+ text-align: right;
1067
+ top: 0;
1068
+ right: 200px;
1069
+
1070
+ }
1071
+
1072
+ ul#subnav li {
1073
+ display: inline;
1074
+ border: 0;
1075
+ }
1076
+
1077
+ ul#subnav li a, ul#subnav li a:hover {
1078
+ color: #000;
1079
+ background-color: #fff9d8;
1080
+ font-size: 14px;
1081
+ font-weight: bold;
1082
+ margin-left: 10px;
1083
+ margin-right: 5px;
1084
+ text-decoration: none;
1085
+ }
1086
+
1087
+ ul#subnav li a:hover {
1088
+ text-decoration: underline;
1089
+ }
1090
+
1091
+
1092
+ .col_box {
1093
+ border-top: 1px dotted #efefef;
1094
+ }
1095
+
1096
+ #main .block .content p.error {
1097
+ font-weight: bold;
1098
+ font-size: 18px;
1099
+ }
1100
+ #main h2.search_path {
1101
+ float:left;
1102
+ font-weight:bold;
1103
+ font-size: 35px;
1104
+ }
1105
+
1106
+ .listing_klass {
1107
+ float:left;
1108
+ font-weight:bold;
1109
+ font-size: 35px;
1110
+ }
1111
+
1112
+ .total_records_info_klass {
1113
+ float:left;
1114
+ margin:22px 0 0 10px;
1115
+ color:gray;
1116
+ }
1117
+
1118
+ th.sortable {
1119
+ background: url("/admin_data/public/images/sort_by_nothing.jpg") no-repeat scroll 0 -4px #CAE8EA;
1120
+ cursor: pointer;
1121
+ padding: 8px 12px 4px 16px;
1122
+ border-bottom: 1px solid #c1dad7;
1123
+ border-right: 1px solid #c1dad7;
1124
+ border-top: 1px solid #c1dad7;
1125
+ color: #4f6b72;
1126
+ letter-spacing: 1px;
1127
+ }
1128
+
1129
+ th.sortable a {
1130
+ margin-left: 3px;
1131
+ color: #4F6B72;
1132
+ }
1133
+
1134
+ th.sort_by_desc {
1135
+ background: url("/admin_data/public/images/sort_by_desc.jpg") no-repeat scroll 0 -4px #CAE8EA;
1136
+ }
1137
+ th.sort_by_asc {
1138
+ background: url("/admin_data/public/images/sort_by_asc.jpg") no-repeat scroll 0 -4px #CAE8EA;
1139
+ }
1140
+
1141
+