Example #1
0
   pizzerie: function(event) {
     if(this.checkConnection()){
     //carica Ordine e Utente
     var ordine = new Ordine();
     var utente = new Utente();
     utente.cancellaNonACasa();
     utente.carica(true);
     //se sono presenti tutti i dati necessari e non c'è un Ordine in sospeso 
     //procedi
     if(utente.completo()) {
       utente.set("a_casa", true);
       utente.salva(true);
       if(ordine.carica()) {
         var messaggio = "Hai ancora un ordine in sospeso.";
         var alert = new AlertView({message: messaggio});
       }
       else Backbone.history.navigate("pizzerie", {
         trigger: true
       });
     }
     else {
       var messaggio = "Mancano alcuni dei tuoi dati per la consegna. Aggiorna il tuo Profilo.";
       var alert = new AlertView({message: messaggio});
     }
   }else{ 
       var messaggio = "Nessuna connessione. Devi essere connesso per procedere.";
       var alert = new AlertView({message: messaggio});}
 },
Example #2
0
    render: function() {
      this.el.innerHTML = this.template({});
      //crea un riferimento all'elemento di contenuto
      this.contentElement = this.$el.find('#content')[0];

      //se c'è un Ordine in sospeso mostra il reminder
      var ordine = new Ordine();
      if(ordine.carica()) {
        document.getElementById("info_ordine_sospeso").style.visibility='visible';
        document.getElementById("normal").style.visibility='hidden';
      }

      return this;
    },
Example #3
0
 aggiornaIndirizzo: function() {
   //carica l'Ordine e l'Utente a casa per recuperare i dati anagrafici
   var ordine = new Ordine();
   var utente = new Utente();
   utente.carica(true);
   //recupera i valori immessi dal popup
   var nuova_citta = $("#citta").val();
   var nuova_via = $("#via").val();
   var nuovo_civico = $("#civico").val();
   //se non sono stringhe vuote, salva l'Utente e vai alle Pizzerie
   if(nuova_citta != "" && nuova_via != "" && nuovo_civico != "") {
     utente.set({
       citta: nuova_citta,
       via: nuova_via,
       n_civico: nuovo_civico
     });
     if(utente.completo()) {
       utente.set("a_casa", false);
       utente.salva(false);
       if(ordine.carica()) {
         var messaggio = "Hai ancora un ordine in sospeso.";
         var alert = new AlertView({message: messaggio});
       }
       else {
         this.nascondiCercami();
         Backbone.history.navigate("pizzerie", {
           trigger: true
         });
       }
     }
     else {
       var messaggio = "Mancano alcuni dei tuoi dati per la consegna. Aggiorna il tuo Profilo.";
       var alert = new AlertView({message: messaggio});
     }
   }
   else {
     var messaggio = "Indirizzo incompleto.";
     var alert = new AlertView({message: messaggio});
   }
 },
Example #4
0
    localizza: function() {
    
    //se c'è un Ordine in sospeso impedisce la procedura
      var ordine = new Ordine();
      if(ordine.carica()) {
        var messaggio = "Hai ancora un ordine in sospeso.";
        var alert = new AlertView({message: messaggio});
      }
      else {
        if(this.checkConnection()) {
          this.mostraCercami();
          //inizializza uno spinner per il caricamento
          var opts = {
            lines: 15, //linee da disegnare
            length: 15, //lunghezza delle linee
            width: 5, //spessore delle linee
            radius: 20, //raggio del cerchio interno
            corners: 1, //rotondità degli angoli (0..1)
            shadow: true, //ombra
            hwaccel: true, //accelerazione hardware
          };  
          var target = document.getElementById('spinner');
          var spinner = new Spinner(opts).spin(target);
          $(".spinner").show('fast'); 
          //disabilita il popup di localizzazione
          document.getElementById("local").disabled = true;
          var nodes = document.getElementById("local").getElementsByTagName('*');
          for(var i = 0; i < nodes.length; i++) {
              nodes[i].disabled = true;
          }

           //interrompe lo spinner alla pressione del backbutton
          document.addEventListener("backbutton", function(event) {
            event.preventDefault();
            spinner.stop();
            $(".spinner").hide('fast'); 
          }, true);


          //callback di successo
          function onSuccess(position){
            var lat = position.coords.latitude;
            var lng = position.coords.longitude;     
            var latlng = new google.maps.LatLng(lat, lng);
            var addr = codeLatLng(latlng);
            //riabilita il popup e ferma lo spinner
            document.getElementById("local").disabled = false;
            var nodes = document.getElementById("local").getElementsByTagName('*');
            for(var i = 0; i < nodes.length; i++) {
              nodes[i].disabled = false;
            }
            spinner.stop();
            $(".spinner").hide('fast'); 
            //rimuove il listener del backbutton
            document.removeEventListener("backbutton", function() {});
          }
          //callback di errore
          function onError(error) {
            spinner.stop();
            $(".spinner").hide('fast');
            var messaggio = "Non riesco a trovarti. Assicurati di aver attivato il GPS.";
            var alert = new AlertView({message: messaggio});
            $('#local').hide('fast');
            }

          //recupera la posizione dell'Utente
          navigator.geolocation.getCurrentPosition(onSuccess,onError);

          //formatta la posizione trovata
          function codeLatLng(latlng) {
            var geocoder = new google.maps.Geocoder();
            
            //recupera città, via e numero civico
            if (geocoder) {
              geocoder.geocode({'latLng': latlng}, function(results, status) {
                if (status == google.maps.GeocoderStatus.OK) {
                  if (results[0]) {
                    for (i = 0; i < results[0].address_components.length; i++) {
                      for (j = 0; j < results[0].address_components[i].types.length; j++) {
                        if (results[0].address_components[i].types[j] == "route")
                          var via = results[0].address_components[i].long_name;
                        if (results[0].address_components[i].types[j] == "street_number")
                          var civico = results[0].address_components[i].long_name;
                        if (results[0].address_components[i].types[j] == "locality")
                          var citta = results[0].address_components[i].long_name;
                      }
                    }
                  }
                  //scrive i valori trovati nei campi della form
                  document.getElementById('civico').value = civico;  
                  if(typeof(via) == 'undefined')
                    document.getElementById('via').value = "";
                  else document.getElementById('via').value = via;
                  if(typeof(citta) == 'undefined')
                    document.getElementById('citta').value = "";
                  else document.getElementById('citta').value = citta;      
                }
              });  
            }
          }
        }
        else {
          var messaggio = "Nessuna connessione. Devi essere connesso per procedere.";
          var alert = new AlertView({message: messaggio});
        }
      }
    },