Author: Jonathan.Wage
Date: 2010-02-12 20:48:35 +0100 (Fri, 12 Feb 2010)
New Revision: 27971

Modified:
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/lib/model/doctrine/PluginsfSympalMenuItemTable.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/manager/sfSympalPluginManager.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/task/sfSympalPluginInstallTask.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/task/sfSympalPluginUninstallTask.class.php
Log:
[1.4][sfSympalPlugin][1.0] Fixing issue with plugin install


Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/lib/model/doctrine/PluginsfSympalMenuItemTable.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/lib/model/doctrine/PluginsfSympalMenuItemTable.class.php
        2010-02-12 19:44:00 UTC (rev 27970)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/lib/model/doctrine/PluginsfSympalMenuItemTable.class.php
        2010-02-12 19:48:35 UTC (rev 27971)
@@ -1,9 +1,34 @@
 <?php
+
 /**
  * This class has been auto-generated by the Doctrine ORM Framework
  */
 class PluginsfSympalMenuItemTable extends sfSympalDoctrineTable
 {
+  public function findFirstMenu()
+  {
+    return $this->createQuery('m')
+      ->select('m.*')
+      ->innerJoin('m.Site s WITH s.slug = ?', 
sfSympalContext::getInstance()->getSiteSlug())
+      ->orderBy('m.root_id ASC')
+      ->limit(1)
+      ->fetchOne();
+  }
+
+  public function getPluginInstallMenu()
+  {
+    $menu = $this->createQuery('m')
+      ->select('m.*')
+      ->innerJoin('m.Site s WITH s.slug = ?', 
sfSympalContext::getInstance()->getSiteSlug())
+      ->where('m.slug = ?', 
sfSympalConfig::get('default_install_content_type_menu', null, 'primary'))
+      ->fetchOne();
+    if (!$menu)
+    {
+      $menu = Doctrine_Core::getTable('sfSympalMenuItem')->findFirstMenu();
+    }
+    return $menu;
+  }
+
   public function getMenuHierarchies()
   {
     return $this->getMenusQuery()->execute(array(), 
Doctrine_Core::HYDRATE_RECORD_HIERARCHY);
@@ -11,8 +36,7 @@
 
   public function getMenusQuery()
   {
-    $q = Doctrine_Core::getTable('sfSympalMenuItem')
-      ->createQuery()
+    $q = $this->createQuery()
       ->from('sfSympalMenuItem m INDEXBY m.id')
       ->addSelect('m.*')
       ->leftJoin('m.Groups g')

Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/manager/sfSympalPluginManager.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/manager/sfSympalPluginManager.class.php
    2010-02-12 19:44:00 UTC (rev 27970)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/manager/sfSympalPluginManager.class.php
    2010-02-12 19:48:35 UTC (rev 27971)
@@ -195,15 +195,11 @@
   {
     $this->logSection('sympal', sprintf('...saving menu item "%s"', 
$menuItem));
 
-    $root = 
Doctrine_Core::getTable('sfSympalMenuItem')->findOneBySlug(sfSympalConfig::get('default_install_content_type_menu',
 null, 'primary'));
-    if (!$root)
+    if ($menu = 
Doctrine_Core::getTable('sfSympalMenuItem')->getPluginInstallMenu())
     {
-      $root = 
Doctrine_Core::getTable('sfSympalMenuItem')->findOneByIsPrimary(true);
+      $this->logSection('sympal', sprintf('...inserting as last child of 
"%s"', $menu->getLabel()));
+      $menuItem->getNode()->insertAsLastChildOf($menu);
     }
-    if ($root)
-    {
-      $menuItem->getNode()->insertAsLastChildOf($root);
-    }
   }
 
   public function getContentTypeForPlugin($name = null)

Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/task/sfSympalPluginInstallTask.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/task/sfSympalPluginInstallTask.class.php
   2010-02-12 19:44:00 UTC (rev 27970)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/task/sfSympalPluginInstallTask.class.php
   2010-02-12 19:48:35 UTC (rev 27971)
@@ -1,6 +1,6 @@
 <?php
 
-class sfSympalPluginInstallTask extends sfBaseTask
+class sfSympalPluginInstallTask extends sfSympalBaseTask
 {
   protected function configure()
   {
@@ -34,8 +34,7 @@
       return 1;
     }
 
-    $databaseManager = new sfDatabaseManager($this->configuration);
-
+    $this->createContext($this->configuration);
     $pluginManager = 
sfSympalPluginManager::getActionInstance($arguments['name'], 'install', 
$this->configuration, $this->formatter);
     $pluginManager->install();
   }

Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/task/sfSympalPluginUninstallTask.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/task/sfSympalPluginUninstallTask.class.php
 2010-02-12 19:44:00 UTC (rev 27970)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalPluginManagerPlugin/lib/task/sfSympalPluginUninstallTask.class.php
 2010-02-12 19:48:35 UTC (rev 27971)
@@ -27,8 +27,6 @@
 
   protected function execute($arguments = array(), $options = array())
   {
-    $databaseManager = new sfDatabaseManager($this->configuration);
-
     if (!$options['no-confirmation'] && !$this->askConfirmation(array('This 
command will uninstall and remove the sympal plugin named 
'.sfSympalPluginToolkit::getLongPluginName($arguments['name']), 'Are you sure 
you want to proceed? (y/N)'), 'QUESTION_LARGE', false))
     {
       $this->logSection('sympal', 'Plugin uninstall aborted');
@@ -36,6 +34,7 @@
       return 1;
     }
 
+    $this->createContext($this->configuration);
     $pluginManager = 
sfSympalPluginManager::getActionInstance($arguments['name'], 'uninstall', 
$this->configuration, $this->formatter);
     $pluginManager->uninstall($options['delete']);
   }

-- 
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