From bba13f249c78dffffe2b6ff01ce9a674c6b80e49 Mon Sep 17 00:00:00 2001 From: Tobias Eidelpes Date: Wed, 27 May 2020 17:18:23 +0200 Subject: [PATCH] Implement `show_basic`, `show_detail` and `add_to_fav` methods --- .../crawlers/projects_crawler_controller.rb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/app/controllers/crawlers/projects_crawler_controller.rb b/app/controllers/crawlers/projects_crawler_controller.rb index 13688c9..a830b7a 100644 --- a/app/controllers/crawlers/projects_crawler_controller.rb +++ b/app/controllers/crawlers/projects_crawler_controller.rb @@ -1,13 +1,42 @@ 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.get_host + # TissCrawler performs general search over the available projects + @projects = TissCrawler.search(params) 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.get_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