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
@@ -1375,7 +1375,8 @@ button.ui-button-icons-only {
1375
1375
 
1376
1376
  #alchemy .ui-button .ui-button-text {
1377
1377
  display: block;
1378
- line-height: 1.4;
1378
+ line-height: 1.5;
1379
+ font-size: 11px;
1379
1380
  }
1380
1381
 
1381
1382
  #alchemy .ui-button-text-only .ui-button-text {
@@ -1543,7 +1544,7 @@ button.ui-button::-moz-focus-inner {
1543
1544
  }
1544
1545
 
1545
1546
  #alchemy .ui-dialog .ui-dialog-buttonpane button {
1546
- margin: .5em .4em .5em 0;
1547
+ margin: 8px 8px 8px 0;
1547
1548
  cursor: pointer;
1548
1549
  }
1549
1550
 
@@ -120,7 +120,7 @@
120
120
  }
121
121
 
122
122
  #alchemy .selectbox .text {
123
- line-height: 23px;
123
+ line-height: 24px;
124
124
  text-align: left;
125
125
  }
126
126
 
@@ -0,0 +1,53 @@
1
+ @import "alchemy/defaults";
2
+
3
+ div#alchemy_greeting {
4
+ width: 370px;
5
+ margin-right: auto;
6
+ margin-left: auto;
7
+ padding: 2*$default-padding;
8
+ margin-top: 1em;
9
+ text-align: center;
10
+
11
+ p {
12
+ margin-top: 1em;
13
+ margin-bottom: 1em;
14
+ }
15
+
16
+ h1 {
17
+ margin-top: 1em;
18
+ margin-bottom: 0;
19
+ font-size: 1.2em;
20
+ }
21
+ }
22
+
23
+ div.login_signup_box {
24
+ width: 360px;
25
+ padding: 4*$default-padding;
26
+ border: $default-border;
27
+ background-color: $medium-gray;
28
+ @include rounded-corner;
29
+ margin: 2em auto;
30
+
31
+ select {
32
+ width: 220px;
33
+ }
34
+ }
35
+
36
+ #login_box {
37
+ height: 310px;
38
+ width: 394px;
39
+ margin-top: -230px;
40
+ margin-left: -197px;
41
+ position: absolute;
42
+ top: 50%;
43
+ left: 50%;
44
+ }
45
+
46
+ #login table tbody tr td.label {
47
+ width: 155px;
48
+ text-align: right;
49
+ }
50
+
51
+ form#login.new_user_session {
52
+ text-align: right;
53
+ }
@@ -5,11 +5,19 @@
5
5
  @import "alchemy/defaults";
6
6
 
7
7
  @mixin transition {
8
- -webkit-transition: left 0.15s ease;
9
- -moz-transition: left 0.15s ease;
10
- -ms-transition: left 0.15s ease;
11
- -o-transition: left 0.15s ease;
12
- transition: left 0.15s ease;
8
+ -webkit-transition: left 0.15s ease-in-out;
9
+ -moz-transition: left 0.15s ease-in-out;
10
+ -ms-transition: left 0.15s ease-in-out;
11
+ -o-transition: left 0.15s ease-in-out;
12
+ transition: left 0.15s ease-in-out;
13
+ }
14
+
15
+ @mixin bounce {
16
+ -webkit-transition-timing-function: cubic-bezier(0, 0.5, .5, 1.3);
17
+ -moz-transition-timing-function: cubic-bezier(0, 0.5, .5, 1.3);
18
+ -ms-transition-timing-function: cubic-bezier(0, 0.5, .5, 1.3);
19
+ -o-transition-timing-function: cubic-bezier(0, 0.5, .5, 1.3);
20
+ transition-timing-function: cubic-bezier(0, 0.5, .5, 1.3);
13
21
  }
14
22
 
15
23
  @mixin bottom-right-rounded-border {
@@ -34,11 +42,12 @@
34
42
  #alchemy_menubar {
35
43
  position: fixed;
36
44
  top: 0;
37
- left: -318px;
45
+ left: -319px;
38
46
  width: 312px;
39
47
  z-index: 10000;
40
48
  background: $light-gray;
41
49
  @include transition;
50
+ @include bounce;
42
51
  @include bottom-right-rounded-border;
43
52
  @include box-shadow;
44
53
  border-right: $default-border;
@@ -63,23 +72,29 @@
63
72
  ul {
64
73
  padding: 0;
65
74
  margin: 0;
66
- line-height: 2em;
75
+ height: 32px;
67
76
  li {
68
- line-height: normal;
69
- margin-right: $default-padding;
77
+ height: 32px;
78
+ margin: 0 $default-padding 0 0;
79
+ padding: 5px 0 0 0;
70
80
  display: inline;
71
81
  display: inline-block;
72
82
  list-style-type: none;
73
83
  a {
84
+ @include button-styles;
74
85
  display: block;
86
+ line-height: 16px;
75
87
  text-align: center;
76
88
  padding: 2px 4px;
77
89
  width: 90px;
78
90
  text-decoration: none;
79
- @include button-styles;
91
+ outline: none;
80
92
  &:hover {
81
93
  @include button-hover-styles;
82
- };
94
+ }
95
+ &:active {
96
+ outline: none;
97
+ }
83
98
  }
84
99
  }
85
100
  }
@@ -0,0 +1,31 @@
1
+ @import "alchemy/defaults";
2
+
3
+ span.icon.module {
4
+ width: 24px;
5
+ height: 24px;
6
+ margin-bottom: 4px;
7
+ }
8
+
9
+ span.module.dashboard {
10
+ background-position: -240px 0;
11
+ }
12
+
13
+ span.module.pages {
14
+ background-position: -40px 0;
15
+ }
16
+
17
+ span.module.users {
18
+ background-position: -80px 0;
19
+ }
20
+
21
+ span.module.library {
22
+ background-position: -120px 0;
23
+ }
24
+
25
+ span.module.languages {
26
+ background-position: -200px 0;
27
+ }
28
+
29
+ span.module.exit {
30
+ background-position: -160px 0;
31
+ }
@@ -0,0 +1,56 @@
1
+ @import "alchemy/defaults";
2
+
3
+ div.pagination {
4
+ clear: both;
5
+ zoom: 1;
6
+ text-align: right;
7
+ line-height: 24px;
8
+ height: 24px;
9
+ width: 100%;
10
+ margin-top: 4*$default-padding;
11
+
12
+ a, span, em {
13
+ font-size: 12px;
14
+ height: 25px;
15
+ line-height: 25px;
16
+ padding: $default-padding;
17
+ }
18
+
19
+ a:hover {
20
+ color: #000;
21
+ text-shadow: none;
22
+ text-decoration: underline;
23
+ }
24
+
25
+ .current {
26
+ @include button-styles;
27
+ background: $button-hover-bg-color;
28
+ color: $text-color;
29
+ border: 1px solid #888;
30
+ text-shadow: 0px 1px 1px #fff;
31
+ cursor: default;
32
+ }
33
+
34
+ .previous_page {
35
+ margin-right: 2*$default-padding;
36
+ }
37
+
38
+ .next_page {
39
+ margin-left: 2*$default-padding;
40
+ }
41
+
42
+ .disabled {
43
+ color: #c0c0c0;
44
+ }
45
+
46
+ span.gap {
47
+ border: none;
48
+ background: transparent;
49
+ cursor: default;
50
+ }
51
+ }
52
+
53
+ #assign_image_list div.pagination {
54
+ margin-bottom: 8px;
55
+ text-align: center;
56
+ }
@@ -0,0 +1,285 @@
1
+ @import "alchemy/defaults";
2
+
3
+ div#bottom_panel {
4
+ position: fixed;
5
+ bottom: 0;
6
+ right: 0;
7
+ width: 100%;
8
+ z-index: 10;
9
+ background: $medium-gray image-url('alchemy/shading.png') repeat-x 0 0;
10
+ }
11
+
12
+ div#bottom_panel div.info {
13
+ margin: 16px 16px 8px 81px;
14
+ width: 720px;
15
+ }
16
+
17
+ div#bottom_buttons {
18
+ padding: 0 16px 16px;
19
+ margin-left: 65px;
20
+ }
21
+
22
+ .sitemap_pagename_link {
23
+ background-color: #FFFFFF;
24
+ color: black;
25
+ display: block;
26
+ padding-left: 4px;
27
+ text-decoration: none;
28
+ }
29
+
30
+ .sitemap_pagename_link.inactive {
31
+ color: #656565;
32
+ }
33
+
34
+ .redirect_url {
35
+ position: absolute;
36
+ top: 4px;
37
+ right: 184px;
38
+ text-align: right;
39
+ background-color: #fff0c4;
40
+ line-height: 22px;
41
+ padding-right: 4px;
42
+ font-size: 10px;
43
+ padding-left: 4px;
44
+ }
45
+
46
+ .sitemap_pagename_link.odd {
47
+ background-color: #fff;
48
+ }
49
+
50
+ a.sitemap_pagename_link:hover {
51
+ text-decoration: underline;
52
+ }
53
+
54
+ div#page_selector_container a.sitemap_pagename_link:hover {
55
+ text-decoration: none;
56
+ }
57
+
58
+ a.sitemap_pagename_link:hover:after {
59
+ content: '';
60
+ width: 16px;
61
+ height: 16px;
62
+ float: left;
63
+ margin-right: 4px;
64
+ background: image-url('alchemy/icons.png') -160px -168px;
65
+ margin-top: 4px;
66
+ }
67
+
68
+ div#page_selector_container a.sitemap_pagename_link:hover:after {
69
+ display: none;
70
+ }
71
+
72
+ .sitemap_line_spacer {
73
+ float: left;
74
+ width: 20px;
75
+ height: 28px;
76
+ }
77
+
78
+ ul#sitemap ul {
79
+ margin: 0;
80
+ padding: 0;
81
+ display: block;
82
+ }
83
+
84
+ ul#sitemap li,
85
+ ul#layoutpages li {
86
+ list-style-type: none;
87
+ display: block;
88
+ margin-left: 0;
89
+ margin-bottom: 0;
90
+ line-height: 22px;
91
+ }
92
+
93
+ ul#sitemap li {
94
+ padding-left: 0;
95
+ li {
96
+ padding-left: 22px;
97
+ padding-right: 0;
98
+ }
99
+ }
100
+
101
+ ul#layoutpages li {
102
+ padding: 0;
103
+ }
104
+
105
+ div.sitemap_page {
106
+ height: 22px;
107
+ padding-bottom: 4px;
108
+ padding-top: 4px;
109
+ position: relative;
110
+ }
111
+
112
+ div.sitemap_page:hover a.sitemap_pagename_link {
113
+ background-color: #fdffdf;
114
+ }
115
+
116
+ div.sitemap_left_images {
117
+ margin-top: 3px;
118
+ float: left;
119
+ margin-right: 8px;
120
+ background-color: $light-gray;
121
+ }
122
+
123
+ #sitemap a.page_folder {
124
+ background-image: image-url('alchemy/gui/toggle.png');
125
+ background-repeat: no-repeat;
126
+ height: 9px;
127
+ width: 9px;
128
+ font-size: 0;
129
+ float: left;
130
+ margin-left: -18px;
131
+ margin-top: 3px;
132
+ }
133
+
134
+ #sitemap a.page_folder.collapsed {
135
+ background-position: 0 0;
136
+ }
137
+
138
+ #sitemap a.page_folder.folded {
139
+ background-position: -9px 0;
140
+ }
141
+
142
+ div.sitemap_right_tools {
143
+ height: 22px;
144
+ background-color: $light-gray;
145
+ padding-left: 16px;
146
+ float: right;
147
+ width: 100px;
148
+ }
149
+
150
+ div#page_selector_container div.sitemap_right_tools {
151
+ width: 24px;
152
+ }
153
+
154
+ ul#sitemap li .sitemap_toolrow,
155
+ ul.list li .sitemap_toolrow {
156
+ margin: 0;
157
+ overflow: auto;
158
+ padding: 4px 0;
159
+ }
160
+
161
+ ul#sitemap .sitemap_sitename,
162
+ ul.list .sitemap_sitename {
163
+ background-color: #EDEDED;
164
+ height: 22px;
165
+ line-height: 22px;
166
+ overflow: hidden;
167
+ }
168
+
169
+ div.page_infos {
170
+ @include top-rounded-border;
171
+ background-color: #FFFFFF;
172
+ border-left: 1px solid #EDEDED;
173
+ float: right;
174
+ height: 20px;
175
+ padding: 1px;
176
+ width: 66px;
177
+ }
178
+
179
+ .page_status {
180
+ width: 16px;
181
+ height: 16px;
182
+ background-repeat: no-repeat;
183
+ float: left;
184
+ margin: 2px 2px 0 4px;
185
+ }
186
+
187
+ #sub_navigation span.page_status_and_name span.page_status {
188
+ float: none;
189
+ display: inline-block;
190
+ position: relative;
191
+ top: 1px;
192
+ margin-left: 2px;
193
+ }
194
+
195
+ span.page_status.restricted {
196
+ background: image-url('alchemy/icons.png') -258px -39px;
197
+ }
198
+
199
+ span.page_status.not_restricted {
200
+ background: image-url('alchemy/icons.png') -290px -39px;
201
+ @include opacity(30);
202
+ }
203
+
204
+ span.page_status.visible {
205
+ background: image-url('alchemy/icons.png') -128px -39px;
206
+ }
207
+
208
+ span.page_status.not_visible {
209
+ background: image-url('alchemy/icons.png') -160px -39px;
210
+ @include opacity(30);
211
+ }
212
+
213
+ span.page_status.public {
214
+ background: image-url('alchemy/icons.png') -192px -39px;
215
+ }
216
+
217
+ span.page_status.not_public {
218
+ background: image-url('alchemy/icons.png') -224px -39px;
219
+ @include opacity(30);
220
+ }
221
+
222
+ .site_status {
223
+ float: left;
224
+ width: 16px;
225
+ height: 16px;
226
+ background: image-url('alchemy/icons.png') no-repeat 0 -40px;
227
+ }
228
+
229
+ .locked .site_status {
230
+ background-position: -32px -40px;
231
+ }
232
+
233
+ #sub_navigation span.page_status_and_name span.site_status {
234
+ float: none;
235
+ display: inline-block;
236
+ margin-right: 4px;
237
+ margin-left: 0;
238
+ margin-bottom: 0;
239
+ }
240
+
241
+ #sitemap img.link_arrow {
242
+ float: right;
243
+ text-align: right;
244
+ }
245
+
246
+ ul#sitemap li img {
247
+ border-width: 0;
248
+ border-style: none;
249
+ float: left;
250
+ }
251
+
252
+ .sitemap_sitestatus {
253
+ float: right;
254
+ margin-top: 4px;
255
+ }
256
+
257
+ a.folder_link {
258
+ text-decoration: none;
259
+ outline: none;
260
+ }
261
+
262
+ .sitemap_sitetools {
263
+ padding: 0;
264
+ float: left;
265
+ width: 70px;
266
+ margin-left: 8px;
267
+ }
268
+
269
+ .sitemap_right_tools a {
270
+ float: left;
271
+ width: 21px;
272
+ height: 21px;
273
+ }
274
+
275
+ .sitemap_sitetools .icon.blank {
276
+ margin-left: 2px;
277
+ float: left;
278
+ margin-top: 3px;
279
+ margin-right: 3px;
280
+ }
281
+
282
+ .sitemap_right_tools span.icon {
283
+ margin-top: 3px;
284
+ margin-left: 2px;
285
+ }