diff --git a/app/controllers/favorites/favorite_person_controller.rb b/app/controllers/favorites/favorite_person_controller.rb
index 8583836..4f75668 100644
--- a/app/controllers/favorites/favorite_person_controller.rb
+++ b/app/controllers/favorites/favorite_person_controller.rb
@@ -1,5 +1,6 @@
class Favorites::FavoritePersonController < ApplicationController
def index
@favoritePeople = FavoritePerson.all
+ @host = 'https://tiss.tuwien.ac.at'
end
end
diff --git a/app/models/favorite_person.rb b/app/models/favorite_person.rb
index bee068e..9d1e8b8 100644
--- a/app/models/favorite_person.rb
+++ b/app/models/favorite_person.rb
@@ -1,3 +1,5 @@
class FavoritePerson < ApplicationRecord
- self.primary_key = "tiss_id"
+ self.primary_key = 'tiss_id'
+
+ validates :tiss_id, uniqueness: true
end
diff --git a/app/views/favorites/favorite_person/index.html.erb b/app/views/favorites/favorite_person/index.html.erb
index d3e7f6e..a304a14 100644
--- a/app/views/favorites/favorite_person/index.html.erb
+++ b/app/views/favorites/favorite_person/index.html.erb
@@ -1,6 +1,23 @@
-
Your favorite people listed here ...
-For now only the tiss_ids are stored and shown
+Favorite People
-<% @favoritePeople.each do |favPerson| %>
- Tiss_id: <%= favPerson.tiss_id %>
-<% end %>
+
+ <% @favoritePeople.each do |person| %>
+ -
+ <%= link_to people_crawler_show_detail_url(:tiss_id => person['tiss_id']) do %>
+
+
+ <% if person['picture_uri'] != nil %>
+ <%= image_tag @host + person['picture_uri'] %>
+ <% else %>
+ <%= show_svg('account_circle-black-48dp.svg') %>
+ <% end %>
+
+
+ <%= person['first_name'] %>
+ <%= person['last_name'] %>
+
+
+ <% end %>
+
+ <% end %>
+
diff --git a/db/migrate/20200421152314_create_favorite_people.rb b/db/migrate/20200421152314_create_favorite_people.rb
index a676b38..6dd479a 100644
--- a/db/migrate/20200421152314_create_favorite_people.rb
+++ b/db/migrate/20200421152314_create_favorite_people.rb
@@ -1,9 +1,14 @@
class CreateFavoritePeople < ActiveRecord::Migration[6.0]
def change
- create_table :favorite_people do |t|
- t.string :tiss_id
+ create_table :favorite_people, id: false do |t|
+ t.string :tiss_id, null: false
+ t.string :first_name
+ t.string :last_name
+
+ t.string :picture_uri
t.timestamps
end
+ add_index :favorite_people, :tiss_id, unique: true
end
end
diff --git a/db/schema.rb b/db/schema.rb
index 60420b9..5425113 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -12,10 +12,14 @@
ActiveRecord::Schema.define(version: 2020_04_21_152314) do
- create_table "favorite_people", force: :cascade do |t|
- t.string "tiss_id"
+ create_table "favorite_people", id: false, force: :cascade do |t|
+ t.string "tiss_id", null: false
+ t.string "first_name"
+ t.string "last_name"
+ t.string "picture_uri"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
+ t.index ["tiss_id"], name: "index_favorite_people_on_tiss_id", unique: true
end
create_table "users", force: :cascade do |t|