Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Fukász Rómeó Ervin
/
cloud
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
e70e03b7
authored
Jan 07, 2015
by
Bach Dániel
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'gui-fixes' into 'master'
Gui fixes See merge request !281
parents
7fed7d2c
ed86412a
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
85 additions
and
77 deletions
+85
-77
circle/dashboard/static/dashboard/dashboard.js
+2
-2
circle/dashboard/static/dashboard/dashboard.less
+13
-9
circle/dashboard/templates/base.html
+1
-1
circle/dashboard/templates/branding.html
+2
-2
circle/dashboard/templates/dashboard/index-groups.html
+3
-3
circle/dashboard/templates/dashboard/index-nodes.html
+39
-36
circle/dashboard/templates/dashboard/index-templates.html
+4
-4
circle/dashboard/templates/dashboard/index-vm.html
+3
-4
circle/dashboard/templates/dashboard/store/index-files.html
+17
-15
circle/dashboard/templates/dashboard/template-edit.html
+1
-1
No files found.
circle/dashboard/static/dashboard/dashboard.js
View file @
e70e03b7
...
@@ -20,7 +20,7 @@ $(function () {
...
@@ -20,7 +20,7 @@ $(function () {
return
false
;
return
false
;
});
});
$
(
'.group-create, .node-create, .tx-tpl-ownership, .group-delete, .node-delete, .disk-remove, .template-delete, .delete-from-group'
).
click
(
function
(
e
)
{
$
(
'.group-create, .node-create, .tx-tpl-ownership, .group-delete, .node-delete, .disk-remove, .template-delete, .delete-from-group
, .lease-delete
'
).
click
(
function
(
e
)
{
$
.
ajax
({
$
.
ajax
({
type
:
'GET'
,
type
:
'GET'
,
url
:
$
(
this
).
prop
(
'href'
),
url
:
$
(
this
).
prop
(
'href'
),
...
@@ -282,7 +282,7 @@ $(function () {
...
@@ -282,7 +282,7 @@ $(function () {
for
(
i
=
0
;
i
<
5
&&
i
<
search_result
.
length
;
i
++
)
for
(
i
=
0
;
i
<
5
&&
i
<
search_result
.
length
;
i
++
)
html
+=
generateGroupHTML
(
search_result
[
i
].
url
,
search_result
[
i
].
name
,
search_result
.
length
<
5
);
html
+=
generateGroupHTML
(
search_result
[
i
].
url
,
search_result
[
i
].
name
,
search_result
.
length
<
5
);
if
(
search_result
.
length
===
0
)
if
(
search_result
.
length
===
0
)
html
+=
'<div class="list-group-item list-group-item-last">
No result
</div>'
;
html
+=
'<div class="list-group-item list-group-item-last">
'
+
gettext
(
"No result"
)
+
'
</div>'
;
$
(
"#dashboard-group-list"
).
html
(
html
);
$
(
"#dashboard-group-list"
).
html
(
html
);
// if there is only one result and ENTER is pressed redirect
// if there is only one result and ENTER is pressed redirect
...
...
circle/dashboard/static/dashboard/dashboard.less
View file @
e70e03b7
...
@@ -85,8 +85,11 @@ html {
...
@@ -85,8 +85,11 @@ html {
}
}
.list-group .list-group-footer {
.list-group .list-group-footer {
padding-top: 5px;
height: 41px;
padding-bottom: 5px;
}
.list-group-footer .text-right {
padding-top: 4px;
}
}
.big {
.big {
...
@@ -194,7 +197,7 @@ html {
...
@@ -194,7 +197,7 @@ html {
}
}
.dashboard-index .panel {
.dashboard-index .panel {
height:
300
px;
height:
294
px;
}
}
#vm-details-rename, #vm-details-h1-name, #vm-details-rename ,
#vm-details-rename, #vm-details-h1-name, #vm-details-rename ,
...
@@ -590,8 +593,8 @@ footer a, footer a:hover, footer a:visited {
...
@@ -590,8 +593,8 @@ footer a, footer a:hover, footer a:visited {
}
}
#dashboard-vm-list, #dashboard-node-list, #dashboard-group-list,
#dashboard-vm-list, #dashboard-node-list, #dashboard-group-list,
#dashboard-template-list {
#dashboard-template-list
, #dashboard-files-toplist
{
min-height: 20
4
px;
min-height: 20
0
px;
}
}
#group-detail-user-table td:first-child, #group-detail-user-table th:last-child,
#group-detail-user-table td:first-child, #group-detail-user-table th:last-child,
...
@@ -753,10 +756,6 @@ textarea[name="new_members"] {
...
@@ -753,10 +756,6 @@ textarea[name="new_members"] {
margin-top: 8px;
margin-top: 8px;
}
}
#dashboard-files-toplist {
min-height: 204px;
}
#dashboard-files-toplist div.list-group-item {
#dashboard-files-toplist div.list-group-item {
color: #555;
color: #555;
}
}
...
@@ -961,6 +960,11 @@ textarea[name="new_members"] {
...
@@ -961,6 +960,11 @@ textarea[name="new_members"] {
#vm-list-search, #vm-mass-ops {
#vm-list-search, #vm-mass-ops {
margin-top: 8px;
margin-top: 8px;
}
}
.list-group-item {
border-bottom: 0px !important;
}
.list-group-item-last {
.list-group-item-last {
border-bottom: 1px solid #ddd !important;
border-bottom: 1px solid #ddd !important;
}
}
...
...
circle/dashboard/templates/base.html
View file @
e70e03b7
...
@@ -64,7 +64,6 @@
...
@@ -64,7 +64,6 @@
<a
href=
"{% url "
info
.
support
"
%}"
>
{% trans "Support" %}
</a>
<a
href=
"{% url "
info
.
support
"
%}"
>
{% trans "Support" %}
</a>
<span
class=
"pull-right"
>
{{ COMPANY_NAME }}
</span>
<span
class=
"pull-right"
>
{{ COMPANY_NAME }}
</span>
</footer>
</footer>
</body>
<script
src=
"{% static "
jquery
/
dist
/
jquery
.
min
.
js
"
%}"
></script>
<script
src=
"{% static "
jquery
/
dist
/
jquery
.
min
.
js
"
%}"
></script>
<script
src=
"{{ STATIC_URL }}jsi18n/{{ LANGUAGE_CODE }}/djangojs.js"
></script>
<script
src=
"{{ STATIC_URL }}jsi18n/{{ LANGUAGE_CODE }}/djangojs.js"
></script>
...
@@ -78,4 +77,5 @@
...
@@ -78,4 +77,5 @@
{% block extra_etc %}
{% block extra_etc %}
{% endblock %}
{% endblock %}
</body>
</html>
</html>
circle/dashboard/templates/branding.html
View file @
e70e03b7
<img
src=
"{{ STATIC_URL}}dashboard/img/logo.png"
style=
"height: 25px;"
/>
<img
src=
"{{ STATIC_URL}}dashboard/img/logo.png"
alt=
"circle logo"
style=
"height: 25px;"
/>
<img
src=
"{{ STATIC_URL}}local-logo.png"
style=
"padding-left: 2px; height: 25px;"
/>
<img
src=
"{{ STATIC_URL}}local-logo.png"
alt=
"local logo"
style=
"padding-left: 2px; height: 25px;"
/>
circle/dashboard/templates/dashboard/index-groups.html
View file @
e70e03b7
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
</div>
</div>
<h3
class=
"no-margin"
><i
class=
"fa fa-group"
></i>
{% trans "Groups" %}
</h3>
<h3
class=
"no-margin"
><i
class=
"fa fa-group"
></i>
{% trans "Groups" %}
</h3>
</div>
</div>
<div
class=
"list-group"
id=
"
vm
-list-view"
>
<div
class=
"list-group"
id=
"
group
-list-view"
>
<div
id=
"dashboard-group-list"
>
<div
id=
"dashboard-group-list"
>
{% for i in groups %}
{% for i in groups %}
<a
href=
"{% url "
dashboard
.
views
.
group-detail
"
pk=
i.pk
%}"
class=
"list-group-item real-link
<a
href=
"{% url "
dashboard
.
views
.
group-detail
"
pk=
i.pk
%}"
class=
"list-group-item real-link
...
@@ -15,14 +15,14 @@
...
@@ -15,14 +15,14 @@
</a>
</a>
{% endfor %}
{% endfor %}
</div>
</div>
<div
href=
"#"
class=
"list-group-item list-group-footer text-right"
>
<div
class=
"list-group-item list-group-footer text-right"
>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"col-xs-6"
>
<div
class=
"col-xs-6"
>
<form
action=
"{% url "
dashboard
.
views
.
group-list
"
%}"
method=
"GET"
id=
"dashboard-group-search-form"
>
<form
action=
"{% url "
dashboard
.
views
.
group-list
"
%}"
method=
"GET"
id=
"dashboard-group-search-form"
>
<div
class=
"input-group input-group-sm"
>
<div
class=
"input-group input-group-sm"
>
<input
id=
"dashboard-group-search-input"
name=
"s"
type=
"text"
class=
"form-control"
placeholder=
"{% trans "
Search
..."
%}"
/>
<input
id=
"dashboard-group-search-input"
name=
"s"
type=
"text"
class=
"form-control"
placeholder=
"{% trans "
Search
..."
%}"
/>
<div
class=
"input-group-btn"
>
<div
class=
"input-group-btn"
>
<button
type=
"submit"
class=
"
form-control
btn btn-primary"
><i
class=
"fa fa-search"
></i></button>
<button
type=
"submit"
class=
"btn btn-primary"
><i
class=
"fa fa-search"
></i></button>
</div>
</div>
</div>
</div>
</form>
</form>
...
...
circle/dashboard/templates/dashboard/index-nodes.html
View file @
e70e03b7
...
@@ -29,9 +29,43 @@
...
@@ -29,9 +29,43 @@
</a>
</a>
{% endfor %}
{% endfor %}
</div>
</div>
<div
class=
"list-group-item list-group-footer"
>
<div
class=
"row"
>
<div
class=
"col-xs-6"
>
<form
action=
"{% url "
dashboard
.
views
.
node-list
"
%}"
method=
"GET"
id=
"dashboard-node-search-form"
>
<div
class=
"input-group input-group-sm"
>
<input
id=
"dashboard-node-search-input"
type=
"text"
class=
"form-control"
placeholder=
"{% trans "
Search
..."
%}"
/>
<div
class=
"input-group-btn"
>
<button
type=
"submit"
class=
"btn btn-primary"
title=
"{% trans "
Search
"
%}"
data-container=
"body"
>
<i
class=
"fa fa-search"
></i>
</button>
</div>
</div>
</form>
</div>
<div
class=
"col-xs-6 text-right"
>
<a
class=
"btn btn-primary btn-xs"
href=
"{% url "
dashboard
.
views
.
node-list
"
%}"
>
<i
class=
"fa fa-chevron-circle-right"
></i>
{% if more_nodes > 0 %}
{% blocktrans with count=more_nodes %}
<strong>
{{count}}
</strong>
more{% endblocktrans %}
{% else %}
{% trans "list" %}
{% endif %}
</a>
{% if request.user.is_superuser %}
<a
class=
"btn btn-success btn-xs node-create"
href=
"{% url "
dashboard
.
views
.
node-create
"
%}"
>
<i
class=
"fa fa-plus-circle"
></i>
{% trans "new" %}
</a>
{% endif %}
</div>
</div>
</div>
</div>
<!-- #node-list-view -->
</div>
<!-- #node-list-view -->
<div
class=
"panel-body"
id=
"node-graph-view"
style=
"display: none
; min-height: 204px;
"
>
<div
class=
"panel-body"
id=
"node-graph-view"
style=
"display: none"
>
<p
class=
"pull-right"
>
<p
class=
"pull-right"
>
<input
class=
"knob"
data-fgColor=
"chartreuse"
<input
class=
"knob"
data-fgColor=
"chartreuse"
data-thickness=
".4"
data-width=
"60"
data-height=
"60"
data-readOnly=
"true"
data-thickness=
".4"
data-width=
"60"
data-height=
"60"
data-readOnly=
"true"
...
@@ -46,45 +80,14 @@
...
@@ -46,45 +80,14 @@
</p>
</p>
<ul
class=
"list-inline"
id=
"dashboard-node-taglist"
>
<ul
class=
"list-inline"
id=
"dashboard-node-taglist"
>
{% for i in nodes %}
{% for i in nodes %}
<a
href=
"{{ i.get_absolute_url }}"
class=
"label {{i.get_status_label}}"
>
<li>
<i
class=
"fa {{ i.get_status_icon }}"
title=
"{{ i.get_status_display }}"
></i>
{{ i.name }}
</a>
<a
href=
"{{ i.get_absolute_url }}"
class=
"label {{i.get_status_label}}"
>
<i
class=
"fa {{ i.get_status_icon }}"
title=
"{{ i.get_status_display }}"
></i>
{{ i.name }}
</a>
</li>
{% endfor %}
{% endfor %}
</ul>
</ul>
<div
class=
"clearfix"
></div>
<div
class=
"clearfix"
></div>
</div>
</div>
<div
href=
"#"
class=
"list-group-item list-group-footer"
>
<div
class=
"row"
>
<div
class=
"col-xs-6"
>
<form
action=
"{% url "
dashboard
.
views
.
node-list
"
%}"
method=
"GET"
id=
"dashboard-node-search-form"
>
<div
class=
"input-group input-group-sm"
>
<input
id=
"dashboard-node-search-input"
type=
"text"
class=
"form-control"
placeholder=
"{% trans "
Search
..."
%}"
/>
<div
class=
"input-group-btn"
>
<button
type=
"submit"
class=
"btn btn-primary"
title=
"{% trans "
Search
"
%}"
data-container=
"body"
>
<i
class=
"fa fa-search"
></i>
</button>
</div>
</div>
</form>
</div>
<div
class=
"col-xs-6 text-right"
>
<a
class=
"btn btn-primary btn-xs"
href=
"{% url "
dashboard
.
views
.
node-list
"
%}"
>
<i
class=
"fa fa-chevron-circle-right"
></i>
{% if more_nodes > 0 %}
{% blocktrans with count=more_nodes %}
<strong>
{{count}}
</strong>
more{% endblocktrans %}
{% else %}
{% trans "list" %}
{% endif %}
</a>
{% if request.user.is_superuser %}
<a
class=
"btn btn-success btn-xs node-create"
href=
"{% url "
dashboard
.
views
.
node-create
"
%}"
>
<i
class=
"fa fa-plus-circle"
></i>
{% trans "new" %}
</a>
{% endif %}
</div>
</div>
</div>
</div>
</div>
circle/dashboard/templates/dashboard/index-templates.html
View file @
e70e03b7
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<h3
class=
"no-margin"
><i
class=
"fa fa-puzzle-piece"
></i>
{% trans "Templates" %}
<h3
class=
"no-margin"
><i
class=
"fa fa-puzzle-piece"
></i>
{% trans "Templates" %}
</h3>
</h3>
</div>
</div>
<div
class=
"list-group"
id=
"
dashboard-template-list
"
>
<div
class=
"list-group"
id=
"
template-list-view
"
>
<div
id=
"dashboard-template-list"
>
<div
id=
"dashboard-template-list"
>
{% for t in templates %}
{% for t in templates %}
<a
href=
"{% url "
dashboard
.
views
.
template-detail
"
pk=
t.pk
%}"
class=
"list-group-item
<a
href=
"{% url "
dashboard
.
views
.
template-detail
"
pk=
t.pk
%}"
class=
"list-group-item
...
@@ -32,15 +32,15 @@
...
@@ -32,15 +32,15 @@
</div>
</div>
{% endfor %}
{% endfor %}
</div>
</div>
<div
href=
"#"
class=
"list-group-item list-group-footer text-right
"
>
<div
class=
"list-group-item list-group-footer
"
>
<
p
>
<
div
class=
"text-right"
>
<a
href=
"{% url "
dashboard
.
views
.
template-list
"
%}"
class=
"btn btn-primary btn-xs"
>
<a
href=
"{% url "
dashboard
.
views
.
template-list
"
%}"
class=
"btn btn-primary btn-xs"
>
<i
class=
"fa fa-chevron-circle-right"
></i>
{% trans "show all" %}
<i
class=
"fa fa-chevron-circle-right"
></i>
{% trans "show all" %}
</a>
</a>
<a
href=
"{% url "
dashboard
.
views
.
template-choose
"
%}"
class=
"btn btn-success btn-xs template-choose"
>
<a
href=
"{% url "
dashboard
.
views
.
template-choose
"
%}"
class=
"btn btn-success btn-xs template-choose"
>
<i
class=
"fa fa-plus-circle"
></i>
{% trans "new" %}
<i
class=
"fa fa-plus-circle"
></i>
{% trans "new" %}
</a>
</a>
</
p
>
</
div
>
</div>
</div>
</div>
</div>
</div>
</div>
circle/dashboard/templates/dashboard/index-vm.html
View file @
e70e03b7
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
</div>
</div>
{% endfor %}
{% endfor %}
</div>
</div>
<div
href=
"#"
class=
"list-group-item list-group-footer"
>
<div
class=
"list-group-item list-group-footer"
>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"col-xs-6"
>
<div
class=
"col-xs-6"
>
<form
action=
"{% url "
dashboard
.
views
.
vm-list
"
%}"
method=
"GET"
id=
"dashboard-vm-search-form"
>
<form
action=
"{% url "
dashboard
.
views
.
vm-list
"
%}"
method=
"GET"
id=
"dashboard-vm-search-form"
>
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
<input
id=
"dashboard-vm-search-input"
type=
"text"
class=
"form-control"
name=
"s"
<input
id=
"dashboard-vm-search-input"
type=
"text"
class=
"form-control"
name=
"s"
placeholder=
"{% trans "
Search
..."
%}"
/>
placeholder=
"{% trans "
Search
..."
%}"
/>
<div
class=
"input-group-btn"
>
<div
class=
"input-group-btn"
>
<button
type=
"submit"
class=
"
form-control
btn btn-primary"
><i
class=
"fa fa-search"
></i></button>
<button
type=
"submit"
class=
"btn btn-primary"
><i
class=
"fa fa-search"
></i></button>
</div>
</div>
</div>
</div>
</form>
</form>
...
@@ -79,7 +79,7 @@
...
@@ -79,7 +79,7 @@
<p
class=
"pull-right"
>
<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 }}"
>
<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>
</p>
<
p><
span
class=
"bigbig"
>
{% blocktrans with count=running_vm_num %}
<big>
{{ count }}
</big>
running{% endblocktrans %}
</span>
<span
class=
"bigbig"
>
{% blocktrans with count=running_vm_num %}
<big>
{{ count }}
</big>
running{% endblocktrans %}
</span>
<ul
class=
"list-inline"
style=
"max-height: 95px; overflow: hidden;"
>
<ul
class=
"list-inline"
style=
"max-height: 95px; overflow: hidden;"
>
{% for vm in running_vms %}
{% for vm in running_vms %}
<li
style=
"display: inline-block; padding: 2px;"
>
<li
style=
"display: inline-block; padding: 2px;"
>
...
@@ -89,7 +89,6 @@
...
@@ -89,7 +89,6 @@
</li>
</li>
{% endfor %}
{% endfor %}
</ul>
</ul>
</p>
<div
class=
"clearfix"
></div>
<div
class=
"clearfix"
></div>
<div>
<div>
...
...
circle/dashboard/templates/dashboard/store/index-files.html
View file @
e70e03b7
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
class=
"list-group-item
class=
"list-group-item
{% if forloop.last and files.toplist|length < 5 %}list-group-item-last{% endif %}"
>
{% if forloop.last and files.toplist|length < 5 %}list-group-item-last{% endif %}"
>
<i
class=
"fa fa-{{ t.icon }} dashboard-toplist-icon"
></i>
<i
class=
"fa fa-{{ t.icon }} dashboard-toplist-icon"
></i>
<div
class=
"store-list-item-name"
>
<div
class=
"store-list-item-name"
>
{{ t.NAME }}
{{ t.NAME }}
</div>
</div>
<div
style=
"clear: both;"
></div>
<div
style=
"clear: both;"
></div>
...
@@ -53,20 +53,22 @@
...
@@ -53,20 +53,22 @@
{% trans "Your toplist is empty, upload something." %}
{% trans "Your toplist is empty, upload something." %}
</div>
</div>
{% endfor %}
{% endfor %}
</div>
</div>
<div
class=
"list-group-item text-right no-hover"
>
<div
class=
"list-group-item list-group-footer no-hover"
>
<form
class=
"pull-left"
method=
"POST"
action=
"{% url "
dashboard
.
views
.
store-refresh-toplist
"
%}"
>
<div
class=
"text-right"
>
{% csrf_token %}
<form
class=
"pull-left"
method=
"POST"
action=
"{% url "
dashboard
.
views
.
store-refresh-toplist
"
%}"
>
<button
class=
"btn btn-success btn-xs"
type=
"submit"
title=
"{% trans "
Refresh
"
%}"
/>
{% csrf_token %}
<i
class=
"fa fa-refresh"
></i>
<button
class=
"btn btn-success btn-xs"
type=
"submit"
title=
"{% trans "
Refresh
"
%}"
/>
</button>
<i
class=
"fa fa-refresh"
></i>
</form>
</button>
<a
href=
"{% url "
dashboard
.
views
.
store-list
"
%}"
class=
"btn btn-primary btn-xs"
>
</form>
<i
class=
"fa fa-chevron-circle-right"
></i>
{% trans "show my files" %}
<a
href=
"{% url "
dashboard
.
views
.
store-list
"
%}"
class=
"btn btn-primary btn-xs"
>
</a>
<i
class=
"fa fa-chevron-circle-right"
></i>
{% trans "show my files" %}
<a
href=
"{% url "
dashboard
.
views
.
store-upload
"
%}"
class=
"btn btn-success btn-xs"
>
</a>
<i
class=
"fa fa-cloud-upload"
></i>
{% trans "upload" %}
<a
href=
"{% url "
dashboard
.
views
.
store-upload
"
%}"
class=
"btn btn-success btn-xs"
>
</a>
<i
class=
"fa fa-cloud-upload"
></i>
{% trans "upload" %}
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
circle/dashboard/templates/dashboard/template-edit.html
View file @
e70e03b7
...
@@ -72,7 +72,7 @@
...
@@ -72,7 +72,7 @@
<div
class=
"panel panel-default"
>
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<div
class=
"panel-heading"
>
<a
href=
"{% url "
dashboard
.
views
.
template-delete
"
pk=
object.pk
%}"
<a
href=
"{% url "
dashboard
.
views
.
template-delete
"
pk=
object.pk
%}"
class=
"btn btn-xs btn-danger pull-right"
>
class=
"btn btn-xs btn-danger pull-right
template-delete
"
>
{% trans "Delete" %}
{% trans "Delete" %}
</a>
</a>
<h4
class=
"no-margin"
><i
class=
"fa fa-times"
></i>
{% trans "Delete template" %}
</h4>
<h4
class=
"no-margin"
><i
class=
"fa fa-times"
></i>
{% trans "Delete template" %}
</h4>
...
...
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