diff options
| author | Luc Donnet | 2018-05-02 15:32:53 +0200 |
|---|---|---|
| committer | GitHub | 2018-05-02 15:32:53 +0200 |
| commit | 8631ff6b59439b9086f7cea2edf264f1fd305725 (patch) | |
| tree | 4f6b19c0520a1f217e441126a2b62c21ab65a491 | |
| parent | 9047935a82ba37c21fcfd164c16a566dd3b81d2b (diff) | |
| parent | 2fdcbb5a82c23bdaa7e23bd0b3108f404c1e44ea (diff) | |
| download | chouette-core-8631ff6b59439b9086f7cea2edf264f1fd305725.tar.bz2 | |
Merge pull request #545 from af83/6858-workbenches-show--disallow-deletion-of-pending-referent
6858: Workbenches#show: Don't allow pending referentials to be selected
| -rw-r--r-- | app/views/workbenches/show.html.slim | 5 | ||||
| -rw-r--r-- | spec/features/workbenches/workbenches_show_spec.rb | 21 |
2 files changed, 25 insertions, 1 deletions
diff --git a/app/views/workbenches/show.html.slim b/app/views/workbenches/show.html.slim index b0276c5ce..213c9e5f2 100644 --- a/app/views/workbenches/show.html.slim +++ b/app/views/workbenches/show.html.slim @@ -62,7 +62,10 @@ attribute: Proc.new {|w| w.merged_at ? l(w.merged_at, format: :short) : '-'} \ ) \ ], - selectable: ->(ref){ @workbench.referentials.include?(ref) }, + selectable: ->(ref) { \ + @workbench.referentials.include?(ref) && \ + !ref.pending? \ + }, cls: 'table has-filter has-search', action: :index diff --git a/spec/features/workbenches/workbenches_show_spec.rb b/spec/features/workbenches/workbenches_show_spec.rb index 441f829a1..427b526cf 100644 --- a/spec/features/workbenches/workbenches_show_spec.rb +++ b/spec/features/workbenches/workbenches_show_spec.rb @@ -64,6 +64,27 @@ RSpec.describe 'Workbenches', type: :feature do "Couldn't find `hidden_referential`: `#{hidden_referential.inspect}`" end + it "prevents pending referentials from being selected" do + line = create(:line, line_referential: line_ref) + metadata = create(:referential_metadata, lines: [line]) + pending_referential = create( + :workbench_referential, + workbench: workbench, + metadatas: [metadata], + organisation: @user.organisation, + ready: false + ) + + visit workbench_path(workbench) + + expect( + find("input[type='checkbox'][value='#{referential.id}']") + ).not_to be_disabled + expect( + find("input[type='checkbox'][value='#{pending_referential.id}']") + ).to be_disabled + end + context 'filtering' do let!(:another_organisation) { create :organisation } let(:another_line) { create :line, line_referential: line_ref } |
