1515# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
1616# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
1717#
18- # $Id: cgi_client.py,v 1.94 2002-01-09 13:54:21 grubert Exp $
18+ # $Id: cgi_client.py,v 1.95 2002-01-10 03:39:45 richard Exp $
1919
2020__doc__ = """
2121WWW request handler (also used in the stand-alone server).
@@ -312,16 +312,15 @@ def shownode(self, message=None):
312312 # don't try to set properties if the user has just logged in
313313 if keys and not self .form .has_key ('__login_name' ):
314314 try :
315- props , changed = parsePropsFromForm (self .db , cl , self .form ,
316- self .nodeid )
315+ props = parsePropsFromForm (self .db , cl , self .form , self .nodeid )
317316 # make changes to the node
318317 self ._changenode (props )
319318 # handle linked nodes
320319 self ._post_editnode (self .nodeid )
321320 # and some nice feedback for the user
322- if changed :
321+ if props :
323322 message = _ ('%(changes)s edited ok' )% {'changes' :
324- ', ' .join (changed .keys ())}
323+ ', ' .join (props .keys ())}
325324 elif self .form .has_key ('__note' ) and self .form ['__note' ].value :
326325 message = _ ('note added' )
327326 elif self .form .has_key ('__file' ):
@@ -393,6 +392,7 @@ def _changenode(self, props):
393392 props ['messages' ] = cl .get (self .nodeid , 'messages' ) + [message ]
394393 if files :
395394 props ['files' ] = cl .get (self .nodeid , 'files' ) + files
395+
396396 # make the changes
397397 cl .set (self .nodeid , ** props )
398398
@@ -594,7 +594,8 @@ def newuser(self, message=None):
594594 keys = self .form .keys ()
595595 if [i for i in keys if i [0 ] != ':' ]:
596596 try :
597- props , dummy = parsePropsFromForm (self .db , cl , self .form )
597+ props = parsePropsFromForm (self .db , cl , self .form )
598+ print props
598599 nid = cl .create (** props )
599600 # handle linked nodes
600601 self ._post_editnode (nid )
@@ -674,21 +675,21 @@ def showuser(self, message=None):
674675 num_re = re .compile ('^\d+$' )
675676 if keys :
676677 try :
677- props , changed = parsePropsFromForm (self .db , user , self .form ,
678+ props = parsePropsFromForm (self .db , user , self .form ,
678679 self .nodeid )
679680 set_cookie = 0
680- if self . nodeid == self . getuid () and changed .has_key ('password' ):
681+ if props .has_key ('password' ):
681682 password = self .form ['password' ].value .strip ()
682- if password :
683- set_cookie = password
684- else :
683+ if not password :
685684 # no password was supplied - don't change it
686685 del props ['password' ]
687- del changed ['password' ]
686+ elif self .nodeid == self .getuid ():
687+ # this is the logged-in user's password
688+ set_cookie = password
688689 user .set (self .nodeid , ** props )
689690 # and some feedback for the user
690691 message = _ ('%(changes)s edited ok' )% {'changes' :
691- ', ' .join (changed .keys ())}
692+ ', ' .join (props .keys ())}
692693 except :
693694 self .db .rollback ()
694695 s = StringIO .StringIO ()
@@ -845,7 +846,7 @@ def newuser_action(self, message=None):
845846 # TODO: pre-check the required fields and username key property
846847 cl = self .db .user
847848 try :
848- props , dummy = parsePropsFromForm (self .db , cl , self .form )
849+ props = parsePropsFromForm (self .db , cl , self .form )
849850 uid = cl .create (** props )
850851 except ValueError , message :
851852 action = self .form ['__destination_url' ].value
@@ -887,7 +888,6 @@ def logout(self, message=None):
887888 path )})
888889 self .login ()
889890
890-
891891 def main (self ):
892892 '''Wrap the database accesses so we can close the database cleanly
893893 '''
@@ -1110,7 +1110,6 @@ def parsePropsFromForm(db, cl, form, nodeid=0):
11101110 '''Pull properties for the given class out of the form.
11111111 '''
11121112 props = {}
1113- changed = {}
11141113 keys = form .keys ()
11151114 num_re = re .compile ('^\d+$' )
11161115 for key in keys :
@@ -1161,7 +1160,6 @@ def parsePropsFromForm(db, cl, form, nodeid=0):
11611160 l .append (entry )
11621161 l .sort ()
11631162 value = l
1164- props [key ] = value
11651163
11661164 # get the old value
11671165 if nodeid :
@@ -1172,14 +1170,18 @@ def parsePropsFromForm(db, cl, form, nodeid=0):
11721170 # value
11731171 if not cl .properties .has_key (key ): raise
11741172
1175- # if changed, set it
1176- if nodeid and value != existing :
1177- changed [key ] = value
1173+ # if changed, set it
1174+ if value != existing :
1175+ props [key ] = value
1176+ else :
11781177 props [key ] = value
1179- return props , changed
1178+ return props
11801179
11811180#
11821181# $Log: not supported by cvs2svn $
1182+ # Revision 1.94 2002/01/09 13:54:21 grubert
1183+ # _add_assignedto_to_nosy did set nosy to assignedto only, no adding.
1184+ #
11831185# Revision 1.93 2002/01/08 11:57:12 richard
11841186# crying out for real configuration handling... :(
11851187#
0 commit comments