-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
87 lines (75 loc) · 2.74 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
const capitalize = require('capitalize')
const getSkoleAar = require('get-skole-aar')
const fixPeriod = require('./lib/fix-period')
const datePadding = require('./lib/date-padding')
function resolveCategory (item) {
let resolved = item.documentCategory
if (item.documentCategory === 'samtale') {
resolved = item.documentTemplate === 'ikke-samtale' ? 'ikke ønsket' : 'gjennomført'
}
return resolved
}
function formatDate (date) {
return `${datePadding(date.getDate())}.${datePadding(date.getMonth() + 1)}.${date.getFullYear()}`
}
module.exports = (item, untOff) => {
const now = item.documentDate ? new Date(item.documentDate) : new Date()
const date = formatDate(now)
let title = []
if (/yff/.test(item.documentCategory) === true) {
if (item.documentCategory === 'yff-bekreftelse') {
title.push('Bekreftelse til elev')
} else if (item.documentCategory === 'yff-bekreftelse-bedrift') {
title.push('Bekreftelse til bedrift')
} else if (item.documentCategory === 'yff-lokalplan') {
title.push('Elevens lokale læreplan')
} else if (item.documentCategory === 'yff-tilbakemelding') {
title.push('Tilbakemeldingsskjema - arbeidspraksis')
}
title.push('yrkesfaglig fordypning')
title.push('YFF')
if (untOff) {
title.push(item.studentName)
if (item.documentCategory !== 'yff-bekreftelse-bedrift') {
title.push(item.schoolName)
}
title.push(getSkoleAar())
if (['yff-bekreftelse', 'yff-tilbakemelding'].includes(item.documentCategory)) {
title.push(item.bedriftsNavn)
}
}
} else if (item.documentCategory === 'kontrakt-signert') {
title.push('Informasjonsbrev')
title.push('godkjent lærekontrakt')
title.push(date)
} else {
title.push(capitalize(item.documentType === 'samtale' ? 'Elevsamtale' : item.documentType))
title.push(resolveCategory(item))
if (untOff) {
title.push(item.studentName)
}
if (item.documentType === 'samtale') {
title.push(date)
}
title.push(item.studentMainGroupName)
if (item.documentType !== 'samtale') {
if (item.period) title.push(fixPeriod(item.period))
title.push(getSkoleAar())
}
}
let result = title.join(' - ')
const charsLeft = 128 - result.length
if (item.documentCategory === 'fag') {
const coursesList = item.coursesList.split('\n')
const coursesJoined = coursesList
.map(course => course.split(' ')[0])
.map(course => course.split(':')[1])
.reduce((a, b) => `${a} - ${b}`)
if (coursesJoined.length + 4 <= charsLeft) {
result = result.replace('fag', `fag - ${coursesJoined}`)
} else if (coursesList.length > 1 && charsLeft >= 6) {
result = result.replace('fag', 'flere fag')
}
}
return result
}