On Tuesday 20 October 2009 06:29:21 am Nate Lowrie wrote:
> John wrote:
> > 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
>
> This makes the SecurityManager nice to deal with...  This should go in
> the Wiki.  I'll see about getting to that today.
>
> Regards,
>
> Nate

+1 thanks Nate

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