Browse Source

Se agrego para que se guarde la direccion en el extradata.

Se soluciono el problema de la modificacion de la direccion. Si existe la direccion cargada en la onu, la toma. En caso contrario busca la del cliente
gabriel 6 years ago
parent
commit
6f711af161
1 changed files with 35 additions and 5 deletions
  1. 35 5
      src/FTTHBundle/Resources/views/ONU/form.html.twig

+ 35 - 5
src/FTTHBundle/Resources/views/ONU/form.html.twig

@@ -20,11 +20,29 @@
         var modificacion = false;
         var modificacion = false;
         $(function () {
         $(function () {
             // buscar la direccion del cliente y la muestra en el mapa.
             // buscar la direccion del cliente y la muestra en el mapa.
-            var objSelectClient = $('input:hidden[id$="clientId"]');
+            var objSelectClient = $('input:hidden[id="{{ admin.uniqid }}_clientId"]');
 
 
-            if (objSelectClient.val() != "" && parseInt(objSelectClient.val()) > 0) {
+            if (objSelectClient.val() != "" &&
+                !isNaN(objSelectClient.val()) &&
+                parseInt(objSelectClient.val()) > 0) {
                 modificacion = true;
                 modificacion = true;
-                callbackClientId(objSelectClient.val());
+                var extradata = $('textarea[id="{{ admin.uniqid }}_extraData"]').val();
+                try {
+                    extradata = JSON.parse(extradata);
+                    if (extradata.lat == undefined || extradata.lng == undefined) {
+                        extradata = null;
+                    }
+                } catch (ignore) {
+                    extradata = null;
+                }
+                if (extradata) {
+                    drawMap(extradata.lat, extradata.lng);
+                    calcularDistanciaNap();
+                    $('input[class="search-input"]').val(extradata.address);
+                } else {
+                    // no hay direcciones cargadas, entonces la busco desde el cliente
+                    callbackClientId(objSelectClient.val());
+                }
             } else {
             } else {
                 if (_MAP_LATITUDE == 0 && _MAP_LONGITUDE == 0) {
                 if (_MAP_LATITUDE == 0 && _MAP_LONGITUDE == 0) {
                     setCoordinatesFromConfig(true);
                     setCoordinatesFromConfig(true);
@@ -130,11 +148,10 @@
                     $('input[class="search-input"]').val(data.results[0].address);
                     $('input[class="search-input"]').val(data.results[0].address);
                     drawMap(extradata.lat, extradata.lng);
                     drawMap(extradata.lat, extradata.lng);
                 }
                 }
-                //calcularDistanciaNap();
+                calcularDistanciaNap();
             });
             });
         }
         }
 
 
-
         /**
         /**
          * funcion que busca una direccion y la muestra en el mapa.
          * funcion que busca una direccion y la muestra en el mapa.
          * @param address Contiene la direccion.
          * @param address Contiene la direccion.
@@ -309,7 +326,20 @@
                 }
                 }
             }
             }
         }
         }
+
         $('[id="{{ admin.uniqid }}_ponSerialNumber"]').on('blur', checkLengthPonSerialNumber);
         $('[id="{{ admin.uniqid }}_ponSerialNumber"]').on('blur', checkLengthPonSerialNumber);
+
+        function addAddressToExtraData(){
+            var address = $('input[class="search-input"]').val();
+            var extradata = $('textarea[id="{{ admin.uniqid }}_extraData"]').val();
+            try {
+                extradata = JSON.parse(extradata);
+                extradata.address = address;
+                $('textarea[id="{{ admin.uniqid }}_extraData"]').val(JSON.stringify(extradata));
+            } catch (ignore) {
+            }
+        }
+
     </script>
     </script>
 
 
 {% endblock %}
 {% endblock %}