alchemy_cms 2.1.rc6 → 2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/app/assets/images/alchemy/lupe.cur +0 -0
  2. data/app/assets/javascripts/alchemy/alchemy.buttons.js +1 -1
  3. data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +1 -0
  4. data/app/assets/stylesheets/alchemy/alchemy.css +11 -0
  5. data/app/assets/stylesheets/alchemy/base.css.scss +447 -2446
  6. data/app/assets/stylesheets/alchemy/buttons.css.scss +354 -0
  7. data/app/assets/stylesheets/alchemy/dashboard.css.scss +76 -0
  8. data/app/assets/stylesheets/alchemy/flags.css.scss +1 -1
  9. data/app/assets/stylesheets/alchemy/flash.css.scss +54 -0
  10. data/app/assets/stylesheets/alchemy/frame.css.scss +287 -0
  11. data/app/assets/stylesheets/alchemy/icons.css.scss +300 -0
  12. data/app/assets/stylesheets/alchemy/jquery-ui.alchemy.css.scss +3 -2
  13. data/app/assets/stylesheets/alchemy/jquery.sb.css.scss +1 -1
  14. data/app/assets/stylesheets/alchemy/login.css.scss +53 -0
  15. data/app/assets/stylesheets/alchemy/menubar.css.scss +26 -11
  16. data/app/assets/stylesheets/alchemy/modules.css.scss +31 -0
  17. data/app/assets/stylesheets/alchemy/pagination.css.scss +56 -0
  18. data/app/assets/stylesheets/alchemy/sitemap.css.scss +285 -0
  19. data/app/assets/stylesheets/alchemy/tables.css.scss +150 -0
  20. data/app/assets/stylesheets/alchemy/upload.css.scss +92 -0
  21. data/app/controllers/alchemy/admin/dashboard_controller.rb +1 -1
  22. data/app/controllers/alchemy/admin/pages_controller.rb +1 -1
  23. data/app/controllers/alchemy/admin/resources_controller.rb +35 -2
  24. data/app/controllers/alchemy/user_sessions_controller.rb +3 -0
  25. data/app/helpers/alchemy/admin/attachments_helper.rb +1 -1
  26. data/app/helpers/alchemy/admin/base_helper.rb +69 -20
  27. data/app/helpers/alchemy/pages_helper.rb +0 -55
  28. data/app/views/alchemy/admin/attachments/_attachment.html.erb +1 -1
  29. data/app/views/alchemy/admin/clipboard/index.html.erb +4 -1
  30. data/app/views/alchemy/admin/dashboard/index.html.erb +16 -11
  31. data/app/views/alchemy/admin/elements/_new_element_form.html.erb +4 -1
  32. data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +1 -20
  33. data/app/views/alchemy/admin/layoutpages/index.html.erb +1 -1
  34. data/app/views/alchemy/admin/pages/index.html.erb +3 -3
  35. data/app/views/alchemy/admin/partials/_search_form.html.erb +7 -1
  36. data/app/views/alchemy/admin/resources/_form.html.erb +1 -1
  37. data/app/views/alchemy/admin/resources/_resource.html.erb +8 -5
  38. data/app/views/alchemy/admin/resources/_table.html.erb +1 -1
  39. data/app/views/alchemy/admin/resources/index.html.erb +4 -3
  40. data/app/views/alchemy/admin/trash/index.html.erb +3 -2
  41. data/app/views/alchemy/user_sessions/login.html.erb +2 -1
  42. data/app/views/layouts/alchemy/admin.html.erb +3 -4
  43. data/app/views/layouts/alchemy/login.html.erb +9 -8
  44. data/config/authorization_rules.rb +0 -1
  45. data/config/locales/alchemy.de.yml +1 -0
  46. data/config/locales/alchemy.en.yml +1 -0
  47. data/lib/alchemy/seeder.rb +1 -1
  48. data/lib/alchemy/version.rb +1 -1
  49. data/spec/integration/admin/pages_controller_spec.rb +45 -57
  50. data/spec/integration/admin/resources_spec.rb +19 -0
  51. data/spec/models/content_spec.rb +6 -5
  52. data/spec/support/alchemy/controller_hacks.rb +41 -0
  53. data/spec/support/alchemy/specs_helpers.rb +32 -0
  54. data/vendor/assets/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +137 -1
  55. metadata +55 -37
  56. data/app/views/alchemy/admin/languages/_language.html.erb +0 -36
  57. data/spec/support/controller_hacks.rb +0 -37
@@ -0,0 +1,287 @@
1
+ @import "alchemy/defaults";
2
+
3
+ html {
4
+ height: 100%;
5
+ }
6
+
7
+ body#alchemy {
8
+ margin: 0;
9
+ padding: 0;
10
+ color: $text-color;
11
+ font: $default-font-style;
12
+ background-color: $light-gray;
13
+ height: 100%;
14
+ cursor: default;
15
+ }
16
+
17
+ #top_menu {
18
+ position: fixed;
19
+ top: 0;
20
+ left: 65px;
21
+ z-index: 5;
22
+ width: 100%;
23
+ }
24
+
25
+ #left_menu {
26
+ white-space: nowrap;
27
+ z-index: 2;
28
+ height: 100%;
29
+ position: fixed;
30
+ top: 0;
31
+ left: 0;
32
+ width: 65px;
33
+ overflow: hidden;
34
+ border-right: $default-border;
35
+ background: $light-blue;
36
+ font-size: 10px;
37
+
38
+ label {
39
+ display: block;
40
+ }
41
+
42
+ a {
43
+ -webkit-user-select: none;
44
+ -moz-user-select: none;
45
+ user-select: none;
46
+ text-shadow: #fff 0 0px 4px;
47
+ }
48
+ }
49
+
50
+ #main_navi {
51
+ padding-top: 25px;
52
+ padding-left: 4px;
53
+ padding-bottom: 80px;
54
+
55
+ a.main_navi_entry {
56
+ color: #444;
57
+ position: relative;
58
+ text-align: center;
59
+ overflow: hidden;
60
+ display: block;
61
+ padding-top: 7px;
62
+ @include left-rounded-border;
63
+ margin-bottom: 1px;
64
+ margin-top: 1px;
65
+ border: 1px none #afafaf;
66
+ border-right-style: none;
67
+ padding-bottom: 5px;
68
+ padding-left: 1px;
69
+ width: 60px;
70
+
71
+ &:hover {
72
+ cursor: pointer;
73
+ text-decoration: none;
74
+ color: $text-color;
75
+ }
76
+
77
+ &.active {
78
+ background: #baced9;
79
+ color: $text-color;
80
+ cursor: default;
81
+ text-shadow: #fff 0 1px 2px;
82
+ border: $default-border;
83
+ padding-left: 0;
84
+ border-right-style: none;
85
+ padding-top: 6px;
86
+ padding-bottom: 4px;
87
+ }
88
+
89
+ img {
90
+ border-style: none;
91
+ height: 24px;
92
+ width: 24px;
93
+ display: inline-block;
94
+ margin-bottom: 4px;
95
+ margin-top: 2px;
96
+ }
97
+ }
98
+ }
99
+
100
+ div#overlay {
101
+ visibility: hidden;
102
+ position: fixed;
103
+ left: 0px;
104
+ top: 0px;
105
+ width: 100%;
106
+ height: 100%;
107
+ z-index: 400000;
108
+ background-color: rgba(229,229,229,0.4);
109
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#40E5E5E5, endColorstr=#40E5E5E5);
110
+ }
111
+
112
+ div#overlay_text_box {
113
+ color: #333333;
114
+ font-size: 18px;
115
+ left: 50%;
116
+ line-height: 50px;
117
+ margin-left: -100px;
118
+ margin-top: -25px;
119
+ position: absolute;
120
+ text-align: center;
121
+ top: 50%;
122
+ width: 200px;
123
+
124
+ img {
125
+ position: relative;
126
+ top: 9px;
127
+ }
128
+ }
129
+
130
+ #logout {
131
+ position: absolute;
132
+ z-index: 1;
133
+ bottom: 0;
134
+ left: 0;
135
+ text-align: center;
136
+ width: 65px;
137
+ padding-top: 4px;
138
+ padding-bottom: 8px;
139
+ background: $light-blue;
140
+
141
+ a {
142
+ display: block;
143
+
144
+ &:hover {
145
+ text-decoration: none;
146
+ }
147
+ }
148
+
149
+ img {
150
+ margin-bottom: 4px;
151
+ }
152
+ }
153
+
154
+ #main_content {
155
+ background-color: $light-gray;
156
+ position: absolute;
157
+ left: 65px;
158
+ z-index: 0;
159
+ width: 93%;
160
+ height: 100%;
161
+ }
162
+
163
+ div#user_info {
164
+ position: absolute;
165
+ z-index: 10;
166
+ line-height: 27px;
167
+ font-size: 11px;
168
+ right: 10px;
169
+ top: 0;
170
+ }
171
+
172
+ #sub_navigation {
173
+ height: 22px;
174
+ line-height: 23px;
175
+ padding-left: 5px;
176
+ background: $light-blue;
177
+ border-bottom: $default-border;
178
+ padding-top: 4px;
179
+ z-index: 5;
180
+ position: relative;
181
+
182
+ a {
183
+ display: block;
184
+
185
+ &:hover {
186
+ text-decoration: none;
187
+ }
188
+ }
189
+
190
+ span.page_status_and_name {
191
+ padding: 0 8px;
192
+ background-color: $medium-gray;
193
+ text-shadow: #fff 0 1px 2px;
194
+ -webkit-user-select: none;
195
+ -moz-user-select: none;
196
+ -o-user-select: none;
197
+ user-select: none;
198
+ cursor: default;
199
+ line-height: 20px;
200
+ float: left;
201
+ @include top-rounded-border;
202
+ border: $default-border;
203
+ border-bottom-style: none;
204
+ height: 22px;
205
+ margin-right: 1px;
206
+
207
+ .flag {
208
+ float: none;
209
+ position: relative;
210
+ display: inline-block;
211
+ bottom: 1px;
212
+ margin-right: 3px;
213
+ }
214
+
215
+ span.page_name {
216
+ position: relative;
217
+ margin-right: 16px;
218
+ margin-left: 4px;
219
+ line-height: 27px;
220
+ bottom: 2px;
221
+ }
222
+ }
223
+
224
+ div.subnavi_tab {
225
+ float: left;
226
+ padding: 0px 8px;
227
+ height: 21px;
228
+ text-shadow: #fff 0 0px 4px;
229
+ background: #d6e0e6;
230
+ color: #444;
231
+ @include top-rounded-border;
232
+ border: $default-border;
233
+ border-bottom-style: none;
234
+ margin-right: 1px;
235
+
236
+ &.wide {
237
+ position: relative;
238
+ padding-right: 24px;
239
+
240
+ form {
241
+ position: absolute;
242
+ right: 3px;
243
+ top: 3px;
244
+ line-height: 10px;
245
+ }
246
+ }
247
+
248
+ &:hover {
249
+ color: $text-color;
250
+ text-decoration: none;
251
+ }
252
+
253
+ &.active {
254
+ float: left;
255
+ position: relative;
256
+ padding: 0px 8px;
257
+ height: 22px;
258
+ color: $text-color;
259
+ background-color: $medium-gray;
260
+ text-shadow: #fff 0 1px 2px;
261
+ -webkit-user-select: none;
262
+ -moz-user-select: none;
263
+ -o-user-select: none;
264
+ user-select: none;
265
+ cursor: default;
266
+ z-index: 10;
267
+ }
268
+ }
269
+ }
270
+
271
+ #subnav_additions {
272
+ height: 23px;
273
+ overflow: hidden;
274
+
275
+ label {
276
+ float: left;
277
+ font-size: 10px;
278
+ line-height: 25px;
279
+ height: 25px;
280
+ margin-left: 8px;
281
+ margin-right: 4px;
282
+ }
283
+
284
+ img {
285
+ float: left;
286
+ }
287
+ }
@@ -0,0 +1,300 @@
1
+ @import "alchemy/defaults";
2
+
3
+ .icon {
4
+ display: inline-block;
5
+ background: image-url('alchemy/icons.png') no-repeat;
6
+ width: 16px;
7
+ height: 16px;
8
+ }
9
+
10
+ .icon.zoom-out {
11
+ background-position: -416px -72px;
12
+ }
13
+
14
+ .icon.zoom-equal {
15
+ background-position: -448px -72px;
16
+ }
17
+
18
+ .icon.delete-small {
19
+ background-position: 0 -72px;
20
+ }
21
+
22
+ .icon.zoom-in {
23
+ background-position: -480px -72px;
24
+ }
25
+
26
+ .icon.user_add {
27
+ background-position: -96px -104px;
28
+ }
29
+
30
+ .icon.language_add {
31
+ background-position: -47px -120px;
32
+ }
33
+
34
+ .icon.user {
35
+ background-position: 0 -104px;
36
+ }
37
+
38
+ .icon.language {
39
+ background-position: 0 -120px;
40
+ }
41
+
42
+ .icon.user.female {
43
+ background-position: -128px -104px;
44
+ }
45
+
46
+ .icon.user_edit {
47
+ background-position: -64px -104px;
48
+ }
49
+
50
+ .icon.language_edit {
51
+ background-position: -32px -120px;
52
+ }
53
+
54
+ .icon.user_edit.female {
55
+ background-position: -192px -104px;
56
+ }
57
+
58
+ .icon.settings {
59
+ background-position: -320px -40px;
60
+ }
61
+
62
+ .icon.visit_page {
63
+ background-position: -31px -137px;
64
+ }
65
+
66
+ .icon.upload {
67
+ background-position: 0 -136px;
68
+ }
69
+
70
+ .icon.pdf {
71
+ background-position: -161px -136px;
72
+ }
73
+
74
+ .icon.text {
75
+ background-position: -448px -136px;
76
+ }
77
+
78
+ .icon.archive {
79
+ background-position: -416px -136px;
80
+ }
81
+
82
+ .icon.audio {
83
+ background-position: -192px -136px;
84
+ }
85
+
86
+ .icon.image {
87
+ background-position: -224px -136px;
88
+ }
89
+
90
+ .icon.vcard {
91
+ background-position: -416px -104px;
92
+ }
93
+
94
+ .icon.psd {
95
+ background-position: -128px -136px;
96
+ }
97
+
98
+ .icon.flash {
99
+ background-position: -256px -136px;
100
+ }
101
+
102
+ .icon.video {
103
+ background-position: -288px -136px;
104
+ }
105
+
106
+ .icon.rtf {
107
+ background-position: -320px -136px;
108
+ }
109
+
110
+ .icon.word {
111
+ background-position: -384px -136px;
112
+ }
113
+
114
+ .icon.excel {
115
+ background-position: -176px -72px;
116
+ }
117
+
118
+ .icon.file {
119
+ background-position: 0 -40px;
120
+ }
121
+
122
+ .icon.flush {
123
+ background-position: -352px -39px;
124
+ }
125
+
126
+ .icon.publish {
127
+ background-position: -64px -136px;
128
+ }
129
+
130
+ .icon.info {
131
+ background-position: -64px -168px;
132
+ }
133
+
134
+ .icon.close {
135
+ background-position: -416px -40px;
136
+ }
137
+
138
+ .icon.sync {
139
+ background-position: -96px -136px;
140
+ }
141
+
142
+ .icon.close.small {
143
+ background: image-url('alchemy/ui-icons_666666_256x240.png') -84px -132px;
144
+ width: 8px;
145
+ height: 8px;
146
+ }
147
+
148
+ .icon.online {
149
+ background-position: -224px -104px;
150
+ }
151
+
152
+ .icon.offline {
153
+ background-position: -255px -104px;
154
+ }
155
+
156
+ .icon.tick, .icon.true {
157
+ background-position: -32px -72px;
158
+ }
159
+
160
+ .icon.error {
161
+ background-position: -32px -168px;
162
+ }
163
+
164
+ .icon.false {
165
+ background-image: none;
166
+ }
167
+
168
+ .icon.link, a.link {
169
+ background-position: -320px -72px;
170
+ }
171
+
172
+ .icon.unlink {
173
+ background-position: -352px -72px;
174
+ }
175
+
176
+ .icon.swap_picture {
177
+ background-position: -288px -72px;
178
+ }
179
+
180
+ .icon.crop {
181
+ background-position: -256px -72px;
182
+ }
183
+
184
+ .icon.warning, .icon.warn {
185
+ background-position: 0 -168px;
186
+ }
187
+
188
+ .icon.element_public {
189
+ background-position: -94px -166px;
190
+ }
191
+
192
+ .icon.element_draft {
193
+ background-position: 1px -70px;
194
+ }
195
+
196
+ .icon.new_element {
197
+ background-position: -384px -40px;
198
+ }
199
+
200
+ .icon.element_window {
201
+ background-position: -512px -72px;
202
+ }
203
+
204
+ .icon.preview_window {
205
+ background-position: -448px -40px;
206
+ }
207
+
208
+ .icon.clipboard {
209
+ background-position: -288px -104px;
210
+ }
211
+
212
+ .icon.clipboard.full {
213
+ background-position: -320px -104px;
214
+ }
215
+
216
+ .icon.trash {
217
+ background-position: -352px -104px;
218
+ }
219
+
220
+ .icon.trash.full {
221
+ background-position: -384px -104px;
222
+ }
223
+
224
+ .icon.file_download {
225
+ background-position: -480px -136px;
226
+ }
227
+
228
+ .icon.download {
229
+ background-position: -240px -72px;
230
+ }
231
+
232
+ .icon.file_delete {
233
+ background-position: -64px -40px;
234
+ }
235
+
236
+ .icon.file_edit {
237
+ background-position: -32px -40px;
238
+ }
239
+
240
+ .icon.edit {
241
+ background-position: -160px -168px;
242
+ }
243
+
244
+ .icon.create {
245
+ background-position: -192px -168px;
246
+ }
247
+
248
+ .icon.add_page {
249
+ background-position: -96px -40px;
250
+ }
251
+
252
+ .icon.copy_page {
253
+ background-position: -544px -40px;
254
+ }
255
+
256
+ .icon.delete_page {
257
+ background-position: -64px -40px;
258
+ }
259
+
260
+ .icon.user_delete {
261
+ background-position: -32px -104px;
262
+ }
263
+
264
+ .icon.language_delete {
265
+ background-position: -16px -120px;
266
+ }
267
+
268
+ .icon.destroy {
269
+ background-position: -224px -168px;
270
+ }
271
+
272
+ .icon.configure_page {
273
+ background-position: -320px -40px;
274
+ }
275
+
276
+ .icon.search {
277
+ background: image-url('alchemy/ui-icons_666666_256x240.png') -160px -112px;
278
+ }
279
+
280
+ .icon.user_delete.female {
281
+ background-position: -160px -104px;
282
+ }
283
+
284
+ .icon.remove {
285
+ background-position: no-repeat -64px;
286
+ width: 16px;
287
+ height: 16px;
288
+ display: inline-block;
289
+ position: relative;
290
+ top: 3px;
291
+ margin-right: 4px;
292
+ }
293
+
294
+ .icon.blank {
295
+ background: transparent;
296
+ }
297
+
298
+ .icon.sort {
299
+ background-position: -128px -168px;
300
+ }