Class: Crm::Scheduler::BookingPagesController

Inherits:
CrmController
  • Object
show all
Defined in:
app/controllers/crm/scheduler/booking_pages_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



27
28
29
30
31
32
33
34
35
36
# File 'app/controllers/crm/scheduler/booking_pages_controller.rb', line 27

def create
  @booking_page = SchedulerBookingPage.new(booking_page_params)

  if @booking_page.save
    sync_hosts(@booking_page)
    redirect_to scheduler_admin_booking_page_path(@booking_page), notice: 'Booking page created.'
  else
    render :new, status: :unprocessable_entity
  end
end

#destroyObject



50
51
52
53
# File 'app/controllers/crm/scheduler/booking_pages_controller.rb', line 50

def destroy
  @booking_page.destroy
  redirect_to scheduler_admin_booking_pages_path, notice: 'Booking page deleted.'
end

#editObject



38
39
# File 'app/controllers/crm/scheduler/booking_pages_controller.rb', line 38

def edit
end

#indexObject



6
7
8
9
10
# File 'app/controllers/crm/scheduler/booking_pages_controller.rb', line 6

def index
  @booking_pages = SchedulerBookingPage
                     .includes(scheduler_hosts: { employee: :scheduler_profile })
                     .order(:name)
end

#newObject



23
24
25
# File 'app/controllers/crm/scheduler/booking_pages_controller.rb', line 23

def new
  @booking_page = SchedulerBookingPage.new
end

#showObject



12
13
14
15
16
17
18
19
20
21
# File 'app/controllers/crm/scheduler/booking_pages_controller.rb', line 12

def show
  @hosts = @booking_page.scheduler_hosts
                        .includes(employee: [:employee_record, :scheduler_profile])
                        .order(:priority)
  @questions = @booking_page.scheduler_booking_questions.ordered
  @bookings = @booking_page.scheduler_bookings
                           .includes(:employee)
                           .order(starts_at: :desc)
                           .limit(20)
end

#toggle_activeObject



55
56
57
58
# File 'app/controllers/crm/scheduler/booking_pages_controller.rb', line 55

def toggle_active
  @booking_page.update!(active: !@booking_page.active)
  redirect_to scheduler_admin_booking_pages_path, notice: "#{@booking_page.name} is now #{@booking_page.active? ? 'active' : 'inactive'}."
end

#updateObject



41
42
43
44
45
46
47
48
# File 'app/controllers/crm/scheduler/booking_pages_controller.rb', line 41

def update
  if @booking_page.update(booking_page_params)
    sync_hosts(@booking_page)
    redirect_to scheduler_admin_booking_page_path(@booking_page), notice: 'Booking page updated.'
  else
    render :edit, status: :unprocessable_entity
  end
end