index-vm.html 4.93 KB
Newer Older
1 2 3 4 5
{% load i18n %}
<div class="panel panel-default">
  <div class="panel-heading">
    <div class="pull-right toolbar">
      <div class="btn-group">
6
        <a href="#index-graph-view" data-index-box="vm" class="btn btn-default btn-xs"
7 8
          data-container="body"
          title="{% trans "summary view" %}"><i class="fa fa-dashboard"></i></a>
9
        <a href="#index-list-view" data-index-box="vm" class="btn btn-default btn-xs disabled"
10 11
          data-container="body"
          title="{% trans "list view" %}"><i class="fa fa-list"></i></a>
12
      </div>
13
      <span class="btn btn-default btn-xs infobtn" title="{% trans "List of your current virtual machines. Favourited ones are ahead of others." %}"><i class="fa fa-info-circle"></i></span>
14 15
    </div>
    <h3 class="no-margin">
16
      <i class="fa fa-desktop"></i> {% trans "Virtual machines" %}
17 18 19
    </h3>
  </div>
  <div class="list-group" id="vm-list-view">
20 21
    <div id="dashboard-vm-list">
      {% for i in instances %}
22 23
      <a href="{{ i.get_absolute_url }}" class="list-group-item
        {% if forloop.last and instances|length < 5 %} list-group-item-last{% endif %}">
24
        <span class="index-vm-list-name">
25
          <i class="fa {{ i.get_status_icon }}" title="{{ i.get_status_display }}"></i>
26 27
          {{ i.name }}
        </span>
28 29 30 31
        <small class="text-muted">
          {% if i.owner == request.user %}{{ i.short_hostname }}
          {% else %}{{i.owner.profile.get_display_name}}{% endif %}
        </small>
32 33
        <div class="pull-right dashboard-vm-favourite" data-vm="{{ i.pk }}">
          {% if i.fav %}
34
            <i class="fa fa-star text-primary title-favourite" title="{% trans "Unfavourite" %}"></i>
35
          {% else %}
36
            <i class="fa fa-star-o text-primary title-favourite" title="{% trans "Mark as favorite" %}"></i>
37 38
          {% endif %}
        </div>
39
      <div style="clear: both;"></div>
40
      </a>
41 42 43 44
      {% empty %}
        <div class="list-group-item list-group-item-last">
          {% trans "You have no virtual machines." %}
        </div>
45 46
      {% endfor %}
    </div>
47 48 49 50 51
    <style>
      .list-group-item-last {
        border-bottom: 1px solid #ddd !important;
      }
    </style>
52 53
    <div href="#" class="list-group-item list-group-footer">
      <div class="row">
Kálmán Viktor committed
54 55
        <form action="{% url "dashboard.views.vm-list" %}" method="GET" id="dashboard-vm-search-form">
          <div class="col-sm-6 col-xs-6 input-group input-group-sm">
56
            <input id="dashboard-vm-search-input" type="text" class="form-control" name="s"
Kálmán Viktor committed
57 58 59 60
            placeholder="{% trans "Search..." %}" />
            <div class="input-group-btn">
              <button type="submit" class="form-control btn btn-primary"><i class="fa fa-search"></i></button>
            </div>
61
          </div>
Kálmán Viktor committed
62
        </form>
63
        <div class="col-sm-6 text-right">
64
          <a class="btn btn-primary btn-xs" href="{% url "dashboard.views.vm-list" %}">
65
            <i class="fa fa-chevron-circle-right"></i>
66
            {% if more_instances > 0 %}
67 68 69 70 71
            {% blocktrans count counter=more_instances %}
              <strong>{{ counter }}</strong>  more
              {% plural %}
              <strong>{{ counter }}</strong>  more
            {% endblocktrans %}
72 73 74
            {% else %}
              {% trans "list" %}
            {% endif %}
75
          </a>
76
          <a class="btn btn-success btn-xs vm-create" href="{% url "dashboard.views.vm-create" %}"><i class="fa fa-plus-circle"></i> {% trans "new" %}</a>
77 78 79 80 81
        </div>
      </div>
    </div>
  </div>
  <div class="panel-body" id="vm-graph-view" style="display: none">
82 83 84
    <p class="pull-right">
    <input class="knob" data-fgColor="chartreuse" data-thickness=".4" data-max="{{ request.user.profile.instance_limit }}" data-width="100" data-height="100" data-readOnly="true" value="{{ instances|length|add:more_instances }}">
    </p>
85
    <p><span class="bigbig">{% blocktrans with count=running_vm_num %}<big>{{ count }}</big> running{% endblocktrans %}</span>
86
      <ul class="list-inline" style="max-height: 95px; overflow: hidden;">
87
        {% for vm in running_vms %}
88 89
        <li style="display: inline-block; padding: 2px;">
          <a href="{{vm.get_absolute_url}}" title="{{vm.primary_host.get_fqdn}}"  class="label label-success">
90
            <i class="fa {{vm.get_status_icon}}"></i> {{vm.name}}
91 92
          </a>
        </li>
93
        {% endfor %}
94 95 96 97
      </ul>
    </p>

    <div class="clearfix"></div>
98 99
    <div>
      <a style="float: right; margin-top: 17px;" href="{% url "dashboard.views.vm-list" %}" class="btn btn-primary btn-xs">
100
        <i class="fa fa-chevron-circle-right"></i>
101 102 103 104 105
        {% blocktrans count counter=instances|length|add:more_instances %}
          <strong>{{ counter }}</strong> machine total
          {% plural %}
          <strong>{{ counter }}</strong> machines total
        {% endblocktrans %}
106
      </a>
107
      <p class="big text-warning">{% blocktrans with count=stopped_vm_num %}<big>{{ count }}</big> stopped{% endblocktrans %}</p>
108 109 110
    </div>
  </div>
</div>