def _create(self): if config["app_conf"]["enable_new_users"] != "true": return self._message('User creation not enabled', 'error') if not req('username'): return self._message('Username missing', 'error') elif not req('password'): return self._message('Password missing', 'error') elif req('password_confirmation') != req('password'): return self._message('Passwords do not match', 'error') elif not req('email'): return self._message('Email missing', 'error') else: user_q = meta.Session.query(User) if user_q.filter(User.username == req('username')).count() > 0: return self._message('User already exists', 'error') os.makedirs(userdir(req('username'))) user = User() user.username = req('username') user.password = user.enc(req('password')) user.email = req('email') meta.Session.add(user) meta.Session.commit() return self._login()
def _message(self, message, message_class): c.username = req('username') c.email = req('email') c.message = message c.message_class = message_class return render('/home.mako')
def home(self): c.hash = req('action'); if req('action') == 'login': return self._login() elif req('action') == 'create': return self._create() elif req('action') == 'reset': return reqeset() else: return render('/home.mako')
def home(self): c.hash = req('action') if req('action') == 'login': return self._login() elif req('action') == 'create': return self._create() elif req('action') == 'reset': return reqeset() else: return render('/home.mako')
def _login(self): if not req('username'): return self._message('Username missing', 'error') try: user_q = meta.Session.query(User) user = user_q.filter(User.username == req('username')).one() if user.password == user.enc(req('password')): session['username'] = user.username session.save() return redirect_to(controller='user', action='app', _code=301) except NoResultFound: pass return self._message('Incorrect username or password', 'error')
def upload(self): if request.method != 'POST': return render('/dialogs/upload.mako') else: pv = ProjectVersioning(self.zipfile) if not pv.new: pv.update() pv.checkin(req('m', 'Upload Project')) return pv.config.get('sharetx', 'uri')
def _reset(self): if not req('username') and not req('email'): return self._message('Enter username or email', 'error') user_q = meta.Session.query(User) try: if req('username'): user = user_q.filter(User.username == req('username')).one() elif req('email'): user = user_q.filter(User.email == req('email')).one() return self._message('Check your email for more information', 'ok') except NoResultFound: return self._message('No user found', 'error')