2010-06-24 73 views
0

我曾經使用symfony管理生成器爲運動員管理創建了一個Web應用程序。最後一位客戶的要求之一是添加一項功能來通知用戶,並在數據庫中插入具有相同編號的運動員時向管理員發送電子郵件。到目前爲止,運動員表的列號有一個獨特的限制,但客戶希望運動員可以插入。當通過管理生成器創建新記錄時發送電子郵件

爲了實現這個目標,我試圖擴展編輯/新操作以實現客戶端要求。

下面是代碼:

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); 
    } 

這裏是我的問題:當我執行編輯動作,我只是想檢查是否有重複的運動員號碼時,HTTP是POST,但似乎從來不是。我已經向輸出發送了一些異常來驗證哪種類型是HTTP請求,並且它似乎總是GET。

回答

2

您將遇到的問題是,當您點擊編輯頁面上的保存時,信息不會發布到編輯操作,而會發布到名爲update的操作。

看看緩存中的actions.class.php文件,你會看到它。

+0

你好! 謝謝你的幫助! 此致敬禮! – 2010-06-24 10:50:13

相關問題