++ proclamatori senza email e telefono; il link si copia o si condivide

- Migrazione: tolte le colonne email e telefono dei proclamatori (vuote
  in produzione). Tolti da form, scheda, elenco, XML (un file vecchio si
  importa ignorandoli).
- Invio del link: solo "Copia link" e "Condividi…" (menu di condivisione
  del telefono, navigator.share): il destinatario lo sceglie chi usa
  l'app. Via WhatsApp diretto, canale email, notifica LinkTerritorio,
  componente x-whatsapp.
- Elenco assegnati: "Condividi" al posto di WhatsApp; a condivisione
  fatta il link risulta inviato.
- Informativa privacy, README, HANDOFF e test aggiornati.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Francesco Picone
2026-10-19 16:57:23 +02:00
parent 3000ca9939
commit 7384a4b39d
25 changed files with 436 additions and 674 deletions

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* I proclamatori non hanno più email né telefono.
*
* Servivano solo a mandare il link della piantina; ora lo manda chi assegna
* il territorio, scegliendo il destinatario dai propri contatti (WhatsApp
* senza numero, oppure il menu "Condividi" del telefono). Meno dati personali
* da conservare. In produzione, al momento della decisione (19 ottobre
* 2026), nessun proclamatore li aveva compilati.
*/
return new class extends Migration
{
public function up(): void
{
$colonne = array_values(array_filter(['email', 'telefono'], fn ($c) => Schema::hasColumn('proclamatori', $c)));
if ($colonne !== []) {
Schema::table('proclamatori', fn (Blueprint $table) => $table->dropColumn($colonne));
}
}
public function down(): void
{
// Le colonne tornano vuote: i valori non si recuperano.
Schema::table('proclamatori', function (Blueprint $table) {
$table->text('email')->nullable()->after('cognome');
$table->text('telefono')->nullable()->after('email');
});
}
};