On Monday 19 October 2009 09:16:51 pm Paul McNett wrote:
> dabo Commit
> Revision 5476
> Date: 2009-10-19 21:16:51 -0700 (Mon, 19 Oct 2009)
> Author: Paul
> Trac: http://trac.dabodev.com/changeset/5476
>
> Changed:
> U   trunk/dabo/dApp.py
> U   trunk/dabo/dSecurityManager.py
>
> Log:
> Decoupled the login screen from the main form, so it can show before the
> main form is even instantiated.
>
> Added a test script to dSecurityManager using the default login dialog.
>
>
> Diff:
> Modified: trunk/dabo/dApp.py
> ===================================================================
> --- trunk/dabo/dApp.py        2009-10-19 20:17:32 UTC (rev 5475)
> +++ trunk/dabo/dApp.py        2009-10-20 04:16:51 UTC (rev 5476)
> @@ -21,7 +21,7 @@
>  import dabo.dException as dException
>  from dabo.dLocalize import _
>  from dabo.lib.connParser import importConnections
> -from dabo import dSecurityManager
> +from dSecurityManager import dSecurityManager
>  from dabo.lib.SimpleCrypt import SimpleCrypt
>  from dabo.dObject import dObject
>  from dabo import dUserSettingProvider
> @@ -377,7 +377,7 @@
>
>               self._finished = False
>               if (not self.SecurityManager or not 
> self.SecurityManager.RequireAppLogin
> -                     or self.SecurityManager.login()):
> +                     or getattr(self, "_loggedIn", False) or 
> self.SecurityManager.login()):
>
>                       userName = self.getUserCaption()
>                       if userName:
> @@ -440,7 +440,7 @@
>
>               Return a tuple of (user, pass).
>               """
> -             loginDialog = self.LoginDialogClass(self.MainForm)
> +             loginDialog = self.LoginDialogClass(None)
>               loginDialog.setMessage(message)
>               # Allow the developer to customize the login dialog:
>               self.loginDialogHook(loginDialog)
> @@ -1513,12 +1513,9 @@
>                       return None
>
>       def _setSecurityManager(self, value):
> -             if isinstance(value, dSecurityManager.dSecurityManager):
> -                     if self.SecurityManager:
> -                             warnings.warn(Warning, _("SecurityManager 
> previously set"))
> -                     self._securityManager = value
> -             else:
> -                     raise TypeError(_("SecurityManager must descend from
> dSecurityManager.")) +                if self.SecurityManager:
> +                     warnings.warn(Warning, _("SecurityManager previously 
> set"))
> +             self._securityManager = value
>
>
>       def _getShowCommandWindowMenu(self):
>
> Modified: trunk/dabo/dSecurityManager.py
> ===================================================================
> --- trunk/dabo/dSecurityManager.py    2009-10-19 20:17:32 UTC (rev 5475)
> +++ trunk/dabo/dSecurityManager.py    2009-10-20 04:16:51 UTC (rev 5476)
> @@ -1,5 +1,6 @@
>  # -*- coding: utf-8 -*-
>  import time
> +import dabo
>  from dabo.dObject import dObject
>  from dLocalize import _
>
> @@ -49,6 +50,7 @@
>                       time.sleep(self.LoginPause)
>
>               if ret:
> +                     self.Application._loggedIn = True
>                       self.afterLoginSuccess()
>               else:
>                       self.afterLoginFailure()
> @@ -188,4 +190,20 @@
>       UserName = property(_getUserName, None, None,
>               _("""The name of the logged-on user. Read-only."""))
>
> -
> +
> +if __name__ == "__main__":
> +     app = dabo.dApp(MainFormClass=None)
> +     app.setup()
> +
> +     class TestSM(dSecurityManager):
> +             def validateLogin(self, user, passwd):
> +                     print user, passwd
> +                     if user == "paul" and passwd == "23":
> +                             return True
> +                     return False
> +
> +     app.SecurityManager = TestSM()
> +     if app.SecurityManager.login():
> +             app.MainForm = dabo.ui.dFormMain()
> +             app.start()
> +

Thanks Paul.

Johnf



_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: 
http://leafe.com/archives/byMID/[email protected]

Reply via email to