Exemple #1
0
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)
Exemple #2
0
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)