essaye avec ce code :
function admin_edit($id = null){
if($this->request->is('put') || $this->request->is('post')){
if($this->Revue->save($this->request->data)){
$this->Session->setFlash("Revue modifée avec succès","notif");
$this->redirect(array('action'=>'index'));
}else{
$this->Session->setFlash("Impossible de sauvegarder les modifications");
}
}elseif($id){
$this->Revue->id = $id;
$this->request->data = $this->Revue->read();
}else{
$this->request->data = $this->Revue->getDraft('post');
}
}
et dans ton model
public function getDraft($type){
$revue = $this->find('first',array(
'conditions' => array('online' => -1,'type' => $type)
));
if(empty($revue)){
$this->save(array(
'type' => $type,
'online' => -1
),false);
$revue = $this->read();
}
$revue'Revue']'online'] = 0;
return $revue;
}
J'ai recopié mon code, adapte le au tien, mais je crois qu'il faut créé un 'brouillon' GetDraft, vu dans un des 4 tutos sur développer un site avec cakephp, tout au début du tuto.