fix: Properly get empty template for direct editing

Signed-off-by: Julius Knorr <jus@bitgrid.net>
This commit is contained in:
Julius Knorr 2024-12-13 12:05:47 +01:00
parent 41f6a2253b
commit cb664d63be
No known key found for this signature in database
GPG key ID: 4C614C6ED2CDE6DF
2 changed files with 9 additions and 3 deletions

View file

@ -121,8 +121,13 @@ describe('Direct editing (legacy)', function() {
createNewFileDirectEditingLink(randUser, 'mynewfile.odt', emptyTemplate.id)
.then((token) => {
cy.logout()
cy.visit(token)
cy.visit(token, {
onBeforeLoad(win) {
cy.spy(win, 'postMessage').as('postMessage')
},
})
cy.waitForCollabora(false)
cy.waitForPostMessage('App_LoadingStatus', { Status: 'Document_Loaded' })
cy.screenshot('direct-new')
})
})

View file

@ -94,16 +94,17 @@ class DirectViewController extends Controller {
}
$wopi = null;
$template = $direct->getTemplateId() ? $this->templateManager->getTemplateSource($direct->getTemplateId()) : null;
$template = $direct->getTemplateId() ? $this->templateManager->get($direct->getTemplateId()) : null;
if ($template !== null) {
$wopi = $this->tokenManager->generateWopiTokenForTemplate($template, $item->getId(), $direct->getUid(), false, true);
}
if ($wopi === null) {
$urlSrc = $this->tokenManager->getUrlSrc($item);
$wopi = $this->tokenManager->generateWopiToken((string)$item->getId(), null, $direct->getUid(), true);
}
$urlSrc = $this->tokenManager->getUrlSrc($item);
} catch (\Exception $e) {
$this->logger->error('Failed to generate token for existing file on direct editing', ['exception' => $e]);
return $this->renderErrorPage('Failed to open the requested file.');