def new_f(self, member_id, **kwargs): # @TODO request.params may contain multiple values per key... test & fix formok = True errors = [] try: ParamChecker.checkMode('mode', values=('add', 'edit')) except InvalidParameterFormat as ipf: formok = False errors.append(ipf.message) m = Member() for v in m.str_vars: setattr(m, v, self.request.params.get(v, '')) m.uid = member_id try: m.check() except InvalidParameterFormat as ipf: formok = False errors += ipf.message if self.request.params[ 'mode'] == 'add' or not self.request.params.get( 'userPassword', '') == '': try: ParamChecker.checkPassword('userPassword', 'userPassword2') except InvalidParameterFormat as ipf: formok = False errors.append(ipf.message) if not formok: self.session['errors'] = errors self.session['reqparams'] = {} # @TODO request.params may contain multiple values per key... test & fix for k in self.request.params.iterkeys(): if k == 'fullMember' or k == 'lockedMember': if self.request.params[k] == 'on': self.session['reqparams'][k] = True else: self.session['reqparams'][k] = False else: self.session['reqparams'][k] = self.request.params[k] self.session.save() if self.request.params['mode'] == 'add': raise HTTPRedirect('/members/addMember') else: raise HTTPRedirect( '/members/editMember/?member_id={0}'.format(member_id)) return f(self)
def new_f(self, member_id, **kwargs): # @TODO request.params may contain multiple values per key... test & fix formok = True errors = [] try: ParamChecker.checkMode('mode', values=('add', 'edit')) except InvalidParameterFormat as ipf: formok = False errors.append(ipf.message) m = Member() for v in m.str_vars: setattr(m, v, self.request.params.get(v, '')) m.uid = member_id try: m.check() except InvalidParameterFormat as ipf: formok = False errors += ipf.message if self.request.params['mode'] == 'add' or not self.request.params.get('userPassword', '') == '': try: ParamChecker.checkPassword('userPassword', 'userPassword2') except InvalidParameterFormat as ipf: formok = False errors.append(ipf.message) if not formok: self.session['errors'] = errors self.session['reqparams'] = {} # @TODO request.params may contain multiple values per key... test & fix for k in self.request.params.iterkeys(): if k == 'fullMember' or k == 'lockedMember': if self.request.params[k] == 'on': self.session['reqparams'][k] = True else: self.session['reqparams'][k] = False else: self.session['reqparams'][k] = self.request.params[k] self.session.save() if self.request.params['mode'] == 'add': raise HTTPRedirect('/members/addMember') else: raise HTTPRedirect('/members/editMember/?member_id={0}'.format(member_id)) return f(self)