def update_user(object_id): form = EditUserForm(request.form) if form.validate(): u = User.get_by_id(object_id) if u: u.update(email=thwart(form.email.data), username=thwart(form.username.data), first_name=thwart(form.first_name.data), last_name=thwart(form.last_name.data)) if form.password.data != '': u.set_password(thwart(form.password.data)) if form.active.data != u.active: activate(u) if form.active.data else deactivate(u) u.set_roles(list(form.user_roles.data)) try: u.updated() dbSession.commit() except IntegrityError: flash("Ya existe un usuario con ese correo/username", "danger") return render_template('user/update.html', form=form, user_id=object_id) flash("Usuario {} actualizado exitosamente.".format(u.username), "success") return redirect(url_for("user_index")) if form.errors: display_errors( form.errors ) # si hay errores redirecciona a la pagina de crear usuario y muestra los errores. flash("Error al validar formulario", "danger") return redirect(url_for("user_index"))
def create(): args = list(request.form.values()) issue = Issue(email=args[0], description=args[1], category_id=args[2], status_id=args[3]) dbSession.add(issue) dbSession.commit() return redirect(url_for("issue_index"))
def activate_account(user_id=None): """Recibe un id de usuario. Si el usuario existe y su estado es inactivo, activa la cuenta seteando el campo active a True.""" user = User.get_by_id(user_id) if user and user.active is False: activate(user) user.updated() dbSession.commit() return redirect(url_for("user_index")) abort(500, "ERROR: Error al obtener usuario. id = {}".format(user_id)) return redirect(url_for("user_index", page=1))
def create_shift(cls, shift, center): """recibe un turno y un centro, lo valida antes de persistirlo.""" if center.published is False: raise ValueError("El centro {} no se encuentra activo.".format( center.id)) if center.valid_start_time(shift.start_time): available_start = center.get_shifts_blocks_avalaible(shift.date) if shift.start_time not in available_start: raise ValueError("Error: turno no disponible") shift.end_time = cls.get_end_time(shift.start_time) dbSession.add(shift) dbSession.commit() return shift else: raise ValueError( "Franja horaria de turno no válida. El turno debe respetar la franja horaria de 9hs a 16hs." )
def update(): form = SistemaForm(formdata=request.form) if form.validate_on_submit() and request.method == "POST": sistema = Sistema.get_sistema() sistema.titulo = thwart(form.titulo.data) sistema.descripcion = thwart(form.descripcion.data) sistema.bienvenida = thwart(form.bienvenida.data) sistema.email = thwart(form.email.data) sistema.cant_por_pagina = form.cant_por_pagina.data sistema.habilitado = form.habilitado.data sistema.__update__() dbSession.commit() flash("Configuración actualizada correctamente!", "success") # return redirect(url_for('')) else: display_errors(form.errors) # return redirect(url_for()) return redirect(url_for('system_configure'))
def create(): """ Da de alta un usuario en la base de datos.""" form = CreateUserForm(request.form) if form.validate(): user = User(email=thwart(form.email.data), username=thwart(form.username.data), first_name=thwart(form.first_name.data), last_name=thwart(form.last_name.data), active=form.active.data) user.set_roles(list(form.user_roles.data)) user.set_password(thwart( form.password.data)) # envio la pw para guardar el hash en la db. dbSession.add(user) dbSession.commit() if form.errors: display_errors( form.errors ) # si hay errores redirecciona a la pagina de crear usuario y muestra los errores. return redirect(url_for("user_new")) return redirect(url_for("user_index", page=1))
def __delete(user): """Elimina un usuario del sistema de manera definitiva. Retorna True si pudo eliminar el usuario, caso contrario retorna false""" if User.delete_by_id(user.id): dbSession.commit() return True
def __delete(shift): """Elimina un turno del sistema de manera definitiva. Retorna True si pudo eliminar el turno, caso contrario retorna false""" if Shifts.delete_by_id(shift.id): dbSession.commit() return True
def review(self): self.state = STATES[0] self.published = False dbSession.commit()
def reject(self): self.state = STATES[2] self.published = False dbSession.commit()
def approve(self): self.state = STATES[1] self.published = True dbSession.commit()
def toogle_published(self): if self.published: self.published = False else: self.publish() dbSession.commit()