Closed simonaPr closed 8 years ago
Aggiungere anche un pulsante di connessione a google/twitter sulla home dell'utente connesso a ifttt polito..così se l'utente vuole riconnettersi a google (e quindi validare di nuovo le sue ricette google precedentemente create), possa farlo senza dover far finta di voler creare una nuova ricetta
Va bene, provo a mettere il pulsando di connessione sulla home. 👍
ottimo grazie..io adesso faccio un commit su server con le modifiche che ho fatto
Va bene, appena il button mi sembra pronto, proveremo a unire client e server.
ottimo..perchè ci sono alcune cose che non mi funzionano più
io ho fatto il sync...quando sei pronto possiamo pocedere ad unire tutto (perchè credo che a me manchino le vostre modifiche di ieri sera)
credo di aver quasi finito, ho riscritto buona parte del routing di AngularJS, lo sto testando, se funziona lo lascio testare anche a voi, poi vi dico che cosa ho fatto
Dovrebbe essere finito adesso. Faccio il commit sul client e lo testate, se è tutto ok, uniamo tutto. 🍀
Per non creare problemi, ho creato una branch apposta, dovete spostarvi sulla connect-buttons-in-the-home
, testare tutto, se va bene allora metto questo nel client e poi aggiorniamo tutte le branches :wink:
Cosa testare?
1 - Posizionarsi sulla connect-buttons-in-the-home
,
2 - Testare che i login a Twitter e Google funzionino,
3 - Soprattutto verificare che gli altri bottoni o links che richiedono ng-click="routeListener(...)"
funzionino ancora come prima.
Sembra funzionare (per google, non per twitter)..l'unica cosa è il solito indirizzo di ritorno (vorrei che ritornasse non sulla home generale, ma sulla home dell'utente connesso a ifttt polito)
Si, quello è un problema relativo a quel meccanismo di flag e contatori di routing. Come ora, quando ti loggi, al server viene sempre inviata la url corretta su cui riposizionarsi, infatti ho aggiunto:
$location.url()
che ritorna la url della vista corrente, è stato sufficiente passarlo come parametro nell'AJAX.
Se però il button di login funziona come chiedevi tu, a parte il problema della pagina di ritorno (in effetti torna davvero sulla pagina giusta, ma è questo famoso meccanismo che ricarica la pagina sulla home), dopotutto ci si accorge che ritorna sulla pagina giusta per qualche millesimo di secondo e poi compare la home.
Se il bottone funziona, spuntiamolo, il problema della pagina di ritorno è un issue diverso.
ok ottimo... però non possiamo chiudere questo issue, perchè mancano ancora delle cose (sia sul server che sul client) per concluderlo
ok..dovrebbe funzionare anche twitter.. anche se manca il tooltip che dica "click to connect" o qualcosa del genere (come c'è per google)
no niente..adesso c'è. EDIT: Mmm..in realtà se mi sconnetto da twitter e provo subito a riconnettermi, quel tooltip non compare (idem per google)
qui rimane solo un punto..occorre semplicemente fare un controllo sul client sul campo "valid": se valid=true: ok, tutto com'è adesso se valid=false: non si deve dare la possibilità all'utente di modificarla, ecc perchè non è connesso a google (infatti anche lato server ho messo un controllo e il thread che gira in background non le considera, ovvero non fa nulla su quelle ricette che non sono valide)
Ho risolto questo problema! ✅
Potremmo aggiornare le branches a questo punto, tuttavia non è necessario.
A che punto siamo qui?
qui manca solo più quel punto sul client
occorre fare in modo che l'utente veda tutte le ricetta, ma possa modificare solo quelle valide; per valide si intende: se un utente ha delle ricette con google, e poi decide di sconnettersi da google, quelle ricette non vengono eliminate dal db, ma si setta il loro stato ad invalid... Sul server ho già implementato tutto, basta fare un controllo sul client sul campo "valid"
Ah bene! Allora proviamo a farlo domani
CLIENT: è meglio mostrare tutte le ricette all'utente, ma rendere non modificabili quelle "non valide" (controllo valid lato client), così l'utente vede che ci sono e quando si riconnette diventano valide e modificabili
Sto provando a risolvere questo, sto cercando il campo valid
, non credo che ci sia quando scarichiamo le ricette, puoi controllare qui sotto, ho copiato una ricetta scaricata in myRecipes.html:
{
"id": 1,
"description": "trigger 2",
"trigger": {
"wtid": 1,
"ingredientCode": 17,
"tempo": null,
"ora": null,
"location": 3182803,
"locationName": "Arquata Scrivia",
"thmin": null,
"thmax": 0,
"sunrise": null,
"sunset": null,
"type": 4,
"lastCheck": null,
"timezone": null,
"period": -1,
"triggerType": "weather"
},
"action": {
"caid": 1,
"ingredientCode": 21,
"startDate": null,
"duration": 3600000,
"title": null,
"description": null,
"location": null,
"timezone": null,
"actionType": "calendar"
},
"publish": false
}
mmm..è molto strano io nel db ce l'ho..adesso controllo, nel frattempo potresti verificare se nella tabella "recipes" hai un campo "valid"?
ah..forse mi è venuto in mente..
CLIENT: è meglio mostrare tutte le ricette all'utente, ma rendere non modificabili quelle "non valide" (controllo valid lato client), così l'utente vede che ci sono e quando si riconnette diventano valide e modificabili
È praticamente finito, funziona tutto! Devo fare solo in modo di aggiornare la pagina quando ci si disconnette da Google se no il tasto modify non cambia ed è fatta! Bel lavoro!
Finitoooo!!! 🎉
Quando si disconnette occorre invalidare tutte le ricette dell'utente relative a google/twitter. Ad esempio: