alchemy_cms 4.0.0.rc2 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codeclimate.yml +1 -1
- data/.travis.yml +2 -2
- data/CHANGELOG.md +18 -0
- data/Gemfile +2 -1
- data/README.md +4 -11
- data/alchemy_cms.gemspec +3 -3
- data/app/assets/stylesheets/alchemy/_extends.scss +1 -2
- data/app/assets/stylesheets/alchemy/_mixins.scss +0 -8
- data/app/assets/stylesheets/alchemy/_variables.scss +2 -0
- data/app/assets/stylesheets/alchemy/archive.scss +23 -52
- data/app/assets/stylesheets/alchemy/base.scss +10 -8
- data/app/assets/stylesheets/alchemy/buttons.scss +3 -4
- data/app/assets/stylesheets/alchemy/dashboard.scss +0 -2
- data/app/assets/stylesheets/alchemy/dialogs.scss +13 -14
- data/app/assets/stylesheets/alchemy/elements.scss +41 -51
- data/app/assets/stylesheets/alchemy/forms.scss +0 -3
- data/app/assets/stylesheets/alchemy/frame.scss +0 -3
- data/app/assets/stylesheets/alchemy/image_library.scss +0 -3
- data/app/assets/stylesheets/alchemy/jquery.datetimepicker.scss +0 -2
- data/app/assets/stylesheets/alchemy/lists.scss +1 -0
- data/app/assets/stylesheets/alchemy/navigation.scss +1 -4
- data/app/assets/stylesheets/alchemy/pagination.scss +1 -3
- data/app/assets/stylesheets/alchemy/selects.scss +2 -2
- data/app/assets/stylesheets/alchemy/sitemap.scss +1 -1
- data/app/assets/stylesheets/alchemy/upload.scss +0 -1
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +0 -2
- data/app/helpers/alchemy/elements_helper.rb +12 -2
- data/app/models/alchemy/essence_picture.rb +28 -10
- data/app/models/alchemy/essence_picture_view.rb +1 -1
- data/app/models/alchemy/picture/transformations.rb +2 -3
- data/app/models/alchemy/picture/url.rb +10 -2
- data/app/views/alchemy/admin/contents/create.js.erb +1 -3
- data/app/views/alchemy/admin/essence_pictures/crop.html.erb +4 -3
- data/app/views/alchemy/essences/_essence_file_editor.html.erb +1 -1
- data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +1 -1
- data/config/brakeman.ignore +5 -5
- data/config/locales/alchemy.de.yml +2 -2
- data/config/locales/alchemy.en.yml +2 -2
- data/config/locales/alchemy.es.yml +1 -1
- data/config/locales/alchemy.fr.yml +1 -1
- data/config/locales/alchemy.it.yml +1 -1
- data/config/locales/alchemy.nl.yml +1 -1
- data/config/locales/alchemy.ru.yml +1 -1
- data/db/migrate/20160422195310_add_image_file_format_to_alchemy_pictures.rb +0 -12
- data/lib/alchemy/errors.rb +6 -1
- data/lib/alchemy/logger.rb +1 -1
- data/lib/alchemy/permissions.rb +0 -7
- data/lib/alchemy/tasks/tidy.rb +130 -0
- data/lib/alchemy/test_support/factories/attachment_factory.rb +2 -2
- data/lib/alchemy/test_support/factories/cell_factory.rb +3 -3
- data/lib/alchemy/test_support/factories/content_factory.rb +2 -2
- data/lib/alchemy/test_support/factories/dummy_user_factory.rb +2 -2
- data/lib/alchemy/test_support/factories/element_factory.rb +2 -2
- data/lib/alchemy/test_support/factories/essence_file_factory.rb +2 -2
- data/lib/alchemy/test_support/factories/essence_picture_factory.rb +2 -2
- data/lib/alchemy/test_support/factories/essence_text_factory.rb +2 -2
- data/lib/alchemy/test_support/factories/language_factory.rb +2 -2
- data/lib/alchemy/test_support/factories/page_factory.rb +4 -4
- data/lib/alchemy/test_support/factories/picture_factory.rb +2 -2
- data/lib/alchemy/test_support/factories/site_factory.rb +2 -2
- data/lib/alchemy/upgrader/three_point_four.rb +25 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/tasks/alchemy/tidy.rake +1 -129
- data/lib/tasks/alchemy/upgrade.rake +9 -1
- metadata +22 -9
@@ -81,9 +81,15 @@
|
|
81
81
|
position: relative;
|
82
82
|
}
|
83
83
|
|
84
|
+
form,
|
84
85
|
.info.message {
|
85
|
-
|
86
|
-
|
86
|
+
position: absolute;
|
87
|
+
right: 2 * $default-padding;
|
88
|
+
width: 256px;
|
89
|
+
}
|
90
|
+
|
91
|
+
.info.message {
|
92
|
+
top: 2 * $default-padding;
|
87
93
|
margin: 0 0 0 8px;
|
88
94
|
padding: 0 8px 0 32px;
|
89
95
|
}
|
@@ -99,27 +105,22 @@
|
|
99
105
|
|
100
106
|
form {
|
101
107
|
padding: 0;
|
102
|
-
position: absolute;
|
103
108
|
bottom: 2 * $default-padding;
|
104
|
-
right: 2 * $default-padding;
|
105
|
-
width: 176px;
|
106
109
|
margin-left: 8px;
|
107
110
|
|
108
|
-
|
109
|
-
display: block;
|
111
|
+
button {
|
110
112
|
margin-bottom: 0;
|
111
|
-
|
113
|
+
width: calc(50% - #{$default-padding});
|
112
114
|
}
|
113
115
|
|
114
|
-
|
115
|
-
|
116
|
-
|
116
|
+
button[type="submit"] {
|
117
|
+
float: right;
|
118
|
+
}
|
117
119
|
}
|
118
120
|
}
|
119
121
|
}
|
120
122
|
|
121
123
|
.alchemy-dialog-header {
|
122
|
-
box-sizing: border-box;
|
123
124
|
position: relative;
|
124
125
|
height: $dialog-header-height;
|
125
126
|
padding: 0 2*$default-padding;
|
@@ -168,7 +169,6 @@
|
|
168
169
|
}
|
169
170
|
|
170
171
|
.alchemy-dialog-body {
|
171
|
-
box-sizing: border-box;
|
172
172
|
position: relative;
|
173
173
|
color: $text-color;
|
174
174
|
|
@@ -207,7 +207,6 @@
|
|
207
207
|
}
|
208
208
|
|
209
209
|
.alchemy-dialog-buttons {
|
210
|
-
box-sizing: border-box;
|
211
210
|
float: left;
|
212
211
|
clear: both;
|
213
212
|
width: 100%;
|
@@ -1,5 +1,4 @@
|
|
1
1
|
#alchemy_elements_window {
|
2
|
-
box-sizing: border-box;
|
3
2
|
position: absolute;
|
4
3
|
right: 0;
|
5
4
|
top: 73px;
|
@@ -10,7 +9,6 @@
|
|
10
9
|
}
|
11
10
|
|
12
11
|
#element_area {
|
13
|
-
box-sizing: border-box;
|
14
12
|
overflow-x: hidden;
|
15
13
|
overflow-y: auto;
|
16
14
|
|
@@ -251,7 +249,6 @@
|
|
251
249
|
|
252
250
|
.element-header {
|
253
251
|
position: relative;
|
254
|
-
height: 20px;
|
255
252
|
padding: 2*$default-padding;
|
256
253
|
background-color: $medium-gray;
|
257
254
|
@extend .disable-user-select;
|
@@ -277,14 +274,13 @@
|
|
277
274
|
}
|
278
275
|
|
279
276
|
.element-toolbar {
|
280
|
-
padding:
|
281
|
-
height:
|
277
|
+
padding: $default-padding 0;
|
278
|
+
height: $element-toolbar-height;
|
282
279
|
background-color: #f0f0f0;
|
283
280
|
|
284
281
|
.element_tools {
|
285
282
|
float: left;
|
286
|
-
margin-
|
287
|
-
margin-left: -4px;
|
283
|
+
margin-left: -$default-margin;
|
288
284
|
}
|
289
285
|
}
|
290
286
|
|
@@ -393,17 +389,16 @@
|
|
393
389
|
}
|
394
390
|
|
395
391
|
.edit_images_bottom {
|
396
|
-
height: 19px;
|
397
392
|
position: absolute;
|
393
|
+
left: 0;
|
394
|
+
bottom: 0;
|
398
395
|
z-index: 0;
|
399
|
-
|
400
|
-
|
401
|
-
width: 111px;
|
396
|
+
width: inherit;
|
397
|
+
padding: $default-padding;
|
402
398
|
|
403
399
|
> a, > span.icon {
|
404
400
|
float: left;
|
405
|
-
margin
|
406
|
-
margin-right: 2px;
|
401
|
+
margin: 0 $default-margin/2;
|
407
402
|
width: 18px;
|
408
403
|
height: 18px;
|
409
404
|
}
|
@@ -447,8 +442,8 @@
|
|
447
442
|
}
|
448
443
|
|
449
444
|
.picture_thumbnail {
|
450
|
-
width:
|
451
|
-
height:
|
445
|
+
width: 121px;
|
446
|
+
height: 125px;
|
452
447
|
margin: $default-margin 0;
|
453
448
|
|
454
449
|
.thumbnail_background {
|
@@ -495,72 +490,67 @@
|
|
495
490
|
.picture_thumbnail .picture_handle {
|
496
491
|
position: absolute;
|
497
492
|
z-index: 1;
|
498
|
-
width:
|
499
|
-
height:
|
500
|
-
top:
|
501
|
-
left:
|
493
|
+
width: 100%;
|
494
|
+
height: 97px;
|
495
|
+
top: 0;
|
496
|
+
left: 0;
|
502
497
|
background-color: transparent;
|
503
498
|
@extend .disable-user-select;
|
504
499
|
}
|
505
500
|
|
506
|
-
|
507
|
-
padding: 0;
|
508
|
-
margin-top: 8px;
|
509
|
-
margin-bottom: 4px;
|
510
|
-
border: 1px solid #c0c0c0;
|
511
|
-
background-color: #f3f3f3;
|
512
|
-
@extend %rounded-border;
|
513
|
-
height: 24px;
|
501
|
+
.content_editor.essence_file {
|
514
502
|
|
515
|
-
.
|
516
|
-
|
517
|
-
border
|
503
|
+
.file {
|
504
|
+
margin: 6px 0 $default-margin;
|
505
|
+
border: $default-border;
|
506
|
+
background-color: $white;
|
507
|
+
@extend %rounded-border;
|
508
|
+
height: $default-form-field-height;
|
509
|
+
|
510
|
+
.validation_failed & {
|
511
|
+
color: $error_text_color;
|
512
|
+
border-color: $error_border_color;
|
513
|
+
}
|
518
514
|
}
|
519
|
-
}
|
520
515
|
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
516
|
+
.file_icon {
|
517
|
+
text-align: center;
|
518
|
+
float: left;
|
519
|
+
line-height: 25px;
|
520
|
+
width: 24px;
|
526
521
|
|
527
|
-
|
528
|
-
|
529
|
-
|
522
|
+
.icon {
|
523
|
+
margin: $default-margin;
|
524
|
+
}
|
530
525
|
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
background: image-url('alchemy/icons.png') no-repeat -480px -40px;
|
535
|
-
width: 16px;
|
536
|
-
margin: $default-margin;
|
526
|
+
.assign_file {
|
527
|
+
background-position: -480px -40px;
|
528
|
+
}
|
537
529
|
}
|
538
|
-
}
|
539
|
-
|
540
|
-
.content_editor.essence_file {
|
541
530
|
|
542
531
|
.file_name {
|
543
532
|
white-space: nowrap;
|
544
533
|
overflow: hidden;
|
545
534
|
float: left;
|
546
535
|
max-width: 80%;
|
547
|
-
line-height:
|
536
|
+
line-height: $default-form-field-height;
|
548
537
|
font-size: 10px;
|
549
538
|
text-overflow: ellipsis;
|
550
539
|
}
|
551
540
|
}
|
552
541
|
|
553
542
|
.essence_file_tools {
|
554
|
-
height:
|
543
|
+
height: 27px;
|
555
544
|
float: right;
|
556
545
|
background-color: white;
|
557
546
|
width: 48px;
|
547
|
+
border-radius: 0 $default-border-radius $default-border-radius 0;
|
558
548
|
|
559
549
|
a {
|
560
550
|
text-decoration: none;
|
561
551
|
width: 16px;
|
562
552
|
height: 16px;
|
563
|
-
margin: $default-margin;
|
553
|
+
margin: 5px $default-margin;
|
564
554
|
float: left;
|
565
555
|
|
566
556
|
&.assign_file {
|
@@ -136,11 +136,9 @@ form {
|
|
136
136
|
.inline-input {
|
137
137
|
@include clearfix;
|
138
138
|
margin: 0 -1*$default-margin;
|
139
|
-
box-sizing: border-box;
|
140
139
|
|
141
140
|
.left-column, .right-column {
|
142
141
|
padding: 0 $default-padding;
|
143
|
-
box-sizing: border-box;
|
144
142
|
}
|
145
143
|
|
146
144
|
.left-column {
|
@@ -180,7 +178,6 @@ form {
|
|
180
178
|
}
|
181
179
|
|
182
180
|
.input-column {
|
183
|
-
box-sizing: border-box;
|
184
181
|
float: left;
|
185
182
|
padding: 0 $default-padding;
|
186
183
|
width: 50%;
|
@@ -29,7 +29,6 @@ div#overlay_text_box {
|
|
29
29
|
}
|
30
30
|
|
31
31
|
#logout {
|
32
|
-
box-sizing: border-box;
|
33
32
|
position: absolute;
|
34
33
|
z-index: 1;
|
35
34
|
bottom: 0;
|
@@ -99,7 +98,6 @@ div#overlay_text_box {
|
|
99
98
|
}
|
100
99
|
|
101
100
|
#main_content {
|
102
|
-
box-sizing: border-box;
|
103
101
|
background-color: $light-gray;
|
104
102
|
padding: 84px 8px 8px $main-menu-width + 10px;
|
105
103
|
z-index: 0;
|
@@ -108,7 +106,6 @@ div#overlay_text_box {
|
|
108
106
|
}
|
109
107
|
|
110
108
|
#archive_all {
|
111
|
-
box-sizing: border-box;
|
112
109
|
height: 100%;
|
113
110
|
padding-bottom: 60px;
|
114
111
|
|
@@ -88,7 +88,6 @@ $image-overlay-transition-easing: ease-in;
|
|
88
88
|
}
|
89
89
|
|
90
90
|
.picture-details-overlay {
|
91
|
-
box-sizing: border-box;
|
92
91
|
right: 0;
|
93
92
|
width: $image-overlay-form-width;
|
94
93
|
height: 100%;
|
@@ -138,7 +137,6 @@ $image-overlay-transition-easing: ease-in;
|
|
138
137
|
}
|
139
138
|
|
140
139
|
.zoomed-picture-background {
|
141
|
-
box-sizing: border-box;
|
142
140
|
width: 100%;
|
143
141
|
height: 100%;
|
144
142
|
padding-top: 2*$default-padding;
|
@@ -175,7 +173,6 @@ $image-overlay-transition-easing: ease-in;
|
|
175
173
|
padding: 2*$default-padding 0;
|
176
174
|
|
177
175
|
.message {
|
178
|
-
box-sizing: border-box;
|
179
176
|
margin: 2*$default-padding 0;
|
180
177
|
}
|
181
178
|
}
|
@@ -24,7 +24,6 @@ $datepicker_day_color: $text-color !default;
|
|
24
24
|
padding-top: 2px;
|
25
25
|
position: absolute;
|
26
26
|
z-index: 9999;
|
27
|
-
box-sizing: border-box;
|
28
27
|
display: none;
|
29
28
|
}
|
30
29
|
|
@@ -61,7 +60,6 @@ $datepicker_day_color: $text-color !default;
|
|
61
60
|
}
|
62
61
|
|
63
62
|
.xdsoft_datetimepicker * {
|
64
|
-
box-sizing: border-box;
|
65
63
|
padding: 0;
|
66
64
|
margin: 0;
|
67
65
|
}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
#top_menu {
|
2
|
-
box-sizing: border-box;
|
3
2
|
position: fixed;
|
4
3
|
top: 0;
|
5
4
|
margin-left: $main-menu-width;
|
@@ -15,7 +14,6 @@
|
|
15
14
|
}
|
16
15
|
|
17
16
|
#left_menu {
|
18
|
-
box-sizing: border-box;
|
19
17
|
z-index: 30;
|
20
18
|
height: 100%;
|
21
19
|
position: fixed;
|
@@ -49,7 +47,6 @@
|
|
49
47
|
}
|
50
48
|
|
51
49
|
label {
|
52
|
-
box-sizing: border-box;
|
53
50
|
position: absolute;
|
54
51
|
top: 0;
|
55
52
|
left: $collapsed-main-menu-width - 1;
|
@@ -80,7 +77,7 @@
|
|
80
77
|
}
|
81
78
|
|
82
79
|
#main_navi {
|
83
|
-
padding-top:
|
80
|
+
padding-top: 28px;
|
84
81
|
padding-bottom: 80px;
|
85
82
|
}
|
86
83
|
|
@@ -1,5 +1,4 @@
|
|
1
1
|
.pagination {
|
2
|
-
box-sizing: border-box;
|
3
2
|
background: $light_gray;
|
4
3
|
color: $text-color;
|
5
4
|
position: fixed;
|
@@ -7,7 +6,7 @@
|
|
7
6
|
right: 0;
|
8
7
|
width: 100%;
|
9
8
|
left: 0px;
|
10
|
-
height:
|
9
|
+
height: 52px;
|
11
10
|
padding: 2*$default-padding;
|
12
11
|
padding-left: $main-menu-width + 10px;
|
13
12
|
text-align: left;
|
@@ -16,7 +15,6 @@
|
|
16
15
|
|
17
16
|
a, span, em {
|
18
17
|
font-size: $default-font-size;
|
19
|
-
height: 25px;
|
20
18
|
line-height: 25px;
|
21
19
|
padding: $default-padding;
|
22
20
|
}
|
@@ -13,8 +13,8 @@ select {
|
|
13
13
|
text-shadow: #FFF 0px 1px 0px;
|
14
14
|
|
15
15
|
.select2-choice {
|
16
|
-
height:
|
17
|
-
line-height:
|
16
|
+
height: $default-form-field-height;
|
17
|
+
line-height: $default-form-field-height - 2;
|
18
18
|
@include button-defaults($padding: 0 2*$default-padding, $margin: 0);
|
19
19
|
display: block;
|
20
20
|
font-weight: normal;
|
@@ -29,7 +29,6 @@
|
|
29
29
|
}
|
30
30
|
|
31
31
|
.mce-widget button {
|
32
|
-
box-sizing: border-box;
|
33
32
|
}
|
34
33
|
|
35
34
|
.mce-container *[unselectable] {
|
@@ -255,7 +254,6 @@ div.mce-tinymce-inline {
|
|
255
254
|
.mce-panel {
|
256
255
|
border: 0 solid $default-border-color;
|
257
256
|
background-color: $medium-gray;
|
258
|
-
box-sizing: border-box;
|
259
257
|
}
|
260
258
|
|
261
259
|
.mce-toolbar-grp {
|
@@ -187,7 +187,12 @@ module Alchemy
|
|
187
187
|
|
188
188
|
# Renders the HTML tag attributes required for preview mode.
|
189
189
|
def element_preview_code(element)
|
190
|
-
tag_options
|
190
|
+
if respond_to?(:tag_options)
|
191
|
+
tag_options(element_preview_code_attributes(element))
|
192
|
+
else
|
193
|
+
# Rails 5.1 uses TagBuilder
|
194
|
+
tag_builder.tag_options(element_preview_code_attributes(element))
|
195
|
+
end
|
191
196
|
end
|
192
197
|
|
193
198
|
# Returns a hash containing the HTML tag attributes required for preview mode.
|
@@ -205,7 +210,12 @@ module Alchemy
|
|
205
210
|
# HTML tag attributes containing the element's tag information.
|
206
211
|
#
|
207
212
|
def element_tags(element, options = {})
|
208
|
-
tag_options
|
213
|
+
if respond_to?(:tag_options)
|
214
|
+
tag_options(element_tags_attributes(element, options))
|
215
|
+
else
|
216
|
+
# Rails 5.1 uses TagBuilder
|
217
|
+
tag_builder.tag_options(element_tags_attributes(element, options))
|
218
|
+
end
|
209
219
|
end
|
210
220
|
|
211
221
|
# Returns the element's tags information as an attribute hash.
|