Example #1
0
def delete_sessions(ce_id):
    if current_user.is_ce_permitted(ce_id) is False:
        flash('You don''t belong to the CustomerEdge''s Community')  # noqa
        return redirect(url_for('customeredges.list'))
    ce = CustomerEdge.query.filter_by(id=ce_id).first()
    ce.sessions.delete()
    db.session.commit()
    return redirect(url_for('customeredges.edit', ce_id=ce_id))
Example #2
0
def delete_sessions(ce_id):
    if current_user.is_ce_permitted(ce_id) is False:
        flash('You don' 't belong to the CustomerEdge' 's Community')  # noqa
        return redirect(url_for('customeredges.list'))
    ce = CustomerEdge.query.filter_by(id=ce_id).first()
    ce.sessions.delete()
    db.session.commit()
    return redirect(url_for('customeredges.edit', ce_id=ce_id))
Example #3
0
def session_changestate(ce_id, session_id, state):
    if current_user.is_ce_permitted(ce_id) is False:
        flash('You don''t belong to the CustomerEdge''s Community')  # noqa
        return redirect(url_for('customeredges.list'))
    session = PeeringSession.query.filter_by(id=session_id).first()
    session.enabled = state
    db.session.add(session)
    db.session.commit()
    return redirect(url_for('customeredges.edit',ce_id=ce_id))
Example #4
0
def session_changestate(ce_id, session_id, state):
    if current_user.is_ce_permitted(ce_id) is False:
        flash('You don' 't belong to the CustomerEdge' 's Community')  # noqa
        return redirect(url_for('customeredges.list'))
    session = PeeringSession.query.filter_by(id=session_id).first()
    session.enabled = state
    db.session.add(session)
    db.session.commit()
    return redirect(url_for('customeredges.edit', ce_id=ce_id))
Example #5
0
def edit(ce_id):
    if current_user.is_ce_permitted(ce_id) is False:
        flash('You don' 't belong to the CustomerEdge' 's Community')  # noqa
        return redirect(url_for('customeredges.list'))
    ce = CustomerEdge.query.filter_by(id=ce_id).options(
        db.joinedload('asn')).options(db.lazyload('community')).first()
    sessions = PeeringSession.query.filter_by(ce_id=ce.id).options(
        db.joinedload('TunnelType')).options(db.joinedload('ProviderEdge'))
    form = CustomerEdgeForm(obj=ce, edit=True)
    form.asn.query = current_user.get_asns()
    form.community.query = current_user.get_communities()
    form.submit.label.text = 'Update Customer Edge'
    sessionform = SessionForm()
    sessionform.type.query = TunnelType.query
    if form.validate_on_submit():
        flash('CustomerEdge edited successfully!')
        return redirect(url_for('customeredges.list'))
    if sessionform.validate_on_submit():
        print('gen sessions')
        #Generate GRE tunnels, ips and sessions
        pes = ProviderEdge.query.all()
        for pe in pes:
            transfer = Prefix.get_availprefix(1, 4, 31)
            session = PeeringSession()
            session.pe_id = pe.id
            session.ce_id = ce_id
            session.pe_v4 = str(transfer[0])
            session.ce_v4 = str(transfer[1])
            session.tunneltype_id = 1
            session.enabled = 1
            db.session.add(session)
            db.session.commit()
        return redirect(url_for('customeredges.edit', ce_id=ce_id))
    return render_template('customeredge/detail.html',
                           ce=ce,
                           sessions=sessions,
                           form=form,
                           sessionform=sessionform)
Example #6
0
def edit(ce_id):
    if current_user.is_ce_permitted(ce_id) is False:
        flash('You don''t belong to the CustomerEdge''s Community')  # noqa
        return redirect(url_for('customeredges.list'))
    ce = CustomerEdge.query.filter_by(id=ce_id).options(
        db.joinedload('asn')).options(db.lazyload('community')).first()
    sessions = PeeringSession.query.filter_by(ce_id=ce.id).options(
        db.joinedload('TunnelType')).options(db.joinedload('ProviderEdge'))
    form = CustomerEdgeForm(obj=ce, edit=True)
    form.asn.query = current_user.get_asns()
    form.community.query = current_user.get_communities()
    form.submit.label.text = 'Update Customer Edge'
    sessionform = SessionForm()
    sessionform.type.query = TunnelType.query
    if form.validate_on_submit():
        flash('CustomerEdge edited successfully!')
        return redirect(url_for('customeredges.list'))
    if sessionform.validate_on_submit():
        print('gen sessions')
        #Generate GRE tunnels, ips and sessions
        pes = ProviderEdge.query.all()
        for pe in pes:
            transfer = Prefix.get_availprefix(1,4,31)
            session = PeeringSession()
            session.pe_id = pe.id
            session.ce_id = ce_id
            session.pe_v4 = str(transfer[0])
            session.ce_v4 = str(transfer[1])
            session.tunneltype_id = 1
            session.enabled = 1
            db.session.add(session)
            db.session.commit()
        return redirect(url_for('customeredges.edit',ce_id=ce_id))
    return render_template(
        'customeredge/detail.html',
        ce=ce,
        sessions=sessions, form=form, sessionform=sessionform)