Skip to content

Commit 315bb5e

Browse files
authored
Merge pull request #1347 from bbc/feat/option-to-disable-evaluation-form
feat: Option to turn off Evaluation Form in UI
2 parents 9903411 + e9f21fb commit 315bb5e

File tree

15 files changed

+82
-1
lines changed

15 files changed

+82
-1
lines changed

meteor/__mocks__/defaultCollectionObjects.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ export function defaultStudio(_id: StudioId): DBStudio {
113113
allowHold: false,
114114
allowPieceDirectPlay: false,
115115
enableBuckets: false,
116+
enableEvaluationForm: true,
116117
}),
117118
_rundownVersionHash: '',
118119
routeSetsWithOverrides: wrapDefaultObject({}),

meteor/server/api/rest/v1/typeConversion.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,7 @@ export function studioSettingsFrom(apiStudioSettings: APIStudioSettings): Comple
371371
allowHold: apiStudioSettings.allowHold ?? true, // Backwards compatible
372372
allowPieceDirectPlay: apiStudioSettings.allowPieceDirectPlay ?? true, // Backwards compatible
373373
enableBuckets: apiStudioSettings.enableBuckets ?? true, // Backwards compatible
374+
enableEvaluationForm: apiStudioSettings.enableEvaluationForm ?? true, // Backwards compatible
374375
}
375376
}
376377

@@ -394,6 +395,7 @@ export function APIStudioSettingsFrom(settings: IStudioSettings): Complete<APISt
394395
allowHold: settings.allowHold,
395396
allowPieceDirectPlay: settings.allowPieceDirectPlay,
396397
enableBuckets: settings.enableBuckets,
398+
enableEvaluationForm: settings.enableEvaluationForm,
397399
}
398400
}
399401

meteor/server/api/studio/api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export async function insertStudioInner(organizationId: OrganizationId | null, n
5555
allowHold: false,
5656
allowPieceDirectPlay: false,
5757
enableBuckets: true,
58+
enableEvaluationForm: true,
5859
}),
5960
_rundownVersionHash: '',
6061
routeSetsWithOverrides: wrapDefaultObject({}),

meteor/server/lib/rest/v1/studios.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,4 +220,5 @@ export interface APIStudioSettings {
220220
allowHold?: boolean
221221
allowPieceDirectPlay?: boolean
222222
enableBuckets?: boolean
223+
enableEvaluationForm: true
223224
}

meteor/server/migration/0_1_0.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export const addSteps = addMigrationSteps('0.1.0', [
3636
allowHold: false,
3737
allowPieceDirectPlay: false,
3838
enableBuckets: true,
39+
enableEvaluationForm: true,
3940
}),
4041
mappingsWithOverrides: wrapDefaultObject({}),
4142
blueprintConfigWithOverrides: wrapDefaultObject({}),

meteor/server/migration/X_X_X.ts

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,56 @@ export const addSteps = addMigrationSteps(CURRENT_SYSTEM_VERSION, [
513513
}
514514
},
515515
},
516+
{
517+
id: `studios settings create default enableBuckets=true`,
518+
canBeRunAutomatically: true,
519+
validate: async () => {
520+
const studios = await Studios.findFetchAsync({
521+
'settingsWithOverrides.defaults.enableBuckets': { $exists: false },
522+
})
523+
if (studios.length > 0) {
524+
return 'studio is missing enableBuckets setting'
525+
}
526+
return false
527+
},
528+
migrate: async () => {
529+
const studios = await Studios.findFetchAsync({
530+
'settingsWithOverrides.defaults.enableBuckets': { $exists: false },
531+
})
532+
for (const studio of studios) {
533+
await Studios.updateAsync(studio._id, {
534+
$set: {
535+
'settingsWithOverrides.defaults.enableBuckets': true,
536+
},
537+
})
538+
}
539+
},
540+
},
541+
{
542+
id: `studios settings create default enableEvaluationForm=true`,
543+
canBeRunAutomatically: true,
544+
validate: async () => {
545+
const studios = await Studios.findFetchAsync({
546+
'settingsWithOverrides.defaults.enableEvaluationForm': { $exists: false },
547+
})
548+
if (studios.length > 0) {
549+
return 'studio is missing enableEvaluationForm setting'
550+
}
551+
return false
552+
},
553+
migrate: async () => {
554+
const studios = await Studios.findFetchAsync({
555+
'settingsWithOverrides.defaults.enableEvaluationForm': { $exists: false },
556+
})
557+
for (const studio of studios) {
558+
await Studios.updateAsync(studio._id, {
559+
$set: {
560+
'settingsWithOverrides.defaults.enableEvaluationForm': true,
561+
},
562+
})
563+
}
564+
},
565+
},
516566
])
517567

518568
interface PartialOldICoreSystem {

meteor/server/migration/__tests__/migrations.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ describe('Migrations', () => {
118118
allowHold: true,
119119
allowPieceDirectPlay: true,
120120
enableBuckets: true,
121+
enableEvaluationForm: true,
121122
}),
122123
mappingsWithOverrides: wrapDefaultObject({}),
123124
blueprintConfigWithOverrides: wrapDefaultObject({}),
@@ -160,6 +161,7 @@ describe('Migrations', () => {
160161
allowHold: true,
161162
allowPieceDirectPlay: true,
162163
enableBuckets: true,
164+
enableEvaluationForm: true,
163165
}),
164166
mappingsWithOverrides: wrapDefaultObject({}),
165167
blueprintConfigWithOverrides: wrapDefaultObject({}),
@@ -202,6 +204,7 @@ describe('Migrations', () => {
202204
allowHold: true,
203205
allowPieceDirectPlay: true,
204206
enableBuckets: true,
207+
enableEvaluationForm: true,
205208
}),
206209
mappingsWithOverrides: wrapDefaultObject({}),
207210
blueprintConfigWithOverrides: wrapDefaultObject({}),

meteor/server/publications/pieceContentStatusUI/__tests__/checkPieceContentStatus.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@ describe('lib/mediaObjects', () => {
252252
allowHold: false,
253253
allowPieceDirectPlay: false,
254254
enableBuckets: false,
255+
enableEvaluationForm: false,
255256
}
256257

257258
const mockDefaultStudio = defaultStudio(protectString('studio0'))

packages/job-worker/src/__mocks__/defaultCollectionObjects.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ export function defaultStudio(_id: StudioId): DBStudio {
110110
allowHold: true,
111111
allowPieceDirectPlay: true,
112112
enableBuckets: true,
113+
enableEvaluationForm: true,
113114
}),
114115
routeSetsWithOverrides: wrapDefaultObject({}),
115116
routeSetExclusivityGroupsWithOverrides: wrapDefaultObject({}),

packages/job-worker/src/blueprints/__tests__/config.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ describe('Test blueprint config', () => {
1818
allowHold: true,
1919
allowPieceDirectPlay: true,
2020
enableBuckets: true,
21+
enableEvaluationForm: true,
2122
}),
2223
blueprintConfigWithOverrides: wrapDefaultObject({ sdfsdf: 'one', another: 5 }),
2324
})
@@ -44,6 +45,7 @@ describe('Test blueprint config', () => {
4445
allowHold: true,
4546
allowPieceDirectPlay: true,
4647
enableBuckets: true,
48+
enableEvaluationForm: true,
4749
}),
4850
blueprintConfigWithOverrides: wrapDefaultObject({ sdfsdf: 'one', another: 5 }),
4951
})

0 commit comments

Comments
 (0)