refinerycms-core 3.0.1 → 3.0.2
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.
- checksums.yaml +4 -4
 - data/app/assets/stylesheets/refinery/_colours.scss +1 -1
 - data/app/assets/stylesheets/refinery/_icons.scss +2 -0
 - data/app/assets/stylesheets/refinery/_layout.scss +1 -0
 - data/app/helpers/refinery/image_helper.rb +1 -1
 - data/app/helpers/refinery/tag_helper.rb +2 -1
 - data/app/helpers/refinery/translation_helper.rb +3 -0
 - data/app/presenters/refinery/base_presenter.rb +3 -3
 - data/app/presenters/refinery/translated_field_presenter.rb +15 -0
 - data/app/views/layouts/refinery/admin.html.erb +1 -1
 - data/app/views/refinery/_head.html.erb +2 -2
 - data/config/locales/en.yml +2 -1
 - data/config/locales/nl.yml +7 -0
 - data/config/locales/zh-CN.yml +0 -0
 - data/lib/generators/refinery/engine/USAGE +1 -1
 - data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +18 -14
 - data/lib/generators/refinery/engine/templates/db/seeds.rb.erb +1 -1
 - data/lib/generators/refinery/engine/templates/refinerycms-extension_plural_name.gemspec +1 -0
 - data/lib/generators/refinery/engine/templates/spec/spec_helper.rb +0 -1
 - data/lib/refinery.rb +1 -0
 - data/lib/refinery/application_controller.rb +1 -1
 - data/lib/refinery/core/engine.rb +1 -1
 - data/lib/refinery/crud.rb +7 -7
 - data/lib/refinery/extension_generation.rb +5 -0
 - data/lib/refinery/version.rb +1 -1
 - data/license.md +1 -1
 - data/refinerycms-core.gemspec +1 -0
 - data/spec/helpers/refinery/translation_helper_spec.rb +30 -1
 - data/spec/lib/generators/refinery/engine/engine_generator_with_author_spec.rb +90 -0
 - data/spec/presenters/refinery/translated_field_presenter_spec.rb +35 -0
 - metadata +27 -25
 - data/config/initializers/assets.rb +0 -6
 - data/vendor/assets/fonts/font-awesome/FontAwesome.otf +0 -0
 - data/vendor/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
 - data/vendor/assets/fonts/font-awesome/fontawesome-webfont.svg +0 -565
 - data/vendor/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
 - data/vendor/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
 - data/vendor/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
 - data/vendor/assets/stylesheets/_font-awesome-compass.scss +0 -5
 - data/vendor/assets/stylesheets/_font-awesome-sprockets.scss +0 -5
 - data/vendor/assets/stylesheets/_font-awesome.scss +0 -17
 - data/vendor/assets/stylesheets/font-awesome/_animated.scss +0 -34
 - data/vendor/assets/stylesheets/font-awesome/_bordered-pulled.scss +0 -16
 - data/vendor/assets/stylesheets/font-awesome/_core.scss +0 -12
 - data/vendor/assets/stylesheets/font-awesome/_extras.scss +0 -44
 - data/vendor/assets/stylesheets/font-awesome/_fixed-width.scss +0 -6
 - data/vendor/assets/stylesheets/font-awesome/_icons.scss +0 -596
 - data/vendor/assets/stylesheets/font-awesome/_larger.scss +0 -13
 - data/vendor/assets/stylesheets/font-awesome/_list.scss +0 -19
 - data/vendor/assets/stylesheets/font-awesome/_mixins.scss +0 -26
 - data/vendor/assets/stylesheets/font-awesome/_path.scss +0 -14
 - data/vendor/assets/stylesheets/font-awesome/_rotated-flipped.scss +0 -20
 - data/vendor/assets/stylesheets/font-awesome/_stacked.scss +0 -20
 - data/vendor/assets/stylesheets/font-awesome/_variables.scss +0 -606
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 5b4a8adbdc868b1a05d524a24e5cfc6b6742004c
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: ed062b6ec449a4c2e27e14c6fe52299740d04411
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 094c812cf2973fb866be1a7bfad33a813da1d95cb3ff0882e56a4e8b40f1b4d6510f44e5a408f791dca9960f43f3f52fc28fe3c509eaa3afce71e948289c4c50
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 23e55f338fe65c9469d0b617ef52344305ddc01a17371ab2b0f65cc91dca2d814f4bf861e5565aab2f5fd937bc668f1145411cfbb4e984a652ad111e572fd2ce
         
     | 
| 
         @@ -12,7 +12,7 @@ $icon_preview_colour: $icon_default_colour; 
     | 
|
| 
       12 
12 
     | 
    
         
             
            $icon_locale_colour:  #b7e3fc;    // pale blue
         
     | 
| 
       13 
13 
     | 
    
         
             
            $icon_done_colour:    #00a017;  //
         
     | 
| 
       14 
14 
     | 
    
         
             
            $info_icon_blue:      #316CC8;
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
            $icon_warning_colour:   #FF6600; // orange
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
            $action_background_colour: lighten($icon_locale_colour,10%);
         
     | 
| 
       18 
18 
     | 
    
         
             
            $action_border_colour: $icon_locale_colour;
         
     | 
| 
         @@ -61,6 +61,7 @@ 
     | 
|
| 
       61 
61 
     | 
    
         
             
            .switch_view_list_icon {@include icon('list')}
         
     | 
| 
       62 
62 
     | 
    
         
             
            .upload_icon          {@include icon('upload');}
         
     | 
| 
       63 
63 
     | 
    
         
             
            .user_comment_icon    {@include icon('comment-o');}
         
     | 
| 
      
 64 
     | 
    
         
            +
            .warning_icon         {@include icon('warning', $icon_warning_colour)}
         
     | 
| 
       64 
65 
     | 
    
         | 
| 
       65 
66 
     | 
    
         
             
            .hidden_icon  {display:none}
         
     | 
| 
       66 
67 
     | 
    
         
             
            .unhidden_icon {display: inline-block}
         
     | 
| 
         @@ -83,3 +84,4 @@ 
     | 
|
| 
       83 
84 
     | 
    
         
             
            // don't want underlines on icons
         
     | 
| 
       84 
85 
     | 
    
         
             
            #content a[class$='icon'] {border-bottom: none}
         
     | 
| 
       85 
86 
     | 
    
         
             
            #content a[class$='icon']:hover {border-bottom: none}
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
         @@ -7,7 +7,7 @@ module Refinery 
     | 
|
| 
       7 
7 
     | 
    
         
             
                  content.gsub(%r{<img.+?src=['"](/system/images/.+?)/.+?/>}) do |img|
         
     | 
| 
       8 
8 
     | 
    
         
             
                    begin
         
     | 
| 
       9 
9 
     | 
    
         
             
                      sha = img.match(%r{/system/images/(.+?)/})[1]
         
     | 
| 
       10 
     | 
    
         
            -
                      job = Dragonfly::Job.deserialize sha, Dragonfly 
     | 
| 
      
 10 
     | 
    
         
            +
                      job = Dragonfly::Job.deserialize sha, Dragonfly.app(:refinery_images)
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                      image_fu Image.where(:image_uid => job.uid).first, thumbnail
         
     | 
| 
       13 
13 
     | 
    
         
             
                    rescue Dragonfly::Serializer::BadString
         
     | 
| 
         @@ -5,7 +5,8 @@ module Refinery 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
                # Remember to wrap your block with <span class='label_with_help'></span> if you're using a label next to the help tag.
         
     | 
| 
       7 
7 
     | 
    
         
             
                def refinery_help_tag(title='Tip')
         
     | 
| 
       8 
     | 
    
         
            -
                   
     | 
| 
      
 8 
     | 
    
         
            +
                  title = title.html_safe? ? title : h(title)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  action_icon(:info, '#', title, {tooltip: title})
         
     | 
| 
       9 
10 
     | 
    
         
             
                end
         
     | 
| 
       10 
11 
     | 
    
         | 
| 
       11 
12 
     | 
    
         
             
                # This is just a quick wrapper to render an image tag that lives inside refinery/icons.
         
     | 
| 
         @@ -15,7 +15,7 @@ module Refinery 
     | 
|
| 
       15 
15 
     | 
    
         
             
                end
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
                def method_missing(method, *args)
         
     | 
| 
       18 
     | 
    
         
            -
                  if @model.respond_to? method
         
     | 
| 
      
 18 
     | 
    
         
            +
                  if @model.respond_to? method, include_all = true
         
     | 
| 
       19 
19 
     | 
    
         
             
                    @model.send method
         
     | 
| 
       20 
20 
     | 
    
         
             
                  elsif DEFAULT_FIELDS.has_key? method
         
     | 
| 
       21 
21 
     | 
    
         
             
                    (value = DEFAULT_FIELDS[method]).is_a?(Proc) ? value.call(self) : value
         
     | 
| 
         @@ -24,8 +24,8 @@ module Refinery 
     | 
|
| 
       24 
24 
     | 
    
         
             
                  end
         
     | 
| 
       25 
25 
     | 
    
         
             
                end
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
     | 
    
         
            -
                def respond_to?(method)
         
     | 
| 
       28 
     | 
    
         
            -
                  super || @model.respond_to?(method) || DEFAULT_FIELDS.has_key?(method)
         
     | 
| 
      
 27 
     | 
    
         
            +
                def respond_to?(method, include_all = false)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  super || @model.respond_to?(method, include_all) || DEFAULT_FIELDS.has_key?(method)
         
     | 
| 
       29 
29 
     | 
    
         
             
                end
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
              end
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Refinery
         
     | 
| 
      
 2 
     | 
    
         
            +
              class TranslatedFieldPresenter
         
     | 
| 
      
 3 
     | 
    
         
            +
                def initialize(record)
         
     | 
| 
      
 4 
     | 
    
         
            +
                  @record = record
         
     | 
| 
      
 5 
     | 
    
         
            +
                end
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                def call(field)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  record.send(field).presence ||
         
     | 
| 
      
 9 
     | 
    
         
            +
                    record.translations.detect {|t| t.send(field).present?}.send(field)
         
     | 
| 
      
 10 
     | 
    
         
            +
                end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                private
         
     | 
| 
      
 13 
     | 
    
         
            +
                attr_accessor :record
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <!DOCTYPE html>
         
     | 
| 
       2 
2 
     | 
    
         
             
            <%= render '/refinery/html_tag' %>
         
     | 
| 
       3 
     | 
    
         
            -
              <% content_for :meta,  
     | 
| 
      
 3 
     | 
    
         
            +
              <% content_for :meta, tag(:meta, name: 'refinerycms', content: Refinery.version) %>
         
     | 
| 
       4 
4 
     | 
    
         
             
              <%= render 'refinery/admin/head' %>
         
     | 
| 
       5 
5 
     | 
    
         
             
              <body class="<%= action_name %> <%= I18n.locale %>">
         
     | 
| 
       6 
6 
     | 
    
         
             
                <%= render '/refinery/site_bar' %>
         
     | 
| 
         @@ -1,8 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <meta charset='<%= Rails.application.config.encoding %>' />
         
     | 
| 
       2 
2 
     | 
    
         
             
            <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><![endif]-->
         
     | 
| 
       3 
3 
     | 
    
         
             
            <title><%= browser_title(yield(:title)) %></title>
         
     | 
| 
       4 
     | 
    
         
            -
            <%=  
     | 
| 
       5 
     | 
    
         
            -
            <%=  
     | 
| 
      
 4 
     | 
    
         
            +
            <%= tag(:meta, name: 'description', content: @meta.meta_description) if @meta.meta_description.present? -%>
         
     | 
| 
      
 5 
     | 
    
         
            +
            <%= tag(:link, href: request.protocol+request.host_with_port+@canonical, rel: 'canonical') if @canonical.present? -%>
         
     | 
| 
       6 
6 
     | 
    
         
             
            <%= csrf_meta_tags if Refinery::Core.authenticity_token_on_frontend -%>
         
     | 
| 
       7 
7 
     | 
    
         
             
            <%= yield :meta %>
         
     | 
| 
       8 
8 
     | 
    
         | 
    
        data/config/locales/en.yml
    CHANGED
    
    | 
         @@ -37,7 +37,7 @@ en: 
     | 
|
| 
       37 
37 
     | 
    
         
             
                    delete: Remove
         
     | 
| 
       38 
38 
     | 
    
         
             
                    close: Close
         
     | 
| 
       39 
39 
     | 
    
         
             
                  image_picker:
         
     | 
| 
       40 
     | 
    
         
            -
                    none_selected:  
     | 
| 
      
 40 
     | 
    
         
            +
                    none_selected: No image selected, please click here to add one.
         
     | 
| 
       41 
41 
     | 
    
         
             
                    remove_current: Remove current image
         
     | 
| 
       42 
42 
     | 
    
         
             
                    change: Click here to pick an image
         
     | 
| 
       43 
43 
     | 
    
         
             
                    show: Show
         
     | 
| 
         @@ -55,6 +55,7 @@ en: 
     | 
|
| 
       55 
55 
     | 
    
         
             
                    results_for_html: "Search results for ‘<em>%{query}</em>’"
         
     | 
| 
       56 
56 
     | 
    
         
             
                    no_results: 'Sorry, no results found'
         
     | 
| 
       57 
57 
     | 
    
         
             
                    cancel_search: 'Cancel search'
         
     | 
| 
      
 58 
     | 
    
         
            +
                    search_input_notice: ''
         
     | 
| 
       58 
59 
     | 
    
         
             
                    input:
         
     | 
| 
       59 
60 
     | 
    
         
             
                      placeholder: "Search …"
         
     | 
| 
       60 
61 
     | 
    
         
             
                      help: 'Enter a word or phrase you want to search for'
         
     | 
    
        data/config/locales/nl.yml
    CHANGED
    
    | 
         @@ -41,6 +41,8 @@ nl: 
     | 
|
| 
       41 
41 
     | 
    
         
             
                    remove_current: "Huidige afbeelding verwijderen"
         
     | 
| 
       42 
42 
     | 
    
         
             
                    change: Klik hier om een afbeelding te kiezen
         
     | 
| 
       43 
43 
     | 
    
         
             
                    show: Tonen
         
     | 
| 
      
 44 
     | 
    
         
            +
                  locale_picker:
         
     | 
| 
      
 45 
     | 
    
         
            +
                    language: Taal
         
     | 
| 
       44 
46 
     | 
    
         
             
                  resource_picker:
         
     | 
| 
       45 
47 
     | 
    
         
             
                    download_current: "Huidig bestand downloaden"
         
     | 
| 
       46 
48 
     | 
    
         
             
                    opens_in_new_window: Opent in een nieuw venster
         
     | 
| 
         @@ -52,6 +54,11 @@ nl: 
     | 
|
| 
       52 
54 
     | 
    
         
             
                    button_text: Zoeken
         
     | 
| 
       53 
55 
     | 
    
         
             
                    results_for_html: "Zoekresultaten voor ‘<em>%{query}</em>’"
         
     | 
| 
       54 
56 
     | 
    
         
             
                    no_results: "Excuses, geen resultaten gevonden"
         
     | 
| 
      
 57 
     | 
    
         
            +
                    cancel_search: 'Stop met zoeken'
         
     | 
| 
      
 58 
     | 
    
         
            +
                    search_input_notice: ''
         
     | 
| 
      
 59 
     | 
    
         
            +
                    input:
         
     | 
| 
      
 60 
     | 
    
         
            +
                      placeholder: "Zoek …"
         
     | 
| 
      
 61 
     | 
    
         
            +
                      help: 'Vul een woord ofz in in waar je op wil zoeken'
         
     | 
| 
       55 
62 
     | 
    
         
             
                  delete:
         
     | 
| 
       56 
63 
     | 
    
         
             
                    message: Weet u zeker dat u '%{title}' wilt verwijderen?
         
     | 
| 
       57 
64 
     | 
    
         
             
                  error_messages:
         
     | 
    
        data/config/locales/zh-CN.yml
    CHANGED
    
    | 
         
            File without changes
         
     | 
| 
         @@ -20,5 +20,5 @@ Additional Supported Field Types 
     | 
|
| 
       20 
20 
     | 
    
         
             
              resource        - link to a resource picker dialogue
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
            Examples:
         
     | 
| 
       23 
     | 
    
         
            -
                rails generate refinery:engine product title:string description:text image:image brochure:resource
         
     | 
| 
      
 23 
     | 
    
         
            +
                rails generate refinery:engine product title:string description:text image:image brochure:resource --authors 'John Jones'
         
     | 
| 
       24 
24 
     | 
    
         
             
                rails generate refinery:engine product title:string description:text image:image brochure:resource --i18n title description
         
     | 
| 
         @@ -1,25 +1,29 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <% title_attribute = (title = attributes.detect { |a| a.type.to_s == "string" }).present? ? title.name : 'title' -%>
         
     | 
| 
       2 
2 
     | 
    
         
             
            <li class='clearfix record <%%= cycle("on", "on-hover") %>' id="<%%= dom_id(<%= singular_name %>) -%>">
         
     | 
| 
       3 
3 
     | 
    
         
             
              <span class='title'>
         
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
      
 4 
     | 
    
         
            +
                <% if localized? %><%%= translated_field(<%= singular_name %>, :<%= title_attribute %>) %><% else %><%%= <%= singular_name %>.<%= title_attribute %> %><% end %>
         
     | 
| 
      
 5 
     | 
    
         
            +
              </span>
         
     | 
| 
       5 
6 
     | 
    
         
             
            <% if localized? %>
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
              <%% if Refinery::I18n.frontend_locales.many? %>
         
     | 
| 
      
 8 
     | 
    
         
            +
                <span class='locales'>
         
     | 
| 
      
 9 
     | 
    
         
            +
                  <%% <%= singular_name %>.translations.sort_by{ |t| Refinery::I18n.frontend_locales.index(t.locale)}.each do |translation| %>
         
     | 
| 
      
 10 
     | 
    
         
            +
                    <%% if translation.<%= title_attribute %>.present? %>
         
     | 
| 
      
 11 
     | 
    
         
            +
                      <%%= link_to refinery.edit_<%= namespacing.underscore %>_admin_<%= singular_name %>_path(<%= singular_name %>, :switch_locale => translation.locale),
         
     | 
| 
      
 12 
     | 
    
         
            +
                                  class: 'locale', title: translation.locale.upcase do %>
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                        <div class="<%%=translation.locale %> locale_marker">
         
     | 
| 
      
 15 
     | 
    
         
            +
                          <%%= locale_text_icon(translation.locale.upcase) %>
         
     | 
| 
      
 16 
     | 
    
         
            +
                        </div>
         
     | 
| 
       13 
17 
     | 
    
         
             
                      <%% end %>
         
     | 
| 
       14 
18 
     | 
    
         
             
                    <%% end %>
         
     | 
| 
       15 
     | 
    
         
            -
                   
     | 
| 
       16 
     | 
    
         
            -
                 
     | 
| 
      
 19 
     | 
    
         
            +
                  <%% end %>
         
     | 
| 
      
 20 
     | 
    
         
            +
                </span>
         
     | 
| 
      
 21 
     | 
    
         
            +
              <%% end %>
         
     | 
| 
       17 
22 
     | 
    
         
             
            <% end %>
         
     | 
| 
       18 
     | 
    
         
            -
               
     | 
| 
      
 23 
     | 
    
         
            +
              <span class='preview'></span>
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
       19 
25 
     | 
    
         
             
              <span class='actions'>
         
     | 
| 
       20 
     | 
    
         
            -
                <% unless skip_frontend? %>
         
     | 
| 
       21 
     | 
    
         
            -
                  <%%= action_icon(:preview, refinery.<%= namespacing.underscore %>_<%= singular_name %>_path(<%= singular_name %>), t('.view_live_html')) %>
         
     | 
| 
       22 
     | 
    
         
            -
                <%end %>
         
     | 
| 
      
 26 
     | 
    
         
            +
                <% unless skip_frontend? %><%%= action_icon(:preview, refinery.<%= namespacing.underscore %>_<%= singular_name %>_path(<%= singular_name %>), t('.view_live_html')) %><%end %>
         
     | 
| 
       23 
27 
     | 
    
         
             
                <%%= action_icon(:edit,    refinery.edit_<%= namespacing.underscore %>_admin_<%= singular_name %>_path(<%= singular_name %>), t('.edit') ) %>
         
     | 
| 
       24 
28 
     | 
    
         
             
                <%%= action_icon(:delete,  refinery.<%= namespacing.underscore %>_admin_<%= singular_name %>_path(<%= singular_name %>), t('.delete'),
         
     | 
| 
       25 
29 
     | 
    
         
             
                  { class: "cancel confirm-delete",
         
     | 
| 
         @@ -14,7 +14,7 @@ Refinery::I18n.frontend_locales.each do |lang| 
     | 
|
| 
       14 
14 
     | 
    
         
             
                menu_match: "^#{url}(\/|\/.+?|)$"
         
     | 
| 
       15 
15 
     | 
    
         
             
              ) do |page|
         
     | 
| 
       16 
16 
     | 
    
         
             
                Refinery::Pages.default_parts.each_with_index do |part, index|
         
     | 
| 
       17 
     | 
    
         
            -
                  page.parts.build title: part, body: nil, position: index
         
     | 
| 
      
 17 
     | 
    
         
            +
                  page.parts.build title: part[:title], slug: part[:slug], body: nil, position: index
         
     | 
| 
       18 
18 
     | 
    
         
             
                end
         
     | 
| 
       19 
19 
     | 
    
         
             
              end if defined?(Refinery::Page)
         
     | 
| 
       20 
20 
     | 
    
         
             
            <% end -%>
         
     | 
| 
         @@ -7,6 +7,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       7 
7 
     | 
    
         
             
              s.description       = 'Ruby on Rails <%= extension_plural_name.titleize %> extension for Refinery CMS'
         
     | 
| 
       8 
8 
     | 
    
         
             
              s.date              = '<%= Time.now.strftime('%Y-%m-%d') %>'
         
     | 
| 
       9 
9 
     | 
    
         
             
              s.summary           = '<%= extension_plural_name.titleize %> extension for Refinery CMS'
         
     | 
| 
      
 10 
     | 
    
         
            +
              s.authors           = <%= extension_authors %>
         
     | 
| 
       10 
11 
     | 
    
         
             
              s.require_paths     = %w(lib)
         
     | 
| 
       11 
12 
     | 
    
         
             
              s.files             = Dir["{app,config,db,lib}/**/*"] + ["readme.md"]
         
     | 
| 
       12 
13 
     | 
    
         | 
    
        data/lib/refinery.rb
    CHANGED
    
    
| 
         @@ -11,7 +11,7 @@ module Refinery 
     | 
|
| 
       11 
11 
     | 
    
         
             
                                     :current_refinery_user,
         
     | 
| 
       12 
12 
     | 
    
         
             
                                     :authorisation_manager, :authorization_manager
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
                  base.protect_from_forgery # See ActionController::RequestForgeryProtection
         
     | 
| 
      
 14 
     | 
    
         
            +
                  base.protect_from_forgery with: :exception # See ActionController::RequestForgeryProtection
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
                  base.send :include, Refinery::Crud # basic create, read, update and delete methods
         
     | 
| 
       17 
17 
     | 
    
         | 
    
        data/lib/refinery/core/engine.rb
    CHANGED
    
    | 
         @@ -36,7 +36,7 @@ module Refinery 
     | 
|
| 
       36 
36 
     | 
    
         
             
                  # Wrap errors in spans
         
     | 
| 
       37 
37 
     | 
    
         
             
                  config.to_prepare do
         
     | 
| 
       38 
38 
     | 
    
         
             
                    ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
         
     | 
| 
       39 
     | 
    
         
            -
                       
     | 
| 
      
 39 
     | 
    
         
            +
                      ActionController::Base.helpers.content_tag(:span, html_tag, class: "fieldWithErrors")
         
     | 
| 
       40 
40 
     | 
    
         
             
                    end
         
     | 
| 
       41 
41 
     | 
    
         
             
                  end
         
     | 
| 
       42 
42 
     | 
    
         | 
    
        data/lib/refinery/crud.rb
    CHANGED
    
    | 
         @@ -227,7 +227,7 @@ module Refinery 
     | 
|
| 
       227 
227 
     | 
    
         
             
                                :create_or_update_successful,
         
     | 
| 
       228 
228 
     | 
    
         
             
                                :create_or_update_unsuccessful,
         
     | 
| 
       229 
229 
     | 
    
         
             
                                :merge_position_into_params!
         
     | 
| 
       230 
     | 
    
         
            -
                    )
         
     | 
| 
      
 230 
     | 
    
         
            +
                    ), __FILE__, __LINE__
         
     | 
| 
       231 
231 
     | 
    
         | 
| 
       232 
232 
     | 
    
         
             
                    # Methods that are only included when this controller is searchable.
         
     | 
| 
       233 
233 
     | 
    
         
             
                    if options[:searchable]
         
     | 
| 
         @@ -239,7 +239,7 @@ module Refinery 
     | 
|
| 
       239 
239 
     | 
    
         | 
| 
       240 
240 
     | 
    
         
             
                            render_partial_response?
         
     | 
| 
       241 
241 
     | 
    
         
             
                          end
         
     | 
| 
       242 
     | 
    
         
            -
                        )
         
     | 
| 
      
 242 
     | 
    
         
            +
                        ), __FILE__, __LINE__
         
     | 
| 
       243 
243 
     | 
    
         
             
                      else
         
     | 
| 
       244 
244 
     | 
    
         
             
                        module_eval %(
         
     | 
| 
       245 
245 
     | 
    
         
             
                          def index
         
     | 
| 
         @@ -251,7 +251,7 @@ module Refinery 
     | 
|
| 
       251 
251 
     | 
    
         | 
| 
       252 
252 
     | 
    
         
             
                            render_partial_response?
         
     | 
| 
       253 
253 
     | 
    
         
             
                          end
         
     | 
| 
       254 
     | 
    
         
            -
                        )
         
     | 
| 
      
 254 
     | 
    
         
            +
                        ), __FILE__, __LINE__
         
     | 
| 
       255 
255 
     | 
    
         
             
                      end
         
     | 
| 
       256 
256 
     | 
    
         | 
| 
       257 
257 
     | 
    
         
             
                    else
         
     | 
| 
         @@ -262,14 +262,14 @@ module Refinery 
     | 
|
| 
       262 
262 
     | 
    
         | 
| 
       263 
263 
     | 
    
         
             
                            render_partial_response?
         
     | 
| 
       264 
264 
     | 
    
         
             
                          end
         
     | 
| 
       265 
     | 
    
         
            -
                        )
         
     | 
| 
      
 265 
     | 
    
         
            +
                        ), __FILE__, __LINE__
         
     | 
| 
       266 
266 
     | 
    
         
             
                      else
         
     | 
| 
       267 
267 
     | 
    
         
             
                        module_eval %(
         
     | 
| 
       268 
268 
     | 
    
         
             
                          def index
         
     | 
| 
       269 
269 
     | 
    
         
             
                            find_all_#{plural_name}
         
     | 
| 
       270 
270 
     | 
    
         
             
                            render_partial_response?
         
     | 
| 
       271 
271 
     | 
    
         
             
                          end
         
     | 
| 
       272 
     | 
    
         
            -
                        )
         
     | 
| 
      
 272 
     | 
    
         
            +
                        ), __FILE__, __LINE__
         
     | 
| 
       273 
273 
     | 
    
         
             
                      end
         
     | 
| 
       274 
274 
     | 
    
         | 
| 
       275 
275 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -333,7 +333,7 @@ module Refinery 
     | 
|
| 
       333 
333 
     | 
    
         
             
                        end
         
     | 
| 
       334 
334 
     | 
    
         | 
| 
       335 
335 
     | 
    
         
             
                        protected :after_update_positions
         
     | 
| 
       336 
     | 
    
         
            -
                      )
         
     | 
| 
      
 336 
     | 
    
         
            +
                      ), __FILE__, __LINE__
         
     | 
| 
       337 
337 
     | 
    
         
             
                    end
         
     | 
| 
       338 
338 
     | 
    
         | 
| 
       339 
339 
     | 
    
         
             
                    module_eval %(
         
     | 
| 
         @@ -351,7 +351,7 @@ module Refinery 
     | 
|
| 
       351 
351 
     | 
    
         
             
                          #{options[:searchable]}
         
     | 
| 
       352 
352 
     | 
    
         
             
                        end
         
     | 
| 
       353 
353 
     | 
    
         
             
                      end
         
     | 
| 
       354 
     | 
    
         
            -
                    )
         
     | 
| 
      
 354 
     | 
    
         
            +
                    ), __FILE__, __LINE__
         
     | 
| 
       355 
355 
     | 
    
         | 
| 
       356 
356 
     | 
    
         
             
                  end
         
     | 
| 
       357 
357 
     | 
    
         | 
| 
         @@ -6,6 +6,7 @@ module Refinery 
     | 
|
| 
       6 
6 
     | 
    
         
             
                    argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
                    class_option :namespace, :type => :string, :default => nil, :banner => 'NAMESPACE', :required => false
         
     | 
| 
      
 9 
     | 
    
         
            +
                    class_option :authors, :type => :array, :default => [], :banner => 'author author', :required => false, :desc => 'Indicates authors of this extension'
         
     | 
| 
       9 
10 
     | 
    
         
             
                    class_option :extension, :type => :string, :default => nil, :banner => 'ENGINE', :required => false
         
     | 
| 
       10 
11 
     | 
    
         
             
                    class_option :i18n, :type => :array, :default => [], :required => false, :banner => "field field", :desc => 'Indicates generated fields'
         
     | 
| 
       11 
12 
     | 
    
         
             
                    class_option :install, :type => :boolean, :default => false, :required => false, :banner => nil, :desc => 'Bundles and runs the generated generator, rake db:migrate, rake db:seed for you'
         
     | 
| 
         @@ -33,6 +34,10 @@ module Refinery 
     | 
|
| 
       33 
34 
     | 
    
         
             
                  @extension_name ||= options[:extension].presence || singular_name
         
     | 
| 
       34 
35 
     | 
    
         
             
                end
         
     | 
| 
       35 
36 
     | 
    
         | 
| 
      
 37 
     | 
    
         
            +
                def extension_authors
         
     | 
| 
      
 38 
     | 
    
         
            +
                  @extension_authors ||= options[:authors].presence
         
     | 
| 
      
 39 
     | 
    
         
            +
                end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
       36 
41 
     | 
    
         
             
                def extension_class_name
         
     | 
| 
       37 
42 
     | 
    
         
             
                  @extension_class_name ||= extension_name.camelize
         
     | 
| 
       38 
43 
     | 
    
         
             
                end
         
     | 
    
        data/lib/refinery/version.rb
    CHANGED
    
    
    
        data/license.md
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # MIT License
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            Copyright (c) 2005 [Resolve Digital]( 
     | 
| 
      
 3 
     | 
    
         
            +
            Copyright (c) 2005 [Resolve Digital](https://resolve.digital)
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            Permission is hereby granted, free of charge, to any person obtaining a copy
         
     | 
| 
       6 
6 
     | 
    
         
             
            of this software and associated documentation files (the "Software"), to deal
         
     | 
    
        data/refinerycms-core.gemspec
    CHANGED
    
    | 
         @@ -30,6 +30,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       30 
30 
     | 
    
         
             
              s.add_dependency 'truncate_html',               '~> 0.9'
         
     | 
| 
       31 
31 
     | 
    
         
             
              s.add_dependency 'will_paginate',               '~> 3.0.2'
         
     | 
| 
       32 
32 
     | 
    
         
             
              s.add_dependency 'sass-rails',                  '>= 4.0', '< 5.1'
         
     | 
| 
      
 33 
     | 
    
         
            +
              s.add_dependency 'font-awesome-sass',           '>= 4.3.0', '< 5.0'
         
     | 
| 
       33 
34 
     | 
    
         
             
              s.add_dependency 'coffee-rails',                ['~> 4.0', '>= 4.0.0']
         
     | 
| 
       34 
35 
     | 
    
         
             
              s.add_dependency 'jquery-rails',                '>= 2.3.0'
         
     | 
| 
       35 
36 
     | 
    
         
             
              s.add_dependency 'jquery-ui-rails',             '~> 5.0.0'
         
     | 
| 
         @@ -10,5 +10,34 @@ module Refinery 
     | 
|
| 
       10 
10 
     | 
    
         
             
                  end
         
     | 
| 
       11 
11 
     | 
    
         
             
                end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
      
 13 
     | 
    
         
            +
                describe "#translated_field" do
         
     | 
| 
      
 14 
     | 
    
         
            +
                  let(:page) { FactoryGirl.build(:page) }
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                  before do
         
     | 
| 
      
 17 
     | 
    
         
            +
                    Globalize.with_locale(:en) do
         
     | 
| 
      
 18 
     | 
    
         
            +
                      page.title = "draft"
         
     | 
| 
      
 19 
     | 
    
         
            +
                      page.save!
         
     | 
| 
      
 20 
     | 
    
         
            +
                    end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                    Globalize.with_locale(:lv) do
         
     | 
| 
      
 23 
     | 
    
         
            +
                      page.title = "melnraksts"
         
     | 
| 
      
 24 
     | 
    
         
            +
                      page.save!
         
     | 
| 
      
 25 
     | 
    
         
            +
                    end
         
     | 
| 
      
 26 
     | 
    
         
            +
                  end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                  context "when title is present" do
         
     | 
| 
      
 29 
     | 
    
         
            +
                    it "returns it" do
         
     | 
| 
      
 30 
     | 
    
         
            +
                      expect(helper.translated_field(page, :title)).to eq("draft")
         
     | 
| 
      
 31 
     | 
    
         
            +
                    end
         
     | 
| 
      
 32 
     | 
    
         
            +
                  end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                  context "when title for current locale isn't available" do
         
     | 
| 
      
 35 
     | 
    
         
            +
                    it "returns existing title from translations" do
         
     | 
| 
      
 36 
     | 
    
         
            +
                      Page.translation_class.where(locale: :en).first.destroy
         
     | 
| 
      
 37 
     | 
    
         
            +
                      expect(helper.translated_field(page, :title)).to eq("melnraksts")
         
     | 
| 
      
 38 
     | 
    
         
            +
                    end
         
     | 
| 
      
 39 
     | 
    
         
            +
                  end
         
     | 
| 
      
 40 
     | 
    
         
            +
                end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
       13 
42 
     | 
    
         
             
              end
         
     | 
| 
       14 
     | 
    
         
            -
            end
         
     | 
| 
      
 43 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,90 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'generator_spec/test_case'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'generators/refinery/engine/engine_generator'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            module Refinery
         
     | 
| 
      
 6 
     | 
    
         
            +
              describe EngineGenerator do
         
     | 
| 
      
 7 
     | 
    
         
            +
                include GeneratorSpec::TestCase
         
     | 
| 
      
 8 
     | 
    
         
            +
                destination File.expand_path("../../../../../../tmp", __FILE__)
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                before do
         
     | 
| 
      
 11 
     | 
    
         
            +
                  prepare_destination
         
     | 
| 
      
 12 
     | 
    
         
            +
                  run_generator %w{ rspec_product_test title:string description:text image:image brochure:resource --authors Author1 Author2 }
         
     | 
| 
      
 13 
     | 
    
         
            +
                end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                it "uses reference columns for image and resource attributes" do
         
     | 
| 
      
 16 
     | 
    
         
            +
                  File.open("#{destination_root}/vendor/extensions/rspec_product_tests/refinerycms-rspec_product_tests.gemspec") do |file|
         
     | 
| 
      
 17 
     | 
    
         
            +
                    content = file.read
         
     | 
| 
      
 18 
     | 
    
         
            +
                    expect(content.include?('["Author1", "Author2"]')).to be_truthy
         
     | 
| 
      
 19 
     | 
    
         
            +
                  end
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                specify do
         
     | 
| 
      
 23 
     | 
    
         
            +
                  expect(destination_root).to have_structure {
         
     | 
| 
      
 24 
     | 
    
         
            +
                    directory "vendor" do
         
     | 
| 
      
 25 
     | 
    
         
            +
                      directory "extensions" do
         
     | 
| 
      
 26 
     | 
    
         
            +
                        directory "rspec_product_tests" do
         
     | 
| 
      
 27 
     | 
    
         
            +
                          directory "app" do
         
     | 
| 
      
 28 
     | 
    
         
            +
                            directory "controllers" do
         
     | 
| 
      
 29 
     | 
    
         
            +
                              directory "refinery" do
         
     | 
| 
      
 30 
     | 
    
         
            +
                                directory "rspec_product_tests" do
         
     | 
| 
      
 31 
     | 
    
         
            +
                                  directory "admin" do
         
     | 
| 
      
 32 
     | 
    
         
            +
                                    file "rspec_product_tests_controller.rb"
         
     | 
| 
      
 33 
     | 
    
         
            +
                                  end
         
     | 
| 
      
 34 
     | 
    
         
            +
                                  file "rspec_product_tests_controller.rb"
         
     | 
| 
      
 35 
     | 
    
         
            +
                                end
         
     | 
| 
      
 36 
     | 
    
         
            +
                              end
         
     | 
| 
      
 37 
     | 
    
         
            +
                            end
         
     | 
| 
      
 38 
     | 
    
         
            +
                            directory "models" do
         
     | 
| 
      
 39 
     | 
    
         
            +
                              directory "refinery" do
         
     | 
| 
      
 40 
     | 
    
         
            +
                                directory "rspec_product_tests" do
         
     | 
| 
      
 41 
     | 
    
         
            +
                                  file "rspec_product_test.rb"
         
     | 
| 
      
 42 
     | 
    
         
            +
                                end
         
     | 
| 
      
 43 
     | 
    
         
            +
                              end
         
     | 
| 
      
 44 
     | 
    
         
            +
                            end
         
     | 
| 
      
 45 
     | 
    
         
            +
                            directory "views" do
         
     | 
| 
      
 46 
     | 
    
         
            +
                              directory "refinery" do
         
     | 
| 
      
 47 
     | 
    
         
            +
                                directory "rspec_product_tests" do
         
     | 
| 
      
 48 
     | 
    
         
            +
                                  directory "admin" do
         
     | 
| 
      
 49 
     | 
    
         
            +
                                    directory "rspec_product_tests" do
         
     | 
| 
      
 50 
     | 
    
         
            +
                                      file "_form.html.erb"
         
     | 
| 
      
 51 
     | 
    
         
            +
                                      file "_sortable_list.html.erb"
         
     | 
| 
      
 52 
     | 
    
         
            +
                                      file "edit.html.erb"
         
     | 
| 
      
 53 
     | 
    
         
            +
                                      file "index.html.erb"
         
     | 
| 
      
 54 
     | 
    
         
            +
                                      file "new.html.erb"
         
     | 
| 
      
 55 
     | 
    
         
            +
                                      file "_rspec_product_test.html.erb"
         
     | 
| 
      
 56 
     | 
    
         
            +
                                    end
         
     | 
| 
      
 57 
     | 
    
         
            +
                                  end
         
     | 
| 
      
 58 
     | 
    
         
            +
                                  directory "rspec_product_tests" do
         
     | 
| 
      
 59 
     | 
    
         
            +
                                    file "index.html.erb"
         
     | 
| 
      
 60 
     | 
    
         
            +
                                    file "show.html.erb"
         
     | 
| 
      
 61 
     | 
    
         
            +
                                  end
         
     | 
| 
      
 62 
     | 
    
         
            +
                                end
         
     | 
| 
      
 63 
     | 
    
         
            +
                              end
         
     | 
| 
      
 64 
     | 
    
         
            +
                            end
         
     | 
| 
      
 65 
     | 
    
         
            +
                          end
         
     | 
| 
      
 66 
     | 
    
         
            +
                          directory "lib" do
         
     | 
| 
      
 67 
     | 
    
         
            +
                            file "refinerycms-rspec_product_tests.rb"
         
     | 
| 
      
 68 
     | 
    
         
            +
                          end
         
     | 
| 
      
 69 
     | 
    
         
            +
                          directory "spec" do
         
     | 
| 
      
 70 
     | 
    
         
            +
                            file "spec_helper.rb"
         
     | 
| 
      
 71 
     | 
    
         
            +
                          end
         
     | 
| 
      
 72 
     | 
    
         
            +
                          directory "tasks" do
         
     | 
| 
      
 73 
     | 
    
         
            +
                            file "testing.rake"
         
     | 
| 
      
 74 
     | 
    
         
            +
                            file "rspec.rake"
         
     | 
| 
      
 75 
     | 
    
         
            +
                          end
         
     | 
| 
      
 76 
     | 
    
         
            +
                          directory "config" do
         
     | 
| 
      
 77 
     | 
    
         
            +
                            directory "locales" do
         
     | 
| 
      
 78 
     | 
    
         
            +
                              file "en.yml"
         
     | 
| 
      
 79 
     | 
    
         
            +
                            end
         
     | 
| 
      
 80 
     | 
    
         
            +
                            file "routes.rb"
         
     | 
| 
      
 81 
     | 
    
         
            +
                          end
         
     | 
| 
      
 82 
     | 
    
         
            +
                          file "Gemfile"
         
     | 
| 
      
 83 
     | 
    
         
            +
                          file "Rakefile"
         
     | 
| 
      
 84 
     | 
    
         
            +
                        end
         
     | 
| 
      
 85 
     | 
    
         
            +
                      end
         
     | 
| 
      
 86 
     | 
    
         
            +
                    end
         
     | 
| 
      
 87 
     | 
    
         
            +
                  }
         
     | 
| 
      
 88 
     | 
    
         
            +
                end
         
     | 
| 
      
 89 
     | 
    
         
            +
              end
         
     | 
| 
      
 90 
     | 
    
         
            +
            end
         
     |