beyond_canvas 0.16.2.pre → 0.17.0.pre
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/config/beyond_canvas_manifest.js +1 -0
 - data/app/assets/images/icons/arrow_right.svg +1 -0
 - data/app/assets/images/icons/close.svg +1 -0
 - data/app/assets/images/icons/home.svg +1 -0
 - data/app/assets/javascripts/beyond_canvas/base.js +120 -246
 - data/app/assets/stylesheets/beyond_canvas/base.scss +8 -1
 - data/app/assets/stylesheets/beyond_canvas/components/_action_bar.scss +28 -0
 - data/app/assets/stylesheets/beyond_canvas/components/_breadcrumbs.scss +29 -0
 - data/app/assets/stylesheets/beyond_canvas/components/_buttons.scss +1 -1
 - data/app/assets/stylesheets/beyond_canvas/components/_debug.scss +10 -0
 - data/app/assets/stylesheets/beyond_canvas/components/_forms.scss +11 -14
 - data/app/assets/stylesheets/beyond_canvas/components/_main.scss +12 -13
 - data/app/assets/stylesheets/beyond_canvas/components/_margins.scss +8 -0
 - data/app/assets/stylesheets/beyond_canvas/components/_menu.scss +40 -0
 - data/app/assets/stylesheets/beyond_canvas/components/_modals.scss +27 -0
 - data/app/assets/stylesheets/beyond_canvas/components/_sidebar.scss +53 -0
 - data/app/assets/stylesheets/beyond_canvas/components/_titles.scss +7 -0
 - data/app/assets/stylesheets/beyond_canvas/settings/_variables.scss +64 -9
 - data/app/controllers/beyond_canvas/application_controller.rb +2 -0
 - data/app/controllers/beyond_canvas/authentications_controller.rb +37 -30
 - data/app/controllers/concerns/beyond_canvas/authentication.rb +1 -12
 - data/app/controllers/concerns/beyond_canvas/locale_management.rb +5 -4
 - data/app/helpers/beyond_canvas/authentications_helper.rb +28 -0
 - data/app/helpers/beyond_canvas/cockpit_app_helper.rb +17 -0
 - data/app/helpers/beyond_canvas/debug_helper.rb +9 -0
 - data/app/helpers/beyond_canvas/locale_switch_helper.rb +5 -1
 - data/app/javascript/beyond_canvas/base.js +3 -0
 - data/app/javascript/beyond_canvas/initializers/buttons.js +65 -19
 - data/app/javascript/beyond_canvas/initializers/flash.js +9 -2
 - data/app/javascript/beyond_canvas/initializers/inputs.js +4 -1
 - data/app/javascript/beyond_canvas/initializers/modals.js +14 -0
 - data/app/views/beyond_canvas/authentications/new.html.erb +19 -10
 - data/app/views/beyond_canvas/shared/_action_bar.html.erb +15 -0
 - data/app/views/beyond_canvas/shared/_breadcrumbs.html.erb +14 -0
 - data/app/views/beyond_canvas/shared/_flash.html.erb +22 -12
 - data/app/views/beyond_canvas/shared/_locales.html.erb +8 -0
 - data/app/views/beyond_canvas/shared/_menu.html.erb +31 -0
 - data/app/views/beyond_canvas/shared/_modal.html.erb +6 -0
 - data/app/views/beyond_canvas/shared/_sidebar.html.erb +16 -0
 - data/app/views/layouts/beyond_canvas/application.html.erb +31 -0
 - data/app/views/layouts/beyond_canvas/public.html.erb +11 -4
 - data/config/locales/en.yml +5 -0
 - data/config/routes.rb +5 -4
 - data/lib/beyond_canvas.rb +12 -12
 - data/lib/beyond_canvas/configuration.rb +11 -6
 - data/lib/beyond_canvas/engine.rb +4 -2
 - data/lib/beyond_canvas/menu_item_registration.rb +19 -0
 - data/lib/beyond_canvas/parameter_sanitizer.rb +1 -1
 - data/lib/beyond_canvas/rails/routes.rb +8 -7
 - data/lib/beyond_canvas/version.rb +1 -1
 - data/lib/generators/beyond_canvas/controller/controller_generator.rb +1 -2
 - data/lib/generators/beyond_canvas/controller/templates/controller.erb +2 -19
 - data/lib/generators/beyond_canvas/custom_menu/custom_menu_generator.rb +13 -0
 - data/lib/generators/beyond_canvas/custom_menu/templates/beyond_canvas_custom_menu.html.erb +32 -0
 - data/lib/generators/beyond_canvas/custom_styles/custom_styles_generator.rb +1 -1
 - data/lib/generators/beyond_canvas/custom_styles/templates/beyond_canvas_custom_styles.scss +55 -9
 - data/lib/generators/beyond_canvas/install/install_generator.rb +3 -5
 - data/lib/generators/beyond_canvas/install/templates/beyond_canvas.rb.erb +51 -13
 - data/lib/generators/beyond_canvas/{auth_model/auth_model_generator.rb → model/model_generator.rb} +4 -5
 - data/lib/generators/beyond_canvas/{auth_model → model}/templates/migration.erb +2 -4
 - data/lib/generators/beyond_canvas/{auth_model → model}/templates/model.erb +0 -0
 - data/lib/generators/beyond_canvas/views/views_generator.rb +4 -6
 - data/lib/models/concerns/authentication.rb +57 -0
 - data/lib/models/concerns/utils.rb +79 -0
 - data/lib/models/shop.rb +12 -0
 - metadata +69 -30
 - data/app/controllers/concerns/beyond_canvas/resource_management.rb +0 -33
 - data/app/javascript/beyond_canvas/initializers/functions.js +0 -41
 - data/app/views/beyond_canvas/locales/_edit.html.erb +0 -8
 - data/lib/beyond_canvas/models/authentication.rb +0 -66
 - data/lib/beyond_canvas/models/shop.rb +0 -28
 - data/lib/beyond_canvas/models/utils.rb +0 -55
 
| 
         @@ -6,13 +6,11 @@ module BeyondCanvas 
     | 
|
| 
       6 
6 
     | 
    
         
             
                  desc 'Installs Beyond Canvas and generates the necessary files'
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
                  class_option :skip_webpacker, type: :boolean, default: false, desc: 'Use Sprockets assets instead of Webpacker'
         
     | 
| 
       9 
     | 
    
         
            -
                  class_option :auth_model, type: :string, default: 'shop', desc: 'Authentication model'
         
     | 
| 
       10 
9 
     | 
    
         | 
| 
       11 
10 
     | 
    
         
             
                  source_root File.expand_path('templates', __dir__)
         
     | 
| 
       12 
11 
     | 
    
         | 
| 
       13 
12 
     | 
    
         
             
                  def copy_initializer
         
     | 
| 
       14 
13 
     | 
    
         
             
                    @skip_webpacker = options[:skip_webpacker]
         
     | 
| 
       15 
     | 
    
         
            -
                    @auth_model = options[:auth_model]
         
     | 
| 
       16 
14 
     | 
    
         | 
| 
       17 
15 
     | 
    
         
             
                    template 'beyond_canvas.rb.erb', 'config/initializers/beyond_canvas.rb'
         
     | 
| 
       18 
16 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -29,12 +27,12 @@ module BeyondCanvas 
     | 
|
| 
       29 
27 
     | 
    
         
             
                    generate 'beyond_canvas:beyond_api'
         
     | 
| 
       30 
28 
     | 
    
         
             
                  end
         
     | 
| 
       31 
29 
     | 
    
         | 
| 
       32 
     | 
    
         
            -
                  def  
     | 
| 
       33 
     | 
    
         
            -
                    generate  
     | 
| 
      
 30 
     | 
    
         
            +
                  def generate_model
         
     | 
| 
      
 31 
     | 
    
         
            +
                    generate 'beyond_canvas:model shop'
         
     | 
| 
       34 
32 
     | 
    
         
             
                  end
         
     | 
| 
       35 
33 
     | 
    
         | 
| 
       36 
34 
     | 
    
         
             
                  def setup_routes
         
     | 
| 
       37 
     | 
    
         
            -
                    route  
     | 
| 
      
 35 
     | 
    
         
            +
                    route 'beyond_canvas_routes'
         
     | 
| 
       38 
36 
     | 
    
         
             
                  end
         
     | 
| 
       39 
37 
     | 
    
         | 
| 
       40 
38 
     | 
    
         
             
                  def copy_locale
         
     | 
| 
         @@ -1,9 +1,41 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            BeyondCanvas.setup do |config|
         
     | 
| 
      
 4 
     | 
    
         
            +
              # Carefully read and fill this configuration file.
         
     | 
| 
      
 5 
     | 
    
         
            +
              #
         
     | 
| 
      
 6 
     | 
    
         
            +
              # All uncommented configuration parameters are necessary for proper operation
         
     | 
| 
      
 7 
     | 
    
         
            +
              # of Beyond Canvas.
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              # ==> Engine configuration
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              # Set the namespace where the Engine is going to be mounted.
         
     | 
| 
      
 12 
     | 
    
         
            +
              #
         
     | 
| 
      
 13 
     | 
    
         
            +
              # config.namespace = '/'
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              # Set the url or path where a shop is going to be redirected after a
         
     | 
| 
      
 16 
     | 
    
         
            +
              # succesful authentication.
         
     | 
| 
      
 17 
     | 
    
         
            +
              #
         
     | 
| 
      
 18 
     | 
    
         
            +
              config.open_app_url = nil
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              # Set if your app ig going to run as a cockpit app. If you are not sure about
         
     | 
| 
      
 21 
     | 
    
         
            +
              # this, please contact apps@epages.com.
         
     | 
| 
      
 22 
     | 
    
         
            +
              #
         
     | 
| 
      
 23 
     | 
    
         
            +
              # config.cockpit_app = false
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
              # Set if your app is going to be preinstalled on packages. If you are not sure
         
     | 
| 
      
 26 
     | 
    
         
            +
              # about this, please contact apps@epages.com.
         
     | 
| 
      
 27 
     | 
    
         
            +
              #
         
     | 
| 
      
 28 
     | 
    
         
            +
              # config.preinstalled = false
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
              # Set if you want to enable the available debug mode Beyond Canvas offers.
         
     | 
| 
      
 31 
     | 
    
         
            +
              # This options displays a parameter debug as well as some custom Beyond Canvas
         
     | 
| 
      
 32 
     | 
    
         
            +
              # logs.
         
     | 
| 
      
 33 
     | 
    
         
            +
              #
         
     | 
| 
      
 34 
     | 
    
         
            +
              # config.debug_mode = false
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
       4 
36 
     | 
    
         
             
              # ==> Site configuration
         
     | 
| 
       5 
37 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
              # Set the title that is displayed on the main layout 
     | 
| 
      
 38 
     | 
    
         
            +
              # Set the title that is displayed on the main layout.
         
     | 
| 
       7 
39 
     | 
    
         
             
              #
         
     | 
| 
       8 
40 
     | 
    
         
             
              config.site_title = '<%= Rails.application.class.name.split("::").first.humanize %>'
         
     | 
| 
       9 
41 
     | 
    
         | 
| 
         @@ -17,35 +49,41 @@ BeyondCanvas.setup do |config| 
     | 
|
| 
       17 
49 
     | 
    
         
             
              #
         
     | 
| 
       18 
50 
     | 
    
         
             
              # config.favicon = 'favicon.ico'
         
     | 
| 
       19 
51 
     | 
    
         | 
| 
      
 52 
     | 
    
         
            +
              # Set the menu items that will be displayed on the top of your app.
         
     | 
| 
      
 53 
     | 
    
         
            +
              # It accepts 3 parameters:
         
     | 
| 
      
 54 
     | 
    
         
            +
              #   1. name: the text displayed on the link tag. Supports any string or an I18n compatible path.
         
     | 
| 
      
 55 
     | 
    
         
            +
              #   2. url: the href of the link tag. Supports any string or a symbolized route.
         
     | 
| 
      
 56 
     | 
    
         
            +
              #   3. options: any html attributes that will be added to the link tag.
         
     | 
| 
      
 57 
     | 
    
         
            +
              # You can also run `rails g beyond_canvas:custom_menu` to generate a menu template you can override.
         
     | 
| 
      
 58 
     | 
    
         
            +
              # See examples:
         
     | 
| 
      
 59 
     | 
    
         
            +
              #
         
     | 
| 
      
 60 
     | 
    
         
            +
              # config.register_menu_item 'Contact', '/contact/, class: 'contact'
         
     | 
| 
      
 61 
     | 
    
         
            +
              # config.register_menu_item 'menu_item.about_us', :root_path, class: 'about-us', id: 'about-us'
         
     | 
| 
      
 62 
     | 
    
         
            +
              # config.register_menu_item 'Our website', 'https://epages.com', target: :_blank
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
       20 
64 
     | 
    
         
             
              # ==> Stylesheets & Javascripts
         
     | 
| 
       21 
65 
     | 
    
         | 
| 
       22 
66 
     | 
    
         
             
              # We recommend using the built in Beyond Canvas layout and loading up your own
         
     | 
| 
       23 
67 
     | 
    
         
             
              # stylesheets / javascripts to customize the look and feel.
         
     | 
| 
       24 
68 
     | 
    
         
             
              #
         
     | 
| 
       25 
69 
     | 
    
         
             
              # To load a stylesheet:
         
     | 
| 
       26 
     | 
    
         
            -
              # 
     | 
| 
      
 70 
     | 
    
         
            +
              # config.register_stylesheet 'my_stylesheet.css'
         
     | 
| 
       27 
71 
     | 
    
         
             
              #
         
     | 
| 
       28 
     | 
    
         
            -
              # You can provide an options hash for more control, which is passed along 
     | 
| 
       29 
     | 
    
         
            -
              # 
     | 
| 
      
 72 
     | 
    
         
            +
              # You can provide an options hash for more control, which is passed along
         
     | 
| 
      
 73 
     | 
    
         
            +
              # to stylesheet_link_tag():
         
     | 
| 
      
 74 
     | 
    
         
            +
              # config.register_stylesheet 'my_print_stylesheet.css', media: :print
         
     | 
| 
       30 
75 
     | 
    
         
             
              #
         
     | 
| 
       31 
76 
     | 
    
         
             
              # To load a javascript file:
         
     | 
| 
       32 
     | 
    
         
            -
              # 
     | 
| 
      
 77 
     | 
    
         
            +
              # config.register_javascript 'my_javascript.js'
         
     | 
| 
       33 
78 
     | 
    
         | 
| 
       34 
79 
     | 
    
         
             
              # ==> Webpacker
         
     | 
| 
       35 
80 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
              # By default,  
     | 
| 
      
 81 
     | 
    
         
            +
              # By default, Beyond Canvas uses Webpacker.
         
     | 
| 
       37 
82 
     | 
    
         
             
              # You can switch to using Sprocket's asset pipeline here.
         
     | 
| 
       38 
83 
     | 
    
         
             
              #
         
     | 
| 
       39 
84 
     | 
    
         
             
              <% unless @skip_webpacker %># <% end %>config.skip_webpacker = <%= @skip_webpacker %>
         
     | 
| 
       40 
85 
     | 
    
         | 
| 
       41 
86 
     | 
    
         
             
              # ==> Authentication with ePages Beyond API
         
     | 
| 
       42 
87 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
              # Default model is shop
         
     | 
| 
       44 
     | 
    
         
            -
              #
         
     | 
| 
       45 
88 
     | 
    
         
             
              config.encryption_key = '<%= SecureRandom.hex(32) %>'
         
     | 
| 
       46 
     | 
    
         
            -
              config.blind_index_key = '<%= SecureRandom.hex(32) %>'
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
              # ==> Mountable engine configuration
         
     | 
| 
       49 
     | 
    
         
            -
              #
         
     | 
| 
       50 
     | 
    
         
            -
              #   config.namespace = '/'
         
     | 
| 
       51 
89 
     | 
    
         
             
            end
         
     | 
    
        data/lib/generators/beyond_canvas/{auth_model/auth_model_generator.rb → model/model_generator.rb}
    RENAMED
    
    | 
         @@ -4,7 +4,7 @@ require 'rails/generators/active_record' 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            module BeyondCanvas
         
     | 
| 
       6 
6 
     | 
    
         
             
              module Generators
         
     | 
| 
       7 
     | 
    
         
            -
                class  
     | 
| 
      
 7 
     | 
    
         
            +
                class ModelGenerator < ActiveRecord::Generators::Base # :nodoc:
         
     | 
| 
       8 
8 
     | 
    
         
             
                  desc 'Generates a model with the given name and provides a method to authenticate in Beyond Backend'
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
                  argument :attributes, type: :array, default: [], banner: 'field:type field:type'
         
     | 
| 
         @@ -19,7 +19,7 @@ module BeyondCanvas 
     | 
|
| 
       19 
19 
     | 
    
         
             
                  end
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
                  def generate_model
         
     | 
| 
       22 
     | 
    
         
            -
                    template 'model.erb', File.join( 
     | 
| 
      
 22 
     | 
    
         
            +
                    template 'model.erb', File.join("app/models/#{file_path}.rb")
         
     | 
| 
       23 
23 
     | 
    
         
             
                  end
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
                  private
         
     | 
| 
         @@ -34,15 +34,14 @@ module BeyondCanvas 
     | 
|
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
                  def migration_data
         
     | 
| 
       36 
36 
     | 
    
         
             
                    <<RUBY
         
     | 
| 
       37 
     | 
    
         
            -
                  t.string : 
     | 
| 
       38 
     | 
    
         
            -
                  t.string :encrypted_beyond_api_url_iv,    null: false
         
     | 
| 
       39 
     | 
    
         
            -
                  t.string :beyond_api_url_bidx,            null: false
         
     | 
| 
      
 37 
     | 
    
         
            +
                  t.string :beyond_api_url, null: false
         
     | 
| 
       40 
38 
     | 
    
         | 
| 
       41 
39 
     | 
    
         
             
                  t.text :encrypted_beyond_access_token,    null: true
         
     | 
| 
       42 
40 
     | 
    
         
             
                  t.text :encrypted_beyond_access_token_iv, null: true
         
     | 
| 
       43 
41 
     | 
    
         | 
| 
       44 
42 
     | 
    
         
             
                  t.text :encrypted_beyond_refresh_token,    null: true
         
     | 
| 
       45 
43 
     | 
    
         
             
                  t.text :encrypted_beyond_refresh_token_iv, null: true
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
       46 
45 
     | 
    
         
             
            RUBY
         
     | 
| 
       47 
46 
     | 
    
         
             
                  end
         
     | 
| 
       48 
47 
     | 
    
         
             
                end
         
     | 
| 
         @@ -4,16 +4,14 @@ class BeyondCanvasCreate<%= table_name.camelize %> < ActiveRecord::Migration<%= 
     | 
|
| 
       4 
4 
     | 
    
         
             
              def change
         
     | 
| 
       5 
5 
     | 
    
         
             
                create_table :<%= table_name %><%= primary_key_type %> do |t|
         
     | 
| 
       6 
6 
     | 
    
         
             
            <%= migration_data -%>
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
7 
     | 
    
         
             
            <% attributes.each do |attribute| -%>
         
     | 
| 
       9 
8 
     | 
    
         
             
                t.<%= attribute.type %> :<%= attribute.name %>
         
     | 
| 
       10 
     | 
    
         
            -
            <% end -%>
         
     | 
| 
       11 
9 
     | 
    
         | 
| 
      
 10 
     | 
    
         
            +
            <% end -%>
         
     | 
| 
       12 
11 
     | 
    
         
             
                  t.timestamps null: false
         
     | 
| 
       13 
12 
     | 
    
         
             
                end
         
     | 
| 
       14 
13 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
                add_index :<%= table_name %>, : 
     | 
| 
       16 
     | 
    
         
            -
                add_index :<%= table_name %>, :beyond_api_url_bidx,               unique: true
         
     | 
| 
      
 14 
     | 
    
         
            +
                add_index :<%= table_name %>, :beyond_api_url,                    unique: true
         
     | 
| 
       17 
15 
     | 
    
         
             
                add_index :<%= table_name %>, :encrypted_beyond_access_token_iv,  unique: true
         
     | 
| 
       18 
16 
     | 
    
         
             
                add_index :<%= table_name %>, :encrypted_beyond_refresh_token_iv, unique: true
         
     | 
| 
       19 
17 
     | 
    
         
             
              end
         
     | 
| 
         
            File without changes
         
     | 
| 
         @@ -5,14 +5,12 @@ require 'rails/generators/active_record' 
     | 
|
| 
       5 
5 
     | 
    
         
             
            module BeyondCanvas
         
     | 
| 
       6 
6 
     | 
    
         
             
              module Generators
         
     | 
| 
       7 
7 
     | 
    
         
             
                class ViewsGenerator < Rails::Generators::Base # :nodoc:
         
     | 
| 
       8 
     | 
    
         
            -
                  desc 'Creates  
     | 
| 
      
 8 
     | 
    
         
            +
                  desc 'Creates all Beyond Canvas views to overwrite them'
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
                   
     | 
| 
      
 10 
     | 
    
         
            +
                  source_root File.expand_path('../../../../app/views/beyond_canvas', __dir__)
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
                   
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                  def create_view
         
     | 
| 
       15 
     | 
    
         
            -
                    copy_file 'new.html.erb', "app/views/#{scope}/new.html.erb"
         
     | 
| 
      
 12 
     | 
    
         
            +
                  def copy_views
         
     | 
| 
      
 13 
     | 
    
         
            +
                    directory 'authentications', 'app/views/beyond_canvas/authentications'
         
     | 
| 
       16 
14 
     | 
    
         
             
                  end
         
     | 
| 
       17 
15 
     | 
    
         
             
                end
         
     | 
| 
       18 
16 
     | 
    
         
             
              end
         
     | 
| 
         @@ -0,0 +1,57 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module BeyondCanvas
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Models
         
     | 
| 
      
 5 
     | 
    
         
            +
                module Concerns
         
     | 
| 
      
 6 
     | 
    
         
            +
                  module Authentication # :nodoc:
         
     | 
| 
      
 7 
     | 
    
         
            +
                    extend ActiveSupport::Concern
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                    included do
         
     | 
| 
      
 10 
     | 
    
         
            +
                      attr_accessor :code, :signature, :access_token_url, :api_url, :return_url, :terms
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                      ##############################################################################
         
     | 
| 
      
 13 
     | 
    
         
            +
                      # Encrypted attribute configuration
         
     | 
| 
      
 14 
     | 
    
         
            +
                      ##############################################################################
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                      attr_encrypted :beyond_access_token,  key: [BeyondCanvas.configuration.encryption_key].pack('H*')
         
     | 
| 
      
 17 
     | 
    
         
            +
                      attr_encrypted :beyond_refresh_token, key: [BeyondCanvas.configuration.encryption_key].pack('H*')
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                      ##############################################################################
         
     | 
| 
      
 20 
     | 
    
         
            +
                      # Validations
         
     | 
| 
      
 21 
     | 
    
         
            +
                      ##############################################################################
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                      # Database fields
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                      validates :beyond_api_url,
         
     | 
| 
      
 26 
     | 
    
         
            +
                                presence: true
         
     | 
| 
      
 27 
     | 
    
         
            +
                      validates :beyond_access_token,
         
     | 
| 
      
 28 
     | 
    
         
            +
                                presence: true,
         
     | 
| 
      
 29 
     | 
    
         
            +
                                unless: -> { encrypted_beyond_access_token_was.blank? }
         
     | 
| 
      
 30 
     | 
    
         
            +
                      validates :beyond_refresh_token,
         
     | 
| 
      
 31 
     | 
    
         
            +
                                presence: true,
         
     | 
| 
      
 32 
     | 
    
         
            +
                                unless: -> { encrypted_beyond_refresh_token_was.blank? }
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                      ##############################################################################
         
     | 
| 
      
 35 
     | 
    
         
            +
                      # Instance methods
         
     | 
| 
      
 36 
     | 
    
         
            +
                      ##############################################################################
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                      #
         
     | 
| 
      
 39 
     | 
    
         
            +
                      # Get and save access_token and refresh_token using the authentication code
         
     | 
| 
      
 40 
     | 
    
         
            +
                      # NOTE: This method is used during the shop creation, as it is the only point
         
     | 
| 
      
 41 
     | 
    
         
            +
                      # we know about the authentication code
         
     | 
| 
      
 42 
     | 
    
         
            +
                      #
         
     | 
| 
      
 43 
     | 
    
         
            +
                      def authenticate(params_code)
         
     | 
| 
      
 44 
     | 
    
         
            +
                        session = BeyondApi::Session.new(api_url: beyond_api_url)
         
     | 
| 
      
 45 
     | 
    
         
            +
                        session.token.create(params_code)
         
     | 
| 
      
 46 
     | 
    
         
            +
                        update(beyond_access_token: session.access_token,
         
     | 
| 
      
 47 
     | 
    
         
            +
                               beyond_refresh_token: session.refresh_token)
         
     | 
| 
      
 48 
     | 
    
         
            +
                      end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                      def authenticated?
         
     | 
| 
      
 51 
     | 
    
         
            +
                        beyond_access_token.present? && beyond_refresh_token.present?
         
     | 
| 
      
 52 
     | 
    
         
            +
                      end
         
     | 
| 
      
 53 
     | 
    
         
            +
                    end
         
     | 
| 
      
 54 
     | 
    
         
            +
                  end
         
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
              end
         
     | 
| 
      
 57 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,79 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require 'jwt'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            module BeyondCanvas
         
     | 
| 
      
 6 
     | 
    
         
            +
              module Models
         
     | 
| 
      
 7 
     | 
    
         
            +
                module Concerns
         
     | 
| 
      
 8 
     | 
    
         
            +
                  module Utils # :nodoc:
         
     | 
| 
      
 9 
     | 
    
         
            +
                    extend ActiveSupport::Concern
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                    included do
         
     | 
| 
      
 12 
     | 
    
         
            +
                      ##############################################################################
         
     | 
| 
      
 13 
     | 
    
         
            +
                      # Instance methods
         
     | 
| 
      
 14 
     | 
    
         
            +
                      ##############################################################################
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                      #
         
     | 
| 
      
 17 
     | 
    
         
            +
                      # Generates a new access_token and refresh_token
         
     | 
| 
      
 18 
     | 
    
         
            +
                      #
         
     | 
| 
      
 19 
     | 
    
         
            +
                      def refresh_token
         
     | 
| 
      
 20 
     | 
    
         
            +
                        beyond_session = BeyondApi::Session.new(api_url: beyond_api_url, refresh_token: beyond_refresh_token)
         
     | 
| 
      
 21 
     | 
    
         
            +
                        beyond_session.token.refresh
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                        update(beyond_access_token: beyond_session.access_token,
         
     | 
| 
      
 24 
     | 
    
         
            +
                               beyond_refresh_token: beyond_session.refresh_token)
         
     | 
| 
      
 25 
     | 
    
         
            +
                      end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                      #
         
     | 
| 
      
 28 
     | 
    
         
            +
                      # Generates a new access_token and refresh_token if they have expired
         
     | 
| 
      
 29 
     | 
    
         
            +
                      #
         
     | 
| 
      
 30 
     | 
    
         
            +
                      def refresh_token_if_needed
         
     | 
| 
      
 31 
     | 
    
         
            +
                        token_timestamp = decoded_jwt['exp']
         
     | 
| 
      
 32 
     | 
    
         
            +
                        current_timestamp = DateTime.now.to_i
         
     | 
| 
      
 33 
     | 
    
         
            +
                        return unless token_timestamp - current_timestamp <= 3600
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                        refresh_token
         
     | 
| 
      
 36 
     | 
    
         
            +
                      end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                      #
         
     | 
| 
      
 39 
     | 
    
         
            +
                      # Returns a BeyondApi::Session object with api_url, access_token and refresh_token attributes
         
     | 
| 
      
 40 
     | 
    
         
            +
                      #
         
     | 
| 
      
 41 
     | 
    
         
            +
                      def to_session
         
     | 
| 
      
 42 
     | 
    
         
            +
                        BeyondApi::Session.new(api_url: beyond_api_url,
         
     | 
| 
      
 43 
     | 
    
         
            +
                                                access_token: beyond_access_token,
         
     | 
| 
      
 44 
     | 
    
         
            +
                                                refresh_token: beyond_refresh_token)
         
     | 
| 
      
 45 
     | 
    
         
            +
                      end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                      #
         
     | 
| 
      
 48 
     | 
    
         
            +
                      # Returns the shop url
         
     | 
| 
      
 49 
     | 
    
         
            +
                      #
         
     | 
| 
      
 50 
     | 
    
         
            +
                      def url
         
     | 
| 
      
 51 
     | 
    
         
            +
                        "https://#{URI.parse(beyond_api_url).host}"
         
     | 
| 
      
 52 
     | 
    
         
            +
                      end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                      def has_scope?(scope)
         
     | 
| 
      
 55 
     | 
    
         
            +
                        return unless scope.include?(':')
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                        base, scope = scope.split(':')
         
     | 
| 
      
 58 
     | 
    
         
            +
                        !!(decoded_jwt['scope'].find { |s| s.split(':').first == base } =~ /#{base}:.*#{scope}.*/)
         
     | 
| 
      
 59 
     | 
    
         
            +
                      end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
                      ##############################################################################
         
     | 
| 
      
 62 
     | 
    
         
            +
                      # Class methods
         
     | 
| 
      
 63 
     | 
    
         
            +
                      ##############################################################################
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                      def self.find_session(id)
         
     | 
| 
      
 66 
     | 
    
         
            +
                        shop = find(id)
         
     | 
| 
      
 67 
     | 
    
         
            +
                        shop.to_session
         
     | 
| 
      
 68 
     | 
    
         
            +
                      end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                      private
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
                      def decoded_jwt
         
     | 
| 
      
 73 
     | 
    
         
            +
                        JWT.decode(beyond_access_token, nil, false).first
         
     | 
| 
      
 74 
     | 
    
         
            +
                      end
         
     | 
| 
      
 75 
     | 
    
         
            +
                    end
         
     | 
| 
      
 76 
     | 
    
         
            +
                  end
         
     | 
| 
      
 77 
     | 
    
         
            +
                end
         
     | 
| 
      
 78 
     | 
    
         
            +
              end
         
     | 
| 
      
 79 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/models/shop.rb
    ADDED
    
    | 
         @@ -0,0 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module BeyondCanvas
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Models
         
     | 
| 
      
 5 
     | 
    
         
            +
                module Shop # :nodoc:
         
     | 
| 
      
 6 
     | 
    
         
            +
                  extend ActiveSupport::Concern
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                  include ::BeyondCanvas::Models::Concerns::Authentication
         
     | 
| 
      
 9 
     | 
    
         
            +
                  include ::BeyondCanvas::Models::Concerns::Utils
         
     | 
| 
      
 10 
     | 
    
         
            +
                end
         
     | 
| 
      
 11 
     | 
    
         
            +
              end
         
     | 
| 
      
 12 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,16 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: beyond_canvas
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.17.0.pre
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Unai Abrisketa
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
            - Kathia Salazar
         
     | 
| 
      
 9 
     | 
    
         
            +
            - German San Emeterio
         
     | 
| 
      
 10 
     | 
    
         
            +
            autorequire:
         
     | 
| 
       9 
11 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
12 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2020- 
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2020-09-30 00:00:00.000000000 Z
         
     | 
| 
       12 
14 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
16 
     | 
    
         
             
              name: attr_encrypted
         
     | 
| 
         @@ -38,20 +40,6 @@ dependencies: 
     | 
|
| 
       38 
40 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       39 
41 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       40 
42 
     | 
    
         
             
                    version: '0.11'
         
     | 
| 
       41 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       42 
     | 
    
         
            -
              name: blind_index
         
     | 
| 
       43 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       44 
     | 
    
         
            -
                requirements:
         
     | 
| 
       45 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       46 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       47 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       48 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       49 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       50 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       51 
     | 
    
         
            -
                requirements:
         
     | 
| 
       52 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       53 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       54 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       55 
43 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       56 
44 
     | 
    
         
             
              name: bourbon
         
     | 
| 
       57 
45 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -170,6 +158,34 @@ dependencies: 
     | 
|
| 
       170 
158 
     | 
    
         
             
                - - "<"
         
     | 
| 
       171 
159 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       172 
160 
     | 
    
         
             
                    version: '4.1'
         
     | 
| 
      
 161 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 162 
     | 
    
         
            +
              name: loaf
         
     | 
| 
      
 163 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 164 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 165 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 166 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 167 
     | 
    
         
            +
                    version: '0.9'
         
     | 
| 
      
 168 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 169 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 170 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 171 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 172 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 173 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 174 
     | 
    
         
            +
                    version: '0.9'
         
     | 
| 
      
 175 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 176 
     | 
    
         
            +
              name: jwt
         
     | 
| 
      
 177 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 178 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 179 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 180 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 181 
     | 
    
         
            +
                    version: '2.2'
         
     | 
| 
      
 182 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 183 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 184 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 185 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 186 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 187 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 188 
     | 
    
         
            +
                    version: '2.2'
         
     | 
| 
       173 
189 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       174 
190 
     | 
    
         
             
              name: rubocop-rails
         
     | 
| 
       175 
191 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -188,7 +204,9 @@ description: |2 
     | 
|
| 
       188 
204 
     | 
    
         
             
                  Beyond Canvas is an open-source framework that provides CSS styles for apps
         
     | 
| 
       189 
205 
     | 
    
         
             
                  designed and developed for the online shop software Beyond
         
     | 
| 
       190 
206 
     | 
    
         
             
            email:
         
     | 
| 
       191 
     | 
    
         
            -
            -  
     | 
| 
      
 207 
     | 
    
         
            +
            - uabrisketa@epages.com
         
     | 
| 
      
 208 
     | 
    
         
            +
            - ksalazar@epages.com
         
     | 
| 
      
 209 
     | 
    
         
            +
            - gsanemeterio@epages.com
         
     | 
| 
       192 
210 
     | 
    
         
             
            executables: []
         
     | 
| 
       193 
211 
     | 
    
         
             
            extensions: []
         
     | 
| 
       194 
212 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
         @@ -197,23 +215,29 @@ files: 
     | 
|
| 
       197 
215 
     | 
    
         
             
            - README.md
         
     | 
| 
       198 
216 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       199 
217 
     | 
    
         
             
            - app/assets/config/beyond_canvas_manifest.js
         
     | 
| 
      
 218 
     | 
    
         
            +
            - app/assets/images/icons/arrow_right.svg
         
     | 
| 
       200 
219 
     | 
    
         
             
            - app/assets/images/icons/checkbox_checked.svg
         
     | 
| 
       201 
220 
     | 
    
         
             
            - app/assets/images/icons/checkbox_unchecked.svg
         
     | 
| 
      
 221 
     | 
    
         
            +
            - app/assets/images/icons/close.svg
         
     | 
| 
       202 
222 
     | 
    
         
             
            - app/assets/images/icons/file.svg
         
     | 
| 
       203 
223 
     | 
    
         
             
            - app/assets/images/icons/flash_checkbox.svg
         
     | 
| 
       204 
224 
     | 
    
         
             
            - app/assets/images/icons/flash_close.svg
         
     | 
| 
       205 
225 
     | 
    
         
             
            - app/assets/images/icons/flash_error.svg
         
     | 
| 
       206 
226 
     | 
    
         
             
            - app/assets/images/icons/flash_info.svg
         
     | 
| 
       207 
227 
     | 
    
         
             
            - app/assets/images/icons/flash_warning.svg
         
     | 
| 
      
 228 
     | 
    
         
            +
            - app/assets/images/icons/home.svg
         
     | 
| 
       208 
229 
     | 
    
         
             
            - app/assets/images/icons/radiobutton_checked.svg
         
     | 
| 
       209 
230 
     | 
    
         
             
            - app/assets/images/icons/radiobutton_unchecked.svg
         
     | 
| 
       210 
231 
     | 
    
         
             
            - app/assets/javascripts/beyond_canvas/base.js
         
     | 
| 
       211 
232 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/base.scss
         
     | 
| 
      
 233 
     | 
    
         
            +
            - app/assets/stylesheets/beyond_canvas/components/_action_bar.scss
         
     | 
| 
       212 
234 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_actions.scss
         
     | 
| 
      
 235 
     | 
    
         
            +
            - app/assets/stylesheets/beyond_canvas/components/_breadcrumbs.scss
         
     | 
| 
       213 
236 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_buttons.scss
         
     | 
| 
       214 
237 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_cards.scss
         
     | 
| 
       215 
238 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_comments.scss
         
     | 
| 
       216 
239 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_containers.scss
         
     | 
| 
      
 240 
     | 
    
         
            +
            - app/assets/stylesheets/beyond_canvas/components/_debug.scss
         
     | 
| 
       217 
241 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_flash.scss
         
     | 
| 
       218 
242 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_forms.scss
         
     | 
| 
       219 
243 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_inputs.scss
         
     | 
| 
         @@ -222,11 +246,15 @@ files: 
     | 
|
| 
       222 
246 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_main.scss
         
     | 
| 
       223 
247 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_margins.scss
         
     | 
| 
       224 
248 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_markdown.scss
         
     | 
| 
      
 249 
     | 
    
         
            +
            - app/assets/stylesheets/beyond_canvas/components/_menu.scss
         
     | 
| 
      
 250 
     | 
    
         
            +
            - app/assets/stylesheets/beyond_canvas/components/_modals.scss
         
     | 
| 
       225 
251 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_notices.scss
         
     | 
| 
       226 
252 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_relative.scss
         
     | 
| 
      
 253 
     | 
    
         
            +
            - app/assets/stylesheets/beyond_canvas/components/_sidebar.scss
         
     | 
| 
       227 
254 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_spinner.scss
         
     | 
| 
       228 
255 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_tables.scss
         
     | 
| 
       229 
256 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/components/_texts.scss
         
     | 
| 
      
 257 
     | 
    
         
            +
            - app/assets/stylesheets/beyond_canvas/components/_titles.scss
         
     | 
| 
       230 
258 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/mailer.scss
         
     | 
| 
       231 
259 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/settings/_breakpoints.scss
         
     | 
| 
       232 
260 
     | 
    
         
             
            - app/assets/stylesheets/beyond_canvas/settings/_reset_css.scss
         
     | 
| 
         @@ -240,26 +268,34 @@ files: 
     | 
|
| 
       240 
268 
     | 
    
         
             
            - app/controllers/concerns/beyond_canvas/authentication.rb
         
     | 
| 
       241 
269 
     | 
    
         
             
            - app/controllers/concerns/beyond_canvas/locale_management.rb
         
     | 
| 
       242 
270 
     | 
    
         
             
            - app/controllers/concerns/beyond_canvas/request_validation.rb
         
     | 
| 
       243 
     | 
    
         
            -
            - app/controllers/concerns/beyond_canvas/resource_management.rb
         
     | 
| 
       244 
271 
     | 
    
         
             
            - app/controllers/concerns/beyond_canvas/status_codes.rb
         
     | 
| 
       245 
272 
     | 
    
         
             
            - app/form_builders/beyond_canvas/form_builder.rb
         
     | 
| 
       246 
273 
     | 
    
         
             
            - app/helpers/beyond_canvas/application_helper.rb
         
     | 
| 
      
 274 
     | 
    
         
            +
            - app/helpers/beyond_canvas/authentications_helper.rb
         
     | 
| 
      
 275 
     | 
    
         
            +
            - app/helpers/beyond_canvas/cockpit_app_helper.rb
         
     | 
| 
      
 276 
     | 
    
         
            +
            - app/helpers/beyond_canvas/debug_helper.rb
         
     | 
| 
       247 
277 
     | 
    
         
             
            - app/helpers/beyond_canvas/locale_switch_helper.rb
         
     | 
| 
       248 
278 
     | 
    
         
             
            - app/javascript/beyond_canvas/base.js
         
     | 
| 
       249 
279 
     | 
    
         
             
            - app/javascript/beyond_canvas/initializers/buttons.js
         
     | 
| 
       250 
280 
     | 
    
         
             
            - app/javascript/beyond_canvas/initializers/flash.js
         
     | 
| 
       251 
     | 
    
         
            -
            - app/javascript/beyond_canvas/initializers/functions.js
         
     | 
| 
       252 
281 
     | 
    
         
             
            - app/javascript/beyond_canvas/initializers/inputs.js
         
     | 
| 
      
 282 
     | 
    
         
            +
            - app/javascript/beyond_canvas/initializers/modals.js
         
     | 
| 
       253 
283 
     | 
    
         
             
            - app/views/beyond_canvas/authentications/new.html.erb
         
     | 
| 
       254 
284 
     | 
    
         
             
            - app/views/beyond_canvas/custom/_public_head.html.erb
         
     | 
| 
       255 
     | 
    
         
            -
            - app/views/beyond_canvas/locales/_edit.html.erb
         
     | 
| 
       256 
285 
     | 
    
         
             
            - app/views/beyond_canvas/mailer/_button.html.erb
         
     | 
| 
       257 
286 
     | 
    
         
             
            - app/views/beyond_canvas/mailer/_footer.html.erb
         
     | 
| 
       258 
287 
     | 
    
         
             
            - app/views/beyond_canvas/mailer/_header.html.erb
         
     | 
| 
       259 
288 
     | 
    
         
             
            - app/views/beyond_canvas/mailer/_text.html.erb
         
     | 
| 
      
 289 
     | 
    
         
            +
            - app/views/beyond_canvas/shared/_action_bar.html.erb
         
     | 
| 
      
 290 
     | 
    
         
            +
            - app/views/beyond_canvas/shared/_breadcrumbs.html.erb
         
     | 
| 
       260 
291 
     | 
    
         
             
            - app/views/beyond_canvas/shared/_flash.html.erb
         
     | 
| 
       261 
292 
     | 
    
         
             
            - app/views/beyond_canvas/shared/_head.html.erb
         
     | 
| 
      
 293 
     | 
    
         
            +
            - app/views/beyond_canvas/shared/_locales.html.erb
         
     | 
| 
       262 
294 
     | 
    
         
             
            - app/views/beyond_canvas/shared/_logo.html.erb
         
     | 
| 
      
 295 
     | 
    
         
            +
            - app/views/beyond_canvas/shared/_menu.html.erb
         
     | 
| 
      
 296 
     | 
    
         
            +
            - app/views/beyond_canvas/shared/_modal.html.erb
         
     | 
| 
      
 297 
     | 
    
         
            +
            - app/views/beyond_canvas/shared/_sidebar.html.erb
         
     | 
| 
      
 298 
     | 
    
         
            +
            - app/views/layouts/beyond_canvas/application.html.erb
         
     | 
| 
       263 
299 
     | 
    
         
             
            - app/views/layouts/beyond_canvas/mailer.html.erb
         
     | 
| 
       264 
300 
     | 
    
         
             
            - app/views/layouts/beyond_canvas/public.html.erb
         
     | 
| 
       265 
301 
     | 
    
         
             
            - config/initializers/beyond_canvas/filter_parameter_logging.rb
         
     | 
| 
         @@ -270,35 +306,38 @@ files: 
     | 
|
| 
       270 
306 
     | 
    
         
             
            - lib/beyond_canvas/asset_registration.rb
         
     | 
| 
       271 
307 
     | 
    
         
             
            - lib/beyond_canvas/configuration.rb
         
     | 
| 
       272 
308 
     | 
    
         
             
            - lib/beyond_canvas/engine.rb
         
     | 
| 
       273 
     | 
    
         
            -
            - lib/beyond_canvas/ 
     | 
| 
       274 
     | 
    
         
            -
            - lib/beyond_canvas/models/shop.rb
         
     | 
| 
       275 
     | 
    
         
            -
            - lib/beyond_canvas/models/utils.rb
         
     | 
| 
      
 309 
     | 
    
         
            +
            - lib/beyond_canvas/menu_item_registration.rb
         
     | 
| 
       276 
310 
     | 
    
         
             
            - lib/beyond_canvas/parameter_sanitizer.rb
         
     | 
| 
       277 
311 
     | 
    
         
             
            - lib/beyond_canvas/rails/routes.rb
         
     | 
| 
       278 
312 
     | 
    
         
             
            - lib/beyond_canvas/version.rb
         
     | 
| 
       279 
313 
     | 
    
         
             
            - lib/generators/beyond_canvas/assets/assets_generator.rb
         
     | 
| 
       280 
314 
     | 
    
         
             
            - lib/generators/beyond_canvas/assets/templates/beyond_canvas.js
         
     | 
| 
       281 
315 
     | 
    
         
             
            - lib/generators/beyond_canvas/assets/templates/beyond_canvas.scss
         
     | 
| 
       282 
     | 
    
         
            -
            - lib/generators/beyond_canvas/auth_model/auth_model_generator.rb
         
     | 
| 
       283 
     | 
    
         
            -
            - lib/generators/beyond_canvas/auth_model/templates/migration.erb
         
     | 
| 
       284 
     | 
    
         
            -
            - lib/generators/beyond_canvas/auth_model/templates/model.erb
         
     | 
| 
       285 
316 
     | 
    
         
             
            - lib/generators/beyond_canvas/beyond_api/beyond_api_generator.rb
         
     | 
| 
       286 
317 
     | 
    
         
             
            - lib/generators/beyond_canvas/controller/controller_generator.rb
         
     | 
| 
       287 
318 
     | 
    
         
             
            - lib/generators/beyond_canvas/controller/templates/controller.erb
         
     | 
| 
      
 319 
     | 
    
         
            +
            - lib/generators/beyond_canvas/custom_menu/custom_menu_generator.rb
         
     | 
| 
      
 320 
     | 
    
         
            +
            - lib/generators/beyond_canvas/custom_menu/templates/beyond_canvas_custom_menu.html.erb
         
     | 
| 
       288 
321 
     | 
    
         
             
            - lib/generators/beyond_canvas/custom_styles/custom_styles_generator.rb
         
     | 
| 
       289 
322 
     | 
    
         
             
            - lib/generators/beyond_canvas/custom_styles/templates/beyond_canvas_custom_styles.scss
         
     | 
| 
       290 
323 
     | 
    
         
             
            - lib/generators/beyond_canvas/install/install_generator.rb
         
     | 
| 
       291 
324 
     | 
    
         
             
            - lib/generators/beyond_canvas/install/templates/beyond_canvas.rb.erb
         
     | 
| 
      
 325 
     | 
    
         
            +
            - lib/generators/beyond_canvas/model/model_generator.rb
         
     | 
| 
      
 326 
     | 
    
         
            +
            - lib/generators/beyond_canvas/model/templates/migration.erb
         
     | 
| 
      
 327 
     | 
    
         
            +
            - lib/generators/beyond_canvas/model/templates/model.erb
         
     | 
| 
       292 
328 
     | 
    
         
             
            - lib/generators/beyond_canvas/views/views_generator.rb
         
     | 
| 
       293 
329 
     | 
    
         
             
            - lib/generators/beyond_canvas/webpacker/plugins/jquery.js
         
     | 
| 
       294 
330 
     | 
    
         
             
            - lib/generators/beyond_canvas/webpacker/templates/beyond_canvas.js
         
     | 
| 
       295 
331 
     | 
    
         
             
            - lib/generators/beyond_canvas/webpacker/templates/beyond_canvas.scss
         
     | 
| 
       296 
332 
     | 
    
         
             
            - lib/generators/beyond_canvas/webpacker/webpacker_generator.rb
         
     | 
| 
      
 333 
     | 
    
         
            +
            - lib/models/concerns/authentication.rb
         
     | 
| 
      
 334 
     | 
    
         
            +
            - lib/models/concerns/utils.rb
         
     | 
| 
      
 335 
     | 
    
         
            +
            - lib/models/shop.rb
         
     | 
| 
       297 
336 
     | 
    
         
             
            homepage: https://github.com/ePages-de/beyond_canvas
         
     | 
| 
       298 
337 
     | 
    
         
             
            licenses:
         
     | 
| 
       299 
338 
     | 
    
         
             
            - MIT
         
     | 
| 
       300 
339 
     | 
    
         
             
            metadata: {}
         
     | 
| 
       301 
     | 
    
         
            -
            post_install_message: 
     | 
| 
      
 340 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
       302 
341 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       303 
342 
     | 
    
         
             
            require_paths:
         
     | 
| 
       304 
343 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -313,8 +352,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       313 
352 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       314 
353 
     | 
    
         
             
                  version: 1.3.1
         
     | 
| 
       315 
354 
     | 
    
         
             
            requirements: []
         
     | 
| 
       316 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
       317 
     | 
    
         
            -
            signing_key: 
     | 
| 
      
 355 
     | 
    
         
            +
            rubygems_version: 3.1.4
         
     | 
| 
      
 356 
     | 
    
         
            +
            signing_key:
         
     | 
| 
       318 
357 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       319 
358 
     | 
    
         
             
            summary: Open-source framework that provides CSS styles
         
     | 
| 
       320 
359 
     | 
    
         
             
            test_files: []
         
     |