Fix draft versions list

This commit is contained in:
Amaia Castro
2017-01-04 10:13:55 +01:00
parent f040759693
commit 6d99a24740
7 changed files with 16 additions and 13 deletions

View File

@@ -6,15 +6,17 @@ class Legislation::DraftVersionsController < Legislation::BaseController
end
def show
load_version(params[:id])
@draft_versions_list = visible_draft_versions
@draft_version = @draft_versions_list.find(params[:id])
end
def changes
load_version(params[:draft_version_id])
@draft_versions_list = visible_draft_versions
@draft_version = @draft_versions_list.find(params[:draft_version_id])
end
def go_to_version
version = @process.draft_versions.published.find(params[:draft_version_id])
version = visible_draft_versions.find(params[:draft_version_id])
if params[:redirect_action] == 'changes'
redirect_to legislation_process_draft_version_changes_path(@process, version)
@@ -25,11 +27,12 @@ class Legislation::DraftVersionsController < Legislation::BaseController
private
def load_version(id_param)
def visible_draft_versions
if current_user && current_user.administrator?
@draft_version = @process.draft_versions.find(id_param)
@process.draft_versions
else
@draft_version = @process.draft_versions.published.find(id_param)
@process.draft_versions.published
end
end
end

View File

@@ -3,7 +3,7 @@ class Legislation::Process < ActiveRecord::Base
include ActsAsParanoidAliases
has_many :draft_versions, -> { order(:id) }, class_name: 'Legislation::DraftVersion', foreign_key: 'legislation_process_id'
has_one :final_draft_version, -> { where final_version: true }, class_name: 'Legislation::DraftVersion', foreign_key: 'legislation_process_id'
has_one :final_draft_version, -> { where final_version: true, status: 'published' }, class_name: 'Legislation::DraftVersion', foreign_key: 'legislation_process_id'
has_many :questions, -> { order(:id) }, class_name: 'Legislation::Question', foreign_key: 'legislation_process_id'
validates :title, presence: true

View File

@@ -11,7 +11,7 @@
<h3><%= t('.seeing_changelog_version') %></h3>
<div class="select-box">
<%= form_tag go_to_version_legislation_process_draft_versions_path(@process), method: :get, id: "draft_version_go_to_version" do %>
<%= select_tag "draft_version_id", options_from_collection_for_select(@process.draft_versions.published, 'id', 'title', @draft_version.id), "aria-label": t('legislation.draft_versions.show.select_draft_version') %>
<%= select_tag "draft_version_id", options_from_collection_for_select(@draft_versions_list, 'id', 'title', @draft_version.id), "aria-label": t('legislation.draft_versions.show.select_draft_version') %>
<%= hidden_field_tag "redirect_action", "changes" %>
<%= submit_tag t('legislation.draft_versions.show.select_version_submit'), class: "button" %>
<% end %>

View File

@@ -11,7 +11,7 @@
<h3><%= t('.seeing_version') %></h3>
<div class="select-box">
<%= form_tag go_to_version_legislation_process_draft_versions_path(@process), method: :get, id: "draft_version_go_to_version" do %>
<%= select_tag "draft_version_id", options_from_collection_for_select(@process.draft_versions.published, 'id', 'title', @draft_version.id), "aria-label": t('.select_draft_version') %>
<%= select_tag "draft_version_id", options_from_collection_for_select(@draft_versions_list, 'id', 'title', @draft_version.id), "aria-label": t('.select_draft_version') %>
<%= submit_tag t('.select_version_submit'), class: "button" %>
<% end %>
<span><%= link_to t('.see_changes'), legislation_process_draft_version_changes_path(@process, @draft_version) %></span>

View File

@@ -1,6 +1,6 @@
<% if process.draft_versions.any? %>
<ul>
<% process.draft_versions.each do |draft_version| %>
<% process.draft_versions.published.each do |draft_version| %>
<li><%= link_to draft_version.title, legislation_process_draft_version_path(process, draft_version) %></li>
<% end %>
</ul>

View File

@@ -1,6 +1,6 @@
<% if process.draft_versions.any? %>
<ul>
<% process.draft_versions.each do |draft_version| %>
<% process.draft_versions.published.each do |draft_version| %>
<li><%= link_to draft_version.title, legislation_process_draft_version_path(process, draft_version) %></li>
<% end %>
</ul>

View File

@@ -37,7 +37,7 @@ feature 'Legislation Draft Versions' do
within('select#draft_version_id') do
expect(page).to have_content("Version 1")
expect(page).to have_content("Version 2")
expect(page).to_not have_content("Version 3")
expect(page).to have_content("Version 3")
end
end
@@ -93,7 +93,7 @@ feature 'Legislation Draft Versions' do
within('select#draft_version_id') do
expect(page).to have_content("Version 1")
expect(page).to have_content("Version 2")
expect(page).to_not have_content("Version 3")
expect(page).to have_content("Version 3")
end
end