diff --git a/frontend/src/components/print/PrintConfigurator.vue b/frontend/src/components/print/PrintConfigurator.vue index 72e1498e44..818ae6869e 100644 --- a/frontend/src/components/print/PrintConfigurator.vue +++ b/frontend/src/components/print/PrintConfigurator.vue @@ -62,6 +62,13 @@ :label="$tc('components.print.printConfigurator.pageNumbers')" @input="onChange" /> + @@ -180,12 +187,18 @@ export default { this.$store.getters.getLastPrintConfig(this.camp._meta.self, { language: this.lang, documentName: campShortTitle(this.camp), - options: { pageNumbers: false }, + options: { pageNumbers: false, pageSize: 'A4' }, camp: this.camp._meta.self, contents: this.defaultContents(), }) ) }, + pageSizes() { + return ['A5', 'A4', 'A3'].map((size) => ({ + value: size, + text: this.$tc(`components.print.printConfigurator.fontSizes.${size}`), + })) + }, isDev() { return getEnv().FEATURE_DEVELOPER ?? false }, diff --git a/frontend/src/components/print/__tests__/repairPrintConfig.spec.js b/frontend/src/components/print/__tests__/repairPrintConfig.spec.js index ecb6f043af..391c347339 100644 --- a/frontend/src/components/print/__tests__/repairPrintConfig.spec.js +++ b/frontend/src/components/print/__tests__/repairPrintConfig.spec.js @@ -106,6 +106,10 @@ describe('repairConfig', () => { }, }, ] + const defaultOptions = { + pageNumbers: false, + pageSize: 'A4', + } const args = [camp, availableLocales, 'en', componentRepairers, defaultContents] const multiPeriodArgs = [ multiPeriodCamp, @@ -136,7 +140,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -156,7 +160,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -177,7 +181,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -197,7 +201,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'de-CH-scout', } @@ -218,7 +222,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'de-CH-scout', }) }) @@ -238,7 +242,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'definitely-not-a-supported-language', } @@ -266,7 +270,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'de-CH-scout', }) }) @@ -286,7 +290,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'definitely-not-a-supported-language', } @@ -314,7 +318,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -334,7 +338,7 @@ describe('repairConfig', () => { }, ], documentName: 'foobar', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -355,7 +359,7 @@ describe('repairConfig', () => { }, ], documentName: 'foobar', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -375,7 +379,7 @@ describe('repairConfig', () => { }, ], documentName: '', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -396,11 +400,322 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) + test('adds missing options', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: defaultOptions, + language: 'de-CH-scout', + }) + }) + + test('adds missing pageNumbers option', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageSize: 'A4', + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: defaultOptions, + language: 'de-CH-scout', + }) + }) + + test('allows enabling pageNumbers', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: true, + pageSize: 'A4', + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: true, + pageSize: 'A4', + }, + language: 'de-CH-scout', + }) + }) + + test('allows disabling pageNumbers', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + pageSize: 'A4', + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + pageSize: 'A4', + }, + language: 'de-CH-scout', + }) + }) + + test('adds missing pageSize option', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: defaultOptions, + language: 'de-CH-scout', + }) + }) + + test.each(['A5', 'A4', 'A3'])('allows pageSize %p', async (pageSize) => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + pageSize, + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + pageSize, + }, + language: 'de-CH-scout', + }) + }) + + test('repairs invalid pageSize', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + pageSize: 'tiny', + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: defaultOptions, + language: 'de-CH-scout', + }) + }) + test('overwrites camp URI', async () => { // given const config = { @@ -416,7 +731,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -437,7 +752,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -448,7 +763,7 @@ describe('repairConfig', () => { camp: '/camps/1a2b3c4d', contents: {}, documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -469,7 +784,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -480,7 +795,7 @@ describe('repairConfig', () => { camp: '/camps/1a2b3c4d', contents: null, documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -501,7 +816,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -512,7 +827,7 @@ describe('repairConfig', () => { camp: '/camps/1a2b3c4d', contents: [], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -524,7 +839,7 @@ describe('repairConfig', () => { camp: '/camps/1a2b3c4d', contents: [], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -540,7 +855,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -552,7 +867,7 @@ describe('repairConfig', () => { camp: '/camps/1a2b3c4d', contents: [], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -569,7 +884,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -586,7 +901,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -604,7 +919,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -621,7 +936,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -638,7 +953,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -659,7 +974,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -679,7 +994,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -700,7 +1015,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -720,7 +1035,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -741,7 +1056,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -757,7 +1072,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -774,7 +1089,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -790,7 +1105,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -811,7 +1126,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -831,7 +1146,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -852,7 +1167,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -872,7 +1187,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -893,7 +1208,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -910,7 +1225,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -931,7 +1246,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -950,7 +1265,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -971,7 +1286,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -991,7 +1306,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1012,7 +1327,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1032,7 +1347,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1053,7 +1368,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1073,7 +1388,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1094,7 +1409,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1114,7 +1429,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1135,7 +1450,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1162,7 +1477,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1189,7 +1504,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1208,7 +1523,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1229,7 +1544,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1254,7 +1569,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1275,7 +1590,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1301,7 +1616,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1322,7 +1637,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1347,7 +1662,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1368,7 +1683,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1394,7 +1709,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1415,7 +1730,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1440,7 +1755,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1461,7 +1776,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1487,7 +1802,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1508,7 +1823,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1533,7 +1848,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1554,7 +1869,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1580,7 +1895,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1601,7 +1916,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1626,7 +1941,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1647,7 +1962,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1673,7 +1988,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1694,7 +2009,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1712,7 +2027,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1733,7 +2048,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1749,7 +2064,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1766,7 +2081,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1786,7 +2101,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1807,7 +2122,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1827,7 +2142,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1848,7 +2163,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1868,7 +2183,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1889,7 +2204,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1916,7 +2231,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1943,7 +2258,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1962,7 +2277,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1983,7 +2298,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2008,7 +2323,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2029,7 +2344,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2055,7 +2370,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2076,7 +2391,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2101,7 +2416,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2122,7 +2437,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2148,7 +2463,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2169,7 +2484,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2194,7 +2509,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2215,7 +2530,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2241,7 +2556,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2262,7 +2577,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2287,7 +2602,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2308,7 +2623,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2334,7 +2649,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2355,7 +2670,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2380,7 +2695,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2401,7 +2716,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2427,7 +2742,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2448,7 +2763,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2466,7 +2781,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2487,7 +2802,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2507,7 +2822,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2528,7 +2843,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2548,7 +2863,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2569,7 +2884,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2589,7 +2904,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2610,7 +2925,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2630,7 +2945,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2651,7 +2966,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2678,7 +2993,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2705,7 +3020,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2724,7 +3039,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2745,7 +3060,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2770,7 +3085,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2791,7 +3106,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2817,7 +3132,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2838,7 +3153,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2863,7 +3178,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2884,7 +3199,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2910,7 +3225,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2931,7 +3246,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2956,7 +3271,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2977,7 +3292,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3003,7 +3318,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3024,7 +3339,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3049,7 +3364,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3070,7 +3385,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3096,7 +3411,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3117,7 +3432,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3142,7 +3457,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3163,7 +3478,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3189,7 +3504,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3210,7 +3525,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3229,7 +3544,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3246,7 +3561,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3263,7 +3578,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3280,7 +3595,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3296,7 +3611,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3313,7 +3628,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3329,7 +3644,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3349,7 +3664,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3368,7 +3683,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3388,7 +3703,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3414,7 +3729,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3440,7 +3755,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3458,7 +3773,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3478,7 +3793,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3502,7 +3817,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3522,7 +3837,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3547,7 +3862,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3567,7 +3882,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3591,7 +3906,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3611,7 +3926,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3636,7 +3951,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3656,7 +3971,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3680,7 +3995,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3700,7 +4015,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3725,7 +4040,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3745,7 +4060,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3769,7 +4084,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3789,7 +4104,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3814,7 +4129,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3834,7 +4149,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3858,7 +4173,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3878,7 +4193,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3903,7 +4218,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3923,7 +4238,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) diff --git a/frontend/src/components/print/repairPrintConfig.js b/frontend/src/components/print/repairPrintConfig.js index 50d333c47d..dfeff75f56 100644 --- a/frontend/src/components/print/repairPrintConfig.js +++ b/frontend/src/components/print/repairPrintConfig.js @@ -29,6 +29,9 @@ export default function repairConfig( ) { configClone.options.pageNumbers = false } + if (!['A5', 'A4', 'A3'].includes(configClone.options.pageSize)) { + configClone.options.pageSize = 'A4' + } if (typeof configClone.contents?.map !== 'function') { configClone.contents = defaultContents } diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index e490c71662..681090211a 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -405,7 +405,13 @@ "Toc": "Inhaltsverzeichnis" }, "options": "Einstellungen", - "pageNumbers": "Seitenzahlen" + "pageNumbers": "Seitenzahlen", + "fontSize": "Schriftgrösse", + "fontSizes": { + "A3": "Kleiner (für Druck auf A4 oder A3)", + "A4": "Normal (für Druck auf A4 oder A5)", + "A5": "Grösser (für Druck auf A6)" + } }, "printNuxt": { "downloadNuxtPdfButton": { diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 583a8d0670..fe74b225d1 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -407,7 +407,13 @@ "Toc": "Table of contents" }, "options": "Einstellungen", - "pageNumbers": "Seitenzahlen" + "pageNumbers": "Seitenzahlen", + "fontSize": "Font size", + "fontSizes": { + "A3": "Smaller (for printing on A4 or A3)", + "A4": "Normal (for printing on A4 or A5)", + "A5": "Bigger (for printing on A6)" + } }, "printNuxt": { "downloadNuxtPdfButton": { diff --git a/frontend/src/views/camp/CampProgram.vue b/frontend/src/views/camp/CampProgram.vue index d026beec26..ffb3db779c 100644 --- a/frontend/src/views/camp/CampProgram.vue +++ b/frontend/src/views/camp/CampProgram.vue @@ -44,7 +44,7 @@ Show all activity schedule entries of a single period. />