From 5a74731b81a99a036f8b57031a40f7e468b5ee04 Mon Sep 17 00:00:00 2001 From: leandermasopust Date: Tue, 15 Feb 2022 20:44:09 +0100 Subject: [PATCH] fix scraping rooms for people --- app/models/room.rb | 2 +- app/views/rooms/show.html.erb | 8 +++++--- db/schema.rb | 2 +- lib/scraping/scraper.rb | 4 ++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/models/room.rb b/app/models/room.rb index c2783841..c1d7b93e 100644 --- a/app/models/room.rb +++ b/app/models/room.rb @@ -7,7 +7,7 @@ class Room < SearchableRecord has_and_belongs_to_many :tags has_many :people, dependent: :nullify has_many :courses, dependent: :nullify - belongs_to :floor + belongs_to :floor, optional: true belongs_to :outer_shape, class_name: 'Polyline' has_and_belongs_to_many :walls has_and_belongs_to_many :points diff --git a/app/views/rooms/show.html.erb b/app/views/rooms/show.html.erb index db8de70f..61769f7c 100644 --- a/app/views/rooms/show.html.erb +++ b/app/views/rooms/show.html.erb @@ -18,9 +18,11 @@
floor
-
- <%= @room.floor.name %> -
+ <% if @room.floor.present? %> +
+ <%= @room.floor.name %> +
+ <% end %> <% if @room.chairs.present? %>
diff --git a/db/schema.rb b/db/schema.rb index c85eef32..9b471ef1 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -207,7 +207,7 @@ t.datetime "updated_at", precision: 6, null: false t.integer "outer_shape_id", null: false t.string "image", default: "placeholder_room.png" - t.integer "floor_id", null: false + t.integer "floor_id" t.index ["floor_id"], name: "index_rooms_on_floor_id" t.index ["outer_shape_id"], name: "index_rooms_on_outer_shape_id" end diff --git a/lib/scraping/scraper.rb b/lib/scraping/scraper.rb index 42de9be8..dc50e33d 100644 --- a/lib/scraping/scraper.rb +++ b/lib/scraping/scraper.rb @@ -87,7 +87,7 @@ def self.build_info_if_not_exists(person, item, key, problem_checker) # Save room on person def self.add_room(person, room, problem_checker) - room = Room.find_or_create_by(number: room) - person.room = room unless problem_checker.check_for_conflict(person, "room") + room_obj = Room.find_or_create_by(full_name: room) + person.room = room_obj unless problem_checker.check_for_conflict(person, "room_id") end end