예제 #1
0
def finish_order(order):
    import nova
    from user import serv
    from json import dumps
    order.status = 2
    useraccount = serv.get_user_account(order.user_id)
    user = serv.get_user_login(order.user_id)
    if not useraccount.tenant_id:
        tenant = nova.api().get_tenent(useraccount)
        useraccount.tenant_id = tenant['id']
        usertenant = UserTenant(user)
        usertenant.tenant_id = tenant['id']
        usertenant.tenant_name = tenant['name']
        usertenant.admin_user_id = tenant['user_id']
        key_pair = nova.api().gen_key(useraccount, tenant["name"])
        usertenant.keypair = dumps(key_pair)
        uk = UserKey(key_content=key_pair)
        g.db.add(uk)
        g.db.add(usertenant)
    orderproducts = g.db.query(OrderProduct).filter(
        OrderProduct.order_id == order.id).all()
    for orderproduct in orderproducts:
        userproduct = UserProduct(user, orderproduct)
        g.db.add(userproduct)
    g.db.flush()
    g.db.commit()
예제 #2
0
def create_key():
    from nova import api
    name = request.form.get("key_name")
    oper = api()
    ua = get_user_account(g.current_login_id)
    tn = get_user_tenant(g.current_login_id)
    key_pair = oper.gen_key(ua, tn.tenant_name, key_name=name)
    userkey = UserKey(key_content=key_pair)
    userkey.user_id = g.current_login_id
    g.db.add(userkey)
    g.db.flush()
    g.db.commit()
    return redirect(url_for("product.show_key_manage"))