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:
parent
9154f1883d
commit
f54df5922e
8 changed files with 32 additions and 31 deletions
|
|
@ -134,9 +134,6 @@ function starClicked(e){
|
||||||
}
|
}
|
||||||
|
|
||||||
var params = { favourite_user_id: $(e.target).data('user') };
|
var params = { favourite_user_id: $(e.target).data('user') };
|
||||||
if($(e.target).hasClass('fa-star-o')){
|
|
||||||
params['add'] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: $(e.target).data('url'),
|
url: $(e.target).data('url'),
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ a.unstyled-link {
|
||||||
.program-dropdown, .schedule-dropdown{
|
.program-dropdown, .schedule-dropdown{
|
||||||
margin-left: 20%;
|
margin-left: 20%;
|
||||||
margin-right: 20%;
|
margin-right: 20%;
|
||||||
margin-top: 40px;
|
margin-top: 10px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -234,20 +234,6 @@ td.no-padding{
|
||||||
cursor: pointer;
|
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{
|
.no-events-day{
|
||||||
color: #D8D8D8 !important;
|
color: #D8D8D8 !important;
|
||||||
}
|
}
|
||||||
|
|
@ -263,10 +249,6 @@ td.no-padding{
|
||||||
font-size: 7px;
|
font-size: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#star{
|
|
||||||
margin-top: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#star-events{
|
#star-events{
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
vertical-align: text-top;
|
vertical-align: text-top;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
class SchedulesController < ApplicationController
|
class SchedulesController < ApplicationController
|
||||||
protect_from_forgery with: :null_session
|
protect_from_forgery with: :null_session
|
||||||
before_action :respond_to_options
|
before_action :respond_to_options
|
||||||
|
before_action :favourites
|
||||||
load_and_authorize_resource :conference, find_by: :short_title
|
load_and_authorize_resource :conference, find_by: :short_title
|
||||||
load_resource :program, through: :conference, singleton: true, except: :index
|
load_resource :program, through: :conference, singleton: true, except: :index
|
||||||
|
|
||||||
|
|
@ -29,13 +30,16 @@ class SchedulesController < ApplicationController
|
||||||
@dates = @conference.start_date..@conference.end_date
|
@dates = @conference.start_date..@conference.end_date
|
||||||
|
|
||||||
@events_schedules = @program.selected_event_schedules
|
@events_schedules = @program.selected_event_schedules
|
||||||
|
@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
|
@events_schedules = [] unless @events_schedules
|
||||||
|
@favourites = params[:favourites] == 'true'
|
||||||
|
|
||||||
@unscheduled_events = if @program.selected_schedule
|
@unscheduled_events = if @program.selected_schedule
|
||||||
@program.events.confirmed - @program.selected_schedule.events
|
@program.events.confirmed - @program.selected_schedule.events
|
||||||
else
|
else
|
||||||
@program.events.confirmed
|
@program.events.confirmed
|
||||||
end
|
end
|
||||||
|
@unscheduled_events = @unscheduled_events.select{ |e| e.favourite_users.exists?(current_user.id) } if current_user && @favourites
|
||||||
|
|
||||||
day = @conference.current_conference_day
|
day = @conference.current_conference_day
|
||||||
@tag = day.strftime('%Y-%m-%d') if day
|
@tag = day.strftime('%Y-%m-%d') if day
|
||||||
|
|
@ -43,6 +47,10 @@ class SchedulesController < ApplicationController
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def favourites
|
||||||
|
@favourites = params[:favourites] == 'true'
|
||||||
|
end
|
||||||
|
|
||||||
def respond_to_options
|
def respond_to_options
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { head :ok }
|
format.html { head :ok }
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@
|
||||||
.room.elipsis.break-words{ style: "-webkit-line-clamp: #{ room_lines(@rooms) }; height: #{ room_height(@rooms) }px;" }
|
.room.elipsis.break-words{ style: "-webkit-line-clamp: #{ room_lines(@rooms) }; height: #{ room_height(@rooms) }px;" }
|
||||||
= room.name
|
= room.name
|
||||||
- event_schedules = room.event_schedules.select{ |e| (e.schedule_id == @conference.program.selected_schedule.id) && (e.end_time > start_time) && (e.start_time <= (start_time + hrs_per_slide.hour)) }
|
- event_schedules = room.event_schedules.select{ |e| (e.schedule_id == @conference.program.selected_schedule.id) && (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
|
||||||
- (1..intervals).each do |i|
|
- (1..intervals).each do |i|
|
||||||
- if span > 1
|
- if span > 1
|
||||||
- span -= 1
|
- span -= 1
|
||||||
|
|
|
||||||
|
|
@ -7,15 +7,14 @@
|
||||||
|
|
||||||
= canceled_replacement_event_label(event, event_schedule, 'schedule-label')
|
= 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
|
= event.title
|
||||||
|
|
||||||
- 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 }
|
|
||||||
|
|
||||||
- if speaker = event.speakers.first
|
- if speaker = event.speakers.first
|
||||||
= image_tag speaker.gravatar_url, :class => "img-circle pull-right speaker-pic", |
|
= image_tag speaker.gravatar_url, :class => "img-circle pull-right speaker-pic", |
|
||||||
:alt => speaker.name, |
|
:alt => speaker.name, |
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,6 @@
|
||||||
/ Nav tabs
|
/ Nav tabs
|
||||||
%ul.nav.nav-tabs{ role: "tablist" }
|
%ul.nav.nav-tabs{ role: "tablist" }
|
||||||
%li{ class: "schedule #{ 'active' if active == 'schedule' }", role: "presentation" }
|
%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" }
|
%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))
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,13 @@
|
||||||
%h1.text-center
|
%h1.text-center
|
||||||
Program for
|
Program for
|
||||||
= @conference.title
|
= @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
|
.dropdown.program-dropdown
|
||||||
%button{ type: "button", class: "btn btn-default dropdown-toggle", 'data-toggle' => "dropdown" }
|
%button{ type: "button", class: "btn btn-default dropdown-toggle", 'data-toggle' => "dropdown" }
|
||||||
Dates
|
Dates
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,13 @@
|
||||||
%h1.text-center
|
%h1.text-center
|
||||||
Schedule for
|
Schedule for
|
||||||
= @conference.title
|
= @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
|
.dropdown.schedule-dropdown
|
||||||
%button{ type: "button", class: "btn btn-default dropdown-toggle", 'data-toggle' => "dropdown" }
|
%button{ type: "button", class: "btn btn-default dropdown-toggle", 'data-toggle' => "dropdown" }
|
||||||
= @day
|
= @day
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue