diff --git a/src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php b/src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php
index ad58b6e0c..c0edbe492 100644
--- a/src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php
+++ b/src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php
@@ -197,4 +197,23 @@ class DocumentPersonController extends AbstractController
['document' => $document, 'person' => $person]
);
}
+
+ #[Route(path: '/{id}/signature', name: 'person_document_signature', methods: 'GET')]
+ public function signature(Person $person, PersonDocument $document): Response
+ {
+ $this->denyAccessUnlessGranted('CHILL_PERSON_SEE', $person);
+ $this->denyAccessUnlessGranted('CHILL_PERSON_DOCUMENT_SEE', $document);
+
+ $event = new PrivacyEvent($person, [
+ 'element_class' => PersonDocument::class,
+ 'element_id' => $document->getId(),
+ 'action' => 'show',
+ ]);
+ $this->eventDispatcher->dispatch($event, PrivacyEvent::PERSON_PRIVACY_EVENT);
+
+ return $this->render(
+ '@ChillDocStore/PersonDocument/signature.html.twig',
+ ['document' => $document, 'person' => $person]
+ );
+ }
}
diff --git a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentSignature/App.vue b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentSignature/App.vue
new file mode 100644
index 000000000..6dfdad330
--- /dev/null
+++ b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentSignature/App.vue
@@ -0,0 +1,16 @@
+
+ hello {{msg}}
+
+
+
+
+
diff --git a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentSignature/index.ts b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentSignature/index.ts
new file mode 100644
index 000000000..2da7d0bf3
--- /dev/null
+++ b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentSignature/index.ts
@@ -0,0 +1,15 @@
+import { createApp } from "vue";
+// import { _createI18n } from "ChillMainAssets/vuejs/_js/i18n";
+// import { appMessages } from "ChillMainAssets/vuejs/HomepageWidget/js/i18n";
+//import { store } from "ChillDocStoreAssets/vuejs/DocumentSignature/store";
+import App from "./App.vue";
+
+//const i18n = _createI18n(appMessages);
+
+const app = createApp({
+ template: ``,
+})
+ //.use(store)
+ //.use(i18n)
+ .component("app", App)
+ .mount("#document-signature");
diff --git a/src/Bundle/ChillDocStoreBundle/Resources/views/PersonDocument/signature.html.twig b/src/Bundle/ChillDocStoreBundle/Resources/views/PersonDocument/signature.html.twig
new file mode 100644
index 000000000..d6e8b6d73
--- /dev/null
+++ b/src/Bundle/ChillDocStoreBundle/Resources/views/PersonDocument/signature.html.twig
@@ -0,0 +1,65 @@
+{% extends "@ChillPerson/Person/layout.html.twig" %}
+
+{% set activeRouteKey = '' %}
+
+{% import "@ChillDocStore/Macro/macro.html.twig" as m %}
+{% import "@ChillDocStore/Macro/macro_mimeicon.html.twig" as mm %}
+
+{% block title %}{{ 'Detail of document of %name%'|trans({ '%name%': person|chill_entity_render_string } ) }}{% endblock %}
+
+{% block js %}
+ {{ encore_entry_script_tags('mod_document_action_buttons_group') }}
+
+ {{ encore_entry_script_tags('vue_document_signature') }}
+{% endblock %}
+
+{% block css %}
+ {{ encore_entry_link_tags('mod_document_action_buttons_group') }}
+{% endblock %}
+
+{% block content %}
+
{{ 'Document %title%' | trans({ '%title%': document.title }) }}
+
+ {{ mm.mimeIcon(document.object.type) }}
+
+
+ - {{ 'Title'|trans }}
+ - {{ document.title }}
+
+
+
+
+