From 7668e1641942b75bf1e33ad126a7bd386c730a09 Mon Sep 17 00:00:00 2001 From: Oleksii Kriuchykhin Date: Fri, 4 Sep 2020 11:47:45 +0200 Subject: [PATCH 1/5] Enable CORS for PWA [SCI-4979] --- Gemfile | 1 + Gemfile.lock | 3 +++ config/initializers/cors.rb | 28 +++++++++++++++++++--------- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/Gemfile b/Gemfile index d3a99ea73..048738060 100644 --- a/Gemfile +++ b/Gemfile @@ -37,6 +37,7 @@ gem 'jsonapi-renderer', '~> 0.2.2' gem 'jwt', '~> 1.5' gem 'kaminari' gem 'rack-attack' +gem 'rack-cors' # JS datetime library, requirement of datetime picker gem 'momentjs-rails', '~> 2.17.1' diff --git a/Gemfile.lock b/Gemfile.lock index faf79f603..e37f96a75 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -411,6 +411,8 @@ GEM rack (2.2.3) rack-attack (6.1.0) rack (>= 1.0, < 3) + rack-cors (1.1.1) + rack (>= 2.0.0) rack-proxy (0.6.5) rack rack-test (1.1.0) @@ -668,6 +670,7 @@ DEPENDENCIES pry-rails puma rack-attack + rack-cors rails (~> 6.0.0) rails-controller-testing rails_12factor diff --git a/config/initializers/cors.rb b/config/initializers/cors.rb index 3b1c1b5ed..3b9603bfa 100644 --- a/config/initializers/cors.rb +++ b/config/initializers/cors.rb @@ -5,12 +5,22 @@ # Read more: https://github.com/cyu/rack-cors -# Rails.application.config.middleware.insert_before 0, Rack::Cors do -# allow do -# origins 'example.com' -# -# resource '*', -# headers: :any, -# methods: [:get, :post, :put, :patch, :delete, :options, :head] -# end -# end +if ENV['SCINOTE_PWA_DOMAIN_NAME'].present? + Rails.application.config.middleware.insert_before 0, Rack::Cors do + allow do + origins ENV['SCINOTE_PWA_DOMAIN_NAME'] + + resource '/oauth/token', + headers: :any, + methods: %i(post) + + resource '/rails/active_storage/*', + headers: :any, + methods: %i(get post options head) + + resource '/api/*', + headers: :any, + methods: %i(get post put patch delete options head) + end + end +end From 94fea75fdae272162b5d18842d50f79a36dcbb20 Mon Sep 17 00:00:00 2001 From: Mojca Lorber Date: Thu, 24 Sep 2020 17:19:41 +0200 Subject: [PATCH 2/5] Fix at long inventory name snapshot in title is not visible --- .../javascripts/my_modules/repositories.js | 23 ++++++---- .../stylesheets/my_modules/repositories.scss | 46 +++++++++++++------ .../repositories/_full_view_modal.html.erb | 3 +- config/locales/en.yml | 4 +- 4 files changed, 48 insertions(+), 28 deletions(-) diff --git a/app/assets/javascripts/my_modules/repositories.js b/app/assets/javascripts/my_modules/repositories.js index 98828ba70..897553a4d 100644 --- a/app/assets/javascripts/my_modules/repositories.js +++ b/app/assets/javascripts/my_modules/repositories.js @@ -453,7 +453,8 @@ var MyModuleRepositories = (function() { FULL_VIEW_MODAL.on('show.bs.modal', function() { FULL_VIEW_MODAL.find('.table-container').empty(); - FULL_VIEW_MODAL.find('.repository-name').empty(); + FULL_VIEW_MODAL.find('.repository-title').empty(); + FULL_VIEW_MODAL.find('.repository-version').empty(); updateFullViewRowsCount(''); }); } @@ -518,29 +519,31 @@ var MyModuleRepositories = (function() { function updateFullViewRowsCount(value) { FULL_VIEW_MODAL.data('rows-count', value); - FULL_VIEW_MODAL.find('.repository-name').attr('data-rows-count', value); + FULL_VIEW_MODAL.find('.repository-version').attr('data-rows-count', value); } function renderFullViewRepositoryName(name, snapshotDate, assignMode) { var title; - var repositoryName = name || FULL_VIEW_MODAL.find('.repository-name').data('repository-name'); + var version; + var repositoryName = name || FULL_VIEW_MODAL.find('.repository-title').data('repository-name'); if (assignMode) { title = I18n.t('my_modules.repository.full_view.assign_modal_header', { repository_name: repositoryName }); + version = ''; } else if (snapshotDate) { - title = I18n.t('my_modules.repository.full_view.modal_snapshot_header', { - repository_name: repositoryName, + title = repositoryName; + version = I18n.t('my_modules.repository.full_view.modal_snapshot_header', { snaphot_date: snapshotDate }); } else { - title = I18n.t('my_modules.repository.full_view.modal_live_header', { - repository_name: repositoryName - }); + title = repositoryName; + version = I18n.t('my_modules.repository.full_view.modal_live_header'); } - FULL_VIEW_MODAL.find('.repository-name').data('repository-name', repositoryName); - FULL_VIEW_MODAL.find('.repository-name').html(title); + FULL_VIEW_MODAL.find('.repository-title').data('repository-name', repositoryName); + FULL_VIEW_MODAL.find('.repository-title').html(title); + FULL_VIEW_MODAL.find('.repository-version').html(version); } function initRepoistoryAssignView() { diff --git a/app/assets/stylesheets/my_modules/repositories.scss b/app/assets/stylesheets/my_modules/repositories.scss index 5e218f422..3dcc0f282 100644 --- a/app/assets/stylesheets/my_modules/repositories.scss +++ b/app/assets/stylesheets/my_modules/repositories.scss @@ -5,21 +5,9 @@ @include font-h3; line-height: 22px; overflow: hidden; - padding-right: 55px; position: relative; text-overflow: ellipsis; white-space: nowrap; - - &::after { - color: $color-alto; - content: '[' attr(data-rows-count) ']'; - display: inline-block; - line-height: 22px; - padding-left: 5px; - position: absolute; - right: 0; - width: 55px; - } } .my-module-inventories { @@ -131,6 +119,17 @@ .assigned-repository-title { @include my-module-repository-title; + padding-right: 36px; + + &::after { + color: $color-alto; + content: '[' attr(data-rows-count) ']'; + display: inline-block; + line-height: 22px; + padding-right: 12px; + position: absolute; + right: 0; + } } .action-buttons { @@ -218,11 +217,28 @@ flex-grow: 1; max-width: calc(100% - 20px); - .repository-name { + .repository-name-container { + display: flex; + } + + .repository-title { @include my-module-repository-title; @include font-h2; - display: inline-block; - width: 100%; + } + + .repository-version { + @include font-h2; + flex-shrink: 0; + line-height: 22px; + padding-right: 10px; + + &::after { + color: $color-alto; + content: '[' attr(data-rows-count) ']'; + display: inline-block; + line-height: 22px; + padding-left: 5px; + } } .breadcrumbs { diff --git a/app/views/my_modules/repositories/_full_view_modal.html.erb b/app/views/my_modules/repositories/_full_view_modal.html.erb index 9990f8c35..fb21aa9e6 100644 --- a/app/views/my_modules/repositories/_full_view_modal.html.erb +++ b/app/views/my_modules/repositories/_full_view_modal.html.erb @@ -11,7 +11,8 @@ <%= @my_module.name %>
- + +
diff --git a/config/locales/en.yml b/config/locales/en.yml index a2f4d4a50..d0214b4e4 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -811,8 +811,8 @@ en: head_title: "%{project} | %{module} | Inventory %{repository}" export: 'Export' full_view: - modal_live_header: '%{repository_name}: Live version' - modal_snapshot_header: '%{repository_name}: Snapshot of %{snaphot_date}' + modal_live_header: ': Live version' + modal_snapshot_header: ': Snapshot of %{snaphot_date}' assign_modal_header: 'Assign from %{repository_name} inventory' snapshots: simple_view: From caa20985503462cb59b1fdb4d0c506fe94766aaa Mon Sep 17 00:00:00 2001 From: Oleksii Kriuchykhin Date: Mon, 12 Oct 2020 14:42:47 +0200 Subject: [PATCH 3/5] Improve handling of empty cells in inventory imports [SCI-5094] --- app/models/repository_checklist_value.rb | 2 ++ app/models/repository_list_value.rb | 2 ++ 2 files changed, 4 insertions(+) diff --git a/app/models/repository_checklist_value.rb b/app/models/repository_checklist_value.rb index cd09c9f1a..d3ab9e1cf 100644 --- a/app/models/repository_checklist_value.rb +++ b/app/models/repository_checklist_value.rb @@ -75,6 +75,8 @@ class RepositoryChecklistValue < ApplicationRecord end def self.import_from_text(text, attributes, _options = {}) + return nil if text.blank? + value = new(attributes) column = attributes.dig(:repository_cell_attributes, :repository_column) RepositoryImportParser::Util.split_by_delimiter(text: text, delimiter: column.delimiter_char).each do |item_text| diff --git a/app/models/repository_list_value.rb b/app/models/repository_list_value.rb index b99b08345..44392bb32 100644 --- a/app/models/repository_list_value.rb +++ b/app/models/repository_list_value.rb @@ -66,6 +66,8 @@ class RepositoryListValue < ApplicationRecord end def self.import_from_text(text, attributes, _options = {}) + return nil if text.blank? + value = new(attributes) column = attributes.dig(:repository_cell_attributes, :repository_column) list_item = column.repository_list_items.find { |item| item.data == text } From a944525d25e9373ab9a13abd9f5b3e7dba0d6624 Mon Sep 17 00:00:00 2001 From: Mojca Lorber Date: Mon, 12 Oct 2020 16:59:33 +0200 Subject: [PATCH 4/5] Change px to em --- .../stylesheets/my_modules/repositories.scss | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/assets/stylesheets/my_modules/repositories.scss b/app/assets/stylesheets/my_modules/repositories.scss index 3dcc0f282..a61b3908d 100644 --- a/app/assets/stylesheets/my_modules/repositories.scss +++ b/app/assets/stylesheets/my_modules/repositories.scss @@ -119,14 +119,14 @@ .assigned-repository-title { @include my-module-repository-title; - padding-right: 36px; + padding-right: 2.25em; &::after { color: $color-alto; content: '[' attr(data-rows-count) ']'; display: inline-block; - line-height: 22px; - padding-right: 12px; + line-height: 1.375em; + padding-right: .75em; position: absolute; right: 0; } @@ -229,15 +229,15 @@ .repository-version { @include font-h2; flex-shrink: 0; - line-height: 22px; - padding-right: 10px; + line-height: 1.375em; + padding-right: .625em; &::after { color: $color-alto; content: '[' attr(data-rows-count) ']'; display: inline-block; - line-height: 22px; - padding-left: 5px; + line-height: 1.375em; + padding-left: .313em; } } From 5013f224ee8d9263bfbab8021c8166ce59fdee90 Mon Sep 17 00:00:00 2001 From: Mojca Lorber Date: Wed, 14 Oct 2020 13:16:38 +0200 Subject: [PATCH 5/5] Fix ems --- app/assets/stylesheets/my_modules/repositories.scss | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/app/assets/stylesheets/my_modules/repositories.scss b/app/assets/stylesheets/my_modules/repositories.scss index a61b3908d..93d6d0dc5 100644 --- a/app/assets/stylesheets/my_modules/repositories.scss +++ b/app/assets/stylesheets/my_modules/repositories.scss @@ -119,14 +119,13 @@ .assigned-repository-title { @include my-module-repository-title; - padding-right: 2.25em; + padding-right: 2.2em; &::after { color: $color-alto; content: '[' attr(data-rows-count) ']'; display: inline-block; - line-height: 1.375em; - padding-right: .75em; + padding-right: .7em; position: absolute; right: 0; } @@ -229,15 +228,13 @@ .repository-version { @include font-h2; flex-shrink: 0; - line-height: 1.375em; - padding-right: .625em; + padding-right: .7em; &::after { color: $color-alto; content: '[' attr(data-rows-count) ']'; display: inline-block; - line-height: 1.375em; - padding-left: .313em; + padding-left: .3em; } }