Finish favorite courses view

This commit is contained in:
Tobias Eidelpes 2020-05-25 14:57:15 +02:00
parent 2b8539cba9
commit 311e3d9dcb
4 changed files with 49 additions and 8 deletions

View File

@ -12,10 +12,12 @@ class Crawlers::CoursesCrawlerController < Crawlers::TissCrawlerController
def show_detail
params[:api] = '/api/course/'
if (params[:number] || params[:semester]) == nil
regex = params[:detail_url].match(/courseNr=(?<number>\S{6})/)
params[:number] = regex[:number]
regex = params[:detail_url].match(/semester=(?<semester>\d{4}[SW])/)
params[:semester] = regex[:semester]
end
puts params

View File

@ -13,7 +13,14 @@ class FavoritesController < ApplicationController
end
def courses
@favorite_courses = FavoriteCourse.where('user_id': current_user.id)
.order(sort_column + " " + sort_direction)
@host = 'https://tiss.tuwien.ac.at'
end
def delete_course
FavoriteCourse.find_by(number: params[:number], semester: params[:semester]).destroy
redirect_back(fallback_location: courses)
end
def theses
@ -27,10 +34,10 @@ class FavoritesController < ApplicationController
private
def sort_column
params[:sort] || 'first_name'
params[:sort] || ''
end
def sort_direction
params[:direction] || 'asc'
params[:direction] || ''
end
end

View File

@ -1,3 +1,34 @@
<%= render(:partial => "nav") %>
<p>Fav Courses</p>
<h1>Favorite Courses</h1>
<% if !@favorite_courses[0].blank? %>
<div class="table_wrapper">
<table>
<tr>
<th><%= sortable "Title", "title" %></th>
<th><%= sortable "Registration Date", "created_at" %></th>
<th></th>
<th></th>
</tr>
<% for course in @favorite_courses %>
<tr>
<td>
<%= course['title'] %>
</td>
<td>
<%= course['created_at'] %>
</td>
<td>
<%= button_to 'Details', crawlers_courses_crawler_show_detail_url(:number => course['number'], :semester => course['semester']) %>
</td>
<td>
<%= button_to 'Delete', {:action => "delete_course", :number => course['number'], :semester => course['semester']}, :method => 'delete' %>
</td>
</tr>
<% end %>
</table>
</div>
<% else %>
No favorite courses added yet!
<% end %>

View File

@ -28,6 +28,7 @@ Rails.application.routes.draw do
get 'people'
delete 'delete_person'
get 'courses'
delete 'delete_course'
get 'theses'
get 'projects'
end