madbob / GASdottoNG

Gestionale per i Gruppi di Economia Solidale
https://www.gasdotto.net/
GNU Affero General Public License v3.0
25 stars 17 forks source link

Attempt to assignment "target" property on null #263

Closed PixelTux closed 6 months ago

PixelTux commented 6 months ago

Oggi ho cercato di aggiornare la mia istanza locale con le nuove modifiche e ho riscontrato questo errore: Screenshot from 2024-02-26 00-36-57 Nel mio caso, il problema è stato causato dal fatto che $this->action era vuoto, quindi $node non veniva assegnato nella fase "switch". Ecco il risultato della stampa di $this->action: Screenshot from 2024-02-26 00-39-13 Facendo una verifica su $this->action in riga 113, sono riuscito a far ripartire la piattaforma. @madbob potresti dare un'occhiata per vedere se questo fix può causare altre complicazioni o se è un intervento sicuro?

L'errore è riproducibile eseguendo una nuova installazione con i seguenti comandi:

php artisan migrate:fresh --seed
php artisan db:seed --class=DemoSeeder 
PixelTux commented 6 months ago

Visto ora il commit c2f85a7, io avevo aggiunto a riga 113

  if ($this->type != 'order' || empty($this->action)) {
            return $ret;
  }

Pero vedo che la cosa era molto più complessa :smile:

madbob commented 6 months ago

Deriva dal fatto che nel commit b5c1038 (#259) ho modificato un po' di cose nella gestione delle date, aggiungendo e cambiando un po' di parametri. L'esecuzione del comando php artisan fix:database dovrebbe risolvere.

In generale: quando vedi modifiche sul file code/app/Console/Commands/FixDatabase.php è perché probabilmente ho fatto qualche modifica allo schema dei dati, e quel comando serve a correggere e rettificare i dati già esistenti a posteriori.

PixelTux commented 6 months ago

Ho notato l'ampio lavoro di sviluppo e refactoring che è stato fatto. Riguardo al problema relativo al "property on null" (già risolto con l'if all'interno del for) , ho implementato la correzione che avevo in mente. Se ritieni che questa modifica ha senso puoi incorporala, in ogni caso possiamo considerare l'issue risolta e chiudere la discussione. :slightly_smiling_face:

madbob commented 6 months ago

Questo if dovrebbe essere sufficiente, per arginare l'improbabile caso (improbabile, dopo la rettifica dei dati sul DB) in cui si arrivi in quel punto e l'attributo action non sia valorizzato.