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()
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"))