alchemy_cms 2.4.beta2 → 2.4.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/.travis.yml +3 -1
- data/.yardopts +1 -1
- data/Gemfile +2 -1
- data/alchemy_cms.gemspec +18 -17
- data/app/assets/images/alchemy/ajax_loader.gif +0 -0
- data/app/assets/images/alchemy/alchemy-logo.png +0 -0
- data/app/assets/images/alchemy/icons.png +0 -0
- data/app/assets/images/alchemy/image_loader.gif +0 -0
- data/app/assets/images/alchemy/placeholder.png +0 -0
- data/app/assets/images/alchemy/shading.png +0 -0
- data/app/assets/images/alchemy/swfupload/browse_button.png +0 -0
- data/app/assets/images/alchemy/tabs.gif +0 -0
- data/app/assets/images/alchemy/ui-icons_666666_256x240.png +0 -0
- data/app/assets/images/sassy-ie-overlay.png +0 -0
- data/app/assets/javascripts/alchemy/alchemy.base.js +1 -3
- data/app/assets/javascripts/alchemy/alchemy.browser.js.coffee +28 -0
- data/app/assets/javascripts/alchemy/alchemy.jquery_loader.js +2 -2
- data/app/assets/javascripts/alchemy/alchemy.js +2 -0
- data/app/assets/javascripts/alchemy/alchemy.link_overlay.js.coffee +79 -47
- data/app/assets/javascripts/alchemy/alchemy.menubar.js +12 -4
- data/app/assets/javascripts/alchemy/alchemy.onload.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +103 -0
- data/app/assets/javascripts/alchemy/alchemy.swf_upload.js +1 -1
- data/app/assets/javascripts/alchemy/alchemy.uploader.js +4 -6
- data/app/assets/javascripts/alchemy/preview.js +1 -0
- data/app/assets/stylesheets/alchemy/admin.css.scss +25 -0
- data/app/assets/stylesheets/alchemy/{archive.css.scss → archive.scss} +0 -2
- data/app/assets/stylesheets/alchemy/{base.css.scss → base.scss} +1 -57
- data/app/assets/stylesheets/alchemy/{custom.css → custom.scss} +0 -0
- data/app/assets/stylesheets/alchemy/{dashboard.css.scss → dashboard.scss} +0 -2
- data/app/assets/stylesheets/alchemy/defaults.scss +5 -0
- data/app/assets/stylesheets/alchemy/{elements.css.scss → elements.scss} +24 -37
- data/app/assets/stylesheets/alchemy/{errors.css.scss → errors.scss} +0 -2
- data/app/assets/stylesheets/alchemy/{flash.css.scss → flash.scss} +0 -2
- data/app/assets/stylesheets/alchemy/{form_elements.css.scss → form_elements.scss} +39 -12
- data/app/assets/stylesheets/alchemy/{frame.css.scss → frame.scss} +0 -2
- data/app/assets/stylesheets/alchemy/{icons.css.scss → icons.scss} +20 -2
- data/app/assets/stylesheets/alchemy/{jquery-ui.alchemy.css.scss → jquery-ui.scss} +6 -3
- data/app/assets/stylesheets/alchemy/{login.css.scss → login.scss} +3 -3
- data/app/assets/stylesheets/alchemy/menubar.css.scss +0 -1
- data/app/assets/stylesheets/alchemy/{_defaults.scss → mixins.scss} +2 -39
- data/app/assets/stylesheets/alchemy/{modules.css.scss → modules.scss} +4 -2
- data/app/assets/stylesheets/alchemy/notices.scss +51 -0
- data/app/assets/stylesheets/alchemy/{pagination.css.scss → pagination.scss} +0 -2
- data/app/assets/stylesheets/alchemy/{print.css → print.css.scss} +3 -3
- data/app/assets/stylesheets/alchemy/search.scss +63 -0
- data/app/assets/stylesheets/alchemy/{sitemap.css.scss → sitemap.scss} +1 -2
- data/app/assets/stylesheets/alchemy/{tables.css.scss → tables.scss} +16 -3
- data/app/assets/stylesheets/alchemy/tinymce_content.css.scss +3 -0
- data/app/assets/stylesheets/alchemy/tinymce_dialog.css.scss +3 -0
- data/app/assets/stylesheets/alchemy/{upload.css.scss → upload.scss} +0 -2
- data/app/assets/stylesheets/alchemy/variables.scss +33 -0
- data/app/controllers/alchemy/admin/elements_controller.rb +1 -2
- data/app/controllers/alchemy/admin/tags_controller.rb +64 -0
- data/app/controllers/alchemy/base_controller.rb +8 -23
- data/app/controllers/alchemy/pages_controller.rb +5 -18
- data/app/helpers/alchemy/admin/base_helper.rb +1 -1
- data/app/helpers/alchemy/admin/elements_helper.rb +1 -0
- data/app/helpers/alchemy/elements_block_helper.rb +162 -0
- data/app/helpers/alchemy/elements_helper.rb +41 -3
- data/app/helpers/alchemy/pages_helper.rb +2 -1
- data/app/models/alchemy/attachment.rb +2 -1
- data/app/models/alchemy/element.rb +13 -10
- data/app/models/alchemy/essence_link.rb +11 -0
- data/app/models/alchemy/essence_picture.rb +15 -4
- data/app/models/alchemy/page.rb +23 -25
- data/app/models/alchemy/picture.rb +2 -2
- data/app/models/alchemy/tag.rb +16 -0
- data/app/models/alchemy/user.rb +3 -1
- data/app/views/alchemy/admin/attachments/_attachment.html.erb +12 -12
- data/app/views/alchemy/admin/attachments/edit.html.erb +10 -4
- data/app/views/alchemy/admin/elements/_element.html.erb +10 -13
- data/app/views/alchemy/admin/elements/_element_foot.html.erb +1 -1
- data/app/views/alchemy/admin/essence_files/edit.html.erb +12 -76
- data/app/views/alchemy/admin/essence_pictures/crop.html.erb +9 -4
- data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +1 -1
- data/app/views/alchemy/admin/layoutpages/index.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_external_link.html.erb +9 -4
- data/app/views/alchemy/admin/pages/configure.html.erb +22 -12
- data/app/views/alchemy/admin/pages/edit.html.erb +40 -40
- data/app/views/alchemy/admin/partials/_autocomplete_tag_list.html.erb +9 -0
- data/app/views/alchemy/admin/pictures/edit.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/edit_multiple.html.erb +11 -2
- data/app/views/alchemy/admin/tags/_radio_tag.html.erb +6 -0
- data/app/views/alchemy/admin/tags/_tag.html.erb +29 -0
- data/app/views/alchemy/admin/tags/edit.html.erb +41 -0
- data/app/views/alchemy/admin/tags/index.html.erb +46 -0
- data/app/views/alchemy/admin/tags/new.html.erb +16 -0
- data/app/views/alchemy/admin/users/_table.html.erb +18 -10
- data/app/views/alchemy/admin/users/_user.html.erb +2 -1
- data/app/views/alchemy/admin/users/index.html.erb +2 -1
- data/app/views/alchemy/elements/_article_view.html.erb +1 -1
- data/app/views/alchemy/essences/_essence_link_editor.html.erb +23 -0
- data/app/views/alchemy/essences/_essence_link_view.html.erb +0 -0
- data/app/views/alchemy/essences/_essence_picture_tools.html.erb +1 -1
- data/app/views/alchemy/essences/_essence_text_editor.html.erb +1 -9
- data/app/views/alchemy/essences/_linkable_essence_tools.html.erb +19 -0
- data/app/views/layouts/alchemy/admin.html.erb +1 -1
- data/config/alchemy/elements.yml +2 -0
- data/config/alchemy/modules.yml +12 -0
- data/config/alchemy/page_layouts.yml +2 -0
- data/config/authorization_rules.rb +2 -0
- data/config/locales/alchemy.de.yml +36 -5
- data/config/locales/alchemy.en.yml +3 -0
- data/config/routes.rb +6 -4
- data/db/migrate/20121026100815_alchemy_two_point_three.rb +0 -36
- data/db/migrate/20121113115120_create_alchemy_essence_links.rb +13 -0
- data/db/migrate/20121115100736_add_cached_tag_list_to_elements_pages_and_users.rb +7 -0
- data/db/migrate/20121116140636_add_cached_tag_list_to_alchemy_attachments.rb +5 -0
- data/db/migrate/20121116141016_change_alchemy_pictures_tag_list_column.rb +9 -0
- data/lib/alchemy/engine.rb +1 -1
- data/lib/alchemy/resource.rb +1 -1
- data/lib/alchemy/resources_helper.rb +1 -1
- data/lib/alchemy/upgrader.rb +17 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +1 -0
- data/lib/rails/generators/alchemy/base.rb +41 -0
- data/lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt +10 -3
- data/lib/rails/generators/alchemy/elements/elements_generator.rb +6 -14
- data/lib/rails/generators/alchemy/elements/templates/editor.html.erb +8 -6
- data/lib/rails/generators/alchemy/elements/templates/editor.html.haml +13 -0
- data/lib/rails/generators/alchemy/elements/templates/editor.html.slim +13 -0
- data/lib/rails/generators/alchemy/elements/templates/view.html.erb +4 -4
- data/lib/rails/generators/alchemy/elements/templates/view.html.haml +15 -0
- data/lib/rails/generators/alchemy/elements/templates/view.html.slim +15 -0
- data/lib/rails/generators/alchemy/essence/essence_generator.rb +1 -1
- data/lib/rails/generators/alchemy/essence/templates/editor.html.erb +2 -3
- data/lib/rails/generators/alchemy/page_layouts/page_layouts_generator.rb +4 -13
- data/lib/rails/generators/alchemy/page_layouts/templates/layout.html.haml +1 -0
- data/lib/rails/generators/alchemy/page_layouts/templates/layout.html.slim +1 -0
- data/spec/controllers/pages_controller_spec.rb +41 -34
- data/spec/dummy/app/views/layouts/application.html.erb +51 -0
- data/spec/dummy/db/migrate/20121026100815_alchemy_two_point_three.rb +0 -36
- data/spec/dummy/db/migrate/20121113115120_create_alchemy_essence_links.rb +13 -0
- data/spec/dummy/db/migrate/20121115100736_add_cached_tag_list_to_elements_pages_and_users.rb +7 -0
- data/spec/dummy/db/migrate/20121116140636_add_cached_tag_list_to_alchemy_attachments.rb +5 -0
- data/spec/dummy/db/migrate/20121116141016_change_alchemy_pictures_tag_list_column.rb +9 -0
- data/spec/dummy/db/schema.rb +24 -45
- data/spec/helpers/elements_block_helper_spec.rb +135 -0
- data/spec/helpers/elements_helper_spec.rb +43 -5
- data/spec/integration/pages_controller_spec.rb +22 -18
- data/spec/integration/translation_integration_spec.rb +0 -15
- data/spec/models/element_spec.rb +44 -36
- data/spec/models/essence_picture_spec.rb +22 -6
- data/spec/models/page_spec.rb +28 -0
- data/spec/spec_helper.rb +8 -3
- data/spec/support/ci/install_phantomjs +6 -0
- metadata +82 -40
- data/app/assets/images/alchemy/gui/navi-tab.png +0 -0
- data/app/assets/images/alchemy/gui/shading_90.png +0 -0
- data/app/assets/images/alchemy/jquery-sb/select_arrow.gif +0 -0
- data/app/assets/images/alchemy/jquery-sb/select_arrow_bg.gif +0 -0
- data/app/assets/images/alchemy/jquery-sb/select_arrow_bg_hover.gif +0 -0
- data/app/assets/javascripts/alchemy/alchemy.preview.js +0 -98
- data/app/assets/stylesheets/alchemy/alchemy.css +0 -21
- data/app/controllers/alchemy/admin/essence_audios_controller.rb +0 -12
- data/app/controllers/alchemy/admin/essence_flashes_controller.rb +0 -12
- data/app/controllers/alchemy/admin/essence_videos_controller.rb +0 -12
- data/app/models/alchemy/essence_audio.rb +0 -14
- data/app/models/alchemy/essence_flash.rb +0 -12
- data/app/models/alchemy/essence_video.rb +0 -20
- data/app/views/alchemy/essences/_essence_audio_editor.html.erb +0 -1
- data/app/views/alchemy/essences/_essence_audio_view.html.erb +0 -33
- data/app/views/alchemy/essences/_essence_flash_editor.html.erb +0 -1
- data/app/views/alchemy/essences/_essence_flash_view.html.erb +0 -26
- data/app/views/alchemy/essences/_essence_video_editor.html.erb +0 -1
- data/app/views/alchemy/essences/_essence_video_view.html.erb +0 -35
data/app/models/alchemy/page.rb
CHANGED
@@ -2,6 +2,17 @@
|
|
2
2
|
module Alchemy
|
3
3
|
class Page < ActiveRecord::Base
|
4
4
|
|
5
|
+
RESERVED_URLNAMES = %w(admin messages new)
|
6
|
+
DEFAULT_ATTRIBUTES_FOR_COPY = {
|
7
|
+
:do_not_autogenerate => true,
|
8
|
+
:do_not_sweep => true,
|
9
|
+
:visible => false,
|
10
|
+
:public => false,
|
11
|
+
:locked => false,
|
12
|
+
:locked_by => nil
|
13
|
+
}
|
14
|
+
SKIPPED_ATTRIBUTES_ON_COPY = %w(id updated_at created_at creator_id updater_id lft rgt depth cached_tag_list)
|
15
|
+
|
5
16
|
attr_accessible(
|
6
17
|
:do_not_autogenerate,
|
7
18
|
:do_not_sweep,
|
@@ -23,14 +34,15 @@ module Alchemy
|
|
23
34
|
:robot_index,
|
24
35
|
:robot_follow,
|
25
36
|
:sitemap,
|
37
|
+
:tag_list,
|
26
38
|
:title,
|
27
39
|
:urlname,
|
28
40
|
:visible
|
29
41
|
)
|
30
42
|
|
31
|
-
|
32
|
-
|
43
|
+
acts_as_taggable
|
33
44
|
acts_as_nested_set(:dependent => :destroy)
|
45
|
+
|
34
46
|
stampable(:stamper_class_name => 'Alchemy::User')
|
35
47
|
|
36
48
|
has_many :folded_pages
|
@@ -177,19 +189,6 @@ module Alchemy
|
|
177
189
|
end
|
178
190
|
alias_method :next_page, :next
|
179
191
|
|
180
|
-
def find_first_public(page)
|
181
|
-
if (page.public == true)
|
182
|
-
return page
|
183
|
-
end
|
184
|
-
page.children.each do |child|
|
185
|
-
result = find_first_public(child)
|
186
|
-
if (result!=nil)
|
187
|
-
return result
|
188
|
-
end
|
189
|
-
end
|
190
|
-
return nil
|
191
|
-
end
|
192
|
-
|
193
192
|
def name_entered?
|
194
193
|
!self.name.blank?
|
195
194
|
end
|
@@ -394,16 +393,11 @@ module Alchemy
|
|
394
393
|
# You can pass any kind of Page#attributes as a difference to source.
|
395
394
|
# Notice: It prevents the element auto_generator from running.
|
396
395
|
def self.copy(source, differences = {})
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
:public => false,
|
403
|
-
:locked => false,
|
404
|
-
:locked_by => nil
|
405
|
-
)
|
406
|
-
page = self.new(attributes.except(:id, :updated_at, :created_at, :creator_id, :updater_id, :lft, :rgt, :depth))
|
396
|
+
source.attributes.stringify_keys!
|
397
|
+
differences.stringify_keys!
|
398
|
+
attributes = source.attributes.merge(differences)
|
399
|
+
attributes.merge!(DEFAULT_ATTRIBUTES_FOR_COPY)
|
400
|
+
page = self.new(attributes.except(*SKIPPED_ATTRIBUTES_ON_COPY))
|
407
401
|
if page.save
|
408
402
|
# copy the page´s cells
|
409
403
|
source.cells.each do |cell|
|
@@ -527,6 +521,10 @@ module Alchemy
|
|
527
521
|
"alchemy/#{language_code}/#{urlname}"
|
528
522
|
end
|
529
523
|
|
524
|
+
def taggable?
|
525
|
+
definition['taggable'] == true
|
526
|
+
end
|
527
|
+
|
530
528
|
private
|
531
529
|
|
532
530
|
def next_or_previous(direction = :next, options = {})
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Just holds some useful tag methods.
|
2
|
+
# The original Tag model is ActsAsTaggableOn::Tag
|
3
|
+
module Alchemy
|
4
|
+
class Tag
|
5
|
+
|
6
|
+
# Replaces tag with new tag on all models tagged with tag.
|
7
|
+
def self.replace(tag, new_tag)
|
8
|
+
tag.taggings.collect(&:taggable).each do |taggable|
|
9
|
+
taggable.tag_list.delete(tag.name)
|
10
|
+
taggable.tag_list << new_tag.name
|
11
|
+
taggable.save
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
data/app/models/alchemy/user.rb
CHANGED
@@ -7,6 +7,7 @@ module Alchemy
|
|
7
7
|
c.transition_from_restful_authentication = true
|
8
8
|
c.logged_in_timeout = Config.get(:auto_logout_time).minutes
|
9
9
|
end
|
10
|
+
acts_as_taggable
|
10
11
|
|
11
12
|
attr_accessible(
|
12
13
|
:firstname,
|
@@ -17,7 +18,8 @@ module Alchemy
|
|
17
18
|
:role,
|
18
19
|
:language,
|
19
20
|
:password,
|
20
|
-
:password_confirmation
|
21
|
+
:password_confirmation,
|
22
|
+
:tag_list
|
21
23
|
)
|
22
24
|
|
23
25
|
has_many :folded_pages
|
@@ -3,31 +3,31 @@
|
|
3
3
|
<%= render_icon attachment.icon_css_class %>
|
4
4
|
</td>
|
5
5
|
<td class="name">
|
6
|
-
|
6
|
+
<% if permitted_to?(:show, :attachments) %>
|
7
7
|
<%= link_to(
|
8
8
|
attachment.name,
|
9
9
|
alchemy.admin_attachment_path(attachment),
|
10
10
|
:target => '_blank',
|
11
11
|
:title => t('View File')
|
12
12
|
) %>
|
13
|
-
|
13
|
+
<% else %>
|
14
14
|
<%= attachment.name %>
|
15
|
-
|
15
|
+
<% end %>
|
16
16
|
</td>
|
17
17
|
<td class="file_name"><%= attachment.filename %></td>
|
18
18
|
<td class="file_type"><%= mime_to_human(attachment.content_type) %></td>
|
19
19
|
<td class="file_size"><%= number_to_human_size(attachment.size) %></td>
|
20
20
|
<td class="date"><%= l(attachment.created_at, :format => :short) %></td>
|
21
21
|
<td class="tools long">
|
22
|
-
|
22
|
+
<% permitted_to?(:download, :alchemy_attachments) do %>
|
23
23
|
<%= link_to(
|
24
24
|
"",
|
25
25
|
alchemy.download_admin_attachment_path(attachment),
|
26
26
|
:title => t("download_file", :filename => attachment.filename),
|
27
27
|
:class => "icon file_download"
|
28
28
|
) %>
|
29
|
-
|
30
|
-
|
29
|
+
<% end %>
|
30
|
+
<% permitted_to?(:destroy, :alchemy_admin_attachments) do %>
|
31
31
|
<%= link_to_confirmation_window(
|
32
32
|
"",
|
33
33
|
t("confirm_to_delete_file"),
|
@@ -41,18 +41,18 @@
|
|
41
41
|
:class => 'icon file_delete',
|
42
42
|
:title => t('delete_file')
|
43
43
|
}
|
44
|
-
)
|
45
|
-
|
46
|
-
|
44
|
+
) %>
|
45
|
+
<% end %>
|
46
|
+
<% permitted_to?(:edit, :alchemy_admin_attachments) do %>
|
47
47
|
<%= link_to_overlay_window("",
|
48
48
|
alchemy.edit_admin_attachment_path(attachment, :query => params[:query], :page => params[:page]),
|
49
49
|
{
|
50
50
|
:title => t('rename_file'),
|
51
|
-
:size => '
|
51
|
+
:size => '380x220'
|
52
52
|
},
|
53
53
|
:class => 'icon file_edit',
|
54
54
|
:title => t('rename_file')
|
55
|
-
)
|
56
|
-
|
55
|
+
) %>
|
56
|
+
<% end %>
|
57
57
|
</td>
|
58
58
|
</tr>
|
@@ -1,12 +1,18 @@
|
|
1
1
|
<%= form_for([:admin, @attachment], :url => {:action => :update, :query => params[:query], :page => params[:page]}) do |f| -%>
|
2
2
|
<table>
|
3
3
|
<tr>
|
4
|
-
<td class="label"><%= f.label 'name'
|
5
|
-
<td class="input"><%= f.text_field 'name', :class => 'thin_border
|
4
|
+
<td class="label"><%= f.label 'name' %></td>
|
5
|
+
<td class="input"><%= f.text_field 'name', :class => 'thin_border long', :autofocus => true %></td>
|
6
6
|
</tr>
|
7
7
|
<tr>
|
8
|
-
<td class="label"><%= f.label 'filename'
|
9
|
-
<td class="input"><%= f.text_field 'filename', :class => 'thin_border
|
8
|
+
<td class="label"><%= f.label 'filename' %>*</td>
|
9
|
+
<td class="input"><%= f.text_field 'filename', :class => 'thin_border long' %></td>
|
10
|
+
</tr>
|
11
|
+
<tr>
|
12
|
+
<td class="label"><%= f.label 'tag_list' %></td>
|
13
|
+
<td class="input">
|
14
|
+
<%= render 'alchemy/admin/partials/autocomplete_tag_list', :object => @attachment, :f => f %>
|
15
|
+
</td>
|
10
16
|
</tr>
|
11
17
|
<tr>
|
12
18
|
<td colspan="2" class="submit">
|
@@ -1,23 +1,20 @@
|
|
1
|
-
<div class="element_editor<%= element.folded ? ' folded' : '' %> <%= defined?(draggable) && !draggable ? 'not-draggable' : 'draggable' %>" id="element_<%= element.id
|
1
|
+
<div class="element_editor<%= element.folded ? ' folded' : '' %> <%= defined?(draggable) && !draggable ? 'not-draggable' : 'draggable' %>" id="element_<%= element.id %>" data-element-id="<%= element.id %>">
|
2
2
|
<%= render :partial => "alchemy/admin/elements/element_head", :locals => {:element => element} %>
|
3
|
-
|
4
|
-
<%= form_for
|
5
|
-
[:admin, element],
|
6
|
-
:remote => true,
|
7
|
-
:html => {
|
8
|
-
:id => "element_#{element.id}_form"
|
9
|
-
}
|
10
|
-
) do %>
|
3
|
+
<% if !element.folded? %>
|
4
|
+
<%= form_for [:admin, element], :remote => true, :html => {:id => "element_#{element.id}_form"} do |f| %>
|
11
5
|
<div id="element_<%= element.id %>_errors" class="element_errors" style="display: none"></div>
|
12
6
|
<div id="element_<%= element.id %>_content" class="element_content">
|
13
7
|
<%= render_editor(element) %>
|
14
8
|
</div>
|
15
|
-
|
9
|
+
<% if element.has_validations? %>
|
16
10
|
<p class="validation_notice">
|
17
11
|
<span class="validation_indicator">*</span> <%= t('Mandatory') %>
|
18
12
|
</p>
|
19
|
-
|
20
|
-
|
13
|
+
<% end %>
|
14
|
+
<% if element.taggable? %>
|
15
|
+
<%= render 'alchemy/admin/partials/autocomplete_tag_list', :f => f, :object => element %>
|
16
|
+
<% end %>
|
17
|
+
<%= render :partial => 'alchemy/admin/elements/element_foot', :locals => {:element => element, :f => f} %>
|
21
18
|
<% end %>
|
22
|
-
|
19
|
+
<% end %>
|
23
20
|
</div>
|
@@ -27,7 +27,7 @@
|
|
27
27
|
) %>
|
28
28
|
</span>
|
29
29
|
<span class="element_public">
|
30
|
-
<%=
|
30
|
+
<%= f.check_box :public, :id => "element_#{element.id}_public" -%>
|
31
31
|
<%= label_tag "element_#{element.id}_public", t("visible") -%>
|
32
32
|
</span>
|
33
33
|
<button type="submit" class="button">
|
@@ -1,5 +1,4 @@
|
|
1
|
-
<%= form_for([:admin, @essence_file], :remote => true
|
2
|
-
<%- if @content.essence_type == "Alchemy::EssenceFile" -%>
|
1
|
+
<%= form_for([:admin, @essence_file], :remote => true) do |f| %>
|
3
2
|
<table>
|
4
3
|
<tr>
|
5
4
|
<td class="label"><%= f.label "title" %></td>
|
@@ -7,85 +6,22 @@
|
|
7
6
|
</tr>
|
8
7
|
<tr>
|
9
8
|
<td class="label"><%= f.label "css_class" %></td>
|
10
|
-
<td class="select"
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
<tr>
|
21
|
-
<td class="label"><%= f.label "width" %></td>
|
22
|
-
<td class="input"><%= f.text_field "width", :class => 'thin_border' %></td>
|
23
|
-
</tr>
|
24
|
-
<tr>
|
25
|
-
<td class="label"><%= f.label "height" %></td>
|
26
|
-
<td class="input"><%= f.text_field "height", :class => 'thin_border' %></td>
|
27
|
-
</tr>
|
28
|
-
<tr>
|
29
|
-
<td class="label"><%= f.label "player_version" %></td>
|
30
|
-
<td class="input"><%= f.text_field "player_version", :class => 'thin_border' %></td>
|
31
|
-
</tr>
|
32
|
-
<tr>
|
33
|
-
<td colspan="2" class="submit">
|
34
|
-
<%= f.button t("save"), :class => 'button' %>
|
35
|
-
</td>
|
36
|
-
</tr>
|
37
|
-
</table>
|
38
|
-
<%- elsif @content.essence_type == "Alchemy::EssenceVideo" -%>
|
39
|
-
<table>
|
40
|
-
<tr>
|
41
|
-
<td class="label"><%= f.label "width" %></td>
|
42
|
-
<td class="input"><%= f.text_field "width", :class => 'thin_border' %></td>
|
43
|
-
</tr>
|
44
|
-
<tr>
|
45
|
-
<td class="label"><%= f.label "height" %></td>
|
46
|
-
<td class="input"><%= f.text_field "height", :class => 'thin_border' %></td>
|
47
|
-
</tr>
|
48
|
-
<tr>
|
49
|
-
<td class="label"><%= f.label "allow_fullscreen" %></td>
|
50
|
-
<td class="checkbox"><%= f.check_box "allow_fullscreen" %></td>
|
51
|
-
</tr>
|
52
|
-
<tr>
|
53
|
-
<td class="label"><%= f.label "auto_play" %></td>
|
54
|
-
<td class="checkbox"><%= f.check_box "auto_play" %></td>
|
55
|
-
</tr>
|
56
|
-
<tr>
|
57
|
-
<td class="label"><%= f.label "show_navigation" %></td>
|
58
|
-
<td class="check_box"><%= f.check_box "show_navigation" %></td>
|
59
|
-
</tr>
|
60
|
-
<tr>
|
61
|
-
<td colspan="2" class="submit">
|
62
|
-
<%= f.button t("save"), :class => 'button' %>
|
9
|
+
<td class="select">
|
10
|
+
<%= f.select(
|
11
|
+
"css_class", [
|
12
|
+
[t("Layout default"), ""],
|
13
|
+
[t("above"), "no_float"],
|
14
|
+
[t("left"), "left"],
|
15
|
+
[t("right"), "right"]
|
16
|
+
],
|
17
|
+
:class => 'alchemy_selectbox'
|
18
|
+
) %>
|
63
19
|
</td>
|
64
20
|
</tr>
|
65
|
-
</table>
|
66
|
-
<%- elsif @content.essence_type == "Alchemy::EssenceAudio" -%>
|
67
|
-
<table>
|
68
|
-
<tr>
|
69
|
-
<td class="label"><%= f.label "width" %></td>
|
70
|
-
<td class="input"><%= f.text_field "width", :class => 'thin_border' %></td>
|
71
|
-
</tr>
|
72
|
-
<tr>
|
73
|
-
<td class="label"><%= f.label "height" %></td>
|
74
|
-
<td class="input"><%= f.text_field "height", :class => 'thin_border' %></td>
|
75
|
-
</tr>
|
76
|
-
<tr>
|
77
|
-
<td class="label"><%= f.label "show_eq" %></td>
|
78
|
-
<td class="checkbox"><%= f.check_box "show_eq" %></td>
|
79
|
-
</tr>
|
80
|
-
<tr>
|
81
|
-
<td class="label"><%= f.label "show_navigation" %></td>
|
82
|
-
<td class="checkbox"><%= f.check_box "show_navigation" %></td>
|
83
|
-
</tr>
|
84
21
|
<tr>
|
85
22
|
<td colspan="2" class="submit">
|
86
23
|
<%= f.button t("save"), :class => 'button' %>
|
87
24
|
</td>
|
88
25
|
</tr>
|
89
26
|
</table>
|
90
|
-
|
91
|
-
<%- end -%>
|
27
|
+
<% end %>
|
@@ -1,11 +1,11 @@
|
|
1
|
-
|
1
|
+
<% if @no_image_notice %>
|
2
2
|
<div class="with_padding">
|
3
3
|
<div class="info">
|
4
4
|
<%= render_icon('info') %>
|
5
5
|
<%= @no_image_notice %>
|
6
6
|
</div>
|
7
7
|
</div>
|
8
|
-
|
8
|
+
<% else %>
|
9
9
|
<div id="overlay_toolbar">
|
10
10
|
<%= form_for(@essence_picture, :url => alchemy.admin_essence_picture_path(@essence_picture, :options => @options), :id => 'image_cropper_form', :remote => true) do |f| %>
|
11
11
|
<%= f.hidden_field :crop_from %>
|
@@ -30,7 +30,12 @@
|
|
30
30
|
|
31
31
|
<div id="jscropper">
|
32
32
|
<%= image_tag(
|
33
|
-
alchemy.zoom_picture_path(
|
33
|
+
alchemy.zoom_picture_path(
|
34
|
+
:id => @essence_picture.picture.id,
|
35
|
+
:name => @essence_picture.picture.urlname,
|
36
|
+
:format => @options[:format],
|
37
|
+
:sh => @essence_picture.picture.security_token
|
38
|
+
),
|
34
39
|
:id => 'imageToCrop',
|
35
40
|
:onload => "Alchemy.ImageCropper.init(
|
36
41
|
[#{@initial_box[:x1]}, #{@initial_box[:y1]}, #{@initial_box[:x2]}, #{@initial_box[:y2]}],
|
@@ -41,4 +46,4 @@
|
|
41
46
|
);"
|
42
47
|
) %>
|
43
48
|
</div>
|
44
|
-
|
49
|
+
<% end %>
|
@@ -1,7 +1,12 @@
|
|
1
1
|
<div id="overlay_tab_external_link">
|
2
|
-
<h2>
|
3
|
-
|
4
|
-
|
2
|
+
<h2><%= t("enter_external_link") %></h2>
|
3
|
+
<%= render_message do %>
|
4
|
+
<p><%= t(:external_link_notice_1) %></p>
|
5
|
+
<p><%= t(:external_link_notice_2) %></p>
|
6
|
+
<% end %>
|
7
|
+
<div id="errors" class="errors">
|
8
|
+
<ul></ul>
|
9
|
+
</div>
|
5
10
|
<table class="window_form">
|
6
11
|
<tr>
|
7
12
|
<td class="label long">
|
@@ -28,7 +33,7 @@
|
|
28
33
|
<tr>
|
29
34
|
<td class="submit" colspan="2">
|
30
35
|
<%= link_to(t(:apply), '#', {
|
31
|
-
:onclick => "Alchemy.LinkOverlay.createLink('external', jQuery('#external_url').val(), jQuery('#extern_link_title').val(), jQuery('#external_link_target').val());
|
36
|
+
:onclick => "Alchemy.LinkOverlay.createLink('external', jQuery('#external_url').val(), jQuery('#extern_link_title').val(), jQuery('#external_link_target').val());",
|
32
37
|
:class => 'button'
|
33
38
|
}) %>
|
34
39
|
</td>
|