Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def create
- @booking = Booking.new(params[:reservations_booking])
- @booking.hotel = @hotel
- @booking.set_rooms( params[:room_types] ) if params[:room_types]
- @booking.set_kind(:widget)
- errors = {}
- user_info = params[:user_info]
- if user_info && user_info[:has_account].to_i == 0
- unless User.where("email = ?", @booking.email).first
- @user = User.new(:first_name => @booking.first_name, :last_name => @booking.last_name, :email => @booking.email)
- @user.save
- @booking.user = @user
- errors[:user] = @user.errors.keys.collect{|a| a.to_s} if @user.errors.any?
- else
- errors[:user] = 'user_exists'
- end
- elsif user_info && user_info[:has_account].to_i == 1
- @user = User.where("email = ? AND telecode = ?", user_info[:email], user_info[:telecode]).first || nil #current_user
- if @user
- @booking.fill_user(@user)
- else
- errors[:user] = 'user_not_found'
- end
- else
- errors[:user] = 'user_invalid_data_format'
- end
- @booking.submit(:full) if @booking.valid? && errors.empty?
- response = {}
- if errors.any? || @booking.errors.any?
- response[:status] = false
- response[:errors] = { :booking => @booking.errors.keys.collect{|a| a.to_s}, :user => errors[:user] }
- else
- response[:status] = true
- end
- respond_to do |format|
- format.js { render :json => response }
- end
- end
Add Comment
Please, Sign In to add comment