mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-17 05:34:04 +00:00
Merge efdb2cd63b into 4b6895f31d
This commit is contained in:
commit
e06a47820c
16 changed files with 118 additions and 25 deletions
|
|
@ -81,11 +81,22 @@ class ProposalsController < ApplicationController
|
|||
redirect_to conference_program_proposals_path(conference_id: @conference.short_title),
|
||||
notice: 'Proposal was successfully updated.'
|
||||
else
|
||||
flash.now[:error] = "Could not update proposal: #{@event.errors.full_messages.join(', ')}"
|
||||
flash[:error] = "Could not update proposal: #{@event.errors.full_messages.join(', ')}"
|
||||
render action: 'edit'
|
||||
end
|
||||
end
|
||||
|
||||
def toggle_favorite
|
||||
user = User.find(params[:favourite_user_id])
|
||||
users = @event.favourite_users
|
||||
if users.include? user
|
||||
@event.favourite_users.delete(user)
|
||||
else
|
||||
@event.favourite_users << user
|
||||
end
|
||||
render json: {}
|
||||
end
|
||||
|
||||
def withdraw
|
||||
authorize! :update, @event
|
||||
@url = conference_program_proposal_path(@conference.short_title, params[:id])
|
||||
|
|
|
|||
|
|
@ -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 }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue