Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
CIRCLE
/
cloud
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
94
Merge Requests
10
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
Commit
16d245c1
authored
Mar 06, 2014
by
Kálmán Viktor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dashboard: display downloading disks
parent
43a921d6
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
48 additions
and
3 deletions
+48
-3
circle/dashboard/templates/dashboard/_disk-list-element.html
+14
-0
circle/dashboard/templates/dashboard/template-edit.html
+19
-2
circle/dashboard/templates/dashboard/vm-detail/resources.html
+1
-1
circle/storage/models.py
+14
-0
No files found.
circle/dashboard/templates/dashboard/_disk-list-element.html
0 → 100644
View file @
16d245c1
{% load i18n %}
{% load sizefieldtags %}
<i
class=
"{% if d.is_downloading %}icon-refresh icon-spin{% else %}icon-file{% endif %}"
></i>
{{ d.name }} (#{{ d.id }}) -
{% if not d.is_downloading %}
{% if d.ready %}
{{ d.size|filesize }}
{% else %}
<div
class=
"label label-danger"
>
failed
</div>
{% endif %}
{% else %}
<span
class=
"disk-list-disk-percentage"
data-disk-pk=
"{{ d.pk }}"
>
{{ d.get_download_percentage }}
</span>
%{% endif %}
<div
class=
"btn btn-xs btn-danger pull-right"
><i
class=
"icon-remove"
></i>
Remove
</div>
circle/dashboard/templates/dashboard/template-edit.html
View file @
16d245c1
{% extends "dashboard/base.html" %}
{% extends "dashboard/base.html" %}
{% load i18n %}
{% load i18n %}
{% load sizefieldtags %}
{% load crispy_forms_tags %}
{% load crispy_forms_tags %}
{% block content %}
{% block content %}
...
@@ -22,7 +23,7 @@
...
@@ -22,7 +23,7 @@
<div
class=
"col-md-4"
>
<div
class=
"col-md-4"
>
<div
class=
"panel panel-default"
>
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<div
class=
"panel-heading"
>
<h
3
class=
"no-margin"
><i
class=
"icon-group"
></i>
{% trans "Manage access" %}
</h3
>
<h
4
class=
"no-margin"
><i
class=
"icon-group"
></i>
{% trans "Manage access" %}
</h4
>
</div>
</div>
<div
class=
"panel-body"
>
<div
class=
"panel-body"
>
<form
action=
"{% url "
dashboard
.
views
.
template-acl
"
pk=
object.pk
%}"
method=
"post"
>
{% csrf_token %}
<form
action=
"{% url "
dashboard
.
views
.
template-acl
"
pk=
object.pk
%}"
method=
"post"
>
{% csrf_token %}
...
@@ -65,9 +66,25 @@
...
@@ -65,9 +66,25 @@
</div>
</div>
</div>
</div>
<div
class=
"panel panel-default"
>
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<div
class=
"panel-heading"
>
<h3
class=
"no-margin"
><i
class=
"icon-file"
></i>
{% trans "Create new disk" %}
</h3>
<h4
class=
"no-margin"
><i
class=
"icon-file"
></i>
{% trans "Disk list" %}
</h4>
</div>
<div
class=
"panel-body"
>
<ul
style=
"list-style: none; padding-left: 0;"
>
{% for d in disks %}
<li>
{% include "dashboard/_disk-list-element.html" %}
</li>
{% endfor %}
</ul>
</div>
</div>
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<h4
class=
"no-margin"
><i
class=
"icon-folder-open"
></i>
{% trans "Create new disk" %}
</h4>
</div>
</div>
<div
class=
"panel-body"
>
<div
class=
"panel-body"
>
<form
action=
"{% url "
dashboard
.
views
.
disk-add
"
%}"
method=
"POST"
>
<form
action=
"{% url "
dashboard
.
views
.
disk-add
"
%}"
method=
"POST"
>
...
...
circle/dashboard/templates/dashboard/vm-detail/resources.html
View file @
16d245c1
...
@@ -60,7 +60,7 @@
...
@@ -60,7 +60,7 @@
{% endif %}
{% endif %}
{% for d in instance.disks.all %}
{% for d in instance.disks.all %}
<h4
class=
"list-group-item-heading dashboard-vm-details-network-h3"
>
<h4
class=
"list-group-item-heading dashboard-vm-details-network-h3"
>
<i
class=
"icon-file"
></i>
{{ d.name }} (#{{ d.id }}) - {{ d.size|filesize }
}
{% include "dashboard/_disk-list-element.html" %
}
</h4>
</h4>
{% endfor %}
{% endfor %}
</div>
</div>
...
...
circle/storage/models.py
View file @
16d245c1
...
@@ -16,6 +16,7 @@ from datetime import timedelta
...
@@ -16,6 +16,7 @@ from datetime import timedelta
from
acl.models
import
AclBase
from
acl.models
import
AclBase
from
.tasks
import
local_tasks
,
remote_tasks
from
.tasks
import
local_tasks
,
remote_tasks
from
celery.exceptions
import
TimeoutError
from
celery.exceptions
import
TimeoutError
from
manager.mancelery
import
celery
from
common.models
import
ActivityModel
,
activitycontextimpl
,
WorkerNotFound
from
common.models
import
ActivityModel
,
activitycontextimpl
,
WorkerNotFound
logger
=
logging
.
getLogger
(
__name__
)
logger
=
logging
.
getLogger
(
__name__
)
...
@@ -133,6 +134,19 @@ class Disk(AclBase, TimeStampedModel):
...
@@ -133,6 +134,19 @@ class Disk(AclBase, TimeStampedModel):
'raw-rw'
:
'vd'
,
'raw-rw'
:
'vd'
,
}[
self
.
type
]
}[
self
.
type
]
def
is_downloading
(
self
):
da
=
DiskActivity
.
objects
.
filter
(
disk
=
self
)
.
latest
(
"created"
)
return
(
da
.
activity_code
==
"storage.Disk.download"
and
da
.
succeeded
is
None
)
def
get_download_percentage
(
self
):
if
not
self
.
is_downloading
():
return
None
task
=
DiskActivity
.
objects
.
latest
(
"created"
)
.
task_uuid
result
=
celery
.
AsyncResult
(
id
=
task
)
return
result
.
info
.
get
(
"percent"
)
def
is_deletable
(
self
):
def
is_deletable
(
self
):
"""Returns whether the file can be deleted.
"""Returns whether the file can be deleted.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment