alchemy_cms 2.1.8.1 → 2.1.9
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.
- data/app/assets/stylesheets/alchemy/base.css.scss +1 -1
- data/app/assets/stylesheets/alchemy/sitemap.css.scss +3 -0
- data/app/controllers/alchemy/admin/elements_controller.rb +1 -1
- data/app/controllers/alchemy/admin/pages_controller.rb +2 -2
- data/app/models/alchemy/element.rb +1 -1
- data/app/models/alchemy/message.rb +7 -10
- data/app/models/alchemy/page.rb +7 -7
- data/app/views/alchemy/admin/pages/_page.html.erb +1 -1
- data/config/alchemy/config.yml +9 -13
- data/config/locales/alchemy.de.yml +29 -15
- data/config/locales/alchemy.en.yml +27 -10
- data/lib/alchemy/version.rb +1 -1
- data/spec/factories.rb +1 -1
- data/spec/helpers/elements_helper_spec.rb +4 -4
- data/spec/models/language_spec.rb +2 -2
- data/spec/models/page_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -2
- metadata +34 -34
@@ -59,7 +59,7 @@ module Alchemy
|
|
59
59
|
else
|
60
60
|
page = Page.create(params[:page], :as => current_user.role.to_sym)
|
61
61
|
end
|
62
|
-
render_errors_or_redirect(page, parent.layoutpage? ? admin_layoutpages_path : admin_pages_path, t("Page created", :name => page.name), '
|
62
|
+
render_errors_or_redirect(page, parent.layoutpage? ? admin_layoutpages_path : admin_pages_path, t("Page created", :name => page.name), '#alchemyOverlay button.button')
|
63
63
|
end
|
64
64
|
|
65
65
|
# Edit the content of the page and all its elements and contents.
|
@@ -91,7 +91,7 @@ module Alchemy
|
|
91
91
|
@notice = t("Page saved", :name => @page.name)
|
92
92
|
@while_page_edit = request.referer.include?('edit')
|
93
93
|
else
|
94
|
-
render_remote_errors(@page,
|
94
|
+
render_remote_errors(@page, '#alchemyOverlay button.button')
|
95
95
|
end
|
96
96
|
end
|
97
97
|
|
@@ -11,7 +11,7 @@ module Alchemy
|
|
11
11
|
has_and_belongs_to_many :to_be_sweeped_pages, :class_name => 'Alchemy::Page', :uniq => true, :join_table => 'alchemy_elements_alchemy_pages'
|
12
12
|
|
13
13
|
validates_uniqueness_of :position, :scope => [:page_id, :cell_id]
|
14
|
-
validates_presence_of :name, :on => :create
|
14
|
+
validates_presence_of :name, :on => :create
|
15
15
|
|
16
16
|
attr_accessor :create_contents_after_create
|
17
17
|
|
@@ -1,16 +1,13 @@
|
|
1
|
-
# This is a tableless model only used for validating
|
2
|
-
#
|
1
|
+
# This is a tableless model only used for validating contactform fields.
|
2
|
+
#
|
3
|
+
# You can specify the fields for your contactform in the +config/alchemy/config.yml+ file in the +:mailer+ options.
|
3
4
|
#
|
4
5
|
# === Example Contactform Configuration:
|
5
6
|
#
|
6
7
|
# :mailer:
|
7
8
|
# :form_layout_name: contact
|
8
9
|
# :fields: [subject, name, email, message, info]
|
9
|
-
# :validate_fields:
|
10
|
-
# :name:
|
11
|
-
# :message: blank_name
|
12
|
-
# :email:
|
13
|
-
# :message: blank_email
|
10
|
+
# :validate_fields: [name, email]
|
14
11
|
|
15
12
|
module Alchemy
|
16
13
|
class Message
|
@@ -31,9 +28,9 @@ module Alchemy
|
|
31
28
|
end
|
32
29
|
|
33
30
|
@@config[:validate_fields].each do |field|
|
34
|
-
validates_presence_of field
|
35
|
-
if field
|
36
|
-
validates_format_of field
|
31
|
+
validates_presence_of field
|
32
|
+
if field.to_s == "email"
|
33
|
+
validates_format_of field, :with => ::Authlogic::Regex.email, :if => :email_is_filled
|
37
34
|
end
|
38
35
|
end
|
39
36
|
|
data/app/models/alchemy/page.rb
CHANGED
@@ -13,18 +13,18 @@ module Alchemy
|
|
13
13
|
has_and_belongs_to_many :to_be_sweeped_elements, :class_name => 'Alchemy::Element', :uniq => true, :join_table => 'alchemy_elements_alchemy_pages'
|
14
14
|
belongs_to :language
|
15
15
|
|
16
|
-
validates_presence_of :name
|
17
|
-
validates_presence_of :page_layout, :
|
18
|
-
validates_presence_of :parent_id, :
|
19
|
-
validates_length_of :urlname, :minimum => 3, :
|
20
|
-
validates_uniqueness_of :urlname, :
|
21
|
-
validates :urlname, :exclusion => { :in => RESERVED_URLNAMES
|
16
|
+
validates_presence_of :name
|
17
|
+
validates_presence_of :page_layout, :unless => :systempage?
|
18
|
+
validates_presence_of :parent_id, :if => proc { Page.count > 1 }
|
19
|
+
validates_length_of :urlname, :minimum => 3, :if => :urlname_entered?
|
20
|
+
validates_uniqueness_of :urlname, :scope => [:language_id, :layoutpage], :if => :urlname_entered?
|
21
|
+
validates :urlname, :exclusion => { :in => RESERVED_URLNAMES }
|
22
22
|
|
23
23
|
attr_accessor :do_not_autogenerate
|
24
24
|
attr_accessor :do_not_sweep
|
25
25
|
attr_accessor :do_not_validate_language
|
26
26
|
|
27
|
-
|
27
|
+
before_validation :set_url_name, :unless => proc { |page| page.systempage? || page.redirects_to_external? }
|
28
28
|
before_save :set_title, :unless => proc { |page| page.systempage? || page.redirects_to_external? || !page.title.blank? }
|
29
29
|
before_save :set_language_code, :unless => :systempage?
|
30
30
|
before_save :set_restrictions_to_child_pages, :if => proc { |page| !page.systempage? && page.restricted_changed? }
|
@@ -90,7 +90,7 @@
|
|
90
90
|
<div class="sitemap_sitename">
|
91
91
|
<%- if page.redirects_to_external? -%>
|
92
92
|
<span class="sitemap_pagename_link <%= cycle('even', 'odd') %> inactive"><%= page.name %></span>
|
93
|
-
<span class="redirect_url">
|
93
|
+
<span class="redirect_url" title="<%= h page.urlname %>">
|
94
94
|
» <%= t('Redirects to') %>:
|
95
95
|
<%= h page.urlname %>
|
96
96
|
</span>
|
data/config/alchemy/config.yml
CHANGED
@@ -81,20 +81,20 @@ default_language:
|
|
81
81
|
# ==== Options:
|
82
82
|
#
|
83
83
|
# page_layout_name: [String] # A +Alchemy::PageLayout+ name. Used to render the contactform on a page with this layout.
|
84
|
-
# fields: [Array] # An Array of fieldnames
|
85
|
-
# validate_fields: [
|
84
|
+
# fields: [Array] # An Array of fieldnames.
|
85
|
+
# validate_fields: [Array] # An Array of fieldnames to be validated on presence.
|
86
86
|
#
|
87
87
|
# ==== Translating validation messages:
|
88
88
|
#
|
89
|
-
# The
|
89
|
+
# The validation messages are passed through ::I18n.t so you can translate it in your language yml file.
|
90
90
|
#
|
91
|
-
# Example:
|
91
|
+
# ==== Example:
|
92
92
|
#
|
93
93
|
# de:
|
94
|
-
#
|
95
|
-
#
|
96
|
-
#
|
97
|
-
#
|
94
|
+
# activemodel:
|
95
|
+
# attributes:
|
96
|
+
# alchemy/message:
|
97
|
+
# firstname: Vorname
|
98
98
|
#
|
99
99
|
:mailer:
|
100
100
|
:page_layout_name: contact
|
@@ -103,11 +103,7 @@ default_language:
|
|
103
103
|
:mail_from: your.mail@your-domain.com
|
104
104
|
:mail_to: your.mail@your-domain.com
|
105
105
|
:fields: [salutation, firstname, lastname, address, zip, city, phone, email, message]
|
106
|
-
:validate_fields:
|
107
|
-
:lastname:
|
108
|
-
:message: enter_name
|
109
|
-
:email:
|
110
|
-
:message: enter_email
|
106
|
+
:validate_fields: [lastname, email]
|
111
107
|
|
112
108
|
# === User roles
|
113
109
|
# You can add own user roles. To set permissions for this roles please add an authorization_rules.rb file in your config folder.
|
@@ -113,12 +113,6 @@ de:
|
|
113
113
|
message: 'Nachricht'
|
114
114
|
send: 'absenden'
|
115
115
|
mandatory_fields: '*Pflichtfelder. Bitte füllen Sie diese Felder aus.'
|
116
|
-
# Translations for the contactform validations.
|
117
|
-
# Validations are set in the config/alchemy/config.yml mailer section.
|
118
|
-
validations:
|
119
|
-
enter_name: 'Bitte geben Sie Ihren Namen an'
|
120
|
-
enter_email: Bitte geben Sie Ihre E-Mail-Adresse an
|
121
|
-
wrong_email_format: 'Die E-Mail-Adresse scheint nicht richtig zu sein.'
|
122
116
|
# The flash message shown after succesfully sending the message.
|
123
117
|
messages:
|
124
118
|
success: 'Ihre Nachricht wurde erfolgreich übermittelt.'
|
@@ -232,7 +226,7 @@ de:
|
|
232
226
|
"No EssenceType given": ""
|
233
227
|
"No image found. Did you saved the element?": "Es wurde kein Bild gefunden. Haben Sie das Element auch gespeichert?"
|
234
228
|
"No items in your clipboard": "Ihre Zwischenablage ist leer"
|
235
|
-
"None": ""
|
229
|
+
"None": "keine"
|
236
230
|
"Open Link in": "Link öffnen in"
|
237
231
|
"Page deleted": "%{name} wurde gelöscht"
|
238
232
|
"Page saved": "%{name} wurde gespeichert"
|
@@ -253,13 +247,11 @@ de:
|
|
253
247
|
"Picture cache flushed": "Bildercache wurde geleert"
|
254
248
|
"Please Signup": "Um Ihre Homepage bearbeiten zu können, müssen Sie als erstes einen Admin Benutzer einrichten."
|
255
249
|
"Please choose": "Bitte wählen"
|
256
|
-
"Please choose a page layout.": "Bitte wählen Sie einen Seitentyp."
|
257
|
-
choose_element: "Bitte wählen Sie ein Element."
|
258
250
|
"Please log in": "Bitte melden Sie sich an."
|
259
251
|
use_alternative_uploader_instead: "Benutzen Sie bitte diesen alternativen Uploader."
|
260
252
|
"Publish page": "veröffentlichen"
|
261
253
|
"Read the License": "Lizenz lesen"
|
262
|
-
"Redirects to": ""
|
254
|
+
"Redirects to": "Leitet weiter auf"
|
263
255
|
"Remove item from clipboard": "Inhalt aus der Zwischenablage entfernen"
|
264
256
|
"Remove this content": "Diesen Inhalt entfernen"
|
265
257
|
"Reset Imagemask": "Bildmaske zurücksetzen"
|
@@ -273,7 +265,6 @@ de:
|
|
273
265
|
"Show trash": "Papierkorb anzeigen"
|
274
266
|
"Size": "Größe"
|
275
267
|
"Sort pages": "Seiten sortieren"
|
276
|
-
"Status": ""
|
277
268
|
"Successfully added content": "%{content} wurde hinzugefügt"
|
278
269
|
"Successfully deleted content": "%{content} wurde gelöscht"
|
279
270
|
"Successfully saved content position": "Die Position wurde gespeichert."
|
@@ -285,8 +276,6 @@ de:
|
|
285
276
|
"Title": "Titel"
|
286
277
|
"To manage your website open a browser and go to": "Um die Inhalte Ihrer Webseite zu bearbeiten klicken Sie bitte auf folgenden Link"
|
287
278
|
"Trash": "Papierkorb"
|
288
|
-
"URL": ""
|
289
|
-
"URL-Name already token": "Der URL-Name ist bereits vergeben."
|
290
279
|
"User created": "%{name} wurde erstellt"
|
291
280
|
"User deleted": "%{name} wurde gelöscht"
|
292
281
|
"User updated": "%{name} wurde aktualisiert"
|
@@ -481,7 +470,6 @@ de:
|
|
481
470
|
picture_gallery_editor: 'Bilder'
|
482
471
|
place_link: "Text verlinken"
|
483
472
|
player_version: "Flashplayer Version"
|
484
|
-
"please enter a name": "Bitte geben Sie einen Namen ein."
|
485
473
|
"please enter subject and mail address": "Bitte geben Sie den Betreff und eine Empfängeradresse an."
|
486
474
|
please_confirm: "Bitte bestätigen"
|
487
475
|
please_wait: "Bitte warten"
|
@@ -520,7 +508,6 @@ de:
|
|
520
508
|
upload_file: "Datei(en) hochladen"
|
521
509
|
upload_image: "Bild(er) hochladen"
|
522
510
|
url_name: "URL-Name"
|
523
|
-
urlname_to_short: "Der URL-Name der Seite ist zu kurz (min. 3 Zeichen)"
|
524
511
|
username: "Benutzername"
|
525
512
|
visible: "sichtbar"
|
526
513
|
want_to_create_new_language: "Wollen Sie einen neuen leeren Sprachbaum erstellen?"
|
@@ -655,6 +642,19 @@ de:
|
|
655
642
|
words_connector: ", "
|
656
643
|
two_words_connector: " und "
|
657
644
|
last_word_connector: " und "
|
645
|
+
|
646
|
+
activemodel:
|
647
|
+
attributes:
|
648
|
+
alchemy/message:
|
649
|
+
salutation: Anrede
|
650
|
+
firstname: Vorname
|
651
|
+
lastname: Nachname
|
652
|
+
address: Adresse
|
653
|
+
zip: PLZ
|
654
|
+
city: Ort
|
655
|
+
phone: Telefon
|
656
|
+
email: E-Mail
|
657
|
+
message: Nachricht
|
658
658
|
|
659
659
|
# Translations for active record database models and error messages.
|
660
660
|
activerecord:
|
@@ -795,11 +795,25 @@ de:
|
|
795
795
|
attributes:
|
796
796
|
essence:
|
797
797
|
validation_failed: 'Validierung fehlgeschlagen.'
|
798
|
+
alchemy/element:
|
799
|
+
attributes:
|
800
|
+
name:
|
801
|
+
blank: "^Bitte wählen Sie ein Element."
|
798
802
|
alchemy/language:
|
799
803
|
attributes:
|
800
804
|
language_code:
|
801
805
|
invalid: 'ist nicht korrekt. Bitte exakt zwei Kleinbuchstaben verwenden.'
|
802
806
|
taken: 'ist für dieses Länderkürzel bereits vergeben.'
|
807
|
+
alchemy/page:
|
808
|
+
attributes:
|
809
|
+
name:
|
810
|
+
blank: "^Bitte geben Sie einen Namen ein."
|
811
|
+
page_layout:
|
812
|
+
blank: "^Bitte wählen Sie einen Seitentyp."
|
813
|
+
urlname:
|
814
|
+
too_short: "^Der URL-Name der Seite ist zu kurz (min. 3 Zeichen)"
|
815
|
+
taken: "^Der URL-Name ist bereits vergeben."
|
816
|
+
exclusion: "^Der URL-Name der Seite kann nicht benutzt werden."
|
803
817
|
|
804
818
|
# Translations for the authentication system used in alchemy.
|
805
819
|
authlogic:
|
@@ -96,12 +96,6 @@ en:
|
|
96
96
|
message: 'Message'
|
97
97
|
send: 'Send'
|
98
98
|
mandatory_fields: '*Mandatory fields.'
|
99
|
-
# Translations for the contactform validations.
|
100
|
-
# Validations are set in the config/alchemy/config.yml mailer section.
|
101
|
-
validations:
|
102
|
-
enter_name: 'Please enter your name'
|
103
|
-
enter_email: 'Please enter your email'
|
104
|
-
wrong_email_format: 'Email has wrong format'
|
105
99
|
# The flash message shown after succesfully sending the message.
|
106
100
|
messages:
|
107
101
|
success: 'Your message was delivered succesfully.'
|
@@ -186,7 +180,6 @@ en:
|
|
186
180
|
big_thumbnails: "Big thumbnails"
|
187
181
|
choose_element_as_target: "Please choose an element as target"
|
188
182
|
choose_element_to_link: "Please choose an element"
|
189
|
-
choose_element: "Please choose an element."
|
190
183
|
choose_file_to_link: "Please choose a file to link"
|
191
184
|
click_to_show_all: "Click to show all again."
|
192
185
|
confirm_to_delete_file: "Do you really want to delete this file from the server?"
|
@@ -326,7 +319,6 @@ en:
|
|
326
319
|
"Picture deleted successfully": "Picture %{name} deleted"
|
327
320
|
place_link: "Link text"
|
328
321
|
player_version: "Flashplayer Version"
|
329
|
-
"please enter a name": "Please enter a name."
|
330
322
|
"please enter subject and mail address": "Please enter recipient and subject."
|
331
323
|
please_confirm: "Please confirm"
|
332
324
|
please_wait: "Please wait"
|
@@ -359,7 +351,6 @@ en:
|
|
359
351
|
upload_file: "Upload file(s)"
|
360
352
|
upload_image: "Upload image(s)"
|
361
353
|
url_name: "URL-Name"
|
362
|
-
urlname_to_short: "The pages urlname is too short (minimum of 3 characters)"
|
363
354
|
username: "Username"
|
364
355
|
want_to_create_new_language: "Do you want to create a new empty language tree?"
|
365
356
|
want_to_make_copy_of_existing_language: "Do you want to copy an existing language tree?"
|
@@ -488,6 +479,18 @@ en:
|
|
488
479
|
one: "over 1 year"
|
489
480
|
many: "over %{count} years"
|
490
481
|
|
482
|
+
activemodel:
|
483
|
+
attributes:
|
484
|
+
alchemy/message:
|
485
|
+
salutation: 'Salutation'
|
486
|
+
firstname: 'Firstname'
|
487
|
+
lastname: 'Lastname'
|
488
|
+
address: 'Street / No.'
|
489
|
+
zip: 'Zipcode / City'
|
490
|
+
phone: 'Telephone'
|
491
|
+
email: 'Email'
|
492
|
+
message: 'Message'
|
493
|
+
|
491
494
|
# Translations for active record database models and error messages.
|
492
495
|
activerecord:
|
493
496
|
|
@@ -589,10 +592,24 @@ en:
|
|
589
592
|
attributes:
|
590
593
|
essence:
|
591
594
|
validation_failed: 'Validation failed.'
|
595
|
+
alchemy/element:
|
596
|
+
attributes:
|
597
|
+
name:
|
598
|
+
blank: "^Please choose an element."
|
592
599
|
alchemy/language:
|
593
600
|
attributes:
|
594
601
|
code:
|
595
|
-
invalid: 'Format of languagecode is not valid. Please use exactly two lowercase characters.'
|
602
|
+
invalid: '^Format of languagecode is not valid. Please use exactly two lowercase characters.'
|
603
|
+
alchemy/page:
|
604
|
+
attributes:
|
605
|
+
name:
|
606
|
+
blank: "^Please enter a name."
|
607
|
+
page_layout:
|
608
|
+
blank: "^Please choose a page layout."
|
609
|
+
urlname:
|
610
|
+
too_short: "^The pages urlname is too short (minimum of 3 characters)."
|
611
|
+
taken: "^URL-Name already taken."
|
612
|
+
exclusion: "^URL-Name reserved."
|
596
613
|
|
597
614
|
# Translations for the authentication system used in alchemy.
|
598
615
|
authlogic:
|
data/lib/alchemy/version.rb
CHANGED
data/spec/factories.rb
CHANGED
@@ -41,7 +41,7 @@ FactoryGirl.define do
|
|
41
41
|
|
42
42
|
language { Alchemy::Language.find_by_language_code('kl') || Factory(:language) }
|
43
43
|
name "A Page"
|
44
|
-
parent_id { Factory(:language_root_page).id }
|
44
|
+
parent_id { (Alchemy::Page.find_by_language_root(true) || Factory(:language_root_page)).id }
|
45
45
|
page_layout "standard"
|
46
46
|
|
47
47
|
factory :language_root_page do
|
@@ -54,13 +54,13 @@ describe Alchemy::ElementsHelper do
|
|
54
54
|
|
55
55
|
context "with from_page option" do
|
56
56
|
it "should render all elements from a certain page" do
|
57
|
-
@another_page = Factory(:public_page)
|
57
|
+
@another_page = Factory(:public_page, :name => 'Another Page')
|
58
58
|
@element_on_other_page = Factory(:element, :name => 'headline', :page => @another_page)
|
59
59
|
helper.render_elements(:from_page => @another_page).should match(/id="#{@element_on_other_page.name}_\d*"/)
|
60
60
|
end
|
61
61
|
|
62
62
|
it "should not render any elements in a cell from the given page" do
|
63
|
-
@another_page = Factory(:public_page)
|
63
|
+
@another_page = Factory(:public_page, :name => 'Another Page')
|
64
64
|
@cell = Factory(:cell, :name => "Celltest", :page => @another_page)
|
65
65
|
@element_not_in_cell = Factory(:element, :name => 'headline', :page => @another_page)
|
66
66
|
@element_in_cell = Factory(:element, :name => 'article', :cell => @cell, :page => @another_page)
|
@@ -69,7 +69,7 @@ describe Alchemy::ElementsHelper do
|
|
69
69
|
|
70
70
|
context "and from_cell option" do
|
71
71
|
it "should render all elements from the page's cell" do
|
72
|
-
@another_page = Factory(:public_page)
|
72
|
+
@another_page = Factory(:public_page, :name => 'Another Page')
|
73
73
|
@cell = Factory(:cell, :name => "Celltest", :page => @another_page)
|
74
74
|
@element_not_in_cell = Factory(:element, :name => 'headline', :page => @another_page)
|
75
75
|
@element_in_cell = Factory(:element, :name => 'article', :cell => @cell, :page => @another_page)
|
@@ -119,7 +119,7 @@ describe Alchemy::ElementsHelper do
|
|
119
119
|
context "with offset option" do
|
120
120
|
it "should render all elements beginning with the second." do
|
121
121
|
@page.elements.delete_all
|
122
|
-
@another_page = Factory(:public_page)
|
122
|
+
@another_page = Factory(:public_page, :name => 'Another Page')
|
123
123
|
@another_element_1 = Factory(:element, :page => @page)
|
124
124
|
@another_element_2 = Factory(:element, :page => @page)
|
125
125
|
@another_element_3 = Factory(:element, :page => @page)
|
@@ -76,7 +76,7 @@ describe Alchemy::Language do
|
|
76
76
|
describe "#set_pages_language if language´s code has changed" do
|
77
77
|
it "should update all its pages with the new code" do
|
78
78
|
@page = Factory(:page, :language => @language)
|
79
|
-
@other_page = Factory(:page, :language => @language)
|
79
|
+
@other_page = Factory(:page, :language => @language, :name => 'Another Page')
|
80
80
|
@language.update_attributes(:code => "fo")
|
81
81
|
@language.reload; @page.reload; @other_page.reload
|
82
82
|
[@page.language_code, @other_page.language_code].should == [@language.code, @language.code]
|
@@ -85,7 +85,7 @@ describe Alchemy::Language do
|
|
85
85
|
describe "#unpublish_pages" do
|
86
86
|
it "should set all pages to unpublic if it gets set to unpublic" do
|
87
87
|
@page = Factory(:page, :language => @language)
|
88
|
-
@other_page = Factory(:page, :language => @language)
|
88
|
+
@other_page = Factory(:page, :language => @language, :name => 'Another Page')
|
89
89
|
@language.update_attributes(:public => false)
|
90
90
|
@language.reload; @page.reload; @other_page.reload
|
91
91
|
[@page.public?, @other_page.public?].should == [false, false]
|
data/spec/models/page_spec.rb
CHANGED
@@ -300,7 +300,7 @@ describe Alchemy::Page do
|
|
300
300
|
|
301
301
|
it "should return the pages" do
|
302
302
|
page_1 = Factory(:page, :language => @language)
|
303
|
-
page_2 = Factory(:page, :language => @language)
|
303
|
+
page_2 = Factory(:page, :language => @language, :name => 'Another Page')
|
304
304
|
clipboard = [
|
305
305
|
{:id => page_1.id, :action => "copy"},
|
306
306
|
{:id => page_2.id, :action => "copy"}
|
@@ -326,7 +326,7 @@ describe Alchemy::Page do
|
|
326
326
|
|
327
327
|
it "should return one page" do
|
328
328
|
page_1 = Factory(:page, :language => @language, :page_layout => 'standard')
|
329
|
-
page_2 = Factory(:page, :language => @language, :page_layout => 'contact')
|
329
|
+
page_2 = Factory(:page, :name => 'Another Page', :language => @language, :page_layout => 'contact')
|
330
330
|
clipboard = [
|
331
331
|
{:id => page_1.id, :action => "copy"},
|
332
332
|
{:id => page_2.id, :action => "copy"}
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alchemy_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-04-
|
14
|
+
date: 2012-04-13 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
18
|
-
requirement: &
|
18
|
+
requirement: &70348038225060 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ~>
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: 3.1.4
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70348038225060
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: authlogic
|
29
|
-
requirement: &
|
29
|
+
requirement: &70348038223480 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: '0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70348038223480
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: awesome_nested_set
|
40
|
-
requirement: &
|
40
|
+
requirement: &70348038222140 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ~>
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '2.0'
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70348038222140
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: declarative_authorization
|
51
|
-
requirement: &
|
51
|
+
requirement: &70348038221160 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ~>
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: 0.5.4
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *70348038221160
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: tvdeyen-fleximage
|
62
|
-
requirement: &
|
62
|
+
requirement: &70348038219940 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ~>
|
@@ -67,10 +67,10 @@ dependencies:
|
|
67
67
|
version: 1.2.0
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *70348038219940
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: kaminari
|
73
|
-
requirement: &
|
73
|
+
requirement: &70348038218800 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ~>
|
@@ -78,10 +78,10 @@ dependencies:
|
|
78
78
|
version: 0.13.0
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
|
-
version_requirements: *
|
81
|
+
version_requirements: *70348038218800
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: acts_as_ferret
|
84
|
-
requirement: &
|
84
|
+
requirement: &70348038231900 !ruby/object:Gem::Requirement
|
85
85
|
none: false
|
86
86
|
requirements:
|
87
87
|
- - ~>
|
@@ -89,10 +89,10 @@ dependencies:
|
|
89
89
|
version: '0.5'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
|
-
version_requirements: *
|
92
|
+
version_requirements: *70348038231900
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: acts_as_list
|
95
|
-
requirement: &
|
95
|
+
requirement: &70348038230440 !ruby/object:Gem::Requirement
|
96
96
|
none: false
|
97
97
|
requirements:
|
98
98
|
- - ~>
|
@@ -100,10 +100,10 @@ dependencies:
|
|
100
100
|
version: '0.1'
|
101
101
|
type: :runtime
|
102
102
|
prerelease: false
|
103
|
-
version_requirements: *
|
103
|
+
version_requirements: *70348038230440
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: magiclabs-userstamp
|
106
|
-
requirement: &
|
106
|
+
requirement: &70348038227800 !ruby/object:Gem::Requirement
|
107
107
|
none: false
|
108
108
|
requirements:
|
109
109
|
- - ~>
|
@@ -111,10 +111,10 @@ dependencies:
|
|
111
111
|
version: 2.0.2
|
112
112
|
type: :runtime
|
113
113
|
prerelease: false
|
114
|
-
version_requirements: *
|
114
|
+
version_requirements: *70348038227800
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: dynamic_form
|
117
|
-
requirement: &
|
117
|
+
requirement: &70348038242760 !ruby/object:Gem::Requirement
|
118
118
|
none: false
|
119
119
|
requirements:
|
120
120
|
- - ~>
|
@@ -122,10 +122,10 @@ dependencies:
|
|
122
122
|
version: '1.1'
|
123
123
|
type: :runtime
|
124
124
|
prerelease: false
|
125
|
-
version_requirements: *
|
125
|
+
version_requirements: *70348038242760
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: jquery-rails
|
128
|
-
requirement: &
|
128
|
+
requirement: &70348038241540 !ruby/object:Gem::Requirement
|
129
129
|
none: false
|
130
130
|
requirements:
|
131
131
|
- - ~>
|
@@ -133,10 +133,10 @@ dependencies:
|
|
133
133
|
version: 1.0.16
|
134
134
|
type: :runtime
|
135
135
|
prerelease: false
|
136
|
-
version_requirements: *
|
136
|
+
version_requirements: *70348038241540
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
138
|
name: attachment_magic
|
139
|
-
requirement: &
|
139
|
+
requirement: &70348038240380 !ruby/object:Gem::Requirement
|
140
140
|
none: false
|
141
141
|
requirements:
|
142
142
|
- - ~>
|
@@ -144,10 +144,10 @@ dependencies:
|
|
144
144
|
version: 0.2.1
|
145
145
|
type: :runtime
|
146
146
|
prerelease: false
|
147
|
-
version_requirements: *
|
147
|
+
version_requirements: *70348038240380
|
148
148
|
- !ruby/object:Gem::Dependency
|
149
149
|
name: sass-rails
|
150
|
-
requirement: &
|
150
|
+
requirement: &70348038239560 !ruby/object:Gem::Requirement
|
151
151
|
none: false
|
152
152
|
requirements:
|
153
153
|
- - ~>
|
@@ -155,10 +155,10 @@ dependencies:
|
|
155
155
|
version: 3.1.4
|
156
156
|
type: :runtime
|
157
157
|
prerelease: false
|
158
|
-
version_requirements: *
|
158
|
+
version_requirements: *70348038239560
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: rspec-rails
|
161
|
-
requirement: &
|
161
|
+
requirement: &70348038238780 !ruby/object:Gem::Requirement
|
162
162
|
none: false
|
163
163
|
requirements:
|
164
164
|
- - ~>
|
@@ -166,10 +166,10 @@ dependencies:
|
|
166
166
|
version: '2.8'
|
167
167
|
type: :development
|
168
168
|
prerelease: false
|
169
|
-
version_requirements: *
|
169
|
+
version_requirements: *70348038238780
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
171
|
name: sqlite3
|
172
|
-
requirement: &
|
172
|
+
requirement: &70348038238080 !ruby/object:Gem::Requirement
|
173
173
|
none: false
|
174
174
|
requirements:
|
175
175
|
- - ! '>='
|
@@ -177,7 +177,7 @@ dependencies:
|
|
177
177
|
version: '0'
|
178
178
|
type: :development
|
179
179
|
prerelease: false
|
180
|
-
version_requirements: *
|
180
|
+
version_requirements: *70348038238080
|
181
181
|
description: Alchemy is a Rails 3 CMS with a flexible content storing architecture.
|
182
182
|
email:
|
183
183
|
- alchemy@magiclabs.de
|
@@ -816,7 +816,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
816
816
|
version: '0'
|
817
817
|
segments:
|
818
818
|
- 0
|
819
|
-
hash: -
|
819
|
+
hash: -2174257304759105634
|
820
820
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
821
821
|
none: false
|
822
822
|
requirements:
|
@@ -825,7 +825,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
825
825
|
version: '0'
|
826
826
|
segments:
|
827
827
|
- 0
|
828
|
-
hash: -
|
828
|
+
hash: -2174257304759105634
|
829
829
|
requirements:
|
830
830
|
- ImageMagick (libmagick), v6.6 or greater.
|
831
831
|
rubyforge_project:
|