contentator 0.2.0 → 0.2.1

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 (101) hide show
  1. data/README.rdoc +2 -2
  2. data/Rakefile +26 -0
  3. data/VERSION +1 -0
  4. data/app/controllers/application_controller.rb +35 -0
  5. data/app/controllers/cms/admin/admin_controller.rb +3 -0
  6. data/app/controllers/cms/admin/file_attachments_controller.rb +53 -0
  7. data/app/controllers/cms/admin/page_content_blocks_controller.rb +77 -0
  8. data/app/controllers/cms/admin/pages_controller.rb +68 -0
  9. data/app/controllers/cms/content_controller.rb +25 -0
  10. data/app/helpers/application_helper.rb +29 -0
  11. data/app/helpers/cms/admin/pages_helper.rb +34 -0
  12. data/app/models/file_attachment.rb +4 -0
  13. data/app/models/page.rb +71 -0
  14. data/app/models/page_content_block.rb +10 -0
  15. data/app/views/cms/admin/_admin_toolbar.html.haml +10 -0
  16. data/app/views/cms/admin/file_attachments/_form.html.haml +17 -0
  17. data/app/views/cms/admin/page_content_blocks/_form.html.haml +23 -0
  18. data/app/views/cms/admin/pages/_form.html.haml +22 -0
  19. data/app/views/cms/admin/pages/edit.html.haml +10 -0
  20. data/app/views/cms/admin/pages/index.html.haml +13 -0
  21. data/app/views/cms/admin/pages/new.html.haml +7 -0
  22. data/app/views/cms/content/_file_attachment.html.haml +9 -0
  23. data/app/views/cms/content/_file_attachments_container.html.haml +16 -0
  24. data/app/views/cms/content/_page_content_block.html.haml +14 -0
  25. data/app/views/cms/content/_page_content_blocks_container.html.haml +15 -0
  26. data/app/views/cms/content/content.html.haml +4 -0
  27. data/app/views/cms/content/gallery.html.haml +4 -0
  28. data/app/views/cms/content/home.html.haml +4 -0
  29. data/app/views/layouts/application.html.haml +22 -0
  30. data/app/views/layouts/cms/admin/application.html.haml +44 -0
  31. data/config/boot.rb +110 -0
  32. data/config/environment.rb +54 -0
  33. data/config/environments/development.rb +17 -0
  34. data/config/environments/production.rb +28 -0
  35. data/config/environments/test.rb +28 -0
  36. data/config/geminstaller.local.yml +21 -0
  37. data/config/geminstaller.yml +22 -0
  38. data/config/initializers/backtrace_silencers.rb +7 -0
  39. data/config/initializers/inflections.rb +10 -0
  40. data/config/initializers/mime_types.rb +5 -0
  41. data/config/initializers/new_rails_defaults.rb +19 -0
  42. data/config/initializers/session_store.rb +15 -0
  43. data/config/locales/de.yml +49 -0
  44. data/config/locales/en.yml +49 -0
  45. data/config/routes.rb +13 -0
  46. data/contentator.gemspec +160 -0
  47. data/db/migrate/20091002165818_create_pages.rb +22 -0
  48. data/db/migrate/20091002211930_create_home_page.rb +10 -0
  49. data/db/migrate/20091007222703_create_page_content_blocks.rb +22 -0
  50. data/db/migrate/20091029204950_create_file_attachments.rb +17 -0
  51. data/lib/contentator.rb +2 -0
  52. data/lib/generators/content/content_generator.rb +118 -0
  53. data/lib/generators/content/templates/container.rb +16 -0
  54. data/lib/generators/content/templates/controller.rb +63 -0
  55. data/lib/generators/content/templates/factories.rb +6 -0
  56. data/lib/generators/content/templates/form.rb +12 -0
  57. data/lib/generators/content/templates/functional_test.rb +140 -0
  58. data/lib/generators/content/templates/item.rb +11 -0
  59. data/lib/generators/content/templates/migration.rb +17 -0
  60. data/lib/generators/content/templates/model.rb +5 -0
  61. data/lib/generators/content/templates/unit_test.rb +8 -0
  62. data/lib/generators/content/templates/view.rb +0 -0
  63. data/lib/template.rb +10 -0
  64. data/public/404.html +30 -0
  65. data/public/422.html +30 -0
  66. data/public/500.html +30 -0
  67. data/public/favicon.ico +0 -0
  68. data/public/images/admin_standard/content-header-bg.png +0 -0
  69. data/public/images/admin_standard/context-arrow.png +0 -0
  70. data/public/images/admin_standard/context-bg.png +0 -0
  71. data/public/images/admin_standard/crumb-bg-current.gif +0 -0
  72. data/public/images/admin_standard/crumb-bg.gif +0 -0
  73. data/public/images/admin_standard/crumb-divide-current.gif +0 -0
  74. data/public/images/admin_standard/crumb-divide.gif +0 -0
  75. data/public/images/admin_standard/drawer-end.png +0 -0
  76. data/public/images/admin_standard/drawer-middle.png +0 -0
  77. data/public/images/admin_standard/drawer-start.png +0 -0
  78. data/public/images/admin_standard/form-error.png +0 -0
  79. data/public/images/admin_standard/input-background.gif +0 -0
  80. data/public/images/admin_standard/shadow-bottom.png +0 -0
  81. data/public/images/admin_standard/shadow-right.png +0 -0
  82. data/public/images/admin_standard/subnavigation-bullet-1.png +0 -0
  83. data/public/images/admin_standard/subnavigation-bullet-2.png +0 -0
  84. data/public/images/admin_standard/tab-active-cap.png +0 -0
  85. data/public/images/admin_standard/tab-active.png +0 -0
  86. data/public/images/admin_standard/tab-inactive-cap.png +0 -0
  87. data/public/images/admin_standard/tab-inactive.png +0 -0
  88. data/public/images/blank.gif +0 -0
  89. data/public/images/icons/add.png +0 -0
  90. data/public/images/icons/cancel.png +0 -0
  91. data/public/images/icons/delete.png +0 -0
  92. data/public/images/icons/edit.png +0 -0
  93. data/public/images/icons/folder.png +0 -0
  94. data/public/images/icons/move.png +0 -0
  95. data/public/images/rails.png +0 -0
  96. data/public/robots.txt +5 -0
  97. data/public/stylesheets/admin_standard.css +877 -0
  98. data/public/stylesheets/application.css +33 -0
  99. data/rails_generators/contentator_files/contentator_files_generator.rb +127 -0
  100. data/rails_generators/contentator_files/templates/application.rb +5 -0
  101. metadata +111 -2
@@ -0,0 +1,5 @@
1
+ class <%= class_name %> < ActiveRecord::Base
2
+ <% attributes.select(&:reference?).each do |attribute| -%>
3
+ belongs_to :<%= attribute.name %>
4
+ <% end -%>
5
+ end
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+
3
+ class <%= class_name %>Test < ActiveSupport::TestCase
4
+ # Replace this with your real tests.
5
+ test "the truth" do
6
+ assert true
7
+ end
8
+ end
@@ -0,0 +1,10 @@
1
+ run "rm public/index.html"
2
+
3
+ puts " Installing plugins"
4
+ plugin 'acts_as_tree', :git => 'git://github.com/rails/acts_as_tree.git'
5
+ plugin 'permalink_fu', :git => 'git://github.com/technoweenie/permalink_fu.git'
6
+ plugin 'responds_to_parent', :git => 'git://github.com/markcatley/responds_to_parent.git'
7
+ plugin 'globalize2', :git => 'git://github.com/joshmh/globalize2.git'
8
+
9
+ puts " Applying contentator templates to project"
10
+ generate :contentator_files
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+
6
+ <head>
7
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
+ <title>The page you were looking for doesn't exist (404)</title>
9
+ <style type="text/css">
10
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
11
+ div.dialog {
12
+ width: 25em;
13
+ padding: 0 4em;
14
+ margin: 4em auto 0 auto;
15
+ border: 1px solid #ccc;
16
+ border-right-color: #999;
17
+ border-bottom-color: #999;
18
+ }
19
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
20
+ </style>
21
+ </head>
22
+
23
+ <body>
24
+ <!-- This file lives in public/404.html -->
25
+ <div class="dialog">
26
+ <h1>The page you were looking for doesn't exist.</h1>
27
+ <p>You may have mistyped the address or the page may have moved.</p>
28
+ </div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+
6
+ <head>
7
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
+ <title>The change you wanted was rejected (422)</title>
9
+ <style type="text/css">
10
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
11
+ div.dialog {
12
+ width: 25em;
13
+ padding: 0 4em;
14
+ margin: 4em auto 0 auto;
15
+ border: 1px solid #ccc;
16
+ border-right-color: #999;
17
+ border-bottom-color: #999;
18
+ }
19
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
20
+ </style>
21
+ </head>
22
+
23
+ <body>
24
+ <!-- This file lives in public/422.html -->
25
+ <div class="dialog">
26
+ <h1>The change you wanted was rejected.</h1>
27
+ <p>Maybe you tried to change something you didn't have access to.</p>
28
+ </div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+
6
+ <head>
7
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
+ <title>We're sorry, but something went wrong (500)</title>
9
+ <style type="text/css">
10
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
11
+ div.dialog {
12
+ width: 25em;
13
+ padding: 0 4em;
14
+ margin: 4em auto 0 auto;
15
+ border: 1px solid #ccc;
16
+ border-right-color: #999;
17
+ border-bottom-color: #999;
18
+ }
19
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
20
+ </style>
21
+ </head>
22
+
23
+ <body>
24
+ <!-- This file lives in public/500.html -->
25
+ <div class="dialog">
26
+ <h1>We're sorry, but something went wrong.</h1>
27
+ <p>We've been notified about this issue and we'll take a look at it shortly.</p>
28
+ </div>
29
+ </body>
30
+ </html>
File without changes
Binary file
Binary file
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-Agent: *
5
+ # Disallow: /
@@ -0,0 +1,877 @@
1
+ body {
2
+ /* if you want to add margin or padding, add it to #body */
3
+ margin: 0;
4
+ padding: 0;
5
+ background: #ccc;
6
+ }
7
+
8
+ body, td {
9
+ font: normal normal normal 14px / normal Arial, Verdana, sans-serif;
10
+ color: #FFF;
11
+ }
12
+
13
+ body {
14
+ /* part of the ie background position: fixed hack */
15
+ background-image: url(/images/blank.gif);
16
+ background-repeat: no-repeat;
17
+ background-attachment: fixed;
18
+ }
19
+
20
+ h1, h2, h3, h4, h5, h6 {
21
+ font-size: .9em;
22
+ font-weight: normal;
23
+ margin: 0;
24
+ }
25
+
26
+ h1 {
27
+ font-size: 1.6em;
28
+ color: #910000
29
+ }
30
+
31
+ h2 {
32
+ font-size: 1.2em;
33
+ }
34
+
35
+ h3 {
36
+ font-size: 1.1em;
37
+ }
38
+
39
+ form {
40
+ display: inline;
41
+ }
42
+
43
+ a {
44
+ color: #F00;
45
+ text-decoration: none;
46
+ cursor: pointer;
47
+ }
48
+
49
+ a:hover {
50
+ text-decoration: underline;
51
+ }
52
+
53
+ img {
54
+ border: 0;
55
+ }
56
+
57
+ input, select, textarea {
58
+ font: normal normal normal 14px / normal Arial, Verdana, sans-serif;
59
+ }
60
+
61
+ .clickable {
62
+ cursor: pointer;
63
+ }
64
+
65
+ .clear {
66
+ clear: both;
67
+ height: 1px;
68
+ overflow: hidden;
69
+ }
70
+
71
+ .clear-right {
72
+ clear: right;
73
+ height: 1px;
74
+ overflow: hidden;
75
+ }
76
+
77
+ .clear-left {
78
+ clear: left;
79
+ height: 1px;
80
+ overflow: hidden;
81
+ }
82
+
83
+ /* Standard Layout -- many of the common changes have been broken out lower
84
+ *----------------------------------------------------------------------------*/
85
+ #background {
86
+ /* the image assigned to the background is in the html */
87
+ /*background: url(/images/background.jpg) no-repeat;*/
88
+ position: fixed;
89
+ top: 0;
90
+ left: 0;
91
+ z-index: 1;
92
+ overflow: hidden;
93
+ width: 100%;
94
+ height: 100%;
95
+ }
96
+
97
+ * html #background {
98
+ /* ie hack to treat the background as position: fixed */
99
+ position: absolute;
100
+ top: 0;
101
+ left: 0;
102
+ top: expression((_IEHackTop = document.documentElement.scrollTop) + 'px');
103
+ left: expression((_IEHackLeft = document.documentElement.scrollLeft) + 'px');
104
+ }
105
+
106
+ #body {
107
+ position: absolute;
108
+ top: 0;
109
+ left: 0;
110
+ z-index: 2;
111
+ width: 100%;
112
+ }
113
+
114
+ #body #body_wrapper {
115
+ margin: 0 60px 0 90px;
116
+ }
117
+
118
+ #body #body_wrapper #logo {
119
+ /* the logo image can be found in the html */
120
+ position: relative;
121
+ top: 1px;
122
+ width: 1px;
123
+ height: 0;
124
+ float: left;
125
+ }
126
+
127
+ #body #body_wrapper #logo img {
128
+ position: absolute;
129
+ }
130
+
131
+ #body #body_wrapper #utility {
132
+ position: absolute;
133
+ right: 297px;
134
+ padding: 4px 10px;
135
+ -webkit-border-radius: 0 0 5px 5px;
136
+ -moz-border-radius: 0 0 5px 5px;
137
+ border-radius: 0 0 5px 5px;
138
+ filter: alpha(opacity = 45);
139
+ -moz-opacity: 0.45;
140
+ opacity: 0.45;
141
+ }
142
+
143
+ #body #body_wrapper #body_container {
144
+ padding-top: 100px;
145
+ min-width: 800px;
146
+ }
147
+
148
+ #body #body_wrapper #context_wrapper {
149
+ position: relative;
150
+ float: right;
151
+ width: 225px;
152
+ }
153
+
154
+ #body #body_wrapper #context_container {
155
+ position: relative;
156
+ float: right;
157
+ width: 225px;
158
+ margin-top: 25px;
159
+ }
160
+
161
+ #body #body_wrapper #subnavigation {
162
+ margin-top: 50px;
163
+ }
164
+
165
+ #body #body_wrapper #subnavigation .content {
166
+ position: relative;
167
+ top: -10px;
168
+ margin: 0 33px 0 20px;
169
+ }
170
+
171
+ #body #body_wrapper #subnavigation .content h2 {
172
+ padding-bottom: 20px;
173
+ }
174
+
175
+ #body #body_wrapper #subnavigation .content ul {
176
+ margin: 0;
177
+ padding: 0;
178
+ list-style: none;
179
+ }
180
+
181
+ #body #body_wrapper #subnavigation .content a {
182
+ display: block;
183
+ padding: 5px 0 5px 12px;
184
+ }
185
+
186
+ #body #body_wrapper #subnavigation #context a {
187
+ display: block;
188
+ padding-left: 8px;
189
+ border: 0;
190
+ }
191
+
192
+ #body #body_wrapper #context {
193
+ padding: 20px 20px;
194
+ margin: 20px 13px 0 0;
195
+ }
196
+
197
+ #body #body_wrapper #context_container #context_arrow {
198
+ position: absolute;
199
+ z-index: 5;
200
+ width: 20px;
201
+ height: 35px;
202
+ margin: -10px 0 0 -20px;
203
+ }
204
+
205
+ #body #body_wrapper #context_container #context_container_end {
206
+ height: 50px;
207
+ }
208
+
209
+ #body #body_wrapper div#content_container {
210
+ margin-right: 210px;
211
+ position: relative;
212
+ z-index: 1;
213
+ }
214
+
215
+ #body #body_wrapper #admin_tabbed_navigation ul {
216
+ position: relative;
217
+ z-index: 4;
218
+ float: right;
219
+ padding: 0 10px 0 0;
220
+ margin: 0;
221
+ top: -20px;
222
+ height: 1px;
223
+ }
224
+
225
+ #body #body_wrapper #admin_tabbed_navigation li {
226
+ position: relative;
227
+ display: block;
228
+ float: left;
229
+ height: 52px;
230
+ margin-right: 2px;
231
+ padding-right: 10px;
232
+ }
233
+
234
+ #body #body_wrapper #admin_tabbed_navigation li a {
235
+ display: block;
236
+ float: left;
237
+ padding: 13px 10px 0 20px;
238
+ height: 40px;
239
+ outline: none;
240
+ }
241
+
242
+ #body #body_wrapper #admin_tabbed_navigation li.highlighted {
243
+ padding-right: 13px;
244
+ margin-right: -5px;
245
+ }
246
+
247
+ #body #body_wrapper #admin_tabbed_navigation li.highlighted a {
248
+ padding: 13px 14px 0 20px;
249
+ }
250
+
251
+ #body #body_wrapper div#content_container #content_shadow_right {
252
+ padding-right: 15px;
253
+ position: relative;
254
+ z-index: 3;
255
+ }
256
+
257
+ #body #body_wrapper div#content_container .content {
258
+ padding: 20px 16px;
259
+ position: relative;
260
+ filter: alpha(opacity = 90);
261
+ -moz-opacity: 0.90;
262
+ opacity: 0.90;
263
+ }
264
+
265
+ #body #body_wrapper div#content_container .content #controller_content {
266
+ padding-top: 60px;
267
+ }
268
+
269
+ #body #body_wrapper div#content_container .content h1 {
270
+ margin-bottom: 10px;
271
+ }
272
+
273
+ #body #body_wrapper div#content_container #crumbs {
274
+ margin: 0;
275
+ padding: 0;
276
+ height: 24px;
277
+ position: absolute;
278
+ }
279
+
280
+ #body #body_wrapper div#content_container #crumbs li {
281
+ border-top: 1px solid #DDD;
282
+ display: block;
283
+ float: left;
284
+ height: 24px;
285
+ overflow: hidden;
286
+ }
287
+
288
+ #body #body_wrapper div#content_container #crumbs li a {
289
+ padding: 3px 6px 0 18px;
290
+ display: block;
291
+ float: left;
292
+ height: 24px;
293
+ }
294
+
295
+ #body #body_wrapper div#content_container #crumbs li.first a {
296
+ margin-left: 12px;
297
+ padding-left: 6px;
298
+ }
299
+
300
+ #body #body_wrapper div#content_container #crumbs li.current {
301
+ }
302
+
303
+ #body #body_wrapper div#content_container #crumbs li.current a {
304
+ padding-right: 12px;
305
+ }
306
+
307
+ #body #body_wrapper div#content_container #smart_navigation {
308
+ position: relative;
309
+ z-index: 5;
310
+ padding-top: 4px;
311
+ float: right;
312
+ }
313
+
314
+ #body #body_wrapper #footer {
315
+ margin-right: 15px;
316
+ padding-top: 3px;
317
+ padding-bottom: 40px;
318
+ }
319
+
320
+ /* Control elements (trees, lists, forms, etc.)
321
+ *----------------------------------------------------------------------------*/
322
+
323
+ /* Standard Theme -- things you may often want to change
324
+ *----------------------------------------------------------------------------*/
325
+ /* layout */
326
+ #utility {
327
+ background: #AAA;
328
+ font-size: .8em;
329
+ color: #FFF;
330
+ }
331
+
332
+ #utility a {
333
+ color: #FFF;
334
+ }
335
+
336
+ #utility a:hover {
337
+ color: #333;
338
+ }
339
+
340
+ #context_container {
341
+ background: url(/images/admin_standard/drawer-start.png) no-repeat;
342
+ }
343
+
344
+ #subnavigation {
345
+ background: url(/images/admin_standard/drawer-middle.png) repeat-y;
346
+ }
347
+
348
+ #subnavigation h2 {
349
+ color: #A6D5D6;
350
+ border-bottom: 1px dotted #DDD;
351
+ font-size: 1.1em;
352
+ }
353
+
354
+ #subnavigation .content a {
355
+ font-size: .8em;
356
+ color: #DDD;
357
+ border-bottom: 1px dotted #DDD;
358
+ background: url(/images/admin_standard/subnavigation-bullet-1.png) no-repeat 4px .7em;
359
+ }
360
+
361
+ #subnavigation .content a.active {
362
+ background: #A6D5D6;
363
+ color: #000;
364
+ }
365
+
366
+ #subnavigation #context {
367
+ background: #D3D3D3 url(/images/admin_standard/context-bg.png) repeat-x top;
368
+ color: #666;
369
+ font-size: .9em;
370
+ }
371
+
372
+ #subnavigation #context a {
373
+ font-size: .9em;
374
+ color: #666;
375
+ background: url(/images/admin_standard/subnavigation-bullet-2.png) no-repeat 0 .4em;
376
+ }
377
+
378
+ #subnavigation #context_arrow {
379
+ background: url(/images/admin_standard/context-arrow.png) no-repeat;
380
+ }
381
+
382
+ #context_container_end {
383
+ background: url(/images/admin_standard/drawer-end.png) no-repeat;
384
+ }
385
+
386
+ #admin_tabbed_navigation li {
387
+ background: url(/images/admin_standard/tab-inactive-cap.png) no-repeat top right;
388
+ }
389
+
390
+ #admin_tabbed_navigation li a {
391
+ color: #FFF;
392
+ font-weight: bold;
393
+ text-decoration: none;
394
+ background: url(/images/admin_standard/tab-inactive.png) no-repeat;
395
+ }
396
+
397
+ #admin_tabbed_navigation li a:hover {
398
+ color: #F00;
399
+ }
400
+
401
+ #admin_tabbed_navigation li.highlighted {
402
+ background: url(/images/admin_standard/tab-active-cap.png) no-repeat right top;
403
+ }
404
+
405
+ #admin_tabbed_navigation li.highlighted a {
406
+ background: url(/images/admin_standard/tab-active.png) no-repeat;
407
+ }
408
+
409
+ #admin_tabbed_navigation li.highlighted a:hover {
410
+ color: #FFF;
411
+ cursor: default;
412
+ }
413
+
414
+ #content_container #content_shadow_right {
415
+ background: url(/images/admin_standard/shadow-right.png) repeat-y right;
416
+ }
417
+
418
+ #content_container .content {
419
+ background: #FFF url(/images/admin_standard/content-header-bg.png) repeat-x;
420
+ color: #555;
421
+ }
422
+
423
+ #controller_content a {
424
+ color: #000;
425
+ }
426
+
427
+ #crumbs li {
428
+ border-top: 1px solid #DDD;
429
+ background: url(/images/admin_standard/crumb-bg.gif);
430
+ }
431
+
432
+ #crumbs li a {
433
+ background: url(/images/admin_standard/crumb-divide.gif) no-repeat;
434
+ color: #666;
435
+ text-decoration: none;
436
+ }
437
+
438
+ #crumbs li a:hover {
439
+ color: #222;
440
+ }
441
+
442
+ #crumbs li.first {
443
+ background: url(/images/admin_standard/crumb-divide.gif) no-repeat;
444
+ }
445
+
446
+ #crumbs li.first a {
447
+ background: url(/images/admin_standard/crumb-bg.gif);
448
+ }
449
+
450
+ #crumbs li.current {
451
+ background: url(/images/admin_standard/crumb-bg-current.gif);
452
+ }
453
+
454
+ #crumbs li.current a {
455
+ background: url(/images/admin_standard/crumb-divide-current.gif) no-repeat;
456
+ color: #222;
457
+ cursor: default;
458
+ }
459
+
460
+ #crumbs li.current a:hover {
461
+ color: #222;
462
+ }
463
+
464
+ #smart_navigation a {
465
+ color: #F00;
466
+ }
467
+
468
+ #smart_navigation a:hover {
469
+ color: #222;
470
+ text-decoration: none;
471
+ }
472
+
473
+ .errorExplanation {
474
+ margin: 20px 0;
475
+ padding: 15px;
476
+ font-size: 1.2em;
477
+ border-radius: 5px;
478
+ -moz-border-radius: 5px;
479
+ -webkit-border-radius: 5px;
480
+ background-color: #ff9999;
481
+ border: 2px solid #cc0000
482
+ }
483
+
484
+ .errorExplanation li{
485
+ list-style:none;
486
+ }
487
+
488
+ .flash-messages .message {
489
+ margin: 20px 0;
490
+ padding: 15px;
491
+ font-size: 1.4em;
492
+ border-radius: 5px;
493
+ -moz-border-radius: 5px;
494
+ -webkit-border-radius: 5px;
495
+ }
496
+
497
+ .flash-messages .notice.message {
498
+ background-color: #99ff99;
499
+ border: 2px solid #009900
500
+ }
501
+
502
+ .flash-messages .warning.message {
503
+ background-color: #ffffcc;
504
+ border: 2px solid #ffcc00
505
+ }
506
+
507
+ .flash-messages .error.message {
508
+ background-color: #ff9999;
509
+ border: 2px solid #cc0000
510
+ }
511
+
512
+ #footer {
513
+ background: url(/images/admin_standard/shadow-bottom.png) repeat-x;
514
+ font-size: .7em;
515
+ color: #777;
516
+ }
517
+
518
+ /* interface */
519
+
520
+ /* png support for ie6 */
521
+ #logo img,
522
+ #main_tabbed_navigation li.active a,
523
+ #context_container,
524
+ #context_container #subnavigation,
525
+ #context_container_end {
526
+ behavior: url(/javascripts/pngfix.htc);
527
+ }
528
+
529
+ .roster {
530
+ padding: 10px;
531
+ background: #F6F6F6;
532
+ border-radius: 7px;
533
+ margin-top: 20px;
534
+ -moz-border-radius: 7px;
535
+ -webkit-border-radius: 7px;
536
+ border: 1px solid #E9E9E9; /*display: block;*/
537
+ }
538
+
539
+ .roster .client {
540
+ padding-bottom: 5px;
541
+ border-bottom: 1px solid #E9E9E9;
542
+ margin-bottom: 5px;
543
+ }
544
+
545
+ .roster .client ul {
546
+ margin: 5px 0 10px 20px;
547
+ padding: 0;
548
+ list-style: none;
549
+ }
550
+
551
+ .roster .client ul li {
552
+
553
+ }
554
+
555
+ /* Site specific styles
556
+ *----------------------------------------------------------------------------*/
557
+ #controller_content table {
558
+ width: 100%;
559
+ }
560
+
561
+ #controller_content td {
562
+ color: #000;
563
+ text-align: left;
564
+ }
565
+
566
+ #controller_content th {
567
+ text-align: left;
568
+ }
569
+
570
+ /* lists */
571
+ table.list {
572
+ border-spacing: 0px;
573
+ border-collapse: collapse;
574
+ }
575
+
576
+ table.list td.filter {
577
+ background: none !important;
578
+ padding: 0;
579
+ border: 0;
580
+ }
581
+
582
+ table.list td.filter .filter-form {
583
+ -moz-border-radius: 5px;
584
+ -webkit-border-radius: 5px;
585
+ border: 1px solid #999;
586
+ padding: 5px;
587
+ margin-bottom: 10px;
588
+ }
589
+
590
+ table.list td.filter .filter-form table {
591
+ width: auto !important;
592
+ }
593
+
594
+ table.list td.filter .filter-form table .buttons {
595
+ text-align: right !important;
596
+ }
597
+
598
+ table.list th {
599
+ padding: 10px 5px;
600
+ background: #eee;
601
+ /*border: 1px solid #E5E5E7;*/
602
+ border-bottom: 2px solid #ccc;
603
+ }
604
+
605
+ table.list tbody.list {
606
+ /*border: 1px solid #F5F5F7;*/
607
+ }
608
+
609
+ table.list tbody.list td {
610
+ padding: 8px 5px;
611
+ /*border-left: 1px solid #F5F5F7;*/
612
+ border-bottom: 1px solid #F5F5F7;
613
+ }
614
+
615
+ table.list tbody.list td.list-controls {
616
+ width: 50px;
617
+ }
618
+
619
+ table.list tbody.list tr.even td {
620
+ background: #F5F5F7;
621
+ }
622
+
623
+ table.list tbody.list tr.odd td {
624
+ }
625
+
626
+ table.list tbody.list tr.inactive td {
627
+ color: #999 !important;
628
+ }
629
+
630
+ table.list tbody.sortable .list-controls .move-image {
631
+ cursor: move;
632
+ }
633
+
634
+ table.list tbody.sortable {
635
+ border: 1px dotted #D7D7DA;
636
+ }
637
+
638
+ table.list tbody.sortable td {
639
+ padding: 3px;
640
+ background: none !important;
641
+ border: 1px dotted #D7D7DA;
642
+ }
643
+
644
+ /* forms */
645
+
646
+ input ,label, select{
647
+ display: block;
648
+ margin: 10px;
649
+ }
650
+
651
+ form.styled p {
652
+ margin: 3px 0;
653
+ clear: left;
654
+ }
655
+
656
+ form.styled p label {
657
+ display: block;
658
+ float: left;
659
+ width: 150px;
660
+ white-space: nowrap;
661
+ margin-top: 2px;
662
+ }
663
+
664
+ form.styled div.options {
665
+ padding-left: 150px;
666
+ }
667
+
668
+ form.styled div.options label.title-label {
669
+ position: absolute;
670
+ margin-left: -150px;
671
+ }
672
+
673
+ form.styled span.options {
674
+ float: left;
675
+ }
676
+
677
+ form.styled fieldset {
678
+ clear: left;
679
+ margin: 0;
680
+ padding: 5px;
681
+ }
682
+
683
+ form.styled fieldset label {
684
+ width: 143px;
685
+ }
686
+
687
+ form.styled .text {
688
+ background: #666 url(/images/admin_standard/input-background.gif) repeat-x;
689
+ border: 1px solid #999;
690
+ color: #FFF;
691
+ padding: 3px 0;
692
+ }
693
+
694
+ form.styled div.display {
695
+ padding: 0 0 0 150px;
696
+ clear: left;
697
+ }
698
+
699
+ form.styled fieldset div.display {
700
+ padding: 0 0 0 143px;
701
+ }
702
+
703
+ form.styled div.buttons {
704
+ padding: 10px 0 0 150px;
705
+ clear: left;
706
+ }
707
+
708
+ form.styled fieldset div.buttons {
709
+ padding: 0 0 0 145px;
710
+ }
711
+
712
+ form.styled .error .text {
713
+ border: 1px solid #CD0000;
714
+ }
715
+
716
+ form.styled .error label {
717
+ color: #CD0000;
718
+ }
719
+
720
+ form.styled .error .field-errors {
721
+ display: block;
722
+ color: #CD0000;
723
+ margin-left: 150px;
724
+ font-size: .8em;
725
+ }
726
+
727
+ form.styled fieldset .error .field-errors {
728
+ margin-left: 143px;
729
+ }
730
+
731
+ form.styled .field-tip {
732
+ display: block;
733
+ margin-left: 150px;
734
+ font-size: .8em;
735
+ }
736
+
737
+ form.styled fieldset .field-tip {
738
+ margin-left: 143px;
739
+ }
740
+
741
+ form.styled .error-messages {
742
+ margin-bottom: 15px;
743
+ text-indent: 50px;
744
+ background: #FFD68F url(/images/admin_standard/form-error.png) no-repeat 10px center;
745
+ padding: 10px 5px;
746
+ border: 2px solid #FFA200;
747
+ }
748
+
749
+ input, label, select {
750
+ margin: 10px;
751
+ }
752
+
753
+ /* Forms
754
+ *----------------------------------------------------------------------------*/
755
+ .form-container {
756
+ color: #222;
757
+ border-radius: 7px;
758
+ -moz-border-radius: 7px;
759
+ -webkit-border-radius: 7px;
760
+ padding: 20px 20px 20px 20px;
761
+ font-size: 1.05em;
762
+ margin: 10px 0 10px 0;
763
+ background: #F9F9F9;
764
+ border: 1px solid #CCC;
765
+ }
766
+
767
+
768
+ /* Buttons
769
+ *----------------------------------------------------------------------------*/
770
+ a.button,
771
+ a.button:visited, button,
772
+ .commit input,
773
+ input.button {
774
+ padding: 4px 10px 4px !important;
775
+ line-height: normal; /*font-family: Tahoma Arial sans-serif;*/
776
+ font-size: 13px;
777
+ background: #222 url(/images/admin_standard/button-background.png) repeat-x;
778
+ display: inline-block;
779
+ color: #FFF;
780
+ text-decoration: none;
781
+ -moz-border-radius: 5px;
782
+ -webkit-border-radius: 5px;
783
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
784
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
785
+ text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
786
+ border: 0;
787
+ border-bottom: 1px solid rgba(0, 0, 0, 0.25);
788
+ position: relative;
789
+ cursor: pointer;
790
+ }
791
+
792
+ a.button:hover,
793
+ button:hover,
794
+ .commit input:hover,
795
+ input.button:hover {
796
+ background-color: #000;
797
+ }
798
+
799
+ input.button {
800
+ margin-top: -2px;
801
+ float: right;
802
+ padding: 8px 10px 8px !important;
803
+ }
804
+
805
+ /* trees */
806
+ ul.tree, ul.tree ul {
807
+ margin: 0;
808
+ padding: 0;
809
+ list-style: none;
810
+ }
811
+
812
+ ul.tree ul {
813
+ margin: 0 0 0 20px;
814
+ }
815
+
816
+ ul.tree li {
817
+ line-height: 200%;
818
+ text-indent: 20px;
819
+ width: 100%;
820
+ }
821
+
822
+ ul li span.spacer {
823
+ width: 16px;
824
+ height: 16px;
825
+ }
826
+
827
+ ul.tree li span {
828
+ display: inline-block;
829
+ text-indent: 0;
830
+ line-height: 1em;
831
+ height: 1em;
832
+ }
833
+
834
+ ul.tree li span.tree-controls {
835
+ margin: 0 5px;
836
+ }
837
+
838
+ ul.tree li span.tree-controls a {
839
+ display: inline-block;
840
+ text-indent: -10000px;
841
+ width: 16px;
842
+ height: 16px;
843
+ margin-top: 5px;
844
+ outline: none;
845
+ }
846
+
847
+ ul.tree li span.tree-controls a.edit, span.tree-controls a.edit {
848
+ background: url(/images/icons/edit.png) no-repeat;
849
+ }
850
+
851
+ ul.tree li span.tree-controls a.delete, span.tree-controls a.delete {
852
+ background: url(/images/icons/delete.png) no-repeat;
853
+ }
854
+
855
+ ul.tree li span.tree-controls a.move, span.tree-controls a.move {
856
+ background: url(/images/icons/move.png) no-repeat;
857
+ cursor: move;
858
+ }
859
+
860
+ .images .image {
861
+ margin-bottom: 5px;
862
+ float: left;
863
+ border: 1px solid #999;
864
+ -moz-border-radius: 3px;
865
+ -webkit-border-radius: 3px;
866
+ padding: 4px;
867
+ margin-right: 5px;
868
+ }
869
+
870
+ .images .image .controls {
871
+ width: 20px;
872
+ float: left;
873
+ }
874
+
875
+ .images .image .controls .move-image {
876
+ cursor: move;
877
+ }