1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
<?php
require_once dirname(__FILE__).'/../lib/photoGeneratorConfiguration.class.php';
require_once dirname(__FILE__).'/../lib/photoGeneratorHelper.class.php';
/**
* photo actions.
*
*/
class photoActions extends autoPhotoActions
{
public function executeNew(sfWebRequest $request){
$this->form = $this->configuration->getForm();
$this->photo = $this->form->getObject();
}
public function executeCreate(sfWebRequest $request){
$this->form = $this->configuration->getForm();
$this->photo = $this->form->getObject();
$this->processForm($request, $this->form);
$this->setTemplate('new');
}
public function executeEdit(sfWebRequest $request){
$this->photo = $this->getRoute()->getObject();
$this->form = $this->configuration->getForm($this->photo);
}
public function executeUpdate(sfWebRequest $request){
$this->photo = $this->getRoute()->getObject();
$this->form = $this->configuration->getForm($this->photo);
$this->processForm($request, $this->form);
$this->setTemplate('edit');
}
public function executeDelete(sfWebRequest $request){
$request->checkCSRFProtection();
$photo = $this->getRoute()->getObject();
$photo->delete();
$this->redirect('@photo');
}
public function processForm(sfWebRequest $request, sfForm $form ){
// on lie le formulaire (méthode bind()) avec les valeur soumises par
// l'utilisateur
$form->bind(
$request->getParameter($form->getName()),
$request->getFiles($form->getName())
);
$this->createMiniature($request, $form);
if($form->isValid())
{
$notice = $form->getObject()->isNew() ? 'Les informations ont été ajoutées avec succès' : 'Les informations ont été modifiées avec succès';
try {
$photo = $form->save();
} catch (Doctrine_Validator_Exception $e) {
$errorStack = $form->getObject()->getErrorStack();
$message = get_class($form->getObject()) . ' has ' . count($errorStack) . " field" . (count($errorStack) > 1 ? 's' : null) . " with validation errors: ";
foreach ($errorStack as $field => $errors) {
$message .= "$field (" . implode(", ", $errors) . "), ";
}
$message = trim($message, ', ');
$this->getUser()->setFlash('error', $message);
return sfView::SUCCESS;
}
$this->dispatcher->notify(new sfEvent($this, 'admin.save_object', array('object' => $photo)));
if ($request->hasParameter('_save_and_add'))
{
$this->getUser()->setFlash('notice', $notice.' Vous pouvez ajouter un nouvel enregistrement');
$this->redirect('@photo_new');
}
else
{
$this->getUser()->setFlash('notice', $notice);
$this->redirect(array('sf_route' => 'photo_edit', 'sf_subject' => $photo));
}
}
else
{
$this->getUser()->setFlash('error', 'Des erreurs ont empêcher la sauvegarde des informations' , false);
}
}
public function createMiniature(sfWebRequest $request, sfForm $form ){
[...]
}
} |
Partager