diff --git a/app/models/registration.ts b/app/models/registration.ts index 498e6e41e24..94247c50f1d 100644 --- a/app/models/registration.ts +++ b/app/models/registration.ts @@ -82,6 +82,7 @@ export default class RegistrationModel extends NodeModel.extend(Validations) { @attr('fixstring') reviewsState?: RegistrationReviewStates; @attr('fixstring') iaUrl?: string; @attr('array') providerSpecificMetadata!: ProviderMetadata[]; + @attr('boolean') wikiEnabled!: boolean; // Write-only attributes @attr('array') includedNodeIds?: string[]; diff --git a/lib/registries/addon/overview/template.hbs b/lib/registries/addon/overview/template.hbs index d60a23c3090..04ff17af53a 100644 --- a/lib/registries/addon/overview/template.hbs +++ b/lib/registries/addon/overview/template.hbs @@ -62,8 +62,15 @@ @models={{array this.registration.id}} @icon='home' @label={{t 'registries.overview.title'}} /> - + {{#if this.registration.wikiEnabled}} + + {{/if}} ({ registeredFrom: association(), registeredBy: association(), reviewsState: RegistrationReviewStates.Accepted, + wikiEnabled: true, index(i: number) { return i; diff --git a/tests/engines/registries/acceptance/overview/index-test.ts b/tests/engines/registries/acceptance/overview/index-test.ts index e5d265e010b..8373cbfe22d 100644 --- a/tests/engines/registries/acceptance/overview/index-test.ts +++ b/tests/engines/registries/acceptance/overview/index-test.ts @@ -86,7 +86,7 @@ module('Registries | Acceptance | overview.index', hooks => { selector: '[data-analytics-name="Files"]', href: `/${this.registration.id}/files/`, }, { - selector: '[data-analytics-name="Wiki"]', + selector: '[data-test-wiki-link]', href: `/${this.registration.id}/wiki/`, }]; @@ -97,6 +97,20 @@ module('Registries | Acceptance | overview.index', hooks => { } }); + test('wiki link hidden if wiki not enabled', async function(this: OverviewTestContext, assert: Assert){ + this.set('registration', server.create('registration', { + archiving: false, + withdrawn: false, + wikiEnabled: false, + registrationSchema: server.schema.registrationSchemas.find('prereg_challenge'), + provider: server.create('registration-provider'), + }, 'withContributors', 'currentUserAdmin')); + + await visit(`/${this.registration.id}`); + + assert.dom('[data-test-wiki-link]').doesNotExist('Wiki link hidden because wiki disabled'); + }); + test('withdrawn tombstone', async function(this: OverviewTestContext, assert: Assert) { this.set('registration', server.create('registration', { registrationSchema: server.schema.registrationSchemas.find('prereg_challenge'),