DropCommand.class.php

Go to the documentation of this file.
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 DropCommand implements EditorCommand
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 ($object = $form->getValue('id')) {
00031 
00032                 if ($object instanceof Identifiable) {
00033                     
00034                     $object->dao()->drop($object);
00035                     
00036                     return
00037                         ModelAndView::create()->
00038                         setView(BaseEditor::COMMAND_SUCCEEDED);
00039 
00040                 } else {
00041                     // already deleted
00042                     $form->markMissing('id');
00043                 }
00044             }
00045             
00046             return ModelAndView::create();
00047         }
00048     }
00049 ?>