[Checkins] SVN: Sandbox/luciano/kirbi/src/kirbi/app sesstion login
working
Luciano Ramalho
luciano at ramalho.org
Sat Aug 18 12:45:51 EDT 2007
Log message for revision 78956:
sesstion login working
Changed:
U Sandbox/luciano/kirbi/src/kirbi/app.py
U Sandbox/luciano/kirbi/src/kirbi/app_templates/index.pt
U Sandbox/luciano/kirbi/src/kirbi/app_templates/master.pt
-=-
Modified: Sandbox/luciano/kirbi/src/kirbi/app.py
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/app.py 2007-08-18 16:43:43 UTC (rev 78955)
+++ Sandbox/luciano/kirbi/src/kirbi/app.py 2007-08-18 16:45:50 UTC (rev 78956)
@@ -27,14 +27,13 @@
grok.define_permission('kirbi.ManageBook')
def setup_pau(pau):
- pau['principals'] = PrincipalFolder('kirbi.principals.')
+ pau['principals'] = PrincipalFolder()
pau.authenticatorPlugins = ('principals',)
pau['session'] = session = SessionCredentialsPlugin()
session.loginpagename = 'login'
- # pau.credentialsPlugins = ('No Challenge if Authenticated', 'session',)
- pau.credentialsPlugins = ('No Challenge if Authenticated',)
-
+ pau.credentialsPlugins = ('No Challenge if Authenticated', 'session',)
+
def role_factory(*args):
def factory():
return LocalRole(*args)
@@ -57,6 +56,7 @@
def grant_permissions(app, event):
role_manager = IRolePermissionManager(app)
role_manager.grantPermissionToRole('kirbi.AddCopy', 'kirbi.Owner')
+ role_manager.grantPermissionToRole('kirbi.ManageBook', 'kirbi.Owner')
class Index(grok.View):
@@ -83,8 +83,7 @@
# register this view for all objects
grok.context(Interface)
-class SessionLogin(grok.View):
- # XXX currently disabled
+class Login(grok.View):
grok.context(Interface)
def update(self, login_submit=None):
@@ -95,16 +94,10 @@
destination = self.application_url()
self.redirect(destination)
-class Login(grok.View):
- # the old login view is above ^^^!
- grok.context(Kirbi)
- grok.require('kirbi.AddCopy')
- def render(self):
- self.redirect(self.application_url())
-
class Logout(grok.View):
grok.context(Interface)
def render(self):
+ # XXX: find out how to logout from a session login
return "This should log you out (but doesn't yet)."
class Join(grok.AddForm):
@@ -119,10 +112,11 @@
### by the password confirmation invariant (see interfaces.IUser)
@grok.action('Save')
def join(self, **data):
+ #XXX: change this method to use our UserFolder and User class instead
+ # of PrincipalFolder and InternalPrincipal
login = data['login']
self.context[login] = User(**data)
- #XXX: change this to use our User class instead of the InternalPrincipal
# add principal to principal folder
pau = getUtility(IAuthentication)
principals = pau['principals']
@@ -140,12 +134,12 @@
from zope.app.session.session import ISession
unp = IUnauthenticatedPrincipal
pri = self.request.principal
- status = unp.providedBy(pri)
+ unauth = unp.providedBy(pri)
ses = ISession(self.request)
- import pdb; pdb.set_trace()
+ # import pdb; pdb.set_trace()
if hasattr(pri,'getLogin'):
login = pri.getLogin()
else:
login = 'N/A'
- return 'id: [%s] login: [%s]' % (pri.id, login)
+ return 'unauth: [%s] id: [%s] login: [%s]' % (unauth, pri.id, login)
\ No newline at end of file
Modified: Sandbox/luciano/kirbi/src/kirbi/app_templates/index.pt
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/app_templates/index.pt 2007-08-18 16:43:43 UTC (rev 78955)
+++ Sandbox/luciano/kirbi/src/kirbi/app_templates/index.pt 2007-08-18 16:45:50 UTC (rev 78956)
@@ -22,39 +22,6 @@
<td valign="top" align="center">
<h2>Recent additions</h2>
- <div id="document-navigation"
- tal:define="IUnauthenticatedPrincipal nocall:modules/zope.app.security.interfaces/IUnauthenticatedPrincipal">
- <h4 tal:content="request/principal/title">user name</h4>
-
- <ul tal:condition="python:IUnauthenticatedPrincipal.providedBy(request.principal)">
- <li>
- <a href="login"
- tal:attributes="href string:${view/application_url}/login">
- Log in
- </a>
- </li>
- <li>
- <a href="signup"
- tal:attributes="href string:${view/application_url}/signup">
- Register
- </a>
- </li>
- <li><a href="XXX">Lost password?</a></li>
- </ul>
-
- <ul tal:condition="python:not IUnauthenticatedPrincipal.providedBy(request.principal)">
- <li>
- <a href="logout"
- tal:attributes="href string:${view/application_url}/logout.html">
- Log out
- </a>
- </li>
- </ul>
-</div>
-
-
-
-
</td></tr>
</table>
Modified: Sandbox/luciano/kirbi/src/kirbi/app_templates/master.pt
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/app_templates/master.pt 2007-08-18 16:43:43 UTC (rev 78955)
+++ Sandbox/luciano/kirbi/src/kirbi/app_templates/master.pt 2007-08-18 16:45:50 UTC (rev 78956)
@@ -19,19 +19,21 @@
</metal:hdr>
</head>
-<body onload=setfocus()>
+<body onload=setfocus()
+ tal:define="IUnauthenticatedPrincipal python:modules['zope.app.security.interfaces'].IUnauthenticatedPrincipal;
+ anonymous python:IUnauthenticatedPrincipal.providedBy(request.principal)">
<div class="top">
<a tal:attributes="href python:view.application_url()">
<img tal:attributes="src static/circulante-logo-transp-212x51.png"
title="Circulante.org" width="212" height="51" />
</a>
- <ul tal:condition="not:exists:view/request/principal/getLogin">
+ <ul tal:condition="anonymous">
<li><a tal:attributes="href python:view.application_url('pac')">catalog</a></li>
<li><a tal:attributes="href python:view.application_url('login')">login</a></li>
<li><a tal:attributes="href python:view.application_url('join')">join</a></li>
</ul>
- <ul tal:condition="exists:view/request/principal/getLogin">
+ <ul tal:condition="not:anonymous">
<li><a tal:attributes="href python:view.application_url('pac')">catalog</a></li>
<li><a tal:attributes="href python:view.application_url('u')">users</a></li>
<li><a tal:attributes="href python:view.application_url('pac/addbooks')">add books</a></li>
@@ -47,12 +49,12 @@
</span>
</span>
<span class="content_login">
- <span tal:condition="exists:view/request/principal/getLogin">
- login: <span tal:replace="view/request/principal/getLogin" />
- </span>
- <span tal:condition="not:exists:view/request/principal/getLogin">
+ <span tal:condition="anonymous">
(not logged in)
</span>
+ <span tal:condition="not:anonymous">
+ login: <span tal:replace="view/request/principal/id" />
+ </span>
</span>
<span metal:define-slot="content_actions">
<form class="search" tal:attributes="action python:view.application_url('pac')">
More information about the Checkins
mailing list