diff options
Diffstat (limited to 'apps/files/src')
-rw-r--r-- | apps/files/src/services/Templates.js | 5 | ||||
-rw-r--r-- | apps/files/src/views/TemplatePicker.vue | 11 |
2 files changed, 12 insertions, 4 deletions
diff --git a/apps/files/src/services/Templates.js b/apps/files/src/services/Templates.js index 3a0a0fdb809..d7f25846ceb 100644 --- a/apps/files/src/services/Templates.js +++ b/apps/files/src/services/Templates.js @@ -11,6 +11,11 @@ export const getTemplates = async function() { return response.data.ocs.data } +export const getTemplateFields = async function(fileId) { + const response = await axios.get(generateOcsUrl(`apps/files/api/v1/templates/fields/${fileId}`)) + return response.data.ocs.data +} + /** * Create a new file from a specified template * diff --git a/apps/files/src/views/TemplatePicker.vue b/apps/files/src/views/TemplatePicker.vue index 15286a220e9..2682570bd5d 100644 --- a/apps/files/src/views/TemplatePicker.vue +++ b/apps/files/src/views/TemplatePicker.vue @@ -57,7 +57,7 @@ import { translate as t } from '@nextcloud/l10n' import { generateRemoteUrl } from '@nextcloud/router' import { normalize, extname, join } from 'path' import { defineComponent } from 'vue' -import { createFromTemplate, getTemplates } from '../services/Templates.js' +import { createFromTemplate, getTemplates, getTemplateFields } from '../services/Templates.js' import NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent' import NcModal from '@nextcloud/vue/components/NcModal' @@ -215,7 +215,7 @@ export default defineComponent({ } }, - async createFile(templateFields) { + async createFile(templateFields = []) { const currentDirectory = new URL(window.location.href).searchParams.get('dir') || '/' // If the file doesn't have an extension, add the default one @@ -274,9 +274,12 @@ export default defineComponent({ }, async onSubmit() { - if (this.selectedTemplate?.fields?.length > 0) { + const fileId = this.selectedTemplate?.fileid + const fields = await getTemplateFields(fileId) + + if (fields.length > 0) { spawnDialog(TemplateFiller, { - fields: this.selectedTemplate.fields, + fields, onSubmit: this.createFile, }) } else { |