console/SWSCloudAdministrator/Administrator/compute/vms.py
2016-11-07 09:28:03 +03:00

52 lines
1.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding: utf-8
from flask import Blueprint, flash, g, jsonify, redirect, render_template, request, session, url_for
from SWSCloudCore.controllers.administrators import ControllerAdministrators
from SWSCloudCore.controllers.tasks.manage import ControllerManageTasks
from SWSCloudCore.controllers.tasks import ControllerTasks
from SWSCloudCore import models
from SWSCloudAdministrator.Administrator.common import requires_login
view_administrator_compute_vms = Blueprint('administrator_compute_vms', __name__, url_prefix='/administrator/compute/vms')
@view_administrator_compute_vms.route('/', methods=['GET'])
@requires_login
def index():
# формируем список правил
return render_template(
'administrator/compute/vms/index.html', vms=models.Vms.get_items())
@view_administrator_compute_vms.route('/<uuid:vm_id>', methods=['GET'])
@requires_login
def details(vm_id):
if not models.Vms.exists(vm_id):
return redirect(url_for('.index'))
# формируем список правил
return render_template(
'administrator/compute/vms/details.html', vm=models.Vms.get_item(vm_id))
@view_administrator_compute_vms.route('/<uuid:vm_id>/delete', methods=['POST'])
@requires_login
def delete(vm_id):
vm_details = models.Vms.get_item(vm_id)
# vm_details.user.id
# Обновляем статус "5" для правила
models.Vms.set_status(vm_id, 5)
# Создание задания
tasks = ControllerTasks(vm_details.user.id)
tasks.create(
datacenter_id=vm_details.datacenter.id,
server_id=vm_details.server.id,
task='vm_delete',
status=0,
vm_id=vm_id
)
# TODO: send email container was deleted about
# Редиректим на страницу со всеми правилами
flash(u'Виртуальная машина будет удалена')
return redirect(url_for('.index'))