Show the individual User schedule

Show the current user favourites events for both schedule and all events.

Unsed css removed.
This commit is contained in:
Ana 2016-08-13 02:26:02 +02:00 committed by Henne Vogelsang
parent c6906675f9
commit 059b5cbf84
8 changed files with 40 additions and 23 deletions

View file

@ -131,9 +131,6 @@ function starClicked(e){
}
var params = { favourite_user_id: $(e.target).data('user') };
if($(e.target).hasClass('fa-star-o')){
params['add'] = true;
}
$.ajax({
url: $(e.target).data('url'),

View file

@ -114,7 +114,7 @@ a.unstyled-link {
.program-dropdown, .schedule-dropdown{
margin-left: 20%;
margin-right: 20%;
margin-top: 40px;
margin-top: 10px;
margin-bottom: 20px;
}
@ -221,20 +221,6 @@ td.no-padding{
cursor: pointer;
}
.program-dropdown{
margin-left: 20%;
margin-right: 20%;
margin-top: 40px;
}
.program-dropdown > button{
width: 100%;
}
.program-dropdown > .dropdown-menu{
width: 100%;
}
.no-events-day{
color: #D8D8D8 !important;
}

View file

@ -3,6 +3,7 @@
class SchedulesController < ApplicationController
load_and_authorize_resource
before_action :respond_to_options
before_action :favourites
load_resource :conference, find_by: :short_title
load_resource :program, through: :conference, singleton: true, except: :index
before_action :load_withdrawn_event_schedules, only: [:show, :events]
@ -58,9 +59,17 @@ class SchedulesController < ApplicationController
@events_schedules = @program.selected_event_schedules(
includes: [:room, { event: %i[track event_type speakers submitter] }]
)
@events_schedules = [] unless @events_schedules
@unscheduled_events = @program.events.confirmed - @events_schedules.map(&:event)
@events_schedules = @events_schedules.select{ |e| e.event.favourite_users.exists?(current_user.id) } if @events_schedules && current_user && @favourites
@events_schedules = [] unless @events_schedules
@favourites = params[:favourites] == 'true'
@unscheduled_events = if @program.selected_schedule
@program.events.confirmed - @events_schedules.map(&:event)
else
@program.events.confirmed
end
@unscheduled_events = @unscheduled_events.select{ |e| e.favourite_users.exists?(current_user.id) } if current_user && @favourites
day = @conference.current_conference_day
@tag = day.strftime('%Y-%m-%d') if day
@ -72,6 +81,10 @@ class SchedulesController < ApplicationController
private
def favourites
@favourites = params[:favourites] == 'true'
end
def respond_to_options
respond_to do |format|
format.html { head :ok }

View file

@ -29,9 +29,10 @@
%td.room{ style: "height: #{ td_height(@rooms) }px;" }
.room.elipsis.break-words{ style: "-webkit-line-clamp: #{ room_lines(@rooms) }; height: #{ room_height(@rooms) }px;" }
= room.name
- event_schedules = (@event_schedules_by_room_id[room.id] || []).select{ |e| (e.end_time > start_time) && (e.start_time <= (start_time + hrs_per_slide.hour)) }
- event_schedules = event_schedules.select{ |e| e.event.favourite_users.exists?(current_user.id) } if current_user && @favourites
- interval_count.times do |offset|
- if span > 1
- span -= 1

View file

@ -7,6 +7,12 @@
= canceled_replacement_event_label(event, event_schedule, 'schedule-label')
- if current_user
= link_to('#', onClick: 'starClicked();') do
%span#star{ class: "fa fa-lg #{ event.favourite_users.exists?(current_user.id) ? 'fa-star' : 'fa-star-o' }", |
"aria-hidden" =>"true", |
"data-url" => conference_program_proposal_path(@conference.short_title, event.id), |
"data-user" => current_user.id }
= event.title
- if current_user

View file

@ -2,6 +2,6 @@
/ Nav tabs
%ul.nav.nav-tabs{ role: "tablist" }
%li{ class: "schedule #{ 'active' if active == 'schedule' }", role: "presentation" }
= link_to('Schedule', conference_schedule_path(@conference.short_title))
= link_to('Schedule', conference_schedule_path(@conference.short_title, favourites: @favourites))
%li{ class: "program #{ 'active' if active == 'program' }", role: "presentation" }
= link_to('All events', events_conference_schedule_path(@conference.short_title))
= link_to('All events', events_conference_schedule_path(@conference.short_title, favourites: @favourites))

View file

@ -5,6 +5,13 @@
%h1.text-center
Program for
= @conference.title
- if current_user
.row
.col-md-12.text-center
= button_to (@favourites ? 'All events' : 'Only favourites events'),
events_conference_schedule_path(@conference.short_title),
params: { favourites: !@favourites },
method: :get, class: 'btn btn-success'
.dropdown.program-dropdown
%button{ type: "button", class: "btn btn-default dropdown-toggle", 'data-toggle' => "dropdown" }
Dates

View file

@ -5,6 +5,13 @@
%h1.text-center
Schedule for
= @conference.title
- if current_user
.row
.col-md-12.text-center
= button_to (@favourites ? 'All events' : 'Only favourites events'),
conference_schedule_path(@conference.short_title),
params: { favourites: !@favourites },
method: :get, class: 'btn btn-success'
.dropdown.schedule-dropdown
%button{ type: "button", class: "btn btn-default dropdown-toggle", 'data-toggle' => "dropdown" }
= @day