spero che l'oggetto sia chiaro, comunque adesso provo a spiegarmi meglio

premetto che è la prima volta che provo a sviluppare un componente, utilizzando diversi dei links consigliati qui. Fino ad ora bene o male sono riuscita a cavarmela ed imparare via via, ma adesso mi sono arenata e vi chiedo aiuto.
Il componente gestisce l'organigramma di un ufficio: sezioni, reparti, responsabili, sedi.
Il problema nasce sulla gestione delle sedi: l'ufficio ha molte sedi, una sola però è quella centrale. Nella tabella ho inserito un campo booleano 'centrale'. Devo ovviamente fare in modo che solo uno dei records ce l'abbia settato a true.
Per questo motivo ho abbandonato l'idea di aggiornare questo campo come tutti gli altri nella view della singola sede: riuscivo senza problemi a settare a 'sì' il campo "centrale" nella form, ma come fare ad intervenire sulla sede che precedentemente era quella centrale e settare 'centrale' a false?
Non mi sembrava neanche conforme alla logica della struttura dei componenti MCV (per come l'ho capita!) ed allora ho deciso di provare a fare l'operazione dalla view generale, dove sono elencate le diverse sedi. Ho aggiunto un input radio button e vorrei che, modificando lì la selezione venga aggiornata di conseguenza tutta la tabella, cioè settato 'centrale' a true in quel record e a false in tutti gli altri.
La prima cosa che ho fatto è stato aggiungere al pulsante radio un "onclick" che selezionasse tutti i check button, seguendo la stessa logica con la quale si può pubblicare/non pubblicare tutti i record selezionandoli tutti.
... e poi mi sono bloccata!!!
Questo è il codice del default.php della view "sedi":
<?php
$k = 0;
$n=count($this->items);
for($i=0 ; $i < $n; $i++) {
$row =& $this->items[$i];
// codice HTML per checkbox
$checked = JHTML::_('grid.id', $i, $row->idSed );
// codice HTML per radiobutton 'sede principale'
$centrale = $row->centrale ? "checked" : "";
// Crea link per editare il record
$link = JRoute::_( 'index.php?option=com_organiz&controller=sede&task=edit&cid[]='. $row->idSed );
$id = (int)$row->idSed;
$nome= (string)$row->nomSed;
?>
<tr class="<?php echo "row$k"; ?>">
<td>
<?php echo JHTML::link($link, $id); ?>
</td>
<td>
<?php echo $checked; ?>
</td>
<td>
<?php echo JHTML::link($link, $nome); ?>
</td>
<td>
<input type="radio" name="centrale" value="<?php echo $row->idSed; ?>" <?php echo $centrale; ?> onclick="javascript:checkAll_button('<?php echo count( $this->items )-1; ?>', 'centrale')" />
</td>
<td>
<?php echo $row->idSed; ?>
</td>
</tr>
Adesso???

Ho fatto tante ipotesi e mi imbarazzo anche un po' ad esporle perché ho il serio dubbio che siano tutte cavolate, vista la mia inesperienza. Per questo vi chiedo aiuto: vorrei partire col piede giusto e non fare semplicemente qualcosa di pasticciato che però funziona ma qualcosa di integrato con la logica del componente, sfruttando al meglio il framework... Carneade!
Ecco le mie ipotesi, comunque: sostituire checkAll_button con submitForm a cui passare un task che creo ad hoc, poi inserire una funzione nel file model corrispondente, a cui passare l'array dei cid e ciclandoli fare un update per ciascuno. Oppure utilizzare i metodi bind e store della classe Table.
insomma poche idee e tanto confuse...
grazie a chiunque voglia darmi un suggerimento e/o un aiuto.
viviana