diff --git a/app.js b/app.js index 79f5a0a7..e12763d9 100644 --- a/app.js +++ b/app.js @@ -1,4 +1,5 @@ import path from 'node:path'; +import { secondsToMillis } from '@cityssm/to-millis'; import * as dateTimeFunctions from '@cityssm/utils-datetime'; import compression from 'compression'; import cookieParser from 'cookie-parser'; @@ -27,7 +28,6 @@ import routerPrint from './routes/print.js'; import routerReports from './routes/reports.js'; import routerWorkOrders from './routes/workOrders.js'; import { version } from './version.js'; -import { secondsToMillis } from '@cityssm/to-millis'; const debug = Debug(`${DEBUG_NAMESPACE}:app:${process.pid}`); /* * INITIALIZE APP @@ -65,23 +65,6 @@ app.use(rateLimit({ max: useTestDatabases ? 1_000_000 : 200, windowMs: secondsToMillis(10) })); -/* - * STATIC ROUTES - */ -const urlPrefix = configFunctions.getConfigProperty('reverseProxy.urlPrefix'); -if (urlPrefix !== '') { - debug(`urlPrefix = ${urlPrefix}`); -} -app.use(urlPrefix, express.static(path.join('public'))); -app.use(`${urlPrefix}/lib/bulma`, express.static(path.join('node_modules', 'bulma', 'css'))); -app.use(`${urlPrefix}/lib/bulma-tooltip`, express.static(path.join('node_modules', 'bulma-tooltip', 'dist', 'css'))); -app.use(`${urlPrefix}/lib/cityssm-bulma-js/bulma-js.js`, express.static(path.join('node_modules', '@cityssm', 'bulma-js', 'dist', 'bulma-js.js'))); -app.use(`${urlPrefix}/lib/cityssm-fa-glow`, express.static(path.join('node_modules', '@cityssm', 'fa-glow'))); -app.use(`${urlPrefix}/lib/cityssm-bulma-sticky-table`, express.static(path.join('node_modules', '@cityssm', 'bulma-sticky-table'))); -app.use(`${urlPrefix}/lib/cityssm-bulma-webapp-js`, express.static(path.join('node_modules', '@cityssm', 'bulma-webapp-js', 'dist'))); -app.use(`${urlPrefix}/lib/fa`, express.static(path.join('node_modules', '@fortawesome', 'fontawesome-free'))); -app.use(`${urlPrefix}/lib/leaflet`, express.static(path.join('node_modules', 'leaflet', 'dist'))); -app.use(`${urlPrefix}/lib/randomcolor/randomColor.js`, express.static(path.join('node_modules', 'randomcolor', 'randomColor.js'))); /* * SESSION MANAGEMENT */ @@ -112,6 +95,34 @@ app.use((request, response, next) => { } next(); }); +/* + * STATIC ROUTES + */ +const urlPrefix = configFunctions.getConfigProperty('reverseProxy.urlPrefix'); +if (urlPrefix !== '') { + debug(`urlPrefix = ${urlPrefix}`); +} +app.use(`${urlPrefix}/internal`, (request, response, next) => { + if (Object.hasOwn(request.session, 'user') && + Object.hasOwn(request.cookies, sessionCookieName)) { + next(); + return; + } + response.sendStatus(403); +}, express.static(path.join('public-internal'))); +app.use(urlPrefix, express.static(path.join('public'))); +app.use(`${urlPrefix}/lib/bulma`, express.static(path.join('node_modules', 'bulma', 'css'))); +app.use(`${urlPrefix}/lib/bulma-tooltip`, express.static(path.join('node_modules', 'bulma-tooltip', 'dist', 'css'))); +app.use(`${urlPrefix}/lib/cityssm-bulma-js/bulma-js.js`, express.static(path.join('node_modules', '@cityssm', 'bulma-js', 'dist', 'bulma-js.js'))); +app.use(`${urlPrefix}/lib/cityssm-fa-glow`, express.static(path.join('node_modules', '@cityssm', 'fa-glow'))); +app.use(`${urlPrefix}/lib/cityssm-bulma-sticky-table`, express.static(path.join('node_modules', '@cityssm', 'bulma-sticky-table'))); +app.use(`${urlPrefix}/lib/cityssm-bulma-webapp-js`, express.static(path.join('node_modules', '@cityssm', 'bulma-webapp-js', 'dist'))); +app.use(`${urlPrefix}/lib/fa`, express.static(path.join('node_modules', '@fortawesome', 'fontawesome-free'))); +app.use(`${urlPrefix}/lib/leaflet`, express.static(path.join('node_modules', 'leaflet', 'dist'))); +app.use(`${urlPrefix}/lib/randomcolor/randomColor.js`, express.static(path.join('node_modules', 'randomcolor', 'randomColor.js'))); +/* + * ROUTES + */ // Redirect logged in users const sessionChecker = (request, response, next) => { if (Object.hasOwn(request.session, 'user') && @@ -122,9 +133,6 @@ const sessionChecker = (request, response, next) => { const redirectUrl = getSafeRedirectURL(request.originalUrl); response.redirect(`${urlPrefix}/login?redirect=${encodeURIComponent(redirectUrl)}`); }; -/* - * ROUTES - */ // Make the user and config objects available to the templates app.use((request, response, next) => { response.locals.buildNumber = version; diff --git a/app.ts b/app.ts index 4eefc12c..4736dd6b 100644 --- a/app.ts +++ b/app.ts @@ -1,5 +1,6 @@ import path from 'node:path' +import { secondsToMillis } from '@cityssm/to-millis' import * as dateTimeFunctions from '@cityssm/utils-datetime' import compression from 'compression' import cookieParser from 'cookie-parser' @@ -29,7 +30,6 @@ import routerPrint from './routes/print.js' import routerReports from './routes/reports.js' import routerWorkOrders from './routes/workOrders.js' import { version } from './version.js' -import { secondsToMillis } from '@cityssm/to-millis' const debug = Debug(`${DEBUG_NAMESPACE}:app:${process.pid}`) @@ -87,6 +87,49 @@ app.use( }) ) +/* + * SESSION MANAGEMENT + */ + +const sessionCookieName: string = + configFunctions.getConfigProperty('session.cookieName') + +const FileStoreSession = FileStore(session) + +// Initialize session +app.use( + session({ + name: sessionCookieName, + + cookie: { + maxAge: configFunctions.getConfigProperty('session.maxAgeMillis'), + sameSite: 'strict' + }, + secret: configFunctions.getConfigProperty('session.secret'), + store: new FileStoreSession({ + logFn: Debug(`${DEBUG_NAMESPACE}:session:${process.pid}`), + path: './data/sessions', + retries: 20 + }), + + resave: true, + rolling: true, + saveUninitialized: false + }) +) + +// Clear cookie if no corresponding session +app.use((request, response, next) => { + if ( + Object.hasOwn(request.cookies, sessionCookieName) && + !Object.hasOwn(request.session, 'user') + ) { + response.clearCookie(sessionCookieName) + } + + next() +}) + /* * STATIC ROUTES */ @@ -97,6 +140,22 @@ if (urlPrefix !== '') { debug(`urlPrefix = ${urlPrefix}`) } +app.use( + `${urlPrefix}/internal`, + (request, response, next) => { + if ( + Object.hasOwn(request.session, 'user') && + Object.hasOwn(request.cookies, sessionCookieName) + ) { + next() + return + } + + response.sendStatus(403) + }, + express.static(path.join('public-internal')) +) + app.use(urlPrefix, express.static(path.join('public'))) app.use( @@ -149,48 +208,9 @@ app.use( ) /* - * SESSION MANAGEMENT + * ROUTES */ -const sessionCookieName: string = - configFunctions.getConfigProperty('session.cookieName') - -const FileStoreSession = FileStore(session) - -// Initialize session -app.use( - session({ - name: sessionCookieName, - - cookie: { - maxAge: configFunctions.getConfigProperty('session.maxAgeMillis'), - sameSite: 'strict' - }, - secret: configFunctions.getConfigProperty('session.secret'), - store: new FileStoreSession({ - logFn: Debug(`${DEBUG_NAMESPACE}:session:${process.pid}`), - path: './data/sessions', - retries: 20 - }), - - resave: true, - rolling: true, - saveUninitialized: false - }) -) - -// Clear cookie if no corresponding session -app.use((request, response, next) => { - if ( - Object.hasOwn(request.cookies, sessionCookieName) && - !Object.hasOwn(request.session, 'user') - ) { - response.clearCookie(sessionCookieName) - } - - next() -}) - // Redirect logged in users const sessionChecker = ( request: express.Request, @@ -212,10 +232,6 @@ const sessionChecker = ( ) } -/* - * ROUTES - */ - // Make the user and config objects available to the templates app.use((request, response, next) => { diff --git a/database/addBurialSite.d.ts b/database/addBurialSite.d.ts index 67a30b4e..96cc8a2b 100644 --- a/database/addBurialSite.d.ts +++ b/database/addBurialSite.d.ts @@ -6,6 +6,7 @@ export interface AddBurialSiteForm { burialSiteNameSegment5?: string; burialSiteStatusId: number | string; burialSiteTypeId: number | string; + burialSiteImage: string; cemeteryId: number | string; cemeterySvgId: string; burialSiteLatitude: string; diff --git a/database/addBurialSite.js b/database/addBurialSite.js index 708de21c..d4cc6020 100644 --- a/database/addBurialSite.js +++ b/database/addBurialSite.js @@ -37,7 +37,7 @@ export default async function addBurialSite(burialSiteForm, user) { burialSiteNameSegment5, burialSiteName, burialSiteTypeId, burialSiteStatusId, - cemeteryId, cemeterySvgId, + cemeteryId, cemeterySvgId, burialSiteImage, burialSiteLatitude, burialSiteLongitude, recordCreate_userName, recordCreate_timeMillis, @@ -47,7 +47,7 @@ export default async function addBurialSite(burialSiteForm, user) { ?, ?, ?, ?)`) .run(burialSiteForm.burialSiteNameSegment1, burialSiteForm.burialSiteNameSegment2 ?? '', burialSiteForm.burialSiteNameSegment3 ?? '', burialSiteForm.burialSiteNameSegment4 ?? '', burialSiteForm.burialSiteNameSegment5 ?? '', burialSiteName, burialSiteForm.burialSiteTypeId, burialSiteForm.burialSiteStatusId === '' ? undefined - : burialSiteForm.burialSiteStatusId, burialSiteForm.cemeteryId === '' ? undefined : burialSiteForm.cemeteryId, burialSiteForm.cemeterySvgId, burialSiteForm.burialSiteLatitude === '' + : burialSiteForm.burialSiteStatusId, burialSiteForm.cemeteryId === '' ? undefined : burialSiteForm.cemeteryId, burialSiteForm.cemeterySvgId, burialSiteForm.burialSiteImage, burialSiteForm.burialSiteLatitude === '' ? undefined : burialSiteForm.burialSiteLatitude, burialSiteForm.burialSiteLongitude === '' ? undefined diff --git a/database/addBurialSite.ts b/database/addBurialSite.ts index 042b7f35..983259b5 100644 --- a/database/addBurialSite.ts +++ b/database/addBurialSite.ts @@ -14,6 +14,7 @@ export interface AddBurialSiteForm { burialSiteStatusId: number | string burialSiteTypeId: number | string + burialSiteImage: string cemeteryId: number | string cemeterySvgId: string @@ -77,7 +78,7 @@ export default async function addBurialSite( burialSiteNameSegment5, burialSiteName, burialSiteTypeId, burialSiteStatusId, - cemeteryId, cemeterySvgId, + cemeteryId, cemeterySvgId, burialSiteImage, burialSiteLatitude, burialSiteLongitude, recordCreate_userName, recordCreate_timeMillis, @@ -99,6 +100,7 @@ export default async function addBurialSite( : burialSiteForm.burialSiteStatusId, burialSiteForm.cemeteryId === '' ? undefined : burialSiteForm.cemeteryId, burialSiteForm.cemeterySvgId, + burialSiteForm.burialSiteImage, burialSiteForm.burialSiteLatitude === '' ? undefined : burialSiteForm.burialSiteLatitude, diff --git a/database/getBurialSite.js b/database/getBurialSite.js index d37b2716..081e0878 100644 --- a/database/getBurialSite.js +++ b/database/getBurialSite.js @@ -12,7 +12,7 @@ const baseSQL = `select l.burialSiteId, l.burialSiteName, l.burialSiteStatusId, s.burialSiteStatus, l.cemeteryId, m.cemeteryName, - m.cemeterySvg, l.cemeterySvgId, + m.cemeterySvg, l.cemeterySvgId, l.burialSiteImage, l.burialSiteLatitude, l.burialSiteLongitude from BurialSites l diff --git a/database/getBurialSite.ts b/database/getBurialSite.ts index 4e9cb0ea..edcb05fb 100644 --- a/database/getBurialSite.ts +++ b/database/getBurialSite.ts @@ -15,7 +15,7 @@ const baseSQL = `select l.burialSiteId, l.burialSiteName, l.burialSiteStatusId, s.burialSiteStatus, l.cemeteryId, m.cemeteryName, - m.cemeterySvg, l.cemeterySvgId, + m.cemeterySvg, l.cemeterySvgId, l.burialSiteImage, l.burialSiteLatitude, l.burialSiteLongitude from BurialSites l diff --git a/database/initializeDatabase.js b/database/initializeDatabase.js index 6c9e6b54..c0400004 100644 --- a/database/initializeDatabase.js +++ b/database/initializeDatabase.js @@ -88,6 +88,8 @@ const createStatements = [ cemeteryId integer, cemeterySvgId varchar(100), + burialSiteImage varchar(100) not null default '', + burialSiteLatitude decimal(10, 8) check (burialSiteLatitude between -90 and 90), burialSiteLongitude decimal(11, 8) diff --git a/database/initializeDatabase.ts b/database/initializeDatabase.ts index c55de282..8e62bdee 100644 --- a/database/initializeDatabase.ts +++ b/database/initializeDatabase.ts @@ -105,6 +105,8 @@ const createStatements = [ cemeteryId integer, cemeterySvgId varchar(100), + burialSiteImage varchar(100) not null default '', + burialSiteLatitude decimal(10, 8) check (burialSiteLatitude between -90 and 90), burialSiteLongitude decimal(11, 8) diff --git a/database/updateBurialSite.d.ts b/database/updateBurialSite.d.ts index e487703b..1c55a105 100644 --- a/database/updateBurialSite.d.ts +++ b/database/updateBurialSite.d.ts @@ -7,6 +7,7 @@ export interface UpdateBurialSiteForm { burialSiteNameSegment5?: string; burialSiteStatusId: number | string; burialSiteTypeId: number | string; + burialSiteImage: string; cemeteryId: number | string; cemeterySvgId: string; burialSiteLatitude: string; diff --git a/database/updateBurialSite.js b/database/updateBurialSite.js index a3e3e22e..873bb87e 100644 --- a/database/updateBurialSite.js +++ b/database/updateBurialSite.js @@ -41,6 +41,7 @@ export default async function updateBurialSite(updateForm, user) { burialSiteStatusId = ?, cemeteryId = ?, cemeterySvgId = ?, + burialSiteImage = ?, burialSiteLatitude = ?, burialSiteLongitude = ?, recordUpdate_userName = ?, @@ -49,7 +50,7 @@ export default async function updateBurialSite(updateForm, user) { and recordDelete_timeMillis is null`) .run(updateForm.burialSiteNameSegment1 ?? '', updateForm.burialSiteNameSegment2 ?? '', updateForm.burialSiteNameSegment3 ?? '', updateForm.burialSiteNameSegment4 ?? '', updateForm.burialSiteNameSegment5 ?? '', burialSiteName, updateForm.burialSiteTypeId, updateForm.burialSiteStatusId === '' ? undefined - : updateForm.burialSiteStatusId, updateForm.cemeteryId === '' ? undefined : updateForm.cemeteryId, updateForm.cemeterySvgId, updateForm.burialSiteLatitude === '' + : updateForm.burialSiteStatusId, updateForm.cemeteryId === '' ? undefined : updateForm.cemeteryId, updateForm.cemeterySvgId, updateForm.burialSiteImage, updateForm.burialSiteLatitude === '' ? undefined : updateForm.burialSiteLatitude, updateForm.burialSiteLongitude === '' ? undefined diff --git a/database/updateBurialSite.ts b/database/updateBurialSite.ts index 9d8117c5..c10bd3cb 100644 --- a/database/updateBurialSite.ts +++ b/database/updateBurialSite.ts @@ -17,6 +17,7 @@ export interface UpdateBurialSiteForm { burialSiteStatusId: number | string burialSiteTypeId: number | string + burialSiteImage: string cemeteryId: number | string cemeterySvgId: string @@ -78,6 +79,7 @@ export default async function updateBurialSite( burialSiteStatusId = ?, cemeteryId = ?, cemeterySvgId = ?, + burialSiteImage = ?, burialSiteLatitude = ?, burialSiteLongitude = ?, recordUpdate_userName = ?, @@ -98,6 +100,7 @@ export default async function updateBurialSite( : updateForm.burialSiteStatusId, updateForm.cemeteryId === '' ? undefined : updateForm.cemeteryId, updateForm.cemeterySvgId, + updateForm.burialSiteImage, updateForm.burialSiteLatitude === '' ? undefined : updateForm.burialSiteLatitude, diff --git a/handlers/burialSites-get/edit.js b/handlers/burialSites-get/edit.js index 8d637508..c77b5b74 100644 --- a/handlers/burialSites-get/edit.js +++ b/handlers/burialSites-get/edit.js @@ -2,6 +2,7 @@ import getBurialSite from '../../database/getBurialSite.js'; import getCemeteries from '../../database/getCemeteries.js'; import { getConfigProperty } from '../../helpers/config.helpers.js'; import { getBurialSiteStatuses, getBurialSiteTypes } from '../../helpers/functions.cache.js'; +import { getBurialSiteImages } from '../../helpers/images.helpers.js'; export default async function handler(request, response) { const burialSite = await getBurialSite(request.params.burialSiteId); if (burialSite === undefined) { @@ -9,14 +10,16 @@ export default async function handler(request, response) { return; } const cemeteries = await getCemeteries(); + const burialSiteImages = await getBurialSiteImages(); const burialSiteTypes = await getBurialSiteTypes(); const burialSiteStatuses = await getBurialSiteStatuses(); response.render('burialSite-edit', { headTitle: burialSite.burialSiteName, burialSite, isCreate: false, - cemeteries, + burialSiteImages, + burialSiteStatuses, burialSiteTypes, - burialSiteStatuses + cemeteries }); } diff --git a/handlers/burialSites-get/edit.ts b/handlers/burialSites-get/edit.ts index e8f4d1b3..ad3f8474 100644 --- a/handlers/burialSites-get/edit.ts +++ b/handlers/burialSites-get/edit.ts @@ -7,6 +7,7 @@ import { getBurialSiteStatuses, getBurialSiteTypes } from '../../helpers/functions.cache.js' +import { getBurialSiteImages } from '../../helpers/images.helpers.js' export default async function handler( request: Request, @@ -22,15 +23,19 @@ export default async function handler( } const cemeteries = await getCemeteries() + const burialSiteImages = await getBurialSiteImages() const burialSiteTypes = await getBurialSiteTypes() const burialSiteStatuses = await getBurialSiteStatuses() response.render('burialSite-edit', { headTitle: burialSite.burialSiteName, + burialSite, isCreate: false, - cemeteries, + + burialSiteImages, + burialSiteStatuses, burialSiteTypes, - burialSiteStatuses + cemeteries }) } diff --git a/handlers/burialSites-get/new.js b/handlers/burialSites-get/new.js index 6ccd26d5..c85e6f81 100644 --- a/handlers/burialSites-get/new.js +++ b/handlers/burialSites-get/new.js @@ -1,5 +1,6 @@ import getCemeteries from '../../database/getCemeteries.js'; import { getBurialSiteStatuses, getBurialSiteTypes } from '../../helpers/functions.cache.js'; +import { getBurialSiteImages } from '../../helpers/images.helpers.js'; export default async function handler(request, response) { const burialSite = { burialSiteId: -1, @@ -14,14 +15,16 @@ export default async function handler(request, response) { burialSite.cemeteryName = cemetery.cemeteryName; } } + const burialSiteImages = await getBurialSiteImages(); const burialSiteTypes = await getBurialSiteTypes(); const burialSiteStatuses = await getBurialSiteStatuses(); response.render('burialSite-edit', { headTitle: 'Create a New Burial Site', burialSite, isCreate: true, - cemeteries, + burialSiteImages, + burialSiteStatuses, burialSiteTypes, - burialSiteStatuses + cemeteries, }); } diff --git a/handlers/burialSites-get/new.ts b/handlers/burialSites-get/new.ts index cf92fa7e..690adfa5 100644 --- a/handlers/burialSites-get/new.ts +++ b/handlers/burialSites-get/new.ts @@ -5,6 +5,7 @@ import { getBurialSiteStatuses, getBurialSiteTypes } from '../../helpers/functions.cache.js' +import { getBurialSiteImages } from '../../helpers/images.helpers.js' import type { BurialSite } from '../../types/recordTypes.js' export default async function handler( @@ -31,15 +32,19 @@ export default async function handler( } } + const burialSiteImages = await getBurialSiteImages() const burialSiteTypes = await getBurialSiteTypes() const burialSiteStatuses = await getBurialSiteStatuses() response.render('burialSite-edit', { headTitle: 'Create a New Burial Site', + burialSite, isCreate: true, - cemeteries, + + burialSiteImages, + burialSiteStatuses, burialSiteTypes, - burialSiteStatuses + cemeteries, }) } diff --git a/handlers/burialSites-get/view.ts b/handlers/burialSites-get/view.ts index 84154513..17c5718b 100644 --- a/handlers/burialSites-get/view.ts +++ b/handlers/burialSites-get/view.ts @@ -22,6 +22,7 @@ export default async function handler( response.render('burialSite-view', { headTitle: burialSite.burialSiteName, + burialSite }) diff --git a/handlers/cemeteries-get/edit.js b/handlers/cemeteries-get/edit.js index b5a5b2de..1d209ab2 100644 --- a/handlers/cemeteries-get/edit.js +++ b/handlers/cemeteries-get/edit.js @@ -1,8 +1,8 @@ import getBurialSiteStatusSummary from '../../database/getBurialSiteStatusSummary.js'; import getBurialSiteTypeSummary from '../../database/getBurialSiteTypeSummary.js'; import getCemetery from '../../database/getCemetery.js'; -import { getCemeterySVGs } from '../../helpers/cemeteries.helpers.js'; import { getConfigProperty } from '../../helpers/config.helpers.js'; +import { getCemeterySVGs } from '../../helpers/images.helpers.js'; export default async function handler(request, response) { const cemetery = await getCemetery(request.params.cemeteryId); if (cemetery === undefined) { @@ -18,10 +18,10 @@ export default async function handler(request, response) { }); response.render('cemetery-edit', { headTitle: cemetery.cemeteryName, - isCreate: false, cemetery, cemeterySVGs, - burialSiteTypeSummary, - burialSiteStatusSummary + isCreate: false, + burialSiteStatusSummary, + burialSiteTypeSummary }); } diff --git a/handlers/cemeteries-get/edit.ts b/handlers/cemeteries-get/edit.ts index 6665d7ce..eeea5dfc 100644 --- a/handlers/cemeteries-get/edit.ts +++ b/handlers/cemeteries-get/edit.ts @@ -3,8 +3,8 @@ import type { Request, Response } from 'express' import getBurialSiteStatusSummary from '../../database/getBurialSiteStatusSummary.js' import getBurialSiteTypeSummary from '../../database/getBurialSiteTypeSummary.js' import getCemetery from '../../database/getCemetery.js' -import { getCemeterySVGs } from '../../helpers/cemeteries.helpers.js' import { getConfigProperty } from '../../helpers/config.helpers.js' +import { getCemeterySVGs } from '../../helpers/images.helpers.js' export default async function handler( request: Request, @@ -31,10 +31,12 @@ export default async function handler( response.render('cemetery-edit', { headTitle: cemetery.cemeteryName, - isCreate: false, + cemetery, cemeterySVGs, - burialSiteTypeSummary, - burialSiteStatusSummary + isCreate: false, + + burialSiteStatusSummary, + burialSiteTypeSummary }) } diff --git a/handlers/cemeteries-get/new.js b/handlers/cemeteries-get/new.js index b2893e3d..9c640cf4 100644 --- a/handlers/cemeteries-get/new.js +++ b/handlers/cemeteries-get/new.js @@ -1,5 +1,5 @@ -import { getCemeterySVGs } from '../../helpers/cemeteries.helpers.js'; import { getConfigProperty } from '../../helpers/config.helpers.js'; +import { getCemeterySVGs } from '../../helpers/images.helpers.js'; export default async function handler(_request, response) { const cemetery = { cemeteryCity: getConfigProperty('settings.cityDefault'), @@ -8,8 +8,8 @@ export default async function handler(_request, response) { const cemeterySVGs = await getCemeterySVGs(); response.render('cemetery-edit', { headTitle: "Create a Cemetery", - isCreate: true, cemetery, - cemeterySVGs + cemeterySVGs, + isCreate: true, }); } diff --git a/handlers/cemeteries-get/new.ts b/handlers/cemeteries-get/new.ts index f5660ac0..154fb7bb 100644 --- a/handlers/cemeteries-get/new.ts +++ b/handlers/cemeteries-get/new.ts @@ -1,7 +1,7 @@ import type { Request, Response } from 'express' -import { getCemeterySVGs } from '../../helpers/cemeteries.helpers.js' import { getConfigProperty } from '../../helpers/config.helpers.js' +import { getCemeterySVGs } from '../../helpers/images.helpers.js' import type { Cemetery } from '../../types/recordTypes.js' export default async function handler( @@ -17,8 +17,9 @@ export default async function handler( response.render('cemetery-edit', { headTitle: "Create a Cemetery", - isCreate: true, + cemetery, - cemeterySVGs + cemeterySVGs, + isCreate: true, }) } diff --git a/helpers/cemeteries.helpers.d.ts b/helpers/cemeteries.helpers.d.ts deleted file mode 100644 index 5e21009a..00000000 --- a/helpers/cemeteries.helpers.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function getCemeterySVGs(): Promise; diff --git a/helpers/cemeteries.helpers.js b/helpers/cemeteries.helpers.js deleted file mode 100644 index 28dbe1ca..00000000 --- a/helpers/cemeteries.helpers.js +++ /dev/null @@ -1,15 +0,0 @@ -import fs from 'node:fs/promises'; -let cemeterySVGs; -export async function getCemeterySVGs() { - if (cemeterySVGs === undefined) { - const files = await fs.readdir('./public/images/cemeteries/'); - const SVGs = []; - for (const file of files) { - if (file.toLowerCase().endsWith('.svg')) { - SVGs.push(file); - } - } - cemeterySVGs = SVGs; - } - return cemeterySVGs; -} diff --git a/helpers/cemeteries.helpers.ts b/helpers/cemeteries.helpers.ts deleted file mode 100644 index eff252dd..00000000 --- a/helpers/cemeteries.helpers.ts +++ /dev/null @@ -1,21 +0,0 @@ -import fs from 'node:fs/promises' - -let cemeterySVGs: string[] | undefined - -export async function getCemeterySVGs(): Promise { - if (cemeterySVGs === undefined) { - const files = await fs.readdir('./public/images/cemeteries/') - - const SVGs: string[] = [] - - for (const file of files) { - if (file.toLowerCase().endsWith('.svg')) { - SVGs.push(file) - } - } - - cemeterySVGs = SVGs - } - - return cemeterySVGs -} diff --git a/helpers/images.helpers.d.ts b/helpers/images.helpers.d.ts new file mode 100644 index 00000000..2d505028 --- /dev/null +++ b/helpers/images.helpers.d.ts @@ -0,0 +1,2 @@ +export declare function getBurialSiteImages(): Promise; +export declare function getCemeterySVGs(): Promise; diff --git a/helpers/images.helpers.js b/helpers/images.helpers.js new file mode 100644 index 00000000..a5fd02e2 --- /dev/null +++ b/helpers/images.helpers.js @@ -0,0 +1,32 @@ +import fs from 'node:fs/promises'; +let burialSiteImages; +export async function getBurialSiteImages() { + if (burialSiteImages === undefined) { + const files = await fs.readdir('./public-internal/images/burialSites/'); + const images = []; + for (const file of files) { + const lowerCaseFileName = file.toLowerCase(); + if (lowerCaseFileName.endsWith('.jpg') || + lowerCaseFileName.endsWith('.jpeg') || + lowerCaseFileName.endsWith('.png')) { + images.push(file); + } + } + burialSiteImages = images; + } + return burialSiteImages; +} +let cemeterySVGs; +export async function getCemeterySVGs() { + if (cemeterySVGs === undefined) { + const files = await fs.readdir('./public-internal/images/cemeteries/'); + const SVGs = []; + for (const file of files) { + if (file.toLowerCase().endsWith('.svg')) { + SVGs.push(file); + } + } + cemeterySVGs = SVGs; + } + return cemeterySVGs; +} diff --git a/helpers/images.helpers.ts b/helpers/images.helpers.ts new file mode 100644 index 00000000..558e13c7 --- /dev/null +++ b/helpers/images.helpers.ts @@ -0,0 +1,46 @@ +import fs from 'node:fs/promises' + +let burialSiteImages: string[] | undefined + +export async function getBurialSiteImages(): Promise { + if (burialSiteImages === undefined) { + const files = await fs.readdir('./public-internal/images/burialSites/') + + const images: string[] = [] + + for (const file of files) { + const lowerCaseFileName = file.toLowerCase() + if ( + lowerCaseFileName.endsWith('.jpg') || + lowerCaseFileName.endsWith('.jpeg') || + lowerCaseFileName.endsWith('.png') + ) { + images.push(file) + } + } + + burialSiteImages = images + } + + return burialSiteImages +} + +let cemeterySVGs: string[] | undefined + +export async function getCemeterySVGs(): Promise { + if (cemeterySVGs === undefined) { + const files = await fs.readdir('./public-internal/images/cemeteries/') + + const SVGs: string[] = [] + + for (const file of files) { + if (file.toLowerCase().endsWith('.svg')) { + SVGs.push(file) + } + } + + cemeterySVGs = SVGs + } + + return cemeterySVGs +} diff --git a/package.json b/package.json index e11f812f..24705461 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,6 @@ "leaflet": "^1.9.4", "node-cache": "^5.1.2", "papaparse": "^5.5.2", - "puppeteer": "^19.4.1", "randomcolor": "^0.6.2", "session-file-store": "^1.5.0", "set-interval-async": "^3.0.3" @@ -96,6 +95,7 @@ "prettier-config-cityssm": "^1.0.0" }, "optionalDependencies": { - "node-windows": "^1.0.0-beta.8" + "node-windows": "^1.0.0-beta.8", + "puppeteer": "^19.4.1" } } diff --git a/public-internal/README.md b/public-internal/README.md new file mode 100644 index 00000000..a4f6a264 --- /dev/null +++ b/public-internal/README.md @@ -0,0 +1 @@ +Files placed in this folder are only available to logged in users. diff --git a/public-internal/images/burialSites/roses.jpg b/public-internal/images/burialSites/roses.jpg new file mode 100644 index 00000000..58f2a4eb Binary files /dev/null and b/public-internal/images/burialSites/roses.jpg differ diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-1-52.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-1-52.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-1-52.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-1-52.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-53-97.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-53-97.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-53-97.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-53-97.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-B-T.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-B-T.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-B-T.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-B-T.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-52A-53A.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-52A-53A.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-52A-53A.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-52A-53A.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-72A-73A.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-72A-73A.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-72A-73A.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-72A-73A.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-97A-97B.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-97A-97B.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-97A-97B.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-97A-97B.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-1-52.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-1-52.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-1-52.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-1-52.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-53-97.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-53-97.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-53-97.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-53-97.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-B-T.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-B-T.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-B-T.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-B-T.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-1-36.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-1-36.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-1-36.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-1-36.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-B-U.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-B-U.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-B-U.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-B-U.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-babyShrine.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-babyShrine.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-babyShrine.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-babyShrine.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-A-L.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-A-L.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-A-L.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-A-L.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-M-V.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-M-V.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-M-V.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-M-V.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionCenter.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionCenter.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionCenter.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionCenter.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionEast.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionEast.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionEast.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionEast.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionWest.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionWest.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionWest.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionWest.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-F-rows-1-22.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-F-rows-1-22.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-F-rows-1-22.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-F-rows-1-22.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-G-rows-1-32.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-G-rows-1-32.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-G-rows-1-32.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-G-rows-1-32.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-H-rows-1-16.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-H-rows-1-16.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-H-rows-1-16.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-H-rows-1-16.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-J-rows-1-18.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-J-rows-1-18.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-J-rows-1-18.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-J-rows-1-18.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-K-rows-1-19.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-K-rows-1-19.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-K-rows-1-19.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-K-rows-1-19.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-O-P.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-O-P.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-O-P.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-O-P.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-S.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-S.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-S.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-S.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-T.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-T.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-T.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-T.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-U.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-U.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-U.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-U.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-V.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-V.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-V.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-V.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-W.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-W.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-W.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-W.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-image.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-image.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-image.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-image.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-east.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-east.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-east.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-east.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-image.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-image.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-image.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-image.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-E.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-E.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-E.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-E.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-W.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-W.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-W.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-W.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-E.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-E.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-E.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-E.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-W.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-W.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-W.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-W.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-E.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-E.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-E.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-E.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-W.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-W.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-W.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-W.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-T.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-T.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-T.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-T.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-U.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-U.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-U.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-U.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-west.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-west.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-west.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-west.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-overview.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-overview.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-overview.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-overview.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-A.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-A.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-A.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-A.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-B.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-B.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-B.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-B.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-C.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-C.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-C.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-C.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-D.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-D.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-D.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-D.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-E.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-E.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-E.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-E.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-F.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-F.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-F.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-F.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-G.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-G.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-G.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-G.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-H.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-H.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-H.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-H.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-I.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-I.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-I.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-I.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-J.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-J.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-J.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-J.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-K.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-K.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-K.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-K.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-L.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-L.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-L.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-L.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-M.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-M.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-M.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-M.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-N.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-N.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-N.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-N.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-image.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-image.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-image.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-image.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-infantsSection.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-infantsSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-infantsSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-infantsSection.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-1-40.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-1-40.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-1-40.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-1-40.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-41-80.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-41-80.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-41-80.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-41-80.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-81-106.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-81-106.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-81-106.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-81-106.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-overview.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-overview.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-overview.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-overview.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots 3-21.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots 3-21.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots 3-21.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots 3-21.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots-22-46.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots-22-46.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots-22-46.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots-22-46.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-25-61-lots-47-59.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-25-61-lots-47-59.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-25-61-lots-47-59.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-25-61-lots-47-59.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-60-lots-4-21A.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-60-lots-4-21A.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-60-lots-4-21A.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-60-lots-4-21A.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-61-lots-22-46.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-61-lots-22-46.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-61-lots-22-46.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-61-lots-22-46.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-24-40.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-24-40.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-24-40.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-24-40.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-47-59.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-47-59.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-47-59.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-47-59.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-66-95-lots-12-24.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-66-95-lots-12-24.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-66-95-lots-12-24.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-66-95-lots-12-24.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-urnGarden.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-urnGarden.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-urnGarden.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-urnGarden.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-veteransSection.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-veteransSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-veteransSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-veteransSection.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-babySection.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-babySection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-babySection.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-babySection.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-1-11.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-1-11.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-1-11.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-1-11.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-12-17.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-12-17.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-12-17.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-12-17.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-1-11.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-1-11.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-1-11.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-1-11.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-12-17.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-12-17.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-12-17.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-12-17.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots 23-31.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots 23-31.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots 23-31.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots 23-31.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots-1-22.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots-1-22.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots-1-22.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots-1-22.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-1-22.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-1-22.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-1-22.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-1-22.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-23-31.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-23-31.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-23-31.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-23-31.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-lots-33-45-rows-1-22.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-lots-33-45-rows-1-22.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-lots-33-45-rows-1-22.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-lots-33-45-rows-1-22.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-33-57-lots 23-31.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-33-57-lots 23-31.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-33-57-lots 23-31.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-33-57-lots 23-31.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-46-57-lots-11-24.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-46-57-lots-11-24.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-46-57-lots-11-24.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-46-57-lots-11-24.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-image.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-image.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-image.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-image.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-overview.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-overview.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-overview.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-overview.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-westSection-image.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-westSection-image.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-westSection-image.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-westSection-image.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-westSection.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-westSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-westSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-westSection.svg diff --git a/public/images/cemeteries/ssm.cemetery.pineGrove-overview.svg b/public-internal/images/cemeteries/ssm.cemetery.pineGrove-overview.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.pineGrove-overview.svg rename to public-internal/images/cemeteries/ssm.cemetery.pineGrove-overview.svg diff --git a/public/images/cemeteries/ssm.cemetery.westKorah-eastSection.svg b/public-internal/images/cemeteries/ssm.cemetery.westKorah-eastSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.westKorah-eastSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.westKorah-eastSection.svg diff --git a/public/images/cemeteries/ssm.cemetery.westKorah-northSection.svg b/public-internal/images/cemeteries/ssm.cemetery.westKorah-northSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.westKorah-northSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.westKorah-northSection.svg diff --git a/public/images/cemeteries/ssm.cemetery.westKorah-overview.svg b/public-internal/images/cemeteries/ssm.cemetery.westKorah-overview.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.westKorah-overview.svg rename to public-internal/images/cemeteries/ssm.cemetery.westKorah-overview.svg diff --git a/public/images/cemeteries/ssm.cemetery.westKorah-westSection.svg b/public-internal/images/cemeteries/ssm.cemetery.westKorah-westSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.westKorah-westSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.westKorah-westSection.svg diff --git a/types/recordTypes.d.ts b/types/recordTypes.d.ts index 7a715ef6..45f0a571 100644 --- a/types/recordTypes.d.ts +++ b/types/recordTypes.d.ts @@ -14,6 +14,7 @@ export interface BurialSite extends Record { cemeteryName?: string; cemeterySvg?: string; cemeterySvgId?: string; + burialSiteImage?: string; burialSiteLatitude?: number; burialSiteLongitude?: number; burialSiteStatus?: string; diff --git a/types/recordTypes.ts b/types/recordTypes.ts index 0ac7f2bc..a72e4cf1 100644 --- a/types/recordTypes.ts +++ b/types/recordTypes.ts @@ -19,6 +19,8 @@ export interface BurialSite extends Record { cemeterySvg?: string cemeterySvgId?: string + burialSiteImage?: string + burialSiteLatitude?: number burialSiteLongitude?: number diff --git a/views/burialSite-edit.ejs b/views/burialSite-edit.ejs index 9ab2d213..80474aa3 100644 --- a/views/burialSite-edit.ejs +++ b/views/burialSite-edit.ejs @@ -373,6 +373,21 @@ +
+ +
+
+ +
+
+
diff --git a/views/burialSite-view.ejs b/views/burialSite-view.ejs index 75019c7f..84cd2dbd 100644 --- a/views/burialSite-view.ejs +++ b/views/burialSite-view.ejs @@ -98,19 +98,28 @@ - <% if (burialSite.cemeterySvg) { %> -
-
-

Image

-
- <% const imageURL = urlPrefix + "/images/cemeteries/" + burialSite.cemeterySvg %> -
- <%- include('../public/images/cemeteries/' + burialSite.cemeterySvg); -%> + +
+
+

Image

+
+ <% if (burialSite.burialSiteImage) { %> +
+ Burial Site Image
-
+ <% } else if (burialSite.cemeterySvg) { %> + <% const imageURL = urlPrefix + "/internal/images/cemeteries/" + burialSite.cemeterySvg %> +
+ <%- include('../public-internal/images/cemeteries/' + burialSite.cemeterySvg); -%> +
+ <% } else { %> +
+

There are no images associated with this burial site.

+
+ <% } %>
- <% } %> +
diff --git a/views/cemetery-edit.ejs b/views/cemetery-edit.ejs index 2790f182..18ceea16 100644 --- a/views/cemetery-edit.ejs +++ b/views/cemetery-edit.ejs @@ -216,7 +216,7 @@ <% for (const cemeterySVG of cemeterySVGs) { %> <% } %> diff --git a/views/cemetery-view.ejs b/views/cemetery-view.ejs index 6b819556..e688f5bc 100644 --- a/views/cemetery-view.ejs +++ b/views/cemetery-view.ejs @@ -113,9 +113,9 @@

Image