mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Track Schedule and EventSchedule
This commit is contained in:
parent
b982d18bbb
commit
7d70f7685e
5 changed files with 44 additions and 6 deletions
|
|
@ -413,12 +413,6 @@ module ApplicationHelper
|
|||
when 'new' then 'resubmitted'
|
||||
end
|
||||
|
||||
when version.changeset['start_time'] && version.changeset['start_time'][0].nil?
|
||||
'scheduled'
|
||||
|
||||
when version.changeset['start_time'] && version.changeset['start_time'][1].nil?
|
||||
'unscheduled'
|
||||
|
||||
else
|
||||
"updated #{updated_attributes(version)} of"
|
||||
end
|
||||
|
|
@ -494,6 +488,14 @@ module ApplicationHelper
|
|||
end
|
||||
end
|
||||
|
||||
def event_schedule_change_description(version)
|
||||
case version.event
|
||||
when 'create' then 'scheduled'
|
||||
when 'update' then 'rescheduled'
|
||||
when 'destroy' then 'unscheduled'
|
||||
end
|
||||
end
|
||||
|
||||
def general_change_description(version)
|
||||
if version.event == 'create'
|
||||
'created new'
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ class EventSchedule < ActiveRecord::Base
|
|||
belongs_to :event
|
||||
belongs_to :room
|
||||
|
||||
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
||||
|
||||
validates :schedule, presence: true
|
||||
validates :event, presence: true
|
||||
validates :room, presence: true
|
||||
|
|
@ -28,4 +30,10 @@ class EventSchedule < ActiveRecord::Base
|
|||
def intersecting_events
|
||||
room.event_schedules.where(start_time: start_time, schedule: schedule).where.not(id: id)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def conference_id
|
||||
schedule.program.conference_id
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -2,4 +2,12 @@ class Schedule < ActiveRecord::Base
|
|||
belongs_to :program
|
||||
has_many :event_schedules, dependent: :destroy
|
||||
has_many :events, through: :event_schedules
|
||||
|
||||
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
||||
|
||||
private
|
||||
|
||||
def conference_id
|
||||
program.conference_id
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -49,6 +49,23 @@
|
|||
- else
|
||||
= PaperTrail::Version.where(item_type: 'Target', item_id: version.item_id).last.reify.to_s
|
||||
|
||||
- elsif version.item_type == 'EventSchedule'
|
||||
- event_schedule = get_version_object(version)
|
||||
event
|
||||
= link_to Event.find(event_schedule.event_id),
|
||||
admin_conference_program_event_path(conference_id: Conference.find(version.conference_id).short_title, id: event_schedule.event_id)
|
||||
in
|
||||
= link_to "Schedule #{event_schedule.schedule_id}",
|
||||
admin_conference_schedules_path(conference_id: Conference.find(version.conference_id).short_title, id: event_schedule.schedule_id)
|
||||
|
||||
- elsif version.item_type == 'Schedule'
|
||||
- schedule = get_version_object(version)
|
||||
- if version.item
|
||||
= link_to "Schedule #{event_schedule.schedule_id}",
|
||||
admin_conference_schedules_path(conference_id: Conference.find(version.conference_id).short_title, id: event_schedule.schedule_id)
|
||||
- else
|
||||
= "Schedule #{event_schedule.schedule_id}"
|
||||
|
||||
- elsif version.item
|
||||
- case version.item_type
|
||||
- when 'Conference'
|
||||
|
|
|
|||
|
|
@ -41,6 +41,9 @@
|
|||
- when 'User'
|
||||
= user_change_description(version)
|
||||
|
||||
- when 'EventSchedule'
|
||||
= event_schedule_change_description(version)
|
||||
|
||||
- else
|
||||
= general_change_description(version)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue