def editarusuario(): """ Funcion para editar registros de la tabla Usuario""" """ Se obtiene la fecha actual para almacenar la fecha de ultima actualizacion """ if not current_user.is_authenticated(): flash('Debe loguearse primeramente!!!!', 'loggin') return render_template('index.html') permission = UserRol('ADMINISTRADOR') if permission.can(): today = datetime.date.today() """ Se un objeto md5 para encriptar la contrasenha del usuario """ con = md5.new() conf = md5.new() p = db_session.query(Usuario).filter_by(usuario=request.args.get('usu')).first() form = UsuarioFormulario(request.form,p) usuario = db_session.query(Usuario).filter_by(usuario=form.usuario.data).first() if request.method == 'POST' and form.validate(): if form.fecha_nac.data > today : flash('Ingrese una fecha de nacimiento valida','error') return render_template('usuario/editarusuario.html', form=form) if form.password.data != form.confirmar.data : conf.update(form.confirmar.data) confir = conf.hexdigest() if form.password.data != confir : flash('Las contrasenhas deben coincidir','error') return render_template('usuario/editarusuario.html', form=form) try: con.update(form.password.data) aux = usuario.id form.populate_obj(usuario) usuario.password = con.hexdigest() usuario.id = aux db_session.merge(usuario) db_session.commit() flash('El usuario ha sido modificado con exito','info') return redirect('/usuario/administrarusuario') except DatabaseError, e: flash('Error en la Base de Datos' + e.args[0],'error') return render_template('usuario/editarusuario.html', form=form) else: flash_errors(form) return render_template('usuario/editarusuario.html', form=form)
def nuevousuario(): """ Funcion para agregar registros a la tabla Usuario""" """ Se obtiene la fecha actual para verificar la fecha de nacimiento """ if not current_user.is_authenticated(): flash('Debe loguearse primeramente!!!!', 'loggin') return render_template('index.html') permission = UserRol('ADMINISTRADOR') if permission.can(): today = datetime.date.today() form = UsuarioFormulario(request.form) """ Se un objeto md5 para encriptar la contrasenha del usuario """ con = md5.new() if request.method == 'POST' and form.validate(): if form.fecha_nac.data > today : flash('Ingrese una fecha de nacimiento valida','error') return render_template('usuario/nuevousuario.html', form=form) if form.password.data != form.confirmar.data : flash('Las contrasenhas deben coincidir','error') return render_template('usuario/nuevousuario.html', form=form) try: con.update(form.password.data) usu = Usuario(form.usuario.data, form.nombre.data, form.apellido.data, con.hexdigest(), form.correo.data, form.domicilio.data, form.telefono.data, form.fecha_nac.data) db_session.add(usu) db_session.commit() flash('El Usuario ha sido registrado con exito ','info') return redirect('/usuario/administrarusuario') except DatabaseError, e: if e.args[0].find('duplicate key value violates unique')!=-1: flash('Clave unica violada por favor ingrese otro USUARIO para el registro' ,'error') else: flash('Error en la Base de Datos' + e.args[0],'error') return render_template('usuario/nuevousuario.html', form=form) else: flash_errors(form) return render_template('usuario/nuevousuario.html', form=form)