box.html 6.58 KB
Newer Older
1 2 3
{% extends "box/base/box.html" %}
{% load i18n %}
{% load l10n %}
4
{% load staticfiles %}
5 6 7 8 9 10 11 12
{% get_current_language as LANGUAGE_CODE %}

{% block title %}
    {% trans "Virtual machines" %}
{% endblock title %}

{% block boxhelp %}
<div class="boxhelp">
Dányi Bence committed
13 14 15 16 17 18 19 20 21 22 23
    <div class="help">
        <div class="icon">
            <img class="help" src="{% static "icons/information-frame.png" %}" alt="{% trans "Help" %}" />
        </div>
        <div class="boxhelp-box">
            <p>{% blocktrans %}This is the list of your running virtual machines.{% endblocktrans %}</p>
            <p>{% blocktrans %}You can launch a new VM instance if it is shared by
            a teacher for one of your groups.{% endblocktrans %}</p>
            <p>{% blocktrans %}Please note, that users and shares both have a limit
            of launchable instances.{% endblocktrans %}</p>
        </div>
24
    </div>
Dányi Bence committed
25 26
    <div class="icon">
        <img src="" alt="{% trans "Show/hide box" %}" class="toggle-box" data-id="vms" id="toggle-box-vms"/>
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
    </div>
</div>
{% endblock %}

{% block content %}
<ul class="vm-list entry-list">
    {% if instances %}
        {% for vm in instances %}
            {% include "box/vm/entry.html" %}
        {% endfor %}
    {% elif not just_list_vms %}
    <div class="tooltip">
        <div class="container">
            <p>{% trans "You have not started any machines yet." %}</p>
            <p>
                {% trans "Choose a template, and you can use the system in a minute." %}
            </p>
            <div class="tail"></div>
        </div>
    </div>
    {% endif %}
    {% if not just_list_vms %}
    <li id="new-vm-button" class="entry new small-row">
        <div class="summary">
            <div class="name">{% trans "Start new machine" %}</div>
            <div class="clear"></div>
        </div>
    </li>
    <li id="new-vm" style="display: none">
        <h2>{% trans "Available shares" %}</h2>
        <p>
            {% trans "Choose one of the following shared templates to launch." %}
        </p>
        <div class="container">
            <ul class="vm-list entry-list">
                {% for s in shares %}
                <li class="entry">
                    <div class="summary">
                        <div class="quota">
                            <div class="used" style="width:{% if s.running_shared >=  s.per_user_limit %}100%{% else %}{{ s.get_instance_pc|unlocalize }}%{% endif %}"/>
                            </div>
                        </div>
                        <div class="name wm-on">
                            {{s.name}} - {{ s.group.name }}   ({{ s.running_shared }}/{{ s.per_user_limit }})
                        </div>
                        <div class="status">{{s.get_running}}/{{s.instance_limit}}</div>
                        <div class="clear"></div>
                    </div>
                    <div class="details">
                        <div class="details-container">
                            <ul>
                                <li class="os-{{s.template.os_type}}">
                                    {% trans "System" %}:
                                    <span class="value">{{s.template.system}}</span>
                                    <div class="clear"></div>
                                </li>
                                <li class="type">
                                    {% trans "Size" %}:
                                    <span class="value">
                                        {{s.template.instance_type.name}}
87 88 89
                                        <span title="{% trans 'CPU cores' %}" class="cpu">{{s.template.instance_type.CPU}}</span>
                                        <span title="{% trans 'RAM' %}" class="memory">{{s.template.instance_type.RAM}}</span>
                                        <span title="{% trans 'Credit' %}" class="credit">{{s.template.instance_type.credit}}</span>
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
                                    </span>
                                </li>
                                <li class="share-type">
                                    {% trans "Type" %}:
                                    <span class="value">{{s.type }}</span>
                                    ({% if s.get_type.suspend %}
                                    <span class="suspend"
                                        title="{% blocktrans with time=s.get_type.suspend %}Suspend after {{time}}.{%endblocktrans%}">
                                        {{s.get_type.suspendx|timeuntil}}
                                    </span>
                                    {%endif%}{% if s.get_type.delete %}<span class="delete"
                                        title="{% blocktrans with time=s.get_type.delete %}Delete after {{time}}.{%endblocktrans%}">
                                        {{s.get_type.deletex|timeuntil}}</span>{%endif%})
                                </li>
                                <li class="description">
                                    {% trans "Description" %}:
                                    <span class="value">{{s.description}}</span>
                                    <div class="clear"></div>
                                </li>
                                <li>
                                    &nbsp;
                                    <span class="value">
112
                                        <form method="POST" action="{% url one.views.vm_new share=s.id %}">
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
                                            {% csrf_token %}
                                            <input {% if  s.running_shared >= s.per_user_limit  or s.get_running >= s.instance_limit%}disabled="disabled" value="{% trans "Quota reached" %}" {%else%}value="{% trans "Launch" %}"{% endif %} type="submit" />
                                        </form>
                                    </span>
                                    <div class="clear"></div>
                                </li>
                            </ul>
                        </div>
                    </div>
                </li>
                {% endfor %}
            </ul>
        </div>
    </li>
    {% endif %}
    <li class="entry small">
        <div class="summary">
            <div class="quota">
                <div class="used" style="background-color: rgba(0,255,0,0.2); width: {{userdetails.get_instance_pc|unlocalize}}%"></div>
            </div>
            <div class="name">
                {% blocktrans with used=userdetails.get_weighted_instance_count all=userdetails.instance_quota %}Personal quota: {{used}}/{{all}}{% endblocktrans %}
            </div>
            <div class="clear"></div>
        </div>
    </li>
</ul>
{% endblock content %}