00001 <?php 00002 /*************************************************************************** 00003 * Copyright (C) 2006-2007 by Anton E. Lebedevich * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU Lesser General Public License as * 00007 * published by the Free Software Foundation; either version 3 of the * 00008 * License, or (at your option) any later version. * 00009 * * 00010 ***************************************************************************/ 00011 00015 class SaveCommand extends TakeCommand 00016 { 00020 public static function create() 00021 { 00022 return new self; 00023 } 00024 00028 public function run(Prototyped $subject, Form $form, HttpRequest $request) 00029 { 00030 if (!$form->getErrors()) { 00031 ClassUtils::copyProperties($form->getValue('id'), $subject); 00032 00033 FormUtils::form2object($form, $subject, false); 00034 00035 return parent::run($subject, $form, $request); 00036 } 00037 00038 return new ModelAndView(); 00039 } 00040 00041 protected function daoMethod() 00042 { 00043 return 'save'; 00044 } 00045 } 00046 ?>