37 lines
		
	
	
		
			888 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			888 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # Copyright (C) 2024 Manuel Bustillo
 | |
| 
 | |
| class TablesArrangementsController < ApplicationController
 | |
|   def index
 | |
|     @tables_arrangements = TablesArrangement.all.order(discomfort: :asc).limit(10)
 | |
| 
 | |
|     respond_to do |format|
 | |
|       format.html
 | |
|       format.json { render json: @tables_arrangements }
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def show
 | |
|     @tables_arrangement = TablesArrangement.find(params[:id])
 | |
|     @seats = @tables_arrangement.seats.group_by(&:table_number)
 | |
| 
 | |
|     respond_to do |format|
 | |
|       format.html
 | |
|       format.json do
 | |
|         render json: {
 | |
|           tables: @seats.map do |table_number, seats|
 | |
|             {
 | |
|               table_number: table_number,
 | |
|               guests: seats.map do |seat|
 | |
|                 {
 | |
|                   guest: seat.guest,
 | |
|                   group: seat.guest.group,
 | |
|                 }
 | |
|               end
 | |
|             }
 | |
|           end
 | |
|         }
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |