mirror of
https://github.com/nextcloud/server.git
synced 2026-03-03 22:11:01 -05:00
Fix file creation from template without ext
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
This commit is contained in:
parent
021d5ab7ae
commit
d9c4ff3c24
2 changed files with 27 additions and 5 deletions
|
|
@ -27,3 +27,19 @@ export const getTemplates = async function() {
|
|||
const response = await axios.get(generateOcsUrl('apps/files/api/v1', 2) + 'templates')
|
||||
return response.data.ocs.data
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new file from a specified template
|
||||
*
|
||||
* @param {string} filePath The new file destination path
|
||||
* @param {string} templatePath The template source path
|
||||
* @param {string} templateType The template type e.g 'user'
|
||||
*/
|
||||
export const createFromTemplate = async function(filePath, templatePath, templateType) {
|
||||
const response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/create'), {
|
||||
filePath,
|
||||
templatePath,
|
||||
templateType,
|
||||
})
|
||||
return response.data.ocs.data
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,14 +66,13 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { generateOcsUrl } from '@nextcloud/router'
|
||||
import { normalize } from 'path'
|
||||
import { showError } from '@nextcloud/dialogs'
|
||||
import axios from '@nextcloud/axios'
|
||||
import EmptyContent from '@nextcloud/vue/dist/Components/EmptyContent'
|
||||
import Modal from '@nextcloud/vue/dist/Components/Modal'
|
||||
|
||||
import { getCurrentDirectory } from '../utils/davUtils'
|
||||
import { getTemplates } from '../services/Templates'
|
||||
import { createFromTemplate, getTemplates } from '../services/Templates'
|
||||
import TemplatePreview from '../components/TemplatePreview'
|
||||
|
||||
const border = 2
|
||||
|
|
@ -113,7 +112,9 @@ export default {
|
|||
* @returns {string}
|
||||
*/
|
||||
nameWithoutExt() {
|
||||
return this.name.indexOf('.') > -1 ? this.name.split('.').slice(0, -1).join('.') : this.name
|
||||
return this.name.indexOf('.') > -1
|
||||
? this.name.split('.').slice(0, -1).join('.')
|
||||
: this.name
|
||||
},
|
||||
|
||||
emptyTemplate() {
|
||||
|
|
@ -205,7 +206,12 @@ export default {
|
|||
templateType: this.selectedTemplate?.templateType,
|
||||
})
|
||||
|
||||
const fileInfo = response.data.ocs.data
|
||||
try {
|
||||
const fileInfo = await createFromTemplate(
|
||||
normalize(`${currentDirectory}/${this.name}`),
|
||||
this.selectedTemplate?.filename,
|
||||
this.selectedTemplate?.templateType,
|
||||
)
|
||||
this.logger.debug('Created new file', fileInfo)
|
||||
|
||||
await fileList?.addAndFetchFileInfo(this.name)
|
||||
|
|
|
|||
Loading…
Reference in a new issue