alchemy_cms 2.1.4 → 2.1.5

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 (143) hide show
  1. data/Gemfile +1 -1
  2. data/README.md +11 -31
  3. data/app/assets/javascripts/alchemy/alchemy.elements_window.js +3 -1
  4. data/app/assets/javascripts/alchemy/alchemy.windows.js +1 -1
  5. data/app/assets/stylesheets/alchemy/base.css.scss +0 -4
  6. data/app/assets/stylesheets/alchemy/buttons.css.scss +7 -4
  7. data/app/assets/stylesheets/alchemy/icons.css.scss +7 -1
  8. data/app/assets/stylesheets/alchemy/tinymce_dialog.css.scss +11 -15
  9. data/app/assets/{javascripts → stylesheets}/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css.scss +51 -18
  10. data/app/controllers/alchemy/admin/contents_controller.rb +5 -5
  11. data/app/controllers/alchemy/base_controller.rb +1 -1
  12. data/app/helpers/alchemy/admin/base_helper.rb +4 -7
  13. data/app/helpers/alchemy/admin/elements_helper.rb +2 -2
  14. data/app/models/alchemy/attachment.rb +1 -1
  15. data/app/models/alchemy/cell.rb +3 -3
  16. data/app/models/alchemy/content.rb +4 -4
  17. data/app/models/alchemy/element.rb +8 -8
  18. data/app/models/alchemy/essence_html.rb +1 -1
  19. data/app/models/alchemy/essence_richtext.rb +4 -4
  20. data/app/models/alchemy/essence_text.rb +1 -1
  21. data/app/models/alchemy/language.rb +10 -7
  22. data/app/models/alchemy/language/code.rb +19 -0
  23. data/app/models/alchemy/message.rb +6 -6
  24. data/app/models/alchemy/page.rb +26 -26
  25. data/app/models/alchemy/picture.rb +11 -13
  26. data/app/models/alchemy/user.rb +5 -5
  27. data/app/models/alchemy/user_session.rb +1 -1
  28. data/app/views/alchemy/admin/contents/destroy.js.erb +1 -1
  29. data/app/views/alchemy/admin/elements/create.js.erb +1 -0
  30. data/app/views/alchemy/admin/elements/fold.js.erb +2 -2
  31. data/app/views/alchemy/admin/elements/index.html.erb +1 -1
  32. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +6 -6
  33. data/app/views/alchemy/admin/languages/_form.html.erb +47 -0
  34. data/app/views/alchemy/admin/languages/_language.html.erb +47 -0
  35. data/app/views/alchemy/admin/languages/_table.html.erb +33 -0
  36. data/app/views/alchemy/essences/_essence_picture_tools.html.erb +4 -1
  37. data/app/views/alchemy/essences/_essence_picture_view.html.erb +1 -3
  38. data/app/views/alchemy/essences/_essence_text_editor.html.erb +1 -1
  39. data/config/locales/alchemy.de.yml +26 -22
  40. data/config/locales/alchemy.en.yml +2 -0
  41. data/config/routes.rb +2 -2
  42. data/db/migrate/20120216135355_add_country_code_to_languages.rb +9 -0
  43. data/lib/alchemy/i18n.rb +21 -14
  44. data/lib/alchemy/seeder.rb +2 -2
  45. data/lib/alchemy/version.rb +1 -1
  46. data/spec/dummy/db/schema.rb +5 -3
  47. data/spec/factories.rb +2 -2
  48. data/spec/models/language_spec.rb +22 -4
  49. data/vendor/assets/javascripts/tiny_mce/langs/de.js +0 -0
  50. data/vendor/assets/javascripts/tiny_mce/langs/en.js +0 -0
  51. data/vendor/assets/javascripts/tiny_mce/license.txt +0 -0
  52. data/vendor/assets/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -137
  53. data/vendor/assets/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +0 -0
  54. data/vendor/assets/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -0
  55. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +0 -0
  56. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/template.htm +0 -0
  57. data/vendor/assets/javascripts/tiny_mce/plugins/paste/editor_plugin.js +0 -0
  58. data/vendor/assets/javascripts/tiny_mce/plugins/paste/js/pastetext.js +0 -0
  59. data/vendor/assets/javascripts/tiny_mce/plugins/paste/js/pasteword.js +0 -0
  60. data/vendor/assets/javascripts/tiny_mce/plugins/paste/langs/de_dlg.js +0 -0
  61. data/vendor/assets/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +0 -0
  62. data/vendor/assets/javascripts/tiny_mce/plugins/paste/pastetext.htm +0 -0
  63. data/vendor/assets/javascripts/tiny_mce/plugins/paste/pasteword.htm +0 -0
  64. data/vendor/assets/javascripts/tiny_mce/plugins/table/cell.htm +0 -0
  65. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/cell.css +0 -0
  66. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/row.css +0 -0
  67. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/table.css +0 -0
  68. data/vendor/assets/javascripts/tiny_mce/plugins/table/editor_plugin.js +0 -0
  69. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/cell.js +0 -0
  70. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/merge_cells.js +0 -0
  71. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/row.js +0 -0
  72. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/table.js +5 -1
  73. data/vendor/assets/javascripts/tiny_mce/plugins/table/langs/de_dlg.js +0 -0
  74. data/vendor/assets/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +0 -0
  75. data/vendor/assets/javascripts/tiny_mce/plugins/table/merge_cells.htm +0 -0
  76. data/vendor/assets/javascripts/tiny_mce/plugins/table/row.htm +0 -0
  77. data/vendor/assets/javascripts/tiny_mce/plugins/table/table.htm +0 -0
  78. data/vendor/assets/javascripts/tiny_mce/themes/advanced/about.htm +0 -0
  79. data/vendor/assets/javascripts/tiny_mce/themes/advanced/anchor.htm +0 -0
  80. data/vendor/assets/javascripts/tiny_mce/themes/advanced/charmap.htm +0 -0
  81. data/vendor/assets/javascripts/tiny_mce/themes/advanced/color_picker.htm +0 -0
  82. data/vendor/assets/javascripts/tiny_mce/themes/advanced/editor_template.js +1 -1
  83. data/vendor/assets/javascripts/tiny_mce/themes/advanced/image.htm +0 -0
  84. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  85. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/flash.gif +0 -0
  86. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  87. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  88. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
  89. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  90. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
  91. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  92. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/trans.gif +0 -0
  93. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/video.gif +0 -0
  94. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
  95. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/about.js +0 -0
  96. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/anchor.js +0 -0
  97. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/charmap.js +0 -0
  98. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/color_picker.js +0 -0
  99. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/image.js +0 -0
  100. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/link.js +0 -0
  101. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/source_editor.js +0 -0
  102. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/de.js +0 -0
  103. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/de_dlg.js +0 -0
  104. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/en.js +0 -0
  105. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +0 -0
  106. data/vendor/assets/javascripts/tiny_mce/themes/advanced/link.htm +0 -0
  107. data/vendor/assets/javascripts/tiny_mce/themes/advanced/shortcuts.htm +0 -0
  108. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/content.css +0 -0
  109. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +0 -0
  110. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  111. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  112. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  113. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  114. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  115. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  116. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +0 -0
  117. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +0 -0
  118. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +0 -0
  119. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +0 -0
  120. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +0 -0
  121. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +0 -0
  122. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  123. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  124. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  125. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +0 -0
  126. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +0 -0
  127. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +0 -0
  128. data/vendor/assets/javascripts/tiny_mce/themes/advanced/source_editor.htm +0 -0
  129. data/vendor/assets/javascripts/tiny_mce/tiny_mce.js +1 -1
  130. data/vendor/assets/javascripts/tiny_mce/tiny_mce_popup.js +0 -0
  131. data/vendor/assets/javascripts/tiny_mce/utils/editable_selects.js +0 -0
  132. data/vendor/assets/javascripts/tiny_mce/utils/form_utils.js +0 -0
  133. data/vendor/assets/javascripts/tiny_mce/utils/mctabs.js +0 -0
  134. data/vendor/assets/javascripts/tiny_mce/utils/validate.js +0 -0
  135. metadata +39 -42
  136. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  137. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  138. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  139. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  140. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  141. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  142. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  143. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +0 -90
data/Gemfile CHANGED
@@ -7,7 +7,7 @@ group :test do
7
7
  gem 'sqlite3'
8
8
  gem 'factory_girl_rails', '1.4.0'
9
9
  gem "capybara"
10
- gem 'capybara-webkit'
10
+ gem 'capybara-webkit', '~>0.8.0'
11
11
  gem "launchy"
12
12
  gem "database_cleaner"
13
13
  gem "fuubar"
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  Alchemy CMS
2
2
  ===========
3
3
 
4
- [![Build Status](https://secure.travis-ci.org/magiclabs/alchemy_cms.png)](http://travis-ci.org/magiclabs/alchemy_cms)
4
+ [![Build Status](https://secure.travis-ci.org/magiclabs/alchemy_cms.png?branch=master)](http://travis-ci.org/magiclabs/alchemy_cms)
5
5
  ![Status](http://stillmaintained.com/magiclabs/alchemy_cms.png)
6
6
 
7
7
  About
@@ -10,40 +10,20 @@ About
10
10
  Features
11
11
  --------
12
12
 
13
- - Highly flexible Templating:
14
- - Content is stored in small parts not as a complete, monolithic page
15
- - The designer chooses the template structure, not the CMS!
16
- - Every Design is possible, no templating, or theming restrictions
17
- - Even Flash® Content Management is possible
18
- - Gorgious End-User centric interface:
19
- - No markup editors
20
- - Multilingual:
21
- - Create as many (complete independent) language trees as you want
22
- - URL based language switching
13
+ - Highly flexible Templating
14
+ - Gorgious End-User centric interface
15
+ - Multilingual
23
16
  - SEO
24
- - Every Part of SEO is manageable by the user
25
- - Human readable urls (multilingual)
26
- - automatic XML Sitemap generation
27
- - Access Control:
28
- - Rolebased Authentification (RBAS)
29
- - Protect pages for restricted access
17
+ - Access Control
30
18
  - Fulltext Search
31
19
  - RSS Feeds
32
20
  - Contactforms
33
21
  - Attachments and downloads
34
22
  - Powerfull image rendering
35
- - Resizing
36
- - Image Cropping via an graphical Userinterface!
37
- - Borders, Text, Rotation
38
- - and much more via Imagemagick processing (polaroid effect, etc.)
39
- - and all this gets cached!
40
- - Extendable:
41
- - Flexible Plugin DSL allows you to add custom plugins into Alchemy
23
+ - Extendable
42
24
  - Integrates in exsiting Rails Apps
43
25
  - Caching
44
- - Completely free:
45
- - BSD License
46
- - No Enterprise Licences, or Community Editions
26
+ - BSD License
47
27
  - Hostable on any Server that supports RubyOnRails and ImageMagick ([Software Requirements](https://github.com/magiclabs/alchemy_cms/wiki/Software-Requirements))
48
28
 
49
29
  Rails Version
@@ -51,14 +31,14 @@ Rails Version
51
31
 
52
32
  This branch of Alchemy runs with Rails 3.1.3.
53
33
 
54
- If you are looking for a Rails 3 compatible version check the rails-3 branch.
34
+ If you are looking for a Rails 3 compatible version check the 2.0-stable branch.
55
35
 
56
- If you are looking for a Rails 2 compatible version check the rails-2 branch.
36
+ If you are looking for a Rails 2 compatible version check the 1.6-stable branch.
57
37
 
58
38
  Ruby Version
59
39
  ------------
60
40
 
61
- Alchemy under Ruby 1.8.7, Ruby 1.9.2, Ruby 1.9.3 and REE (Ruby Enterprise Edition).
41
+ Alchemy runs under Ruby 1.8.7, Ruby 1.9.2, Ruby 1.9.3 and REE (Ruby Enterprise Edition).
62
42
 
63
43
  Installation
64
44
  ------------
@@ -93,7 +73,7 @@ Add to existing Rails project
93
73
 
94
74
  In your Gemfile:
95
75
 
96
- gem 'alchemy_cms', '~> 2.1'
76
+ gem 'alchemy_cms'
97
77
 
98
78
  Run in terminal:
99
79
 
@@ -38,7 +38,9 @@ if (typeof(Alchemy) === 'undefined') {
38
38
  $dialog.html(data);
39
39
  Alchemy.ButtonObserver('#alchemyElementWindow .button');
40
40
  Alchemy.Datepicker('#alchemyElementWindow input.date, #alchemyElementWindow input[type="date"]');
41
- callback.call();
41
+ if (callback) {
42
+ callback.call();
43
+ }
42
44
  },
43
45
  error: function(XMLHttpRequest, textStatus, errorThrown) {
44
46
  Alchemy.AjaxErrorHandler($dialog, XMLHttpRequest.status, textStatus, errorThrown);
@@ -170,7 +170,7 @@ if (typeof(Alchemy) === 'undefined') {
170
170
  Alchemy.AjaxErrorHandler($dialog, XMLHttpRequest.status, textStatus, errorThrown);
171
171
  },
172
172
  complete: function(jqXHR, textStatus) {
173
- Alchemy.enableButton('.button.disabled');
173
+ Alchemy.enableButton('.button');
174
174
  }
175
175
  });
176
176
  },
@@ -1392,10 +1392,6 @@ select#url_protocol.medium {
1392
1392
  margin: 0;
1393
1393
  }
1394
1394
 
1395
- #alchemy .ui-dialog-content .short {
1396
- width: 40px;
1397
- }
1398
-
1399
1395
  #alchemy .ui-dialog-content p a.button {
1400
1396
  float: right;
1401
1397
  }
@@ -122,6 +122,7 @@ div.button_with_label {
122
122
  float: left;
123
123
  min-width: 70px;
124
124
  line-height: 0;
125
+ cursor: pointer;
125
126
 
126
127
  &.active {
127
128
  .icon_button {
@@ -313,13 +314,15 @@ a.icon_button {
313
314
  float: none;
314
315
  display: inline-block;
315
316
  background-position: 0 -8px;
316
- vertical-align: -1px;
317
+ vertical-align: -2px;
317
318
 
318
319
  .icon {
319
- position: absolute;
320
- right: 5px;
320
+ height: 9px;
321
321
  left: auto;
322
- top: 4px;
322
+ position: absolute;
323
+ right: 1px;
324
+ top: 1px;
325
+ width: 9px;
323
326
  }
324
327
  }
325
328
 
@@ -16,7 +16,13 @@
16
16
  }
17
17
 
18
18
  .icon.delete-small {
19
- background-position: 0 -72px;
19
+ background-position: -1px -72px;
20
+ }
21
+
22
+ .icon_button.small {
23
+ .icon.delete-small {
24
+ background-position: -4px -76px;
25
+ }
20
26
  }
21
27
 
22
28
  .icon.zoom-in {
@@ -33,6 +33,10 @@ a:hover {
33
33
 
34
34
  /* Forms */
35
35
 
36
+ form {
37
+ margin: 0;
38
+ }
39
+
36
40
  fieldset {
37
41
  margin: 0;
38
42
  padding: 4px;
@@ -89,20 +93,12 @@ input.checkbox {
89
93
  /* Buttons */
90
94
 
91
95
  #insert, #cancel, input.button, .updateButton {
92
- font: 11px "Lucida Grande", Arial, sans-serif;
93
- border: 1px solid #9a9a9a;
94
- height: 21px;
95
- padding-left: 8px;
96
- padding-right: 8px;
97
- padding-bottom: 2px;
98
- margin: 0;
99
- background: #eaeaea image-url('alchemy/shading.png') repeat-x 0 -75px;
100
- -webkit-border-radius: 2px;
101
- -moz-border-radius: 2px;
102
- border-radius: 2px;
103
- cursor: pointer;
104
- color: #333;
105
- text-shadow: #f2f2f2 1px 1px 0;
96
+ @include button-styles;
97
+ height: 26px;
98
+
99
+ &:hover {
100
+ @include button-hover-styles;
101
+ }
106
102
  }
107
103
 
108
104
  /* Browse */
@@ -327,7 +323,7 @@ h3 {
327
323
  .title {
328
324
  font-size: 12px;
329
325
  font-weight: bold;
330
- color: #2B6FB6;
326
+ color: $text-color;
331
327
  }
332
328
 
333
329
  /* Dialog specific */
@@ -65,7 +65,7 @@
65
65
  .alchemy .mceTop, .alchemy .mceTop div {
66
66
  top: 0;
67
67
  width: 100%;
68
- height: 29px;
68
+ height: 31px;
69
69
  }
70
70
 
71
71
  .alchemy .mceTop .mceLeft {
@@ -75,17 +75,15 @@
75
75
  .alchemy .mceTop .mceCenter,
76
76
  a.mceMove {
77
77
  width: 100%;
78
- height: 29px;
79
- background: #c6dbe7;
80
- color: #333333;
81
- font-weight: bold;
82
- border-bottom: 2px solid #ededed;
78
+ height: 31px;
79
+ background: $light-blue;
80
+ color: $text-color;
83
81
  }
84
82
 
85
83
  .alchemy .mceTop .mceRight {
86
84
  right: 0;
87
85
  width: 0px;
88
- height: 29px;
86
+ height: 32px;
89
87
  }
90
88
 
91
89
  .alchemy .mceTop span {
@@ -197,7 +195,6 @@ a.mceMove {
197
195
  .alchemy a {
198
196
  width: 29px;
199
197
  height: 16px;
200
- top: 3px;
201
198
  }
202
199
 
203
200
  .alchemy .mceClose {
@@ -206,6 +203,7 @@ a.mceMove {
206
203
  width: 16px;
207
204
  height: 16px;
208
205
  top: 6px;
206
+
209
207
  }
210
208
 
211
209
  .alchemy .mceMin {
@@ -231,10 +229,41 @@ a.mceMove {
231
229
  top: 6px;
232
230
  }
233
231
 
232
+ .alchemy .mceClose, .alchemy .mceMin, .alchemy .mceMed, .alchemy .mceMax {
233
+ &:hover {
234
+ border: 1px solid $button-hover-border-color;
235
+ @include rounded-corner;
236
+ background-color: $button-hover-bg-color;
237
+ color: $text-color;
238
+ font-weight: normal;
239
+ }
240
+ }
241
+
242
+ .alchemy .mceClose {
243
+ &:hover {
244
+ background-position: -97px -129px;
245
+ right: 6px;
246
+ }
247
+ }
248
+
249
+ .alchemy .mceMax {
250
+ &:hover {
251
+ background-position: -33px -81px;
252
+ right: 26px;
253
+ }
254
+ }
255
+
256
+ .alchemy .mceMed {
257
+ &:hover {
258
+ background-position: -50px -81px;
259
+ right: 26px;
260
+ }
261
+ }
262
+
234
263
  .alchemy .mceMove {
235
264
  display: none;
236
265
  cursor: move;
237
- height: 26px;
266
+ height: 31px;
238
267
  width: 100%;
239
268
  }
240
269
 
@@ -340,14 +369,18 @@ a.mceMove {
340
369
  /* Alert/Confirm */
341
370
 
342
371
  .alchemy .mceButton {
343
- font-weight: bold;
372
+ @include button-styles;
344
373
  bottom: 10px;
345
374
  width: 80px;
346
- height: 31px;
347
- line-height: 31px;
375
+ height: 25px;
376
+ line-height: 25px;
348
377
  vertical-align: middle;
349
378
  text-align: center;
350
- outline: 0
379
+ outline: 0;
380
+
381
+ &:hover {
382
+ @include button-hover-styles;
383
+ }
351
384
  }
352
385
 
353
386
  .alchemy .mceMiddle .mceIcon {
@@ -359,21 +392,21 @@ a.mceMove {
359
392
 
360
393
  .alchemy .mceAlert .mceMiddle span, .alchemy .mceConfirm .mceMiddle span {
361
394
  background: transparent;
362
- left: 60px;
395
+ left: 8px;
363
396
  top: 35px;
364
- width: 320px;
397
+ width: auto;
365
398
  height: 50px;
366
- font-weight: bold;
399
+ text-align: center;
367
400
  overflow: auto;
368
401
  white-space: normal
369
402
  }
370
403
 
371
404
  .alchemy a:hover {
372
- font-weight: bold;
405
+ font-weight: normal;
373
406
  }
374
407
 
375
408
  .alchemy .mceAlert .mceMiddle, .alchemy .mceConfirm .mceMiddle {
376
- background: #D6D7D5
409
+ background: $light-gray;
377
410
  }
378
411
 
379
412
  .alchemy .mceAlert .mceOk {
@@ -42,12 +42,12 @@ module Alchemy
42
42
  end
43
43
 
44
44
  def destroy
45
- content = Content.find(params[:id])
46
- element = content.element
47
- content_name = content.name
48
- @content_dom_id = "#{content.essence_type.underscore}_#{content.id}"
45
+ @content = Content.find(params[:id])
46
+ @content_dup = @content.clone
47
+ element = @content.element
48
+ content_name = @content.name
49
49
  @notice = t("Successfully deleted content", :content => content_name)
50
- content.destroy
50
+ @content.destroy
51
51
  end
52
52
 
53
53
  end
@@ -46,7 +46,7 @@ module Alchemy
46
46
 
47
47
  # Overriding +I18n+s default +t+ helper, so we can pass it through +Alchemy::I18n+
48
48
  def t(key, *args)
49
- Alchemy::I18n.t(key, *args)
49
+ ::Alchemy::I18n.t(key, *args)
50
50
  end
51
51
 
52
52
  private
@@ -272,11 +272,6 @@ module Alchemy
272
272
  ['main_navi_entry', admin_mainnavi_active?(navigation) ? 'active' : nil].compact.join(" ")
273
273
  end
274
274
 
275
- # (internal) Checks if all options we need for the image cropper are provided
276
- def necessary_options_for_cropping_provided?(options)
277
- options[:crop].to_s == 'true' && !options[:image_size].blank?
278
- end
279
-
280
275
  # (internal) Renders translated Module Names for html title element.
281
276
  def render_alchemy_title
282
277
  if content_for?(:title)
@@ -330,6 +325,7 @@ module Alchemy
330
325
  # :overlay_options [Hash] # Overlay options. See link_to_overlay_window helper.
331
326
  # :if_permitted_to [Array] # Check permission for button. [:action, :controller]. Exactly how you defined the permission in your +authorization_rules.rb+. Defaults to controller and action from button url.
332
327
  # :skip_permission_check [Boolean] # Skip the permission check. Default false. NOT RECOMMENDED!
328
+ # :loading_indicator [Boolean] # Shows the please wait overlay while loading. Default false.
333
329
  #
334
330
  def toolbar_button(options = {})
335
331
  options.symbolize_keys!
@@ -338,7 +334,8 @@ module Alchemy
338
334
  :skip_permission_check => false,
339
335
  :active => false,
340
336
  :link_options => {},
341
- :overlay_options => {}
337
+ :overlay_options => {},
338
+ :loading_indicator => false
342
339
  }
343
340
  options = defaults.merge(options)
344
341
  button = content_tag('div', :class => 'button_with_label' + (options[:active] ? ' active' : '')) do
@@ -353,7 +350,7 @@ module Alchemy
353
350
  }
354
351
  )
355
352
  else
356
- link_to options[:url], {:class => "icon_button#{options[:remote] ? nil : ' please_wait'}", :title => options[:title]}.merge(options[:link_options]) do
353
+ link_to options[:url], {:class => "icon_button#{options[:loading_indicator] ? nil : ' please_wait'}", :title => options[:title]}.merge(options[:link_options]) do
357
354
  render_icon(options[:icon])
358
355
  end
359
356
  end
@@ -68,7 +68,7 @@ module Alchemy
68
68
  # The elements are returned as an array to be used in alchemy_selectbox form builder.
69
69
  def elements_for_select(elements)
70
70
  return [] if elements.nil?
71
- options = elements.collect{ |e| [t("element_names.#{e['name']}", :default => e['name'].capitalize), e["name"]] }
71
+ options = elements.collect{ |e| [t(e['name'], :scope => :element_names), e["name"]] }
72
72
  return options_for_select(options)
73
73
  end
74
74
 
@@ -106,7 +106,7 @@ module Alchemy
106
106
  ]
107
107
  else
108
108
  [
109
- t("alchemy.element_names.#{e['name']}", :default => e['name'].capitalize),
109
+ t(e['name'], :scope => :element_names),
110
110
  e[object_method] + (cell ? "##{cell['name']}" : "")
111
111
  ]
112
112
  end
@@ -19,7 +19,7 @@ module Alchemy
19
19
  end
20
20
 
21
21
  def urlname
22
- CGI.escape(read_attribute(:filename).split('.').first)
22
+ ::CGI.escape(read_attribute(:filename).split('.').first)
23
23
  end
24
24
 
25
25
  def extension