Merge 98e0a25606 into a925ceac35
This commit is contained in:
commit
5a178b8dad
32 changed files with 781 additions and 2 deletions
82
app/controllers/admin/booths_controller.rb
Normal file
82
app/controllers/admin/booths_controller.rb
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
module Admin
|
||||
class Admin::BoothsController < Admin::BaseController
|
||||
load_and_authorize_resource :conference, find_by: :short_title
|
||||
load_and_authorize_resource :booth, through: :conference
|
||||
|
||||
|
||||
def index
|
||||
@booths = @conference.booths
|
||||
end
|
||||
|
||||
def show; end
|
||||
|
||||
def new
|
||||
@booth = Booth.new(conference: @conference)
|
||||
end
|
||||
|
||||
def create
|
||||
@booth = @conference.booths.build(booth_params)
|
||||
|
||||
if @booth.save
|
||||
redirect_to admin_conference_booths_path,
|
||||
notice: "Booth successfully created."
|
||||
else
|
||||
flash[:error] = "Creating booth failed. #{@booth.errors.full_messages.join('. ')}."
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def edit; end
|
||||
|
||||
def update
|
||||
@booth = @conference.booths
|
||||
@booth.assign_attributes(booth_params)
|
||||
|
||||
|
||||
if @booth.update_attributes(booth_params)
|
||||
redirect_to admin_conference_booths_path,
|
||||
notice: "Successfully updated booth for #{@booth.title}."
|
||||
else
|
||||
flash[:error] = "An error prohibited the Booth for #{@booth.title} "\
|
||||
"#{@booth.errors.full_messages.join('. ')}."
|
||||
render :edit
|
||||
end
|
||||
end
|
||||
|
||||
def destroy; end
|
||||
|
||||
def accept
|
||||
update_state(:accept, 'Booth accepted!')
|
||||
end
|
||||
|
||||
def to_accept
|
||||
update_state(:to_accept, 'Booth to accept')
|
||||
end
|
||||
|
||||
def reject
|
||||
update_state(:rejected, 'Booth rejected')
|
||||
end
|
||||
|
||||
def reset
|
||||
update_state(:reset, 'Booth is submitted')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def update_state(transition, notice)
|
||||
alert = @booth.update_state(transition, notice)
|
||||
|
||||
if alert.blank?
|
||||
flash[:notice] = notice
|
||||
redirect_back_or_to(admin_conference_booths_path(conference_id: @conference.short_title)) && return
|
||||
else
|
||||
flash[:error] = alert
|
||||
return redirect_back_or_to(admin_conference_booths_path(conference_id: @conference.short_title)) && return
|
||||
end
|
||||
end
|
||||
|
||||
def booth_params
|
||||
params.require(:booth).permit(:title, :description, :reasoning, :state, :logo_link, :conference_id)
|
||||
end
|
||||
end
|
||||
end
|
||||
55
app/controllers/admin/call_for_booths_controller.rb
Normal file
55
app/controllers/admin/call_for_booths_controller.rb
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
module Admin
|
||||
class CallForBoothsController < Admin::BaseController
|
||||
load_and_authorize_resource :conference, find_by: :short_title
|
||||
load_and_authorize_resource through: :conference, singleton: true
|
||||
|
||||
def show; end
|
||||
|
||||
|
||||
def new
|
||||
@call_for_booth = CallForBooth.new(conference: @conference)
|
||||
end
|
||||
|
||||
def edit; end
|
||||
|
||||
def create
|
||||
@call_for_booth = @conference.call_for_booth.build(call_for_booth_params)
|
||||
|
||||
if @call_for_booth.save
|
||||
redirect_to admin_conference_call_for_booth_path,
|
||||
notice: "Call for booths successfully created."
|
||||
else
|
||||
flash[:error] = "Creating the call for booths failed. #{@call_for_booth.errors.full_messages.join('. ')}."
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
@call_for_booth = @conference.call_for_booth
|
||||
@call_for_booth.assign_attributes(call_for_booth_params)
|
||||
|
||||
if @call_for_booth.update_attributes(call_for_booth_params)
|
||||
redirect_to admin_conference_call_for_booth_path(@conference.short_title),
|
||||
notice: 'Call for booths successfully updated.'
|
||||
else
|
||||
flash.now[:error] = "Updating call for booths failed. #{@call_for_booth.errors.to_a.join('. ')}."
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
if @call_for_booth.destroy
|
||||
redirect_to admin_conference_call_for_booth_path, notice: 'Call for Booths successfully deleted.'
|
||||
else
|
||||
redirect_to admin_conference_call_for_booth_path, error: 'An error prohibited this Call for Booths from being destroyed: '\
|
||||
"#{@call_for_booth.errors.full_messages.join('. ')}."
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def call_for_booth_params
|
||||
params.require(:call_for_booth).permit(:start_date, :end_date, :booth_limit)
|
||||
end
|
||||
end
|
||||
end
|
||||
71
app/controllers/booths_controller.rb
Normal file
71
app/controllers/booths_controller.rb
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
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
|
||||
83
app/controllers/call_for_booths_controller.rb
Normal file
83
app/controllers/call_for_booths_controller.rb
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
class CallForBoothsController < ApplicationController
|
||||
before_action :set_call_for_booth, only: [:show, :edit, :update, :destroy]
|
||||
|
||||
# GET /call_for_booths
|
||||
# GET /call_for_booths.json
|
||||
def index
|
||||
@call_for_booths = CallForBooth.all
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @call_for_booths }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /call_for_booths/1
|
||||
# GET /call_for_booths/1.json
|
||||
def show
|
||||
respond_to do |format|
|
||||
format.html # show.html.erb
|
||||
format.json { render json: @call_for_booth }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /call_for_booths/new
|
||||
def new
|
||||
@call_for_booth = CallForBooth.new
|
||||
end
|
||||
|
||||
# GET /call_for_booths/1/edit
|
||||
def edit
|
||||
end
|
||||
|
||||
# POST /call_for_booths
|
||||
# POST /call_for_booths.json
|
||||
def create
|
||||
@call_for_booth = CallForBooth.new(call_for_booth_params)
|
||||
|
||||
respond_to do |format|
|
||||
if @call_for_booth.save
|
||||
format.html { redirect_to @call_for_booth, notice: 'Call for booth was successfully created.' }
|
||||
format.json { render json: @call_for_booth, status: :created }
|
||||
else
|
||||
format.html { render action: 'new' }
|
||||
format.json { render json: @call_for_booth.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# PATCH/PUT /call_for_booths/1
|
||||
# PATCH/PUT /call_for_booths/1.json
|
||||
def update
|
||||
respond_to do |format|
|
||||
if @call_for_booth.update(call_for_booth_params)
|
||||
format.html { redirect_to @call_for_booth, notice: 'Call for booth was successfully updated.' }
|
||||
format.json { head :no_content }
|
||||
else
|
||||
format.html { render action: 'edit' }
|
||||
format.json { render json: @call_for_booth.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /call_for_booths/1
|
||||
# DELETE /call_for_booths/1.json
|
||||
def destroy
|
||||
@call_for_booth.destroy
|
||||
respond_to do |format|
|
||||
format.html { redirect_to call_for_booths_url }
|
||||
format.json { head :no_content }
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
# Use callbacks to share common setup or constraints between actions.
|
||||
def set_call_for_booth
|
||||
@call_for_booth = CallForBooth.find(params[:id])
|
||||
end
|
||||
|
||||
# Never trust parameters from the scary internet, only allow the white list through.
|
||||
def call_for_booth_params
|
||||
params.require(:call_for_booth).permit(:start_date, :end_date, :booth_limit)
|
||||
end
|
||||
end
|
||||
49
app/models/booth.rb
Normal file
49
app/models/booth.rb
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
class Booth < ActiveRecord::Base
|
||||
include ActiveRecord::Transitions
|
||||
|
||||
belongs_to :conference
|
||||
has_many :booth_requests
|
||||
has_many :users, through: :booth_requests
|
||||
|
||||
validates :title,
|
||||
uniqueness: { case_sensitive: false },
|
||||
presence: true
|
||||
|
||||
validates :description,
|
||||
:reasoning,
|
||||
:state,
|
||||
:logo_link,
|
||||
:conference_id,
|
||||
presence: true
|
||||
|
||||
state_machine initial: :submitted do
|
||||
state :submitted
|
||||
state :withdrawn
|
||||
state :to_accept
|
||||
state :accepted
|
||||
state :rejected
|
||||
|
||||
event :restart do
|
||||
transitions to: :submitted, from: [:withdrawn]
|
||||
end
|
||||
event :withdrawn do
|
||||
transitions to: :withdrawn, from: [:submitted, :to_accept, :accepted]
|
||||
end
|
||||
event :to_accept do
|
||||
transitions to: :to_accept, from: [:submitted, :rejected, :accepted]
|
||||
end
|
||||
event :accept do
|
||||
transitions to: :accepted, from: [:submitted, :to_accept]
|
||||
end
|
||||
event :reject do
|
||||
transitions to: :rejected, from: [:submitted]
|
||||
end
|
||||
event :reset do
|
||||
transitions to: :submitted, from: [:to_accept]
|
||||
end
|
||||
end
|
||||
|
||||
def transition_possible?(transition)
|
||||
self.class.state_machine.events_for(current_state).include?(transition)
|
||||
end
|
||||
end
|
||||
12
app/models/booth_request.rb
Normal file
12
app/models/booth_request.rb
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
class BoothRequest < ActiveRecord::Base
|
||||
belongs_to :booth
|
||||
belongs_to :user
|
||||
|
||||
validates :booth,
|
||||
:user,
|
||||
:role,
|
||||
presence: true
|
||||
|
||||
ROLES = [%w[Submitter submitter], %w[Responsible responsible], %w[Secondary secondary]]
|
||||
|
||||
end
|
||||
22
app/models/call_for_booth.rb
Normal file
22
app/models/call_for_booth.rb
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
class CallForBooth < ActiveRecord::Base
|
||||
belongs_to :conference
|
||||
|
||||
validates :start_date, :end_date, :booth_limit, presence: true
|
||||
validate :before_end_of_conference
|
||||
validate :start_date_before_end_date
|
||||
|
||||
private
|
||||
|
||||
def before_end_of_conference
|
||||
errors
|
||||
.add(:start_date, "can't be after the conference end date (#{conference.end_date})") if conference && conference.end_date && start_date && (start_date > conference.end_date)
|
||||
|
||||
errors
|
||||
.add(:end_date, "can't be after the conference end date (#{conference.end_date})") if conference && conference.end_date && end_date && (end_date > conference.end_date)
|
||||
end
|
||||
|
||||
def start_date_before_end_date
|
||||
errors
|
||||
.add(:start_date, "can't be after the end date") if start_date && end_date && start_date > end_date
|
||||
end
|
||||
end
|
||||
|
|
@ -16,6 +16,7 @@ class Conference < ActiveRecord::Base
|
|||
has_one :splashpage, dependent: :destroy
|
||||
has_one :contact, dependent: :destroy
|
||||
has_one :registration_period, dependent: :destroy
|
||||
has_one :call_for_booths, dependent: :destroy
|
||||
has_one :email_settings, dependent: :destroy
|
||||
has_one :program, dependent: :destroy
|
||||
has_one :venue, dependent: :destroy
|
||||
|
|
@ -24,6 +25,7 @@ class Conference < ActiveRecord::Base
|
|||
has_many :supporters, through: :ticket_purchases, source: :user
|
||||
has_many :tickets, dependent: :destroy
|
||||
has_many :resources, dependent: :destroy
|
||||
has_many :booths, dependent: :destroy
|
||||
|
||||
has_many :lodgings, dependent: :destroy
|
||||
has_many :registrations, dependent: :destroy
|
||||
|
|
|
|||
|
|
@ -50,11 +50,13 @@ class User < ActiveRecord::Base
|
|||
has_many :votes, dependent: :destroy
|
||||
has_many :voted_events, through: :votes, source: :events
|
||||
has_many :subscriptions, dependent: :destroy
|
||||
has_many :booth_requests
|
||||
has_many :booths, through: :users_booths
|
||||
accepts_nested_attributes_for :roles
|
||||
|
||||
scope :admin, -> { where(is_admin: true) }
|
||||
scope :active, -> { where(is_disabled: false) }
|
||||
|
||||
|
||||
validates :email, presence: true
|
||||
|
||||
validates :username,
|
||||
|
|
|
|||
25
app/views/admin/booths/_change_state_dropdown.html.haml
Normal file
25
app/views/admin/booths/_change_state_dropdown.html.haml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
- if booth.transition_possible? :accept
|
||||
%li= link_to 'Accept booth',
|
||||
accept_admin_conference_booth_path(@conference.short_title, booth),
|
||||
method: :patch, id: "accept_booth_#{booth.id}"
|
||||
|
||||
- if booth.transition_possible? :reject
|
||||
%li= link_to 'Reject booth',
|
||||
reject_admin_conference_booth_path(@conference.short_title, booth),
|
||||
method: :patch, confirm: 'Are you sure?', id: "reject_booth_#{booth.id}"
|
||||
|
||||
|
||||
- if booth.transition_possible? :restart
|
||||
%li= link_to 'Start review',
|
||||
restart_admin_conference_booth_path(@conference.short_title, booth),
|
||||
method: :patch, id: "restart_booth_#{booth.id}"
|
||||
|
||||
- if booth.transition_possible? :to_accept
|
||||
%li= link_to 'To accept booth',
|
||||
to_accept_admin_conference_booth_path(@conference.short_title, booth),
|
||||
method: :patch, id: "to_accept_booth_#{booth.id}"
|
||||
|
||||
- if booth.transition_possible? :cancel
|
||||
%li= link_to 'Cancel booth',
|
||||
cancel_admin_conference_booth_path(@conference.short_title, booth),
|
||||
method: :patch, id: "cancel_booth_#{booth.id}"
|
||||
17
app/views/admin/booths/_form.html.haml
Normal file
17
app/views/admin/booths/_form.html.haml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
.row
|
||||
.col-md-12
|
||||
.page-header
|
||||
%title Request a Booth
|
||||
.row
|
||||
.col-md-8
|
||||
= semantic_form_for(@booth, url: admin_conference_booths_path(@conference.short_title), html: {multipart: true}) do |f|
|
||||
= f.input :title, as: :string, required: true
|
||||
= f.input :description, input_html: { rows: 5, data: { provide: 'markdown-editable' } }, required: true
|
||||
= f.input :reasoning, input_html: { rows: 5, data: { provide: 'markdown-editable' } }, required: true
|
||||
= f.input :logo_link, as: :string, required: true
|
||||
|
||||
%p.text-right
|
||||
- if @booth.new_record?
|
||||
= f.submit 'Create Booth Request', class: 'btn btn-success'
|
||||
- else
|
||||
= f.submit 'Update Booth Request', class: 'btn btn-success'
|
||||
3
app/views/admin/booths/edit.html.haml
Normal file
3
app/views/admin/booths/edit.html.haml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
%h1 Editing booth
|
||||
|
||||
= render 'form'
|
||||
47
app/views/admin/booths/index.html.haml
Normal file
47
app/views/admin/booths/index.html.haml
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
.row
|
||||
.col-md-12
|
||||
.page-header
|
||||
%h1
|
||||
Booths
|
||||
= "(#{@booths.length})" if @booths.any?
|
||||
.pull-right
|
||||
- if can? :create, Booth
|
||||
=link_to 'Add Booth', new_admin_conference_booth_path(@conference.short_title), class: 'button btn btn-default btn-info'
|
||||
%p.text-muted
|
||||
All the booth requests
|
||||
.row
|
||||
.col-md-12
|
||||
.margin-event-table
|
||||
%table.table.table-striped.table-bordered.table-hover.datatable
|
||||
%thead
|
||||
%th
|
||||
%b ID
|
||||
%th
|
||||
%b Title
|
||||
%th
|
||||
%b Submitter
|
||||
%th
|
||||
%b Responsible
|
||||
%th
|
||||
%b Secondary Responsible
|
||||
%th
|
||||
%b State
|
||||
- @booths.each do |booth|
|
||||
%tr
|
||||
%td
|
||||
= booth.id
|
||||
%td
|
||||
= link_to booth.title, admin_conference_booth_path(@conference.short_title, booth)
|
||||
%td
|
||||
a
|
||||
%td
|
||||
b
|
||||
%td
|
||||
c
|
||||
%td
|
||||
.btn-group
|
||||
%button{ type: 'button', class: 'btn btn-link dropdown-toggle', 'data-toggle' => 'dropdown' }
|
||||
= booth.state.humanize
|
||||
%span.caret
|
||||
%ul.dropdown-menu{ role: 'menu' }
|
||||
= render 'change_state_dropdown', booth: booth
|
||||
5
app/views/admin/booths/new.html.haml
Normal file
5
app/views/admin/booths/new.html.haml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
%h1 New booth
|
||||
|
||||
= render 'form'
|
||||
|
||||
= link_to 'Back', admin_conference_booths_path
|
||||
20
app/views/admin/booths/show.html.haml
Normal file
20
app/views/admin/booths/show.html.haml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
.row
|
||||
.col-md-12
|
||||
%h3
|
||||
= @booth.title
|
||||
.btn-group.pull-right
|
||||
= link_to 'Edit', edit_admin_conference_booth_path(@conference.short_title, @booth), class: 'btn btn-mini btn-primary'
|
||||
|
||||
.row
|
||||
.col-md-12
|
||||
%table.table
|
||||
%tr
|
||||
%td.col-md-2
|
||||
%b Description
|
||||
%td
|
||||
= @booth.description
|
||||
%tr
|
||||
%td.col-md-2
|
||||
%b Reasoning
|
||||
%td
|
||||
= @booth.reasoning
|
||||
19
app/views/admin/call_for_booths/_form.html.haml
Normal file
19
app/views/admin/call_for_booths/_form.html.haml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
= form_for @call_for_booth do |f|
|
||||
- if @call_for_booth.errors.any?
|
||||
#error_explanation
|
||||
%h2= "#{pluralize(@call_for_booth.errors.count, "error")} prohibited this call_for_booth from being saved:"
|
||||
%ul
|
||||
- @call_for_booth.errors.full_messages.each do |msg|
|
||||
%li= msg
|
||||
|
||||
.field
|
||||
= f.label :start_date
|
||||
= f.date_select :start_date
|
||||
.field
|
||||
= f.label :end_date
|
||||
= f.date_select :end_date
|
||||
.field
|
||||
= f.label :booth_limit
|
||||
= f.number_field :booth_limit
|
||||
.actions
|
||||
= f.submit 'Save'
|
||||
7
app/views/admin/call_for_booths/edit.html.haml
Normal file
7
app/views/admin/call_for_booths/edit.html.haml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
%h1 Editing call_for_booth
|
||||
|
||||
= render 'form'
|
||||
|
||||
= link_to 'Show', @call_for_booth
|
||||
\|
|
||||
= link_to 'Back', call_for_booths_path
|
||||
23
app/views/admin/call_for_booths/index.html.haml
Normal file
23
app/views/admin/call_for_booths/index.html.haml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
%h1 Listing call_for_booths
|
||||
|
||||
%table
|
||||
%tr
|
||||
%th Start date
|
||||
%th End date
|
||||
%th Booth limit
|
||||
%th
|
||||
%th
|
||||
%th
|
||||
|
||||
- @call_for_booths.each do |call_for_booth|
|
||||
%tr
|
||||
%td= call_for_booth.start_date
|
||||
%td= call_for_booth.end_date
|
||||
%td= call_for_booth.booth_limit
|
||||
%td= link_to 'Show', call_for_booth
|
||||
%td= link_to 'Edit', edit_call_for_booth_path(call_for_booth)
|
||||
%td= link_to 'Destroy', call_for_booth, :method => :delete, :data => { :confirm => 'Are you sure?' }
|
||||
|
||||
%br
|
||||
|
||||
= link_to 'New Call for booth', new_call_for_booth_path
|
||||
5
app/views/admin/call_for_booths/new.html.haml
Normal file
5
app/views/admin/call_for_booths/new.html.haml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
%h1 New call_for_booth
|
||||
|
||||
= render 'form'
|
||||
|
||||
= link_to 'Back', call_for_booths_path
|
||||
15
app/views/admin/call_for_booths/show.html.haml
Normal file
15
app/views/admin/call_for_booths/show.html.haml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
%p#notice= notice
|
||||
|
||||
%p
|
||||
%b Start date:
|
||||
= @call_for_booth.start_date
|
||||
%p
|
||||
%b End date:
|
||||
= @call_for_booth.end_date
|
||||
%p
|
||||
%b Booth limit:
|
||||
= @call_for_booth.booth_limit
|
||||
|
||||
= link_to 'Edit', edit_call_for_booth_path(@call_for_booth)
|
||||
\|
|
||||
= link_to 'Back', call_for_booths_path
|
||||
28
app/views/booths/_form.html.haml
Normal file
28
app/views/booths/_form.html.haml
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
= form_for @booth do |f|
|
||||
- if @booth.errors.any?
|
||||
#error_explanation
|
||||
%h2= "#{pluralize(@booth.errors.count, "error")} prohibited this booth from being saved:"
|
||||
%ul
|
||||
- @booth.errors.full_messages.each do |msg|
|
||||
%li= msg
|
||||
|
||||
.field
|
||||
= f.label :title
|
||||
= f.text_field :title
|
||||
.field
|
||||
= f.label :conference_id
|
||||
= f.number_field :conference_id
|
||||
.field
|
||||
= f.label :description
|
||||
= f.text_area :description
|
||||
.field
|
||||
= f.label :state
|
||||
= f.text_field :state
|
||||
.field
|
||||
= f.label :reasoning
|
||||
= f.text_area :reasoning
|
||||
.field
|
||||
= f.label :logo_link
|
||||
= f.text_field :logo_link
|
||||
.actions
|
||||
= f.submit 'Save'
|
||||
7
app/views/booths/edit.html.haml
Normal file
7
app/views/booths/edit.html.haml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
%h1 Editing booth
|
||||
|
||||
= render 'form'
|
||||
|
||||
= link_to 'Show', @booth
|
||||
\|
|
||||
= link_to 'Back', booths_path
|
||||
29
app/views/booths/index.html.haml
Normal file
29
app/views/booths/index.html.haml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
%h1 Listing booths
|
||||
|
||||
%table
|
||||
%tr
|
||||
%th Title
|
||||
%th Conference
|
||||
%th Description
|
||||
%th State
|
||||
%th Reasoning
|
||||
%th Logo link
|
||||
%th
|
||||
%th
|
||||
%th
|
||||
|
||||
- @booths.each do |booth|
|
||||
%tr
|
||||
%td= booth.title
|
||||
%td= booth.conference_id
|
||||
%td= booth.description
|
||||
%td= booth.state
|
||||
%td= booth.reasoning
|
||||
%td= booth.logo_link
|
||||
%td= link_to 'Show', booth
|
||||
%td= link_to 'Edit', edit_booth_path(booth)
|
||||
%td= link_to 'Destroy', booth, :method => :delete, :data => { :confirm => 'Are you sure?' }
|
||||
|
||||
%br
|
||||
|
||||
= link_to 'New Booth', new_booth_path
|
||||
5
app/views/booths/new.html.haml
Normal file
5
app/views/booths/new.html.haml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
%h1 New booth
|
||||
|
||||
= render 'form'
|
||||
|
||||
= link_to 'Back', booths_path
|
||||
24
app/views/booths/show.html.haml
Normal file
24
app/views/booths/show.html.haml
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
%p#notice= notice
|
||||
|
||||
%p
|
||||
%b Title:
|
||||
= @booth.title
|
||||
%p
|
||||
%b Conference:
|
||||
= @booth.conference_id
|
||||
%p
|
||||
%b Description:
|
||||
= @booth.description
|
||||
%p
|
||||
%b State:
|
||||
= @booth.state
|
||||
%p
|
||||
%b Reasoning:
|
||||
= @booth.reasoning
|
||||
%p
|
||||
%b Logo link:
|
||||
= @booth.logo_link
|
||||
|
||||
= link_to 'Edit', edit_booth_path(@booth)
|
||||
\|
|
||||
= link_to 'Back', booths_path
|
||||
Loading…
Add table
Add a link
Reference in a new issue