Remove all references to question and external_url fields
This commit is contained in:
@@ -38,14 +38,12 @@ class Proposal < ApplicationRecord
|
|||||||
has_many :polls, as: :related
|
has_many :polls, as: :related
|
||||||
|
|
||||||
validates :title, presence: true
|
validates :title, presence: true
|
||||||
validates :question, presence: true
|
|
||||||
validates :summary, presence: true
|
validates :summary, presence: true
|
||||||
validates :author, presence: true
|
validates :author, presence: true
|
||||||
validates :responsible_name, presence: true, unless: :skip_user_verification?
|
validates :responsible_name, presence: true, unless: :skip_user_verification?
|
||||||
|
|
||||||
validates :title, length: { in: 4..Proposal.title_max_length }
|
validates :title, length: { in: 4..Proposal.title_max_length }
|
||||||
validates :description, length: { maximum: Proposal.description_max_length }
|
validates :description, length: { maximum: Proposal.description_max_length }
|
||||||
validates :question, length: { in: 10..Proposal.question_max_length }
|
|
||||||
validates :responsible_name, length: { in: 6..Proposal.responsible_name_max_length }, unless: :skip_user_verification?
|
validates :responsible_name, length: { in: 6..Proposal.responsible_name_max_length }, unless: :skip_user_verification?
|
||||||
validates :retired_reason, inclusion: { in: RETIRE_OPTIONS, allow_nil: true }
|
validates :retired_reason, inclusion: { in: RETIRE_OPTIONS, allow_nil: true }
|
||||||
|
|
||||||
|
|||||||
@@ -10,17 +10,6 @@
|
|||||||
|
|
||||||
<%= f.invisible_captcha :subtitle %>
|
<%= f.invisible_captcha :subtitle %>
|
||||||
|
|
||||||
<div class="small-12 column">
|
|
||||||
<%= f.label :question, t("proposals.form.proposal_question") %>
|
|
||||||
<p class="help-text" id="question-help-text">
|
|
||||||
<%= t("proposals.form.proposal_question_example_html") %>
|
|
||||||
</p>
|
|
||||||
<%= f.text_field :question, maxlength: Proposal.question_max_length,
|
|
||||||
placeholder: t("proposals.form.proposal_question"),
|
|
||||||
label: false,
|
|
||||||
aria: {describedby: "question-help-text"} %>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="small-12 column">
|
<div class="small-12 column">
|
||||||
<%= f.label :summary, t("proposals.form.proposal_summary") %>
|
<%= f.label :summary, t("proposals.form.proposal_summary") %>
|
||||||
<p class="help-text" id="summary-help-text"><%= t("proposals.form.proposal_summary_note") %></p>
|
<p class="help-text" id="summary-help-text"><%= t("proposals.form.proposal_summary_note") %></p>
|
||||||
|
|||||||
@@ -415,10 +415,8 @@ namespace :proposal_actions do
|
|||||||
description = "<p>This is an example of a successful proposal with an ideal progress.</p>"
|
description = "<p>This is an example of a successful proposal with an ideal progress.</p>"
|
||||||
proposal = Proposal.create!(author: author,
|
proposal = Proposal.create!(author: author,
|
||||||
title: Faker::Lorem.sentence(3).truncate(60),
|
title: Faker::Lorem.sentence(3).truncate(60),
|
||||||
question: Faker::Lorem.sentence(3) + "?",
|
|
||||||
summary: Faker::Lorem.sentence(3),
|
summary: Faker::Lorem.sentence(3),
|
||||||
responsible_name: Faker::Name.name,
|
responsible_name: Faker::Name.name,
|
||||||
external_url: Faker::Internet.url,
|
|
||||||
description: description,
|
description: description,
|
||||||
created_at: Time.now - expected_supports.length.days,
|
created_at: Time.now - expected_supports.length.days,
|
||||||
tag_list: "Example",
|
tag_list: "Example",
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ feature "Proposals" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
fill_in "proposal_title", with: "Help refugees"
|
fill_in "proposal_title", with: "Help refugees"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in "proposal_description", with: "This is very important because..."
|
fill_in "proposal_description", with: "This is very important because..."
|
||||||
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=yRYFKcMa_Ek"
|
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=yRYFKcMa_Ek"
|
||||||
@@ -33,7 +32,6 @@ feature "Proposals" do
|
|||||||
expect(page).to have_content "Proposal created successfully."
|
expect(page).to have_content "Proposal created successfully."
|
||||||
|
|
||||||
expect(page).to have_content "Help refugees"
|
expect(page).to have_content "Help refugees"
|
||||||
expect(page).to have_content "¿Would you like to give assistance to war refugees?"
|
|
||||||
expect(page).to have_content "In summary, what we want is..."
|
expect(page).to have_content "In summary, what we want is..."
|
||||||
expect(page).to have_content "This is very important because..."
|
expect(page).to have_content "This is very important because..."
|
||||||
expect(page).to have_content "https://www.youtube.com/watch?v=yRYFKcMa_Ek"
|
expect(page).to have_content "https://www.youtube.com/watch?v=yRYFKcMa_Ek"
|
||||||
|
|||||||
@@ -125,7 +125,6 @@ feature "Proposals" do
|
|||||||
|
|
||||||
expect(page).to have_content proposal.title
|
expect(page).to have_content proposal.title
|
||||||
expect(page).to have_content proposal.code
|
expect(page).to have_content proposal.code
|
||||||
expect(page).to have_content "Proposal question"
|
|
||||||
expect(page).to have_content "Proposal description"
|
expect(page).to have_content "Proposal description"
|
||||||
expect(page).to have_content proposal.author.name
|
expect(page).to have_content proposal.author.name
|
||||||
expect(page).to have_content I18n.l(proposal.created_at.to_date)
|
expect(page).to have_content I18n.l(proposal.created_at.to_date)
|
||||||
@@ -218,7 +217,6 @@ feature "Proposals" do
|
|||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
|
|
||||||
fill_in "proposal_title", with: "Help refugees"
|
fill_in "proposal_title", with: "Help refugees"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in "proposal_description", with: "This is very important because..."
|
fill_in "proposal_description", with: "This is very important because..."
|
||||||
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=yPQfcG-eimk"
|
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=yPQfcG-eimk"
|
||||||
@@ -238,7 +236,6 @@ feature "Proposals" do
|
|||||||
click_link "Not now, go to my proposal"
|
click_link "Not now, go to my proposal"
|
||||||
|
|
||||||
expect(page).to have_content "Help refugees"
|
expect(page).to have_content "Help refugees"
|
||||||
expect(page).to have_content "¿Would you like to give assistance to war refugees?"
|
|
||||||
expect(page).to have_content "In summary, what we want is..."
|
expect(page).to have_content "In summary, what we want is..."
|
||||||
expect(page).to have_content "This is very important because..."
|
expect(page).to have_content "This is very important because..."
|
||||||
expect(page).to have_content "https://www.youtube.com/watch?v=yPQfcG-eimk"
|
expect(page).to have_content "https://www.youtube.com/watch?v=yPQfcG-eimk"
|
||||||
@@ -255,7 +252,6 @@ feature "Proposals" do
|
|||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
fill_in "proposal_title", with: "I am a bot"
|
fill_in "proposal_title", with: "I am a bot"
|
||||||
fill_in "proposal_subtitle", with: "This is the honeypot field"
|
fill_in "proposal_subtitle", with: "This is the honeypot field"
|
||||||
fill_in "proposal_question", with: "This is a question"
|
|
||||||
fill_in "proposal_summary", with: "This is the summary"
|
fill_in "proposal_summary", with: "This is the summary"
|
||||||
fill_in "proposal_description", with: "This is the description"
|
fill_in "proposal_description", with: "This is the description"
|
||||||
fill_in "proposal_responsible_name", with: "Some other robot"
|
fill_in "proposal_responsible_name", with: "Some other robot"
|
||||||
@@ -276,10 +272,8 @@ feature "Proposals" do
|
|||||||
|
|
||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
fill_in "proposal_title", with: "I am a bot"
|
fill_in "proposal_title", with: "I am a bot"
|
||||||
fill_in "proposal_question", with: "This is a question"
|
|
||||||
fill_in "proposal_summary", with: "This is the summary"
|
fill_in "proposal_summary", with: "This is the summary"
|
||||||
fill_in "proposal_description", with: "This is the description"
|
fill_in "proposal_description", with: "This is the description"
|
||||||
fill_in "proposal_external_url", with: "http://google.com/robots.txt"
|
|
||||||
fill_in "proposal_responsible_name", with: "Some other robot"
|
fill_in "proposal_responsible_name", with: "Some other robot"
|
||||||
check "proposal_terms_of_service"
|
check "proposal_terms_of_service"
|
||||||
|
|
||||||
@@ -296,10 +290,8 @@ feature "Proposals" do
|
|||||||
|
|
||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
fill_in "proposal_title", with: "Help refugees"
|
fill_in "proposal_title", with: "Help refugees"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in "proposal_description", with: "This is very important because..."
|
fill_in "proposal_description", with: "This is very important because..."
|
||||||
fill_in "proposal_external_url", with: "http://rescue.org/refugees"
|
|
||||||
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
||||||
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
||||||
check "proposal_terms_of_service"
|
check "proposal_terms_of_service"
|
||||||
@@ -321,7 +313,6 @@ feature "Proposals" do
|
|||||||
expect(page).not_to have_selector("#proposal_responsible_name")
|
expect(page).not_to have_selector("#proposal_responsible_name")
|
||||||
|
|
||||||
fill_in "proposal_title", with: "Help refugees"
|
fill_in "proposal_title", with: "Help refugees"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in "proposal_description", with: "This is very important because..."
|
fill_in "proposal_description", with: "This is very important because..."
|
||||||
check "proposal_terms_of_service"
|
check "proposal_terms_of_service"
|
||||||
@@ -350,10 +341,8 @@ feature "Proposals" do
|
|||||||
|
|
||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
fill_in "proposal_title", with: "Testing an attack"
|
fill_in "proposal_title", with: "Testing an attack"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in "proposal_description", with: "<p>This is <script>alert('an attack');</script></p>"
|
fill_in "proposal_description", with: "<p>This is <script>alert('an attack');</script></p>"
|
||||||
fill_in "proposal_external_url", with: "http://rescue.org/refugees"
|
|
||||||
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
||||||
check "proposal_terms_of_service"
|
check "proposal_terms_of_service"
|
||||||
|
|
||||||
@@ -375,7 +364,6 @@ feature "Proposals" do
|
|||||||
|
|
||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
fill_in "proposal_title", with: "Testing auto link"
|
fill_in "proposal_title", with: "Testing auto link"
|
||||||
fill_in "proposal_question", with: "Should I stay or should I go?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in "proposal_description", with: "<p>This is a link www.example.org</p>"
|
fill_in "proposal_description", with: "<p>This is a link www.example.org</p>"
|
||||||
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
||||||
@@ -398,7 +386,6 @@ feature "Proposals" do
|
|||||||
|
|
||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
fill_in "proposal_title", with: "Testing auto link"
|
fill_in "proposal_title", with: "Testing auto link"
|
||||||
fill_in "proposal_question", with: "Should I stay or should I go?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in "proposal_description", with: js_injection_string
|
fill_in "proposal_description", with: js_injection_string
|
||||||
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
||||||
@@ -435,13 +422,7 @@ feature "Proposals" do
|
|||||||
login_as(author)
|
login_as(author)
|
||||||
|
|
||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
|
fill_in_proposal
|
||||||
fill_in "proposal_title", with: "Help refugees"
|
|
||||||
fill_in "proposal_summary", with: "In summary what we want is..."
|
|
||||||
fill_in_ckeditor "proposal_description", with: "A description with enough characters"
|
|
||||||
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=yPQfcG-eimk"
|
|
||||||
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
|
||||||
check "proposal_terms_of_service"
|
|
||||||
|
|
||||||
click_button "Create proposal"
|
click_button "Create proposal"
|
||||||
|
|
||||||
@@ -463,10 +444,8 @@ feature "Proposals" do
|
|||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
|
|
||||||
fill_in "proposal_title", with: "Help refugees"
|
fill_in "proposal_title", with: "Help refugees"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in "proposal_description", with: "This is very important because..."
|
fill_in "proposal_description", with: "This is very important because..."
|
||||||
fill_in "proposal_external_url", with: "http://rescue.org/refugees"
|
|
||||||
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=yPQfcG-eimk"
|
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=yPQfcG-eimk"
|
||||||
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
||||||
check "proposal_terms_of_service"
|
check "proposal_terms_of_service"
|
||||||
@@ -622,7 +601,6 @@ feature "Proposals" do
|
|||||||
expect(page).to have_current_path(edit_proposal_path(proposal))
|
expect(page).to have_current_path(edit_proposal_path(proposal))
|
||||||
|
|
||||||
fill_in "proposal_title", with: "End child poverty"
|
fill_in "proposal_title", with: "End child poverty"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "Basically..."
|
fill_in "proposal_summary", with: "Basically..."
|
||||||
fill_in "proposal_description", with: "Let's do something to end child poverty"
|
fill_in "proposal_description", with: "Let's do something to end child poverty"
|
||||||
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
||||||
@@ -1825,7 +1803,6 @@ feature "Successful proposals" do
|
|||||||
|
|
||||||
fill_in "proposal_title", with: "Help refugees"
|
fill_in "proposal_title", with: "Help refugees"
|
||||||
fill_in "proposal_summary", with: "In summary what we want is..."
|
fill_in "proposal_summary", with: "In summary what we want is..."
|
||||||
fill_in "proposal_question", with: "Would you like to?"
|
|
||||||
fill_in "proposal_description", with: "This is very important because..."
|
fill_in "proposal_description", with: "This is very important because..."
|
||||||
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=yPQfcG-eimk"
|
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=yPQfcG-eimk"
|
||||||
fill_in "proposal_tag_list", with: "Refugees, Solidarity"
|
fill_in "proposal_tag_list", with: "Refugees, Solidarity"
|
||||||
|
|||||||
@@ -70,7 +70,6 @@ feature "Tags" do
|
|||||||
|
|
||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
fill_in "proposal_title", with: "Help refugees"
|
fill_in "proposal_title", with: "Help refugees"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in "proposal_description", with: "This is very important because..."
|
fill_in "proposal_description", with: "This is very important because..."
|
||||||
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
||||||
@@ -97,7 +96,6 @@ feature "Tags" do
|
|||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
|
|
||||||
fill_in "proposal_title", with: "Help refugees"
|
fill_in "proposal_title", with: "Help refugees"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in_ckeditor "proposal_description", with: "A description with enough characters"
|
fill_in_ckeditor "proposal_description", with: "A description with enough characters"
|
||||||
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=Ae6gQmhaMn4"
|
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=Ae6gQmhaMn4"
|
||||||
@@ -141,7 +139,6 @@ feature "Tags" do
|
|||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
|
|
||||||
fill_in "proposal_title", with: "A test of dangerous strings"
|
fill_in "proposal_title", with: "A test of dangerous strings"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
fill_in "proposal_description", with: "A description suitable for this test"
|
fill_in "proposal_description", with: "A description suitable for this test"
|
||||||
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
||||||
|
|||||||
@@ -54,23 +54,6 @@ describe Proposal do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "#question" do
|
|
||||||
it "is not valid without a question" do
|
|
||||||
proposal.question = nil
|
|
||||||
expect(proposal).not_to be_valid
|
|
||||||
end
|
|
||||||
|
|
||||||
it "is not valid when very short" do
|
|
||||||
proposal.question = "abc"
|
|
||||||
expect(proposal).not_to be_valid
|
|
||||||
end
|
|
||||||
|
|
||||||
it "is not valid when very long" do
|
|
||||||
proposal.question = "a" * 141
|
|
||||||
expect(proposal).not_to be_valid
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "#video_url" do
|
describe "#video_url" do
|
||||||
it "is not valid when URL is not from Youtube or Vimeo" do
|
it "is not valid when URL is not from Youtube or Vimeo" do
|
||||||
proposal.video_url = "https://twitter.com"
|
proposal.video_url = "https://twitter.com"
|
||||||
|
|||||||
@@ -250,7 +250,6 @@ end
|
|||||||
|
|
||||||
def fill_in_proposal_form
|
def fill_in_proposal_form
|
||||||
fill_in "proposal_title", with: "Help refugees"
|
fill_in "proposal_title", with: "Help refugees"
|
||||||
fill_in "proposal_question", with: "¿Would you like to give assistance to war refugees?"
|
|
||||||
fill_in "proposal_summary", with: "In summary, what we want is..."
|
fill_in "proposal_summary", with: "In summary, what we want is..."
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -365,7 +365,6 @@ end
|
|||||||
def documentable_fill_new_valid_proposal
|
def documentable_fill_new_valid_proposal
|
||||||
fill_in :proposal_title, with: "Proposal title #{rand(9999)}"
|
fill_in :proposal_title, with: "Proposal title #{rand(9999)}"
|
||||||
fill_in :proposal_summary, with: "Proposal summary"
|
fill_in :proposal_summary, with: "Proposal summary"
|
||||||
fill_in :proposal_question, with: "Proposal question?"
|
|
||||||
check :proposal_terms_of_service
|
check :proposal_terms_of_service
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -291,7 +291,6 @@ end
|
|||||||
def imageable_fill_new_valid_proposal
|
def imageable_fill_new_valid_proposal
|
||||||
fill_in :proposal_title, with: "Proposal title"
|
fill_in :proposal_title, with: "Proposal title"
|
||||||
fill_in :proposal_summary, with: "Proposal summary"
|
fill_in :proposal_summary, with: "Proposal summary"
|
||||||
fill_in :proposal_question, with: "Proposal question?"
|
|
||||||
check :proposal_terms_of_service
|
check :proposal_terms_of_service
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,15 @@ module CommonActions
|
|||||||
to receive(:verify_officer_assignment).and_return(true)
|
to receive(:verify_officer_assignment).and_return(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def fill_in_proposal
|
||||||
|
fill_in "proposal_title", with: "Help refugees"
|
||||||
|
fill_in "proposal_summary", with: "In summary what we want is..."
|
||||||
|
fill_in "proposal_description", with: "This is very important because..."
|
||||||
|
fill_in "proposal_video_url", with: "https://www.youtube.com/watch?v=yPQfcG-eimk"
|
||||||
|
fill_in "proposal_responsible_name", with: "Isabel Garcia"
|
||||||
|
check "proposal_terms_of_service"
|
||||||
|
end
|
||||||
|
|
||||||
def set_officing_booth(booth=nil)
|
def set_officing_booth(booth=nil)
|
||||||
booth = create(:poll_booth) if booth.blank?
|
booth = create(:poll_booth) if booth.blank?
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user