From 4d9bc09ae198e9e8b11e7f23af046aae7415fed8 Mon Sep 17 00:00:00 2001 From: Tobias Eidelpes Date: Sun, 10 May 2020 17:05:30 +0200 Subject: [PATCH] Add names of lecturers to detail page for courses --- app/controllers/courses_crawler_controller.rb | 11 +++++++++++ app/views/courses_crawler/show_detail.html.erb | 6 ++++++ lib/tiss/tiss_crawler.rb | 9 +++++++++ 3 files changed, 26 insertions(+) diff --git a/app/controllers/courses_crawler_controller.rb b/app/controllers/courses_crawler_controller.rb index af21cb0..ab2dc80 100644 --- a/app/controllers/courses_crawler_controller.rb +++ b/app/controllers/courses_crawler_controller.rb @@ -22,6 +22,17 @@ class CoursesCrawlerController < TissCrawlerController # TissCrawler fetches the course's detail information @course = TissCrawler.get_course_details(params) puts @course + + @lecturers_oid = @course['lecturers']['oid'] + @lecturers_names = [] + + if @lecturers_oid != nil + @lecturers_oid.each do |item| + puts TissCrawler.get_oid_name(item) + @lecturers_names << (TissCrawler.get_oid_name(item)) + end + end + # Host is needed for image rendering @host = TissCrawler.get_host end diff --git a/app/views/courses_crawler/show_detail.html.erb b/app/views/courses_crawler/show_detail.html.erb index 2222ca4..23c85ba 100644 --- a/app/views/courses_crawler/show_detail.html.erb +++ b/app/views/courses_crawler/show_detail.html.erb @@ -3,6 +3,12 @@

<%= @course['title']['de'] %>

<%= @course['courseType'] %> <%= @course['semesterCode'] %>, <%= @course['weeklyHours'] %> SWS, <%= @course['instituteCode'] %> <%= @course['instituteName']['de'] %>
<%= button_to 'Add to favorites', action: :add_to_fav, number: @course['courseNumber'], semester: @course['semesterCode'] %> + <% if @lecturers_names != nil %> +

Vortragende

+ <% @lecturers_names.each_with_index do |name| %> +

<%= name %>

+ <% end %> + <% end %> <% if @course['objective']['de'] != nil %>

Inhalt

<%= raw @course['objective']['de'] %> diff --git a/lib/tiss/tiss_crawler.rb b/lib/tiss/tiss_crawler.rb index 17e8ea5..6a6f3d2 100644 --- a/lib/tiss/tiss_crawler.rb +++ b/lib/tiss/tiss_crawler.rb @@ -40,4 +40,13 @@ class TissCrawler $host end + def self.get_oid_name(item) + api = '/api/person/v22/oid/' + url = $host + api + item + puts(url) + + response = HTTParty.get(url) + response.parsed_response['first_name'] + ' ' + response.parsed_response['last_name'] + end + end \ No newline at end of file