Просмотр исходного кода

实现执行创建虚拟机操作后,跳转至最后虚拟机显示页面

James Iter 9 лет назад
Родитель
Сommit
4b77850407
2 измененных файлов с 11 добавлено и 2 удалено
  1. 1 1
      docs/todo.md
  2. 10 1
      views/guest.py

+ 1 - 1
docs/todo.md

@@ -34,7 +34,7 @@
 - [x] 重新设计创建虚拟机时的机制,虚拟机创建分配由 JimV-C 角色实现
 - [ ] 虚拟机状态变化时时展现在前端页面上
 - [ ] 迁移时计算出剩余时间
-- [ ] 创建虚拟机时显示进度
+- [x] 创建虚拟机时显示进度
 - [x] 重新设计 JimV-N 到 JimV-C 的回调机制,现有实现比较混乱。改进为基于对象的回调
 - [x] 重新设计创建虚拟机机制,批量创建虚拟机时,依照宿主机负载大小,倒序依次挨个分配虚拟机的创建任务
 - [x] 规范日志路径。把日志路径调整至 /var/log/ 下

+ 10 - 1
views/guest.py

@@ -146,7 +146,16 @@ def create():
         headers = {'content-type': 'application/json'}
         r = requests.post(url, data=json.dumps(payload), headers=headers, cookies=request.cookies)
         j_r = json.loads(r.content)
-        return render_template('success.html', go_back_url='/guests', timeout=10000, title='提交成功',
+
+        guests_url = host_url + url_for('api_guests.r_get_by_filter')
+        guests_ret = requests.get(url=guests_url, cookies=request.cookies)
+        guests_ret = json.loads(guests_ret.content)
+        page_size = 10
+        last_page = int(ceil(guests_ret['paging']['total'] / float(page_size)))
+
+        return render_template('success.html',
+                               go_back_url='/guests?page={0}&page_size={1}'.format(last_page, page_size),
+                               timeout=10000, title='提交成功',
                                message_title='创建实例的请求已被接受',
                                message='您所提交的资源正在创建中。根据所提交资源的大小,需要等待几到十几分钟。页面将在10秒钟后自动跳转到实例列表页面!')