Domanda

Avevo usato generator di symfony per creare un'applicazione web per la gestione atleti. Uno dei requisiti dell'ultimo del cliente era quella di aggiungere una funzionalità per notare l'utente e inviare una e-mail agli amministratori quando si inserisce un atleta con lo stesso numero nel database. Fino ad oggi, il numero di colonna della tabella atleta aveva un vincolo univoco, ma i desideri del cliente che l'atleta può da inserire in ogni caso.

Per ottenere questo, stavo cercando di estendere i il Modifica / Nuovo azioni al fine di attuare le esigenze del cliente.

Ecco il codice:

public function executeEdit(sfWebRequest $request)
    {
        $user = $this->getUser();

        if(! $user->hasCredential('admin'))
        {

            $clube_id = $user->getAttribute('id');
            $atleta_id = $request->getParameter('id');
            $atleta = Doctrine::getTable('Atleta')->find($atleta_id);

            if($clube_id != $atleta->clube_id)
                $this->forward404();        

        }

        if($request->get('post'))
        {
            // check if the inserted athlete BI already exists; if so, display a message to the user and send an email to the system admins
            $atleta_id = $request->getParameter('id');
            $atletaBIExiste = Doctrine::getTable('Atleta')->findDuplicateAthleteBI($atleta_id);

            if($atletaBIExiste)
            {
                // display a notice message to the user
                $this->getUser()->setFlash('error', 'Athlete already exists');

                // send an email to the system administrator
            }
        }


        return parent::executeEdit($request);
    }

Ecco il mio problema: quando eseguo l'azione di modifica, voglio solo verificare la presenza di un numero atleta duplicato quando l'HTTP POST è ma sembra che non è. Avevo già inviato alcune eccezioni per l'uscita per verificare quale tipo è richiesta HTTP e sembra è sempre GET.

È stato utile?

Soluzione

Il problema sarà avere è che quando si colpisce Salva nella pagina Modifica le informazioni non ha pubblicato nella azione di modifica, è inviato ad un'azione chiamata aggiornamento.

Date un'occhiata al file actions.class.php nella cache e si vedrà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top