def post_add(self): form = CreateUserForm(self.request.arguments) if form.validate(): user = self.db2.query(User).filter_by( username=form.username.data).all() if user: form.username.errors.append(_('This username is occupied')) else: salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, form.password.data) enc_password = "******" % (salt, hsh) newuser = User(username=form.username.data, password=enc_password) self.db2.add(newuser) self.db2.commit() # Create profile profile = UserProfile(newuser, email=form.email.data) self.db2.add(profile) self.db2.commit() url = self.application.reverse_url('admin:user') url += '?id=%s&action=view' % newuser.id return self.redirect(url) # Have a error self.render('admin/user/add.html', form=form)
def post_add(self): form = CreateUserForm(self) if form.validate(): user = self.db2.query(User).filter_by( username=form.username.data ).all() if user: form.username.errors.append( self.trans(_('This username is occupied')) ) else: salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, form.password.data) enc_password = "******" % (salt, hsh) newuser = User( username = form.username.data, password = enc_password ) self.db2.add(newuser) self.db2.commit() # Create profile profile = UserProfile(newuser, email = form.email.data) self.db2.add(profile) self.db2.commit() url = self.application.reverse_url('admin:user') url += '?id=%s&action=view' % newuser.id return self.redirect( url ) # Have a error self.render( 'admin/user/add.html', form = form )
def post(self): form = RegistrationForm(self.request.arguments) if form.validate(): user = self.db2.query(User).filter_by( username=form.username.data ).all() if user: form.username.errors.append( _('This username is occupied') ) else: salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, form.password.data) enc_password = "******" % (salt, hsh) newuser = User( username = form.username.data, password = enc_password ) self.db2.add(newuser) self.db2.commit() # Create profile profile = UserProfile(newuser, email = form.email.data) self.db2.add(profile) self.db2.commit() # send_mail() self.save_session(newuser.id) url = self.application.reverse_url('account:index') return self.redirect( url ) # Have a error self.render( 'account/register.html', form = form )
def get(self): applyer = self.db2.query(Applyer).filter_by(key=key).one() if applyer: salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, password) enc_password = "******" % (salt, hsh) user = User( username = applyer.username, password = enc_password )
def post(self): form = RegistrationForm(self.request.arguments) if form.validate(): user = self.db2.query(User).filter_by( username=form.username.data ).all() if user: form.username.errors.append( _('This username is occupied') ) else: salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, form.password.data) enc_password = "******" % (salt, hsh) newuser = User( username = form.username.data, password = enc_password ) self.db2.add(newuser) self.db2.commit() # Create profile profile = UserProfile(newuser, email = form.email.data) # Add to default group from settings import cf if cf.has_option('registration', 'user_default_group_id'): try: DGID = int(cf.get('registration', 'user_default_group_id')) G = self.db2.query(Group).get(DGID) newuser.groups = [G] self.db2.commit() except: pass self.db2.add(profile) self.db2.commit() # send_message self.send_message( newuser ) # send_mail() self.save_session(newuser.id) return self.redirect( self.reverse_url('account:index') ) # Have a error self.render( 'account/register.html', form = form )
def post_reset_password(self): form = ResetPasswordForm(self) if form.validate(): salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, form.password.data) enc_password = "******" % (salt, hsh) self.user.password = enc_password self.db2.commit() url = self.reverse_url('admin:user') url += '?id=%s&action=view' % self.user.id return self.redirect( url ) self.render( 'admin/user/reset_password.html', title = self.trans(_('Reset Password')), form = form, U = self.user )
def post(self): form = ResetPasswordForm(self.request.arguments) if form.validate(): salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, form.password.data) enc_password = "******" % (salt, hsh) user = self.db2.query(User).get( self.current_user.id ) user.password = enc_password self.db2.commit() url = self.application.reverse_url('account:index') return self.redirect( url ) self.render( 'account/reset_password.html', title = _('Reset Password'), form = form )
def post_reset_password(self): form = ResetPasswordForm(self.request.arguments) if form.validate(): salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, form.password.data) enc_password = "******" % (salt, hsh) self.user.password = enc_password self.db2.commit() url = self.reverse_url('admin:user') url += '?id=%s&action=view' % self.user.id return self.redirect(url) self.render('admin/user/reset_password.html', title=_('Reset Password'), form=form, USER=self.user)
def post(self): self.d['form'] = ResetPasswordForm( self.request.arguments ) if self.d['form'].validate(): salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, self.d['form'].password.data) enc_password = "******" % (salt, hsh) self.d['USER'].password = enc_password self.db2.commit() # TODO: set reset password request completed applys = self.db2.query(UserResetpass).filter( UserResetpass.key == self.key ).all() for A in applys: A.completed = datetime.utcnow() self.db2.commit() self.save_session( self.d['USER'].id ) url = self.reverse_url('account:index') return self.redirect( url ) self.render( 'account/reset_password_complete.html', **self.d )
def default_value(dbsession): # LuoYunConfig from app.system.models import LuoYunConfig for k, v in settings.luoyun_system_config: c = dbsession.query(LuoYunConfig).filter_by(key=k).first() if c: print '[W] config key exist: %s' % k else: nc = LuoYunConfig(key=k, value=v) dbsession.add(nc) # Permission from app.account.models import Permission for codename, name in settings.default_permission: p = dbsession.query(Permission).filter_by(codename = codename).first() if p: print '[W] permission codename exist: %s' % codename else: p = Permission(codename = codename, name = name) dbsession.add(p) # Group from app.account.models import Group for name in settings.default_group: g = dbsession.query(Group).filter_by(name=name).first() if g: print '[W] group exist: %s' % name else: g = Group(name = name) dbsession.add(g) # User from app.account.models import User for username, password in settings.default_user: u = dbsession.query(User).filter_by(username=username).first() if u: print '[W] user exist: %s' % username else: salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, password) enc_password = "******" % (salt, hsh) u = User(username = username, password = enc_password) dbsession.add(u) # User Group for groupname, username in settings.default_user_group: u = dbsession.query(User).filter_by(username=username).first() g = dbsession.query(Group).filter_by(name=groupname).first() if g not in u.groups: u.groups.append(g) # User Permission for username, codename in settings.default_user_permission: u = dbsession.query(User).filter_by(username=username).first() p = dbsession.query(Permission).filter_by(codename=codename).first() if p not in u.permissions: u.permissions.append(p) # Group Permission for groupname, codename in settings.default_group_permission: g = dbsession.query(Group).filter_by(name=groupname).first() p = dbsession.query(Permission).filter_by(codename=codename).first() if p not in g.permissions: g.permissions.append(p) # Appliance Catalog from app.appliance.models import ApplianceCatalog for name, summary in settings.default_appliance_catalog: c = dbsession.query(ApplianceCatalog).filter_by(name=name).first() if c: print '[W] appliance catalog exist: %s' % name else: c = ApplianceCatalog(name=name, summary=summary) dbsession.add(c) dbsession.commit() # Wiki Catalog from app.wiki.models import WikiCatalog for name, summary in settings.default_wiki_catalog: c = dbsession.query(WikiCatalog).filter_by(name=name).first() if c: print '[W] wiki catalog exist: %s' % name else: c = WikiCatalog(name=name, summary=summary) dbsession.add(c) dbsession.commit() dbsession.commit()
def default_value(dbsession): from app.account.models import Group if dbsession.query(Group).count() > 0: print "[W] db is init already, do not init now." return # Permission from app.account.models import Permission for codename, name in settings.default_permission: p = dbsession.query(Permission).filter_by(codename=codename).first() if p: print "[W] permission codename exist: %s" % codename else: p = Permission(codename=codename, name=name) dbsession.add(p) # Group from app.account.models import Group for name in settings.default_group: g = dbsession.query(Group).filter_by(name=name).first() if g: print "[W] group exist: %s" % name else: # Group created defaultly is locked. g = Group(name=name, islocked=True) dbsession.add(g) # User from app.account.models import User for username, password in settings.default_user: u = dbsession.query(User).filter_by(username=username).first() if u: print "[W] user exist: %s" % username else: salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, password) enc_password = "******" % (salt, hsh) u = User(username=username, password=enc_password) dbsession.add(u) dbsession.commit() if not u.profile: from app.account.models import UserProfile profile = UserProfile(u, email="%s@localhost" % u.username) dbsession.add(profile) # User Group for groupname, username in settings.default_user_group: u = dbsession.query(User).filter_by(username=username).first() g = dbsession.query(Group).filter_by(name=groupname).first() if u and (g not in u.groups): u.groups.append(g) # User Permission for username, codename in settings.default_user_permission: u = dbsession.query(User).filter_by(username=username).first() p = dbsession.query(Permission).filter_by(codename=codename).first() if p not in u.permissions: u.permissions.append(p) # Group Permission for groupname, codename in settings.default_group_permission: g = dbsession.query(Group).filter_by(name=groupname).first() p = dbsession.query(Permission).filter_by(codename=codename).first() if p not in g.permissions: g.permissions.append(p) # Appliance Catalog from app.appliance.models import ApplianceCatalog for name, summary in settings.default_appliance_catalog: c = dbsession.query(ApplianceCatalog).filter_by(name=name).first() if c: print "[W] appliance catalog exist: %s" % name else: c = ApplianceCatalog(name=name, summary=summary) dbsession.add(c) dbsession.commit() # Wiki Catalog from app.wiki.models import WikiCatalog for name, summary in settings.default_wiki_catalog: c = dbsession.query(WikiCatalog).filter_by(name=name).first() if c: print "[W] wiki catalog exist: %s" % name else: c = WikiCatalog(name=name, summary=summary) dbsession.add(c) dbsession.commit() dbsession.commit()
def default_value(dbsession): # LuoYunConfig from app.system.models import LuoYunConfig for k, v in settings.luoyun_system_config: c = dbsession.query(LuoYunConfig).filter_by(key=k).first() if c: print '[W] config key exist: %s' % k else: nc = LuoYunConfig(key=k, value=v) dbsession.add(nc) # Permission from app.account.models import Permission for codename, name in settings.default_permission: p = dbsession.query(Permission).filter_by(codename=codename).first() if p: print '[W] permission codename exist: %s' % codename else: p = Permission(codename=codename, name=name) dbsession.add(p) # Group from app.account.models import Group for name in settings.default_group: g = dbsession.query(Group).filter_by(name=name).first() if g: print '[W] group exist: %s' % name else: # Group created defaultly is locked. g = Group(name=name, islocked=True) dbsession.add(g) # User from app.account.models import User for username, password in settings.default_user: u = dbsession.query(User).filter_by(username=username).first() if u: print '[W] user exist: %s' % username else: salt = md5(str(random.random())).hexdigest()[:12] hsh = encrypt_password(salt, password) enc_password = "******" % (salt, hsh) u = User(username=username, password=enc_password) dbsession.add(u) dbsession.commit() if not u.profile: from app.account.models import UserProfile profile = UserProfile(u, email='%s@localhost' % u.username) dbsession.add(profile) # User Group for groupname, username in settings.default_user_group: u = dbsession.query(User).filter_by(username=username).first() g = dbsession.query(Group).filter_by(name=groupname).first() if u and (g not in u.groups): u.groups.append(g) # User Permission for username, codename in settings.default_user_permission: u = dbsession.query(User).filter_by(username=username).first() p = dbsession.query(Permission).filter_by(codename=codename).first() if p not in u.permissions: u.permissions.append(p) # Group Permission for groupname, codename in settings.default_group_permission: g = dbsession.query(Group).filter_by(name=groupname).first() p = dbsession.query(Permission).filter_by(codename=codename).first() if p not in g.permissions: g.permissions.append(p) # Appliance Catalog from app.appliance.models import ApplianceCatalog for name, summary in settings.default_appliance_catalog: c = dbsession.query(ApplianceCatalog).filter_by(name=name).first() if c: print '[W] appliance catalog exist: %s' % name else: c = ApplianceCatalog(name=name, summary=summary) dbsession.add(c) dbsession.commit() # Wiki Catalog from app.wiki.models import WikiCatalog for name, summary in settings.default_wiki_catalog: c = dbsession.query(WikiCatalog).filter_by(name=name).first() if c: print '[W] wiki catalog exist: %s' % name else: c = WikiCatalog(name=name, summary=summary) dbsession.add(c) dbsession.commit() dbsession.commit()