diff --git a/src/Bundle/ChillDocGeneratorBundle/Resources/public/module/PickTemplate/index.js b/src/Bundle/ChillDocGeneratorBundle/Resources/public/module/PickTemplate/index.js
new file mode 100644
index 000000000..8b450a7e1
--- /dev/null
+++ b/src/Bundle/ChillDocGeneratorBundle/Resources/public/module/PickTemplate/index.js
@@ -0,0 +1,24 @@
+import {createApp} from 'vue';
+import PickTemplate from 'ChillDocGeneratorAssets/vuejs/_components/PickTemplate.vue';
+import {_createI18n} from 'ChillMainAssets/vuejs/_js/i18n';
+
+const i18n = _createI18n({});
+
+document.querySelectorAll('div[data-docgen-template-picker]').forEach(el => {
+ let
+ picker = {
+ template: '',
+ components: {
+ PickTemplate,
+ },
+ data() {
+ return {
+ entityClass: el.dataset.entityClass,
+ entityId: el.dataset.entityId,
+ }
+ },
+ }
+ ;
+
+ createApp(picker).use(i18n).mount(el);
+});
diff --git a/src/Bundle/ChillDocGeneratorBundle/Resources/public/vuejs/_components/PickTemplate.vue b/src/Bundle/ChillDocGeneratorBundle/Resources/public/vuejs/_components/PickTemplate.vue
new file mode 100644
index 000000000..bb8f6008a
--- /dev/null
+++ b/src/Bundle/ChillDocGeneratorBundle/Resources/public/vuejs/_components/PickTemplate.vue
@@ -0,0 +1,95 @@
+
+
+
+ {{ $t('Generate document from template')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Bundle/ChillDocGeneratorBundle/chill.webpack.config.js b/src/Bundle/ChillDocGeneratorBundle/chill.webpack.config.js
index d894be9b0..9017c7e08 100644
--- a/src/Bundle/ChillDocGeneratorBundle/chill.webpack.config.js
+++ b/src/Bundle/ChillDocGeneratorBundle/chill.webpack.config.js
@@ -3,4 +3,6 @@ module.exports = function(encore, entries) {
encore.addAliases({
ChillDocGeneratorAssets: __dirname + '/Resources/public'
});
+
+ encore.addEntry('mod_docgen_picktemplate', __dirname + '/Resources/public/module/PickTemplate/index.js');
};
diff --git a/src/Bundle/ChillDocStoreBundle/Resources/views/AccompanyingCourseDocument/index.html.twig b/src/Bundle/ChillDocStoreBundle/Resources/views/AccompanyingCourseDocument/index.html.twig
index dd0c9cc62..ca6869bff 100644
--- a/src/Bundle/ChillDocStoreBundle/Resources/views/AccompanyingCourseDocument/index.html.twig
+++ b/src/Bundle/ChillDocStoreBundle/Resources/views/AccompanyingCourseDocument/index.html.twig
@@ -11,6 +11,13 @@
{% block js %}
{{ parent() }}
{{ encore_entry_script_tags('mod_async_upload') }}
+ {{ encore_entry_script_tags('mod_docgen_picktemplate') }}
+{% endblock %}
+
+{% block css %}
+ {{ parent() }}
+ {{ encore_entry_link_tags('mod_async_upload') }}
+ {{ encore_entry_link_tags('mod_docgen_picktemplate') }}
{% endblock %}
{% block content %}
@@ -58,6 +65,8 @@
+
+
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_CREATE', accompanyingCourse) %}
-
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/App.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/App.vue
index b3ddffbd7..00bfbe7d3 100644
--- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/App.vue
+++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/App.vue
@@ -197,6 +197,15 @@
+
+
+ {{ $t('Generate doc') }}
+
+
+
{{ $t('fix_these_errors') }}
@@ -232,6 +241,7 @@ import AddEvaluation from './components/AddEvaluation.vue';
import PersonRenderBox from 'ChillPersonAssets/vuejs/_components/Entity/PersonRenderBox.vue';
import AddPersons from 'ChillPersonAssets/vuejs/_components/AddPersons.vue';
import AddressRenderBox from 'ChillMainAssets/vuejs/_components/Entity/AddressRenderBox.vue';
+import PickTemplate from 'ChillDocGeneratorAssets/vuejs/_components/PickTemplate.vue';
const i18n = {
messages: {
@@ -278,6 +288,7 @@ export default {
AddPersons,
PersonRenderBox,
AddressRenderBox,
+ PickTemplate,
},
i18n,
data() {
@@ -416,6 +427,10 @@ export default {
submit() {
this.$store.dispatch('submit');
},
+ beforeGenerateTemplate() {
+ console.log('before generate');
+ return Promise.resolve();
+ }
}
};