tiss2go/app/controllers/crawlers/projects_crawler_controller.rb
Pfingstfrosch cfcbf5acdb Ad requirement 4
I have no idea how this requirement shall be implemented at the end, but at first step, the tiss_crawler.rb lib checks if the search_term is an empty string and returns an error msg if found

otherwise it returns the result, but appended to 'content' key
2020-05-31 15:48:17 +02:00

50 lines
1.6 KiB
Ruby

class Crawlers::ProjectsCrawlerController < Crawlers::TissCrawlerController
def show_basic
params[:api] = '/api/search/projectFullSearch/v1.0/projects'
params[:search_parameter] = 'searchterm'
puts params[:search_context]
@host = TissCrawler.host
# TissCrawler performs general search over the available projects
result = TissCrawler.search(params)
if result.has_key? :error
flash[:alert] = 'Something went wrong! ' + result[:error]
redirect_back(fallback_location: crawlers_tiss_crawler_search_path)
else
# TissCrawler performs general search over the available people
@projects = result[:content]
end
end
def show_detail
params[:api] = '/api/pdb/rest/project/v2/'
@id = params[:id]
puts params
# TissCrawler fetches the project's detail information
@project = TissCrawler.get_project_details(params)
# Host is needed for image rendering
@host = TissCrawler.host
end
def add_to_fav
params[:api] = '/api/pdb/rest/project/v2/'
puts params[:id]
@project = TissCrawler.get_project_details(params)
# create stores the object to the db after creation
favorite_hash = {id: params[:id],
# the user who is currently active
user_id: current_user.id,
title: @project['titleDe']}
if FavoriteProject.create(favorite_hash).valid?
FavoriteProject.create(favorite_hash)
flash[:alert] = 'Project added to your favorites!'
else
flash[:alert] = 'Project is already favorited!'
end
redirect_back(fallback_location: search)
end
end