From 318cf770a7fdc0521d7dbf89a4262fc5aa010afb Mon Sep 17 00:00:00 2001 From: Eric Mc Sween Date: Wed, 22 Jun 2022 15:19:16 -0400 Subject: [PATCH] Merge pull request #8556 from overleaf/em-tl-image-alpha-only Show new TeX Live images to alpha users GitOrigin-RevId: 4a4a96cc1a6661720fcc14dd1ffae275d19a004a --- services/web/app/src/Features/Project/ProjectController.js | 3 +-- services/web/app/src/Features/Project/ProjectHelper.js | 7 +++---- services/web/test/unit/src/Project/ProjectHelperTests.js | 7 ++++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/services/web/app/src/Features/Project/ProjectController.js b/services/web/app/src/Features/Project/ProjectController.js index 8b003854de..a23f315b7b 100644 --- a/services/web/app/src/Features/Project/ProjectController.js +++ b/services/web/app/src/Features/Project/ProjectController.js @@ -961,8 +961,7 @@ const ProjectController = { req, projectId ) - const allowedImageNames = - ProjectHelper.getAllowedImagesForUser(sessionUser) + const allowedImageNames = ProjectHelper.getAllowedImagesForUser(user) AuthorizationManager.getPrivilegeLevelForProject( userId, diff --git a/services/web/app/src/Features/Project/ProjectHelper.js b/services/web/app/src/Features/Project/ProjectHelper.js index f1e30961d0..d52df085af 100644 --- a/services/web/app/src/Features/Project/ProjectHelper.js +++ b/services/web/app/src/Features/Project/ProjectHelper.js @@ -2,7 +2,6 @@ const { ObjectId } = require('mongodb') const _ = require('lodash') const { promisify } = require('util') const Settings = require('@overleaf/settings') -const { hasAdminAccess } = require('../Helpers/AdminAuthorizationHelper') const ENGINE_TO_COMPILER_MAP = { latex_dvipdf: 'latex', @@ -164,11 +163,11 @@ function _addNumericSuffixToProjectName(name, allProjectNames, maxLength) { return null } -function getAllowedImagesForUser(sessionUser) { +function getAllowedImagesForUser(user) { const images = Settings.allowedImageNames || [] - if (hasAdminAccess(sessionUser)) { + if (user?.alphaProgram) { return images } else { - return images.filter(image => !image.adminOnly) + return images.filter(image => !image.alphaOnly) } } diff --git a/services/web/test/unit/src/Project/ProjectHelperTests.js b/services/web/test/unit/src/Project/ProjectHelperTests.js index 0cd7e4d43f..1f3eeb961a 100644 --- a/services/web/test/unit/src/Project/ProjectHelperTests.js +++ b/services/web/test/unit/src/Project/ProjectHelperTests.js @@ -19,6 +19,7 @@ describe('ProjectHelper', function () { this.adminUser = { _id: 'admin-user-id', isAdmin: true, + alphaProgram: true, } this.Settings = { @@ -29,7 +30,7 @@ describe('ProjectHelper', function () { { imageName: 'texlive-full:2020.1', imageDesc: 'TeX Live 2020', - adminOnly: true, + alphaOnly: true, }, ], } @@ -267,7 +268,7 @@ describe('ProjectHelper', function () { }) describe('getAllowedImagesForUser', function () { - it('filters out admin-only images when the user is anonymous', function () { + it('filters out alpha-only images when the user is anonymous', function () { const images = this.ProjectHelper.getAllowedImagesForUser(null) const imageNames = images.map(image => image.imageName) expect(imageNames).to.deep.equal([ @@ -276,7 +277,7 @@ describe('ProjectHelper', function () { ]) }) - it('filters out admin-only images when the user is not admin', function () { + it('filters out alpha-only images when the user is not admin', function () { const images = this.ProjectHelper.getAllowedImagesForUser(this.user) const imageNames = images.map(image => image.imageName) expect(imageNames).to.deep.equal([