first attempt of people crawler incl. detail view
This commit is contained in:
parent
e0a21f180f
commit
c32819d819
@ -5,33 +5,19 @@ class TissCrawlerController < ApplicationController
|
||||
def index
|
||||
end
|
||||
|
||||
def show_basic
|
||||
def people_search
|
||||
end
|
||||
|
||||
def show_detail
|
||||
end
|
||||
|
||||
def search
|
||||
context = params[:context]
|
||||
case context
|
||||
when "People"
|
||||
result = TissCrawler.search(params)
|
||||
@people = result.map { |person| Tiss::Person.new(person) }
|
||||
# render(people_show_path, detail: false)
|
||||
render template: people_show_basic_path
|
||||
else
|
||||
flash.write[:alert] = "Unknown search context"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
require 'tiss/tiss_crawler'
|
||||
|
||||
def show_basic
|
||||
def people_show_basic
|
||||
result = TissCrawler.search(params)
|
||||
@people = result.map { |person| Tiss::Person.new(person) }
|
||||
# render(people_show_path, detail: false)
|
||||
render template: people_show_basic_path
|
||||
$people = result.map { |person| Tiss::Person.new(person) }
|
||||
@people = $people
|
||||
end
|
||||
|
||||
def people_show_detail
|
||||
people = $people
|
||||
index = params[:index]
|
||||
@person = people[Integer(index)]
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
module Tiss
|
||||
class Base
|
||||
|
||||
def base_uri
|
||||
'https://tiss.tuwien.ac.at/'
|
||||
end
|
||||
|
||||
def initialize(args = {})
|
||||
args.each do |name, value|
|
||||
attr_name = name.to_s.underscore
|
||||
|
||||
@ -21,10 +21,10 @@
|
||||
<a href="#" class="logo">tiss2go</a>
|
||||
<div class="left-menu">
|
||||
<%= link_to 'Home', root_path %>
|
||||
<%= link_to 'People', people_index_path %>
|
||||
<%= link_to 'Courses', courses_index_path %>
|
||||
<%= link_to 'Projects', projects_index_path %>
|
||||
<%= link_to 'Theses', theses_index_path %>
|
||||
<%= link_to 'People', tiss_crawler_people_search_path %>
|
||||
<%#= link_to 'Courses', courses_index_path %>
|
||||
<%#= link_to 'Projects', projects_index_path %>
|
||||
<%#= link_to 'Theses', theses_index_path %>
|
||||
</div>
|
||||
<div class="right-menu">
|
||||
<% if user_signed_in? %>
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<%= form_tag('/tiss_crawler/search', :method => "get") do %>
|
||||
<%= form_tag('/tiss_crawler/people_show_basic', :method => "get") do %>
|
||||
<%= hidden_field_tag(:context, 'People') %>
|
||||
<%= hidden_field_tag(:api, '/api/person/v22/psuche') %>
|
||||
<%= hidden_field_tag(:search_parameter, 'q') %>
|
||||
<%= label_tag(:search_term, "Search for:") %>
|
||||
<%= label_tag(:search_term, "Search for people @TU Vienna:") %>
|
||||
<%= text_field_tag(:search_term) %>
|
||||
<%= submit_tag("Search") %>
|
||||
<% end %>
|
||||
@ -1,8 +1,9 @@
|
||||
This is the result for your basic people search:
|
||||
|
||||
<% @people.each do |person| %>
|
||||
<% @people.each_with_index do |person, index| %>
|
||||
<p>
|
||||
<%= person.first_name %>
|
||||
<%= person.last_name %>
|
||||
<%= button_to 'Details', action: :people_show_detail, index: index %>
|
||||
</p>
|
||||
<% end %>
|
||||
14
app/views/tiss_crawler/people_show_detail.html.erb
Normal file
14
app/views/tiss_crawler/people_show_detail.html.erb
Normal file
@ -0,0 +1,14 @@
|
||||
Chosen person in detail view:
|
||||
|
||||
<% if @person != nil %>
|
||||
<% if @person.picture_uri != nil %>
|
||||
<%= image_tag @person.base_uri + @person.picture_uri %>
|
||||
<% end %>
|
||||
<p><%= @person.preceding_titles %> <%= @person.first_name %> <%= @person.last_name %>,
|
||||
<%= @person.gender %> <%= @person.postpositioned_titles %></p>
|
||||
<p>Phone: <%= @person.main_phone_number %></p>
|
||||
<p>Mail: <%= @person.main_email %></p>
|
||||
<p>Other mails: <%= @person.other_emails %></p>
|
||||
<p>Main addresses: <%= @person.main_addresses %></p>
|
||||
<!-- <p>Employee: <%#= @person.employee %></p>-->
|
||||
<% end %>
|
||||
@ -1,20 +1,12 @@
|
||||
Rails.application.routes.draw do
|
||||
devise_for :users, path_names: {sign_in: 'log_in', sign_out: 'log out'}
|
||||
get 'people/index'
|
||||
get 'people/show_basic'
|
||||
post 'people/show_detailed'
|
||||
get 'theses/index'
|
||||
get 'theses/show_basic'
|
||||
get 'theses/show_detailed'
|
||||
get 'projects/index'
|
||||
get 'projects/show_basic'
|
||||
get 'projects/show_detailed'
|
||||
get 'courses/index'
|
||||
get 'courses/show_basic'
|
||||
get 'courses/show_detailed'
|
||||
get 'login/index'
|
||||
|
||||
get 'tiss_crawler/search'
|
||||
|
||||
get 'login/index'
|
||||
get 'tiss_crawler/people_search'
|
||||
get 'tiss_crawler/people_show_basic'
|
||||
get 'tiss_crawler/people_show_detail'
|
||||
post 'tiss_crawler/people_show_detail'
|
||||
|
||||
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
|
||||
root 'login#index'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user