app/helpers/alchemy/custom/model/admin/base_helper.rb in alchemy-custom-model-0.1.6 vs app/helpers/alchemy/custom/model/admin/base_helper.rb in alchemy-custom-model-0.1.7

- old
+ new

@@ -59,24 +59,24 @@ bf2 = ActiveSupport::SafeBuffer.new bf2 << link_to("#", class: 'open_el_finder', title: t("elfinder.edit_image_button"), data: { - "elfinder-mode": 'single_selection', - "elfinder-target": "##{component_id}", - "elfinder-thumb-target": "##{component_id_image}", - "elfinder-volumes": 'AlchemyImages' + "elfinder-mode": 'single_selection', + "elfinder-target": "##{component_id}", + "elfinder-thumb-target": "##{component_id_image}", + "elfinder-volumes": 'AlchemyImages' }) do fa_icon("file-image") end bf2 << link_to("#", class: 'clear_selection', title: t("elfinder.clear_image_button"), data: { - "clearfield-target": "##{component_id}", - "clearfield-thumb-target": "##{component_id_image}", - "clearfield-thumb-target-replace": no_image_path + "clearfield-target": "##{component_id}", + "clearfield-thumb-target": "##{component_id_image}", + "clearfield-thumb-target-replace": no_image_path }) do fa_icon("times") end bf2 @@ -140,23 +140,23 @@ bf2 = ActiveSupport::SafeBuffer.new bf2 << link_to("#", class: 'open_el_finder', title: t("elfinder.edit_attachment_button"), data: { - "elfinder-mode": 'single_selection', - "elfinder-target": "##{component_id}", - "elfinder-mime_icon_updater": "##{id_icone}", - "elfinder-volumes": 'AlchemyFiles' + "elfinder-mode": 'single_selection', + "elfinder-target": "##{component_id}", + "elfinder-mime_icon_updater": "##{id_icone}", + "elfinder-volumes": 'AlchemyFiles' }) do fa_icon("file") end bf2 << link_to("#", class: 'clear_selection', title: t("elfinder.clear_attachment_button"), data: { - "clearfield-target": "##{component_id}", - "clearfield-icon": "##{id_icone}" + "clearfield-target": "##{component_id}", + "clearfield-icon": "##{id_icone}" }) do fa_icon("times") end bf2 @@ -178,11 +178,10 @@ def render_obj(obj, field) obj.send field end - ## # Costruisce il necessario per la generazione della struttura della gallery e per selezione ed upload immagini # # @param [FormBuilder] form # @param [Symbol] field @@ -222,23 +221,23 @@ end end bf << content_tag(:div, class: 'gallery_item_blk') do link_to("#", class: 'open_el_finder', data: { - "elfinder-mode": 'multiple_selection', - "elfinder-target_upgrader": partial_url, - "elfinder-target": partial_identifier, - "elfinder-volumes": 'AlchemyImages,GalleryVolume', - "elfinder-volumes_cfgs": Base64.strict_encode64({ - "GalleryVolume": { - volume: 'ComponentAttribute', - attribute: field, - object: form.object.to_signed_global_id.to_s, - file_link_ref: 'picture', - tags: tags - } - }.to_json) + "elfinder-mode": 'multiple_selection', + "elfinder-target_upgrader": partial_url, + "elfinder-target": partial_identifier, + "elfinder-volumes": 'AlchemyImages,GalleryVolume', + "elfinder-volumes_cfgs": Base64.strict_encode64({ + "GalleryVolume": { + volume: 'ComponentAttribute', + attribute: field, + object: form.object.to_signed_global_id.to_s, + file_link_ref: 'picture', + tags: tags + } + }.to_json) }) do fa_icon("images") end end @@ -364,15 +363,61 @@ interface end - def check_presence_polymorphic_path(record_or_hash_or_array, options = {}) + def check_presence_polymorphic_path(record_or_hash_or_array, method = :get, options = {}) begin - polymorphic_path record_or_hash_or_array, options - true - rescue NoMethodError + url = polymorphic_path record_or_hash_or_array, options + route_hash = Rails.application.routes.recognize_path(url, :method => method) + if route_hash[:controller] != "alchemy/pages" + true + else + false + end + rescue NoMethodError, ActionController::RoutingError false + end + end + + + def order_path(obj = nil, options = {}) + if obj.nil? + new_polymorphic_path([:admin, base_class.to_s.pluralize.underscore, :order]) + else + new_polymorphic_path([:admin, obj, :order]) + end + end + + def exist_order_path?(obj = nil) + if obj.nil? + order_path + else + order_path obj + end + true + rescue NoMethodError + false + end + + def print_order_tree(sort: false) + sortable_class = "sortable_tree" if sort + content_tag(:ol, class: "order_tree margined #{sortable_class}", id: "sort_tree") do + el_buf = ActiveSupport::SafeBuffer.new + @elements.each do |el| + el_buf << content_tag(:li, id: print_order_identify(el)) do + sb = ActiveSupport::SafeBuffer.new + sb << content_tag(:div, class: "el_block") do + div = ActiveSupport::SafeBuffer.new + div << print_sort_icon(el) + div << content_tag(:div, class: "el_value") do + printelement_to_order el + end + end + sb + end + end + el_buf end end end \ No newline at end of file