views for call for booths
This commit is contained in:
parent
60ec569553
commit
5734c90d1e
9 changed files with 61 additions and 115 deletions
|
|
@ -3,11 +3,12 @@ module Admin
|
||||||
load_and_authorize_resource :conference, find_by: :short_title
|
load_and_authorize_resource :conference, find_by: :short_title
|
||||||
load_and_authorize_resource through: :conference, singleton: true
|
load_and_authorize_resource through: :conference, singleton: true
|
||||||
|
|
||||||
def show; end
|
def show
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@call_for_booth = CallForBooth.new(conference: @conference)
|
@call_for_booths = CallForBooth.new(conference: @conference)
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit; end
|
def edit; end
|
||||||
|
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
||||||
class BoothsController < ApplicationController
|
|
||||||
before_action :set_booth, only: [:show, :edit, :update, :destroy]
|
|
||||||
|
|
||||||
# GET /booths
|
|
||||||
def index
|
|
||||||
@booths = Booth.all
|
|
||||||
|
|
||||||
respond_to do |format|
|
|
||||||
format.html # index.html.erb
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# GET /booths/1
|
|
||||||
def show
|
|
||||||
respond_to do |format|
|
|
||||||
format.html # show.html.erb
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# GET /booths/new
|
|
||||||
def new
|
|
||||||
@booth = Booth.new
|
|
||||||
end
|
|
||||||
|
|
||||||
# GET /booths/1/edit
|
|
||||||
def edit
|
|
||||||
end
|
|
||||||
|
|
||||||
# POST /booths
|
|
||||||
def create
|
|
||||||
@booth = Booth.new(booth_params)
|
|
||||||
|
|
||||||
respond_to do |format|
|
|
||||||
if @booth.save
|
|
||||||
format.html { redirect_to @booth, notice: 'Booth was successfully created.' }
|
|
||||||
else
|
|
||||||
format.html { render action: 'new' }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# PATCH/PUT /booths/1
|
|
||||||
def update
|
|
||||||
respond_to do |format|
|
|
||||||
if @booth.update(booth_params)
|
|
||||||
format.html { redirect_to @booth, notice: 'Booth was successfully updated.' }
|
|
||||||
else
|
|
||||||
format.html { render action: 'edit' }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# DELETE /booths/1
|
|
||||||
def destroy
|
|
||||||
@booth.destroy
|
|
||||||
respond_to do |format|
|
|
||||||
format.html { redirect_to booths_url }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
# Use callbacks to share common setup or constraints between actions.
|
|
||||||
def set_booth
|
|
||||||
@booth = Booth.find(params[:id])
|
|
||||||
end
|
|
||||||
|
|
||||||
# Never trust parameters from the scary internet, only allow the white list through.
|
|
||||||
def booth_params
|
|
||||||
params.require(:booth).permit(:title, :conference_id, :description, :state, :reasoning, :logo_link)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
@ -3,6 +3,7 @@ class Booth < ActiveRecord::Base
|
||||||
|
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
has_many :booth_requests
|
has_many :booth_requests
|
||||||
|
has_one :call_for_booths
|
||||||
has_many :users, through: :booth_requests
|
has_many :users, through: :booth_requests
|
||||||
|
|
||||||
has_one :submitter_booth_user, -> { where(role: 'submitter') }, class_name: 'BoothRequest'
|
has_one :submitter_booth_user, -> { where(role: 'submitter') }, class_name: 'BoothRequest'
|
||||||
|
|
@ -21,11 +22,7 @@ class Booth < ActiveRecord::Base
|
||||||
:conference_id,
|
:conference_id,
|
||||||
presence: true
|
presence: true
|
||||||
|
|
||||||
validate :logo_link
|
|
||||||
|
|
||||||
include Gravtastic
|
|
||||||
gravtastic size: 32
|
|
||||||
|
|
||||||
state_machine initial: :submitted do
|
state_machine initial: :submitted do
|
||||||
state :submitted
|
state :submitted
|
||||||
state :withdrawn
|
state :withdrawn
|
||||||
|
|
@ -67,4 +64,5 @@ class Booth < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
alert
|
alert
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,16 @@
|
||||||
class CallForBooth < ActiveRecord::Base
|
class CallForBooth < ActiveRecord::Base
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
|
has_many :booths
|
||||||
|
|
||||||
validates :start_date, :end_date, :booth_limit, presence: true
|
validates :start_date, :end_date, :booth_limit, presence: true
|
||||||
validate :before_end_of_conference
|
validate :before_end_of_conference
|
||||||
validate :start_date_before_end_date
|
validate :start_date_before_end_date
|
||||||
|
|
||||||
|
def remaining_days(date = Date.today)
|
||||||
|
end_date - date > 0 ? (end_date - date) : 0
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def before_end_of_conference
|
def before_end_of_conference
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,7 @@
|
||||||
= f.input :reasoning, input_html: { rows: 5, data: { provide: 'markdown-editable' } }, required: true
|
= f.input :reasoning, input_html: { rows: 5, data: { provide: 'markdown-editable' } }, required: true
|
||||||
= responsibles_selector_input f
|
= responsibles_selector_input f
|
||||||
= f.input :logo_link, as: :string, required: true
|
= f.input :logo_link, as: :string, required: true
|
||||||
|
|
||||||
|
|
||||||
%p.text-right
|
%p.text-right
|
||||||
- if @booth.new_record?
|
- if @booth.new_record?
|
||||||
= f.submit 'Create Booth Request', class: 'btn btn-success'
|
= f.submit 'Create Booth Request', class: 'btn btn-success'
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
%h3
|
%h3
|
||||||
|
= image_tag(@booth.gravatar_url(size: '48'))
|
||||||
= @booth.title
|
= @booth.title
|
||||||
.btn-group.pull-right
|
.btn-group.pull-right
|
||||||
= link_to 'Edit', edit_admin_conference_booth_path(@conference.short_title, @booth), class: 'btn btn-mini btn-primary'
|
= link_to 'Edit', edit_admin_conference_booth_path(@conference.short_title, @booth), class: 'btn btn-mini btn-primary'
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,12 @@
|
||||||
= form_for @call_for_booth do |f|
|
.row
|
||||||
- if @call_for_booth.errors.any?
|
.col-md-12
|
||||||
#error_explanation
|
.page-header
|
||||||
%h2= "#{pluralize(@call_for_booth.errors.count, "error")} prohibited this call_for_booth from being saved:"
|
%h1 Call for Booths
|
||||||
%ul
|
.row
|
||||||
- @call_for_booth.errors.full_messages.each do |msg|
|
.col-md-8
|
||||||
%li= msg
|
= semantic_form_for(@call_for_booth, url: admin_conference_call_for_booths_path(@conference.short_title), html: {multipart: true}) do |f|
|
||||||
|
= f.input :start_date, as: :string, input_html: { id: 'registration-period-start-datepicker', start_date: @conference.start_date, end_date: @conference.end_date, readonly: 'readonly' }
|
||||||
.field
|
= f.input :end_date, as: :string, input_html: { id: 'registration-period-end-datepicker', readonly: 'readonly' }
|
||||||
= f.label :start_date
|
= f.input :booth_limit
|
||||||
= f.date_select :start_date
|
%p.text-right
|
||||||
.field
|
= f.action :submit, as: :button, button_html: { class: 'btn btn-primary' }
|
||||||
= f.label :end_date
|
|
||||||
= f.date_select :end_date
|
|
||||||
.field
|
|
||||||
= f.label :booth_limit
|
|
||||||
= f.number_field :booth_limit
|
|
||||||
.actions
|
|
||||||
= f.submit 'Save'
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
%h1 New call_for_booth
|
%h1 New call_for_booth
|
||||||
|
|
||||||
= render 'form'
|
= render 'form'
|
||||||
|
|
||||||
= link_to 'Back', call_for_booths_path
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,36 @@
|
||||||
%p#notice= notice
|
.row
|
||||||
|
.col-md-12
|
||||||
%p
|
.page-header
|
||||||
%b Start date:
|
%h1 Call for Booths
|
||||||
= @call_for_booth.start_date
|
%p.text-muted
|
||||||
%p
|
Call for people to submit booth requests to your conference
|
||||||
%b End date:
|
- if @call_for_booth
|
||||||
= @call_for_booth.end_date
|
.row
|
||||||
%p
|
.col-md-8
|
||||||
%b Booth limit:
|
%dl.dl-horizontal
|
||||||
= @call_for_booth.booth_limit
|
%dt
|
||||||
|
Start Date
|
||||||
= link_to 'Edit', edit_call_for_booth_path(@call_for_booth)
|
%dd
|
||||||
\|
|
= @call_for_booth.start_date.strftime('%A, %B %-d. %Y')
|
||||||
= link_to 'Back', call_for_booths_path
|
%dt
|
||||||
|
End Date
|
||||||
|
%dd
|
||||||
|
= @call_for_booth.end_date.strftime('%A, %B %-d. %Y')
|
||||||
|
%dt
|
||||||
|
Days Left
|
||||||
|
%dd
|
||||||
|
= pluralize(@call_for_booth.remaining_days, 'day')
|
||||||
|
%dt
|
||||||
|
Maximum Booths
|
||||||
|
%dd
|
||||||
|
= @call_for_booth.booth_limit
|
||||||
|
.row
|
||||||
|
.col-md-12.text-right
|
||||||
|
= link_to(edit_admin_conference_call_for_booths_path(@conference.short_title), class: 'btn btn-primary') do
|
||||||
|
Edit
|
||||||
|
= link_to(admin_conference_call_for_booths_path(@conference.short_title), method: 'delete', class: 'btn btn-danger', data: {confirm: 'Are you sure you want to delete the Call for Booths?'}) do
|
||||||
|
Delete
|
||||||
|
- else
|
||||||
|
.row
|
||||||
|
.col-md-12.text-right
|
||||||
|
= link_to 'Create new Call for Pappers', new_admin_conference_call_for_booths_path(@conference.short_title), class: 'btn btn-primary'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue