That's a bit difficult to follow. At what point are you calling
_processMerit()? And you have an empty block inside wizard()? Is that
on purpose?

You have a couple of instances with $this->Merit->save($this->data)
but I only see where you're reading data from the DB for Application.
hich model are you working with?

Sorry, I've never used the WizardComponent so this is a bit opaque to me.

On Sat, Jun 20, 2009 at 2:06 AM, Jon Chin<[email protected]> wrote:
>
> Here's the code.  I still can't get it to update rather than insert.
> What am I doing wrong?
>
>  function beforeFilter() {
>    $this->Wizard->steps = array('profile', 'merit', 'finance',
> 'education', 'endorsement');
>  }
>
>  function wizard($step = null) {
>      if(isset($this->passedArgs['1']) ||
> $this->Session->read('application_id')) //if application already
> defined, load it
>      {
>        //Ensure the user is authorized to edit the application
>        if(isset($this->passedArgs['1']))
>        {$this->Session->write('application_id', $this->passedArgs['1']);}
>        $application =
> $this->Application->findById($this->Session->read('application_id'));
>
>        if($application['Application']['user_id'] ==
> $this->Auth->user('id'))
>        {
>        }
>        else
>        {
>          $this->Session->setFlash('You do not have authorization to
> view this.');
>          $this->Session->delete('application_id');
>          $this->redirect('/applications');
>        }
>
>      }
>      else //if not entering with previously started application, start one
>      {
>        //create application record
>        $this->Application->create();
>        $this->Application->save(array('user_id'=>$this->Auth->user('id')));
>        $this->Session->write('application_id',
> $this->Application->getInsertID());
>      }
>    $this->Wizard->process($step);
>  }
>
>    function _processMerit() {
>      App::import('Sanitize');
>      Sanitize::clean($this->data);
>      switch($this->params['form']['action'])
>      {
>        case 'Continue':
>          if($this->Merit->save($this->data)) {
>            return true;
>          }
>          else
>          {
>            $this->Session->setFlash('Sorry, the information you\'ve
> entered is incorrect.');
>            return false;
>          }
>          break;
>        case 'Back':
>          $this->redirect('/applications/wizard/profile');
>          break;
>        case 'Save':
>          if($this->Merit->save($this->data)) {
>            $this->Session->setFlash('Your changes have been saved.');
>          }
>          else
>          {
>            $this->Session->setFlash('Sorry, the information you\'ve
> entered is incorrect.');
>          }
>          break;
>      }
>      return false;
>    }
>
> Jon Chin
>
>
>
> brian wrote:
>> On Fri, Jun 19, 2009 at 2:04 AM, Jon Chin<[email protected]> wrote:
>>
>>> Thanks for the tip.  Sadly, I'm still having problems with it.  When I
>>> add <?=$form->input('id');?> to the view, all it does is generate <input
>>> type="hidden" name="data[Application][id]" value="" id="ApplicationId"
>>> /> which doesn't change anything in my controller when I print the
>>> contents of $this->data.  I also tried making the field called
>>> application_id in the form, but it didn't have an effect either.
>>>
>>> It's really stumping me.  Any idea what's going on?  Since my primary
>>> key on Merit is application_id, should Cake already know that if I'm
>>> trying to set $this->Merit->id?
>>>
>>>
>>
>> The PK for Merit should be "id", not "application_id". That should be
>> a foreign key pointing to applications table.
>>
>> If you post the code for the controller action we might be able to sort it 
>> out.
>>
>> >
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to