diff --git a/src/Bundle/ChillMainBundle/Controller/AddressReferenceController.php b/src/Bundle/ChillMainBundle/Controller/AddressController.php
similarity index 52%
rename from src/Bundle/ChillMainBundle/Controller/AddressReferenceController.php
rename to src/Bundle/ChillMainBundle/Controller/AddressController.php
index f505de235..1aeb39062 100644
--- a/src/Bundle/ChillMainBundle/Controller/AddressReferenceController.php
+++ b/src/Bundle/ChillMainBundle/Controller/AddressController.php
@@ -7,17 +7,39 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
use Symfony\Component\Routing\Annotation\Route;
+use Chill\MainBundle\Entity\Address;
use Chill\MainBundle\Entity\AddressReference;
-
/**
- * Class AccompanyingCourseController
+ * Class AddressController
*
- * @package Chill\PersonBundle\Controller
+ * @package Chill\MainBundle\Controller
*/
-class AddressReferenceController extends AbstractController
+class AddressController extends AbstractController
{
+
+ /**
+ * Get API Data for showing endpoint
+ *
+ * @Route(
+ * "/{_locale}/main/api/1.0/address/{address_id}/show.{_format}",
+ * name="chill_main_address_api_show"
+ * )
+ * @ParamConverter("address", options={"id": "address_id"})
+ */
+ public function showAddress(Address $address, $_format): Response
+ {
+ // TODO check ACL ?
+ switch ($_format) {
+ case 'json':
+ return $this->json($address);
+ default:
+ throw new BadRequestException('Unsupported format');
+ }
+ }
+
+
/**
* Get API Data for showing endpoint
*
@@ -27,17 +49,9 @@ class AddressReferenceController extends AbstractController
* )
* @ParamConverter("addressReference", options={"id": "address_reference_id"})
*/
- public function showAPI(AddressReference $addressReference, $_format): Response
+ public function showAddressReference(AddressReference $addressReference, $_format): Response
{
- // TODO check ACL on AccompanyingPeriod
-
- $this->dispatcher->dispatch(
- AccompanyingPeriodPrivacyEvent::ACCOMPANYING_PERIOD_PRIVACY_EVENT,
- new AccompanyingPeriodPrivacyEvent($addressReference, [
- 'action' => 'showApi'
- ])
- );
-
+ // TODO check ACL ?
switch ($_format) {
case 'json':
return $this->json($addressReference);
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/Address/App.vue b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/App.vue
new file mode 100644
index 000000000..924747c4e
--- /dev/null
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/App.vue
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/AccompanyingCourse.vue b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/AccompanyingCourse.vue
new file mode 100644
index 000000000..d08798c00
--- /dev/null
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/AccompanyingCourse.vue
@@ -0,0 +1,26 @@
+
+
+
Parcours
+
+ - id
+ - {{ accompanying_course.id }}
+ - opening_date
+ - {{ accompanying_course.opening_date }}
+ - closing_date
+ - {{ accompanying_course.closing_date }}
+ - remark
+ - {{ accompanying_course.remark }}
+ - closing_motive
+ - {{ accompanying_course.closing_motive }}
+
+
+
+
+
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/PersonItem.vue b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/PersonItem.vue
new file mode 100644
index 000000000..f75f0779b
--- /dev/null
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/PersonItem.vue
@@ -0,0 +1,25 @@
+
+
+ {{ person.firstname }} |
+ {{ person.lastname }} |
+ {{ person.startdate }} |
+ {{ person.enddate }} |
+
+
+ |
+
+
+
+
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/PersonsAssociated.vue b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/PersonsAssociated.vue
new file mode 100644
index 000000000..f4ccf6964
--- /dev/null
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/PersonsAssociated.vue
@@ -0,0 +1,69 @@
+
+
+
Usagers concernés
+
+
+
+
+
+
+ firstname |
+ lastname |
+ startdate |
+ enddate |
+ actions |
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/Requestor.vue b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/Requestor.vue
new file mode 100644
index 000000000..75a95e241
--- /dev/null
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/components/Requestor.vue
@@ -0,0 +1,16 @@
+
+
+
Demandeur
+ {{ accompanying_course.id }}
+ {{ accompanying_course.remark }}
+
+
+
+
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/Address/index.js b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/index.js
new file mode 100644
index 000000000..b524398f7
--- /dev/null
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/index.js
@@ -0,0 +1,8 @@
+import App from './App.vue';
+import { createApp } from 'vue';
+
+const app = createApp({
+ template: ``
+})
+.component('app', App)
+.mount('#address');
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/Address/store/.keep b/src/Bundle/ChillPersonBundle/Resources/public/js/Address/store/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Address/list.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Address/list.html.twig
index 9e91e486c..1e39cf705 100644
--- a/src/Bundle/ChillPersonBundle/Resources/views/Address/list.html.twig
+++ b/src/Bundle/ChillPersonBundle/Resources/views/Address/list.html.twig
@@ -23,9 +23,9 @@
{% block title %}{{ 'Addresses\'history for %name%'|trans({ '%name%': person.firstName ~ ' ' ~ person.lastName } ) }}{% endblock %}
{% block personcontent %}
-
+
{{ 'Addresses\'history for %name%'|trans({ '%name%': person.firstName ~ ' ' ~ person.lastName } ) }}
-
+
@@ -48,11 +48,11 @@
{% for address in person.addresses %}
{{ 'Since %date%'|trans( { '%date%' : address.validFrom|format_date('long') } ) }} |
-
+
{{ address_macros._render(address, { 'with_valid_from' : false, 'has_no_address': true } ) }}
|
-
+
|
+
+
+
+
+ {{ encore_entry_script_tags('address') }}
+
+
+
{% endfor %}
{% endif %}
-
+
+
+
+
+
+
-
-{% endblock personcontent %}
\ No newline at end of file
+
+{% endblock personcontent %}
diff --git a/src/Bundle/ChillPersonBundle/chill.webpack.config.js b/src/Bundle/ChillPersonBundle/chill.webpack.config.js
index 9d7a33d02..8e2c60ef2 100644
--- a/src/Bundle/ChillPersonBundle/chill.webpack.config.js
+++ b/src/Bundle/ChillPersonBundle/chill.webpack.config.js
@@ -7,6 +7,8 @@ module.exports = function(encore, entries)
encore.addAliases({
ChillPersonAssets: __dirname + '/Resources/public'
});
-
+
encore.addEntry('accompanying_course', __dirname + '/Resources/public/js/AccompanyingCourse/index.js');
+ encore.addEntry('address', __dirname + '/Resources/public/js/Address/index.js');
+
};