function process()
 {
     $this->tpl->assign('action', $this->request->getActionName());
     switch ($this->request->getActionName()) {
         case 'add':
             $siteAdmin = $this->needASiteAdminSelected();
             if ($siteAdmin) {
                 $form = new FormSitePartner($this->tpl, $siteAdmin);
                 $done = $form->process();
                 if ($done) {
                     $this->setMessage();
                 }
             }
             break;
         case 'mod':
             $siteAdmin = $this->needASiteAdminSelected();
             if ($siteAdmin) {
                 $idPartner = $this->needAPartner($siteAdmin);
                 if ($idPartner) {
                     $form = new FormSitePartner($this->tpl, $siteAdmin, $idPartner);
                     $done = $form->process();
                     if ($done) {
                         $this->setMessage();
                     }
                 }
             }
             // else needASiteAdminSelected display the site selection form
             break;
         case 'del':
             $siteAdmin = $this->needASiteAdminSelected();
             if ($siteAdmin) {
                 $idPartner = $this->needAPartner($siteAdmin);
                 if ($idPartner) {
                     $confirmed = $this->needConfirmation('partner', $idPartner);
                     if ($confirmed) {
                         $confSite = new SiteConfigDb();
                         $confSite->delPartner($idPartner);
                         $this->setMessage();
                     }
                 }
             }
             break;
     }
     $this->site->generateFiles();
 }