Author: jablko
Date: Fri Oct  2 13:04:15 2009
New Revision: 3643

Log:
Forward to secure action unless,

1 No database configuration exists,
2 - or the user has the necessary credential,
3 - or no user exists with the necessary credential -- force

Deleted:
   trunk/plugins/sfInstallPlugin/modules/sfInstallPlugin/config/security.yml
Modified:
   
trunk/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/checkSystemAction.class.php

Modified: 
trunk/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/checkSystemAction.class.php
==============================================================================
--- 
trunk/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/checkSystemAction.class.php
   Fri Oct  2 11:44:42 2009        (r3642)
+++ 
trunk/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/checkSystemAction.class.php
   Fri Oct  2 13:04:15 2009        (r3643)
@@ -7,5 +7,32 @@
 {
   public function execute($request)
   {
+    try
+    {
+      new sfDatabaseManager(sfProjectConfiguration::getActive());
+    }
+    catch (sfConfigurationException $e)
+    {
+      $this->context->user->addCredential($this->getCredential());
+
+      return;
+    }
+
+    if ($this->context->user->hasCredential($this->getCredential()))
+    {
+      return;
+    }
+
+    $criteria = new Criteria;
+    $criteria->add(QubitAclGroupI18n::NAME, $this->getCredential());
+    $criteria->addJoin(QubitAclGroupI18n::ID, QubitAclGroup::ID);
+    $criteria->addJoin(QubitAclGroup::ID, QubitAclUserGroup::GROUP_ID);
+    $criteria->addJoin(QubitAclUserGroup::USER_ID, QubitUser::ID);
+    if (1 > count(QubitUser::get($criteria)))
+    {
+      return;
+    }
+
+    $this->forward(sfConfig::get('sf_secure_module'), 
sfConfig::get('sf_secure_action'));
   }
 }

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" 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.ca/group/qubit-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to