Author: Jonathan.Wage
Date: 2010-01-30 11:22:56 +0100 (Sat, 30 Jan 2010)
New Revision: 27324

Modified:
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/modules/sympal_menu_items/lib/Basesympal_menu_itemsActions.class.php
   plugins/sfSympalPlugin/trunk/lib/sfSympalActions.class.php
Log:
[1.4][sfSympalPlugin][1.0] Fixing menu item batch delete and added menu clear 
cache


Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/modules/sympal_menu_items/lib/Basesympal_menu_itemsActions.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/modules/sympal_menu_items/lib/Basesympal_menu_itemsActions.class.php
    2010-01-30 09:56:04 UTC (rev 27323)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/modules/sympal_menu_items/lib/Basesympal_menu_itemsActions.class.php
    2010-01-30 10:22:56 UTC (rev 27324)
@@ -26,7 +26,7 @@
 
       $tree = $form->save();
 
-      $this->clearCache();
+      $this->clearMenuCache();
 
       $this->dispatcher->notify(new sfEvent($this, 'admin.save_object', 
array('object' => $tree)));
 
@@ -142,6 +142,33 @@
     }
   }
 
+  protected function executeBatchDelete(sfWebRequest $request)
+  {
+    $ids = $request->getParameter('ids');
+
+    $records = Doctrine_Query::create()
+      ->from('sfSympalMenuItem')
+      ->whereIn('id', $ids)
+      ->execute();
+
+    foreach ($records as $record)
+    {
+      if ($record->getNode()->isValidNode())
+      {
+        $record->getNode()->delete();
+      }
+      else
+      {
+        $record->delete();
+      }
+    }
+
+    $this->clearMenuCache();
+
+    $this->getUser()->setFlash('notice', 'The selected items have been deleted 
successfully.');
+    $this->redirect('@sympal_menu_items');
+  }
+
   public function executeDelete(sfWebRequest $request)
   {
     $request->checkCSRFProtection();
@@ -158,6 +185,8 @@
       $object->delete();
     }
 
+    $this->clearMenuCache();
+
     $this->getUser()->setFlash('notice', 'The item was deleted successfully.');
 
     $this->redirect('@sympal_menu_items');

Modified: plugins/sfSympalPlugin/trunk/lib/sfSympalActions.class.php
===================================================================
--- plugins/sfSympalPlugin/trunk/lib/sfSympalActions.class.php  2010-01-30 
09:56:04 UTC (rev 27323)
+++ plugins/sfSympalPlugin/trunk/lib/sfSympalActions.class.php  2010-01-30 
10:22:56 UTC (rev 27324)
@@ -18,6 +18,15 @@
     $this->resetSympalRoutesCache();
   }
 
+  public function clearMenuCache()
+  {
+    $files = 
glob(sfConfig::get('sf_cache_dir').'/'.sfConfig::get('sf_app').'/'.sfConfig::get('sf_environment').'/SYMPAL_MENU_*.cache');
+    foreach ((array) $files as $file)
+    {
+      unlink($file);
+    }
+  }
+
   public function isAjax()
   {
     $request = $this->getRequest();

-- 
You received this message because you are subscribed to the Google Groups 
"symfony SVN" 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/symfony-svn?hl=en.

Reply via email to