def editarfase(): """ Funcion para editar registros de la tabla Fase""" if not current_user.is_authenticated(): flash('Debe loguearse primeramente!!!!', 'loggin') return render_template('index.html') permission =UserPermission('LIDER PROYECTO', int(session['pry'])) if permission.can()==False: flash('No posee los permisos suficientes para realizar la operacion', 'permiso') return render_template('index.html') pro = db_session.query(Proyecto).filter_by(id=session['pry']).first() f = db_session.query(Fase).filter_by(nro_orden=request.args.get('nro')).filter_by(id_proyecto=pro.id).first() form = FaseFormulario(request.form,f) fase = db_session.query(Fase).filter_by(nro_orden=form.nro_orden.data).filter_by(id_proyecto=pro.id).first() form.id_proyecto.data = pro.nombre if fase.estado=='I': form.estado.data='Inicial' elif fase.estado=='P': form.estado.data='En Progreso' elif fase.estado=='L': form.estado.data='En Linea Base' elif fase.estado=='A': form.estado.data='Aprobado' if pro.estado != 'N' : flash('No se pueden modificar Fases del Proyecto','info') return render_template('fase/administrarfase.html') if fase.estado != 'I' : flash('No se pueden modificar Fases que no se encuentren en estado Inicial','info') return render_template('fase/administrarfase.html') if request.method == 'POST' and form.validate(): if form.fecha_inicio.data > form.fecha_fin.data : flash('La fecha de inicio no puede ser mayor que la fecha de finalizacion','error') return render_template('fase/editarfase.html', form=form) try: form.populate_obj(fase) fase.id_proyecto = pro.id if form.estado.data=='Inicial': fase.estado='I' elif form.estado.data=='En Progreso': fase.estado='P' elif form.estado.data=='En Linea Base': fase.estado='L' elif form.estado.data=='Aprobado': fase.estado='A' db_session.merge(fase) db_session.commit() flash('La fase ha sido editada con exito','info') return redirect('/fase/administrarfase') except DatabaseError, e: flash('Error en la Base de Datos' + e.args[0],'error') return render_template('fase/editarfase.html', form=form)
def importarfase(): """ Funcion para importar registros a la tabla Fase""" if not current_user.is_authenticated(): flash('Debe loguearse primeramente!!!!', 'loggin') return render_template('index.html') permission =UserPermission('LIDER PROYECTO', int(session['pry'])) if permission.can()==False: flash('No posee los permisos suficientes para realizar la operacion', 'permiso') return render_template('index.html') pro = db_session.query(Proyecto).filter_by(id=session['pry']).first() f = db_session.query(Fase).filter_by(nro_orden=request.args.get('nro')).filter_by(id_proyecto=request.args.get('py')).first() form = FaseFormulario(request.form,f) fase = db_session.query(Fase).filter_by(nro_orden=form.nro_orden.data).filter_by(id_proyecto=request.args.get('py')).first() form.id_proyecto.data = pro.nombre n = db_session.query(func.max(Fase.nro_orden, type_=Integer)).filter_by(id_proyecto=session['pry']).scalar() if n != None : form.nro_orden.default = n + 1 else : form.nro_orden.default = 1 form.estado.data = 'Inicial' if pro.estado != 'N' : flash('No se pueden importar Fases al Proyecto','info') return render_template('fase/administrarfase.html') if request.method == 'POST' and form.validate(): if form.fecha_inicio.data > form.fecha_fin.data : flash('La fecha de inicio no puede ser mayor que la fecha de finalizacion','error') return render_template('fase/importarfase.html', form=form) try: fase = Fase(form.nro_orden.data, form.nombre.data, form.descripcion.data, 'I', form.fecha_inicio.data, form.fecha_fin.data, pro.id) db_session.add(fase) db_session.commit() flash('La fase ha sido importada con exito','info') return redirect('/fase/administrarfase') except DatabaseError, e: if e.args[0].find('duplicate key value violates unique')!=-1: flash('Clave unica violada por favor ingrese otro NUMERO de Fase' ,'error') else: flash('Error en la Base de Datos' + e.args[0],'error') return render_template('fase/importarfase.html', form=form)