From f521a9023b39ec08fa2c5cdffd997be10a98fb9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Checa?= Date: Wed, 13 Sep 2017 15:43:36 +0200 Subject: [PATCH] Added Proposal model to Legislation This new Legislation::Proposal model inherits from the original Proposal, as it will behave in a very similar way. --- app/controllers/admin/legislation/proposals_controller.rb | 7 +++++++ app/models/legislation/process.rb | 1 + app/models/legislation/proposal.rb | 8 ++++++++ config/routes.rb | 5 +++-- 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 app/controllers/admin/legislation/proposals_controller.rb create mode 100644 app/models/legislation/proposal.rb diff --git a/app/controllers/admin/legislation/proposals_controller.rb b/app/controllers/admin/legislation/proposals_controller.rb new file mode 100644 index 000000000..7f4441bce --- /dev/null +++ b/app/controllers/admin/legislation/proposals_controller.rb @@ -0,0 +1,7 @@ +class Admin::Legislation::ProposalsController < Admin::Legislation::BaseController + load_and_authorize_resource :process, class: "Legislation::Process" + load_and_authorize_resource :proposal, class: "Legislation::Proposal", through: :process + + def index + end +end diff --git a/app/models/legislation/process.rb b/app/models/legislation/process.rb index 0f596b8f8..6a37aeef2 100644 --- a/app/models/legislation/process.rb +++ b/app/models/legislation/process.rb @@ -9,6 +9,7 @@ class Legislation::Process < ActiveRecord::Base 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', dependent: :destroy + has_many :proposals, -> { order(:id) }, class_name: 'Legislation::Proposal', foreign_key: 'legislation_process_id', dependent: :destroy validates :title, presence: true validates :start_date, presence: true diff --git a/app/models/legislation/proposal.rb b/app/models/legislation/proposal.rb new file mode 100644 index 000000000..2c187d302 --- /dev/null +++ b/app/models/legislation/proposal.rb @@ -0,0 +1,8 @@ +class Legislation::Proposal < Proposal + acts_as_paranoid column: :hidden_at + include ActsAsParanoidAliases + + belongs_to :process, class_name: 'Legislation::Process', foreign_key: 'legislation_process_id' + + scope :sorted, -> { order('id ASC') } +end diff --git a/config/routes.rb b/config/routes.rb index a41e8d429..f0276f290 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -287,11 +287,11 @@ Rails.application.routes.draw do end resources :booths do - get :available, on: :collection + get :available, on: :collection resources :shifts do get :search_officers, on: :collection - end + end end resources :questions @@ -313,6 +313,7 @@ Rails.application.routes.draw do namespace :legislation do resources :processes do resources :questions + resources :proposals resources :draft_versions end end