From ee2bd4d27f51c394cf0c018201ec49f85e5316c5 Mon Sep 17 00:00:00 2001
From: Moreau Elise <moreau.elise13@gmail.com>
Date: Sun, 1 Nov 2020 17:16:23 +0100
Subject: [PATCH] add map on user's profile

---
 public/assets/dist/map.js                     |  2 +-
 .../Actions/User/NearContaminatedUsers.php    | 21 +++++++++++--------
 templates/user/user_profile.twig              | 18 ++++++++++++++++
 3 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/public/assets/dist/map.js b/public/assets/dist/map.js
index 107a242..80a9b42 100644
--- a/public/assets/dist/map.js
+++ b/public/assets/dist/map.js
@@ -56845,7 +56845,7 @@ var parent = module.bundle.parent;
 if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {
   var hostname = "" || location.hostname;
   var protocol = location.protocol === 'https:' ? 'wss' : 'ws';
-  var ws = new WebSocket(protocol + '://' + hostname + ':' + "45785" + '/');
+  var ws = new WebSocket(protocol + '://' + hostname + ':' + "34989" + '/');
 
   ws.onmessage = function (event) {
     checkedAssets = {};
diff --git a/src/Application/Actions/User/NearContaminatedUsers.php b/src/Application/Actions/User/NearContaminatedUsers.php
index b402551..fd7c929 100644
--- a/src/Application/Actions/User/NearContaminatedUsers.php
+++ b/src/Application/Actions/User/NearContaminatedUsers.php
@@ -39,23 +39,26 @@ class NearContaminatedUsers extends UserAction
 
         $currentUser = $this->userRepository->find($_SESSION['userId']);
 
-        $location = $this->locationRepository->find($currentUser->getLocationId());
+        $location = $currentUser->getLocation();
+        // $location = $this->locationRepository->find($location->getId());
         $userLatitude = $location->getLatitude();
         $userLongitude = $location->getLongitude();
 
-        $latitude_min = $userLatitude - 1 ;
-        $latitude_max = $userLatitude + 1 ;
-        $longitude_min = $userLongitude - 1 ;
-        $longitude_max = $userLongitude + 1 ;
+        $latitude_min = $userLatitude - 0.01;
+        $latitude_max = $userLatitude + 0.01;
+        $longitude_min = $userLongitude - 0.01;
+        $longitude_max = $userLongitude + 0.01;
+
 
         $qb = $this->em->createQueryBuilder()
         ->select('u')
         ->from('App\Domain\User\User', 'u')
+        ->join('u.location', 'l')
         ->where('u.contaminated = 1')
-        ->andWhere('u.location.latitude  >= :latitude_min')
-        ->andWhere('u.location.latitude  <= :latitude_max')
-        ->andWhere('u.location.longitude  >= :longitude_min')
-        ->andWhere('u.location.longitude  <= :longitude_max')
+        ->andWhere('l.latitude  >= :latitude_min')
+        ->andWhere('l.latitude  <= :latitude_max')
+        ->andWhere('l.longitude  >= :longitude_min')
+        ->andWhere('l.longitude  <= :longitude_max')
         ->setParameter('latitude_min', $latitude_min)
         ->setParameter('latitude_max', $latitude_max)
         ->setParameter('longitude_min', $longitude_min)
diff --git a/templates/user/user_profile.twig b/templates/user/user_profile.twig
index 9a55bf4..0fdf8df 100644
--- a/templates/user/user_profile.twig
+++ b/templates/user/user_profile.twig
@@ -26,7 +26,9 @@
       </div>
     </div>
   </div>
+  {% if session.userId == user.getId %}
   <div id="map" class="col s10 m10 l10 xl10"></div>
+  {% endif %}
 </div>
 
 <div class="col s12 m12 l12 xl12 ">
@@ -72,4 +74,20 @@
 
 <script type="text/javascript" src="/assets/js/users-search.js"></script>
 
+{% if session.userId == user.getId %}
+<script>
+window.addEventListener('load', function(){
+    const { viewMap } = parcelRequire('map.js');
+    
+    $.ajax({
+      type: 'GET',
+      url: '/api/nearcontaminatedusers',
+      dataType: 'json',
+      success: function (body) {
+        viewMap({ lat: 48.6833, long: 6.2 }, body.data);
+      }
+    });
+});
+</script>
+{% endif %}
 {% endblock %}
\ No newline at end of file
-- 
GitLab