diff --git a/src/core/schedule.js b/src/core/schedule.js index e3ca4a44..be67d9a8 100644 --- a/src/core/schedule.js +++ b/src/core/schedule.js @@ -4,7 +4,7 @@ import {createMap} from '../utils/common' import {getCollective} from './collective' import {scheduleDate, getPeriod as schedulePeriod} from '../models/schedule' -import {getCourseName} from '../models/course' +import {getCourse} from '../models/course' const SCHEDULES = 'schedules' @@ -86,8 +86,8 @@ async function migrate20to30(schedule) { const lesson = i => ({ time: i.time, - course: course(i.lesson), - teacher: teacher(i.teacher) + course: getCourse(i.lesson), + teacher: person.has(i.teacher) ? teacher(i.teacher) : teacherDummy(i.teacher) }) const teacher = id => ({ @@ -96,14 +96,14 @@ async function migrate20to30(schedule) { name: personName(id) }) - const personName = id => person.has(id) ? person.get(id).name : null - - const course = id => ({ - id: id, + const teacherDummy = name => ({ + id: name, url: null, - title: getCourseName(id) + name: name }) + const personName = id => person.has(id) ? person.get(id).name : null + return Object.assign(schedule, { version: '3.0', groups: schedule.groups diff --git a/src/models/course.js b/src/models/course.js index 0b56b048..666fd863 100644 --- a/src/models/course.js +++ b/src/models/course.js @@ -1,18 +1,19 @@ -export const courses = { - painting: 'Живопись', - drawing: 'Рисунок', - sculpting: 'Скульптура', - sculpture: 'Скульптура', - ceramic: 'Керамика', - ceramics: 'Керамика', - composition: 'Композиция', - history: 'История искусства', - cg: 'Комп. графика' +const courses = { + painting: ['Живопись', ''], + drawing: ['Рисунок', '/courses/drawing'], + sculpting: ['Скульптура', ''], + sculpture: ['Скульптура', ''], + ceramic: ['Керамика', '/courses/ceramics'], + ceramics: ['Керамика', '/courses/ceramics'], + composition: ['Композиция', ''], + history: ['История искусства', '/courses/art-history'], + cg: ['Комп. графика', '/courses/cg'], } -export function getCourseName(id) { - const course = Object - .entries(courses) - .find(([key]) => key === id) - return course ? course[1] : null +export function getCourse(id) { + const course = id in courses ? courses[id] : null + if (!course) return null + + const [title, url] = course + return {id, title, url} } diff --git a/src/templates/components/schedule-table.html b/src/templates/components/schedule-table.html index c4c9f478..d1a79712 100644 --- a/src/templates/components/schedule-table.html +++ b/src/templates/components/schedule-table.html @@ -43,8 +43,27 @@
{{$ctrl.short(lesson.teacher.name)}}
++ + {{lesson.course.title}} + + + {{lesson.course.title}} + +
++ + {{$ctrl.short(lesson.teacher.name)}} + + + {{$ctrl.short(lesson.teacher.name)}} + +
{{time.join(' — ')}}