Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Gutyán Gábor
/
circlestack
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
fddee865
authored
Apr 20, 2015
by
Kálmán Viktor
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into feature-gitlabheader
parents
919a6b13
ff91b0ff
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
330 additions
and
231 deletions
+330
-231
circle/circle/settings/base.py
+5
-1
circle/circle/urls.py
+1
-0
circle/common/backends.py
+49
-0
circle/common/operations.py
+2
-2
circle/common/views.py
+21
-11
circle/dashboard/models.py
+2
-2
circle/dashboard/templates/dashboard/_vm-renew.html
+2
-0
circle/dashboard/templates/dashboard/vm-detail/resources.html
+2
-2
circle/dashboard/views/group.py
+1
-1
circle/dashboard/views/util.py
+1
-1
circle/dashboard/views/vm.py
+6
-1
circle/locale/hu/LC_MESSAGES/django.po
+186
-199
circle/request/views.py
+14
-6
circle/templates/403.html
+23
-0
circle/templates/404.html
+10
-1
circle/templates/500.html
+1
-1
circle/vm/models/instance.py
+1
-2
requirements/base.txt
+3
-1
No files found.
circle/circle/settings/base.py
View file @
fddee865
...
@@ -450,7 +450,7 @@ if get_env_variable('DJANGO_SAML', 'FALSE') == 'TRUE':
...
@@ -450,7 +450,7 @@ if get_env_variable('DJANGO_SAML', 'FALSE') == 'TRUE':
)
)
AUTHENTICATION_BACKENDS
=
(
AUTHENTICATION_BACKENDS
=
(
'django.contrib.auth.backends.ModelBackend'
,
'django.contrib.auth.backends.ModelBackend'
,
'
djangosaml2
.backends.Saml2Backend'
,
'
common
.backends.Saml2Backend'
,
)
)
remote_metadata
=
join
(
SITE_ROOT
,
'remote_metadata.xml'
)
remote_metadata
=
join
(
SITE_ROOT
,
'remote_metadata.xml'
)
...
@@ -528,6 +528,10 @@ except:
...
@@ -528,6 +528,10 @@ except:
LOCALE_PATHS
=
(
join
(
SITE_ROOT
,
'locale'
),
)
LOCALE_PATHS
=
(
join
(
SITE_ROOT
,
'locale'
),
)
COMPANY_NAME
=
get_env_variable
(
"COMPANY_NAME"
,
"BME IK 2015"
)
COMPANY_NAME
=
get_env_variable
(
"COMPANY_NAME"
,
"BME IK 2015"
)
first
,
last
=
get_env_variable
(
'VNC_PORT_RANGE'
,
'20000, 65536'
)
.
replace
(
' '
,
''
)
.
split
(
','
)
VNC_PORT_RANGE
=
(
int
(
first
),
int
(
last
))
# inclusive start, exclusive end
graphite_host
=
environ
.
get
(
"GRAPHITE_HOST"
,
None
)
graphite_host
=
environ
.
get
(
"GRAPHITE_HOST"
,
None
)
graphite_port
=
environ
.
get
(
"GRAPHITE_PORT"
,
None
)
graphite_port
=
environ
.
get
(
"GRAPHITE_PORT"
,
None
)
if
graphite_host
and
graphite_port
:
if
graphite_host
and
graphite_port
:
...
...
circle/circle/urls.py
View file @
fddee865
...
@@ -88,3 +88,4 @@ if get_env_variable('DJANGO_SAML', 'FALSE') == 'TRUE':
...
@@ -88,3 +88,4 @@ if get_env_variable('DJANGO_SAML', 'FALSE') == 'TRUE':
)
)
handler500
=
'common.views.handler500'
handler500
=
'common.views.handler500'
handler403
=
'common.views.handler403'
circle/common/backends.py
0 → 100644
View file @
fddee865
# -*- coding: utf-8 -*-
# Copyright 2014 Budapest University of Technology and Economics (BME IK)
#
# This file is part of CIRCLE Cloud.
#
# CIRCLE is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option)
# any later version.
#
# CIRCLE is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along
# with CIRCLE. If not, see <http://www.gnu.org/licenses/>.
import
re
from
djangosaml2.backends
import
Saml2Backend
as
Saml2BackendBase
class
Saml2Backend
(
Saml2BackendBase
):
u"""
>>> b = Saml2Backend()
>>> b.clean_user_main_attribute(u'Ékezetes Enikő')
u'+00c9kezetes+0020Enik+0151'
>>> b.clean_user_main_attribute(u'Cé++')
u'C+00e9+002b+002b'
>>> b.clean_user_main_attribute(u'test')
u'test'
>>> b.clean_user_main_attribute(u'3+4')
u'3+002b4'
"""
def
clean_user_main_attribute
(
self
,
main_attribute
):
def
replace
(
match
):
match
=
match
.
group
()
return
'+
%04
x'
%
ord
(
match
)
if
isinstance
(
main_attribute
,
str
):
main_attribute
=
main_attribute
.
decode
(
'UTF-8'
)
assert
isinstance
(
main_attribute
,
unicode
)
return
re
.
sub
(
r'[^\w.@-]'
,
replace
,
main_attribute
)
def
_set_attribute
(
self
,
obj
,
attr
,
value
):
if
attr
==
'username'
:
value
=
self
.
clean_user_main_attribute
(
value
)
return
super
(
Saml2Backend
,
self
)
.
_set_attribute
(
obj
,
attr
,
value
)
circle/common/operations.py
View file @
fddee865
...
@@ -170,8 +170,8 @@ class Operation(object):
...
@@ -170,8 +170,8 @@ class Operation(object):
raise
ImproperlyConfigured
(
raise
ImproperlyConfigured
(
"Set required_perms to () if none needed."
)
"Set required_perms to () if none needed."
)
if
not
user
.
has_perms
(
cls
.
required_perms
):
if
not
user
.
has_perms
(
cls
.
required_perms
):
raise
PermissionDenied
(
"
%
s doesn't have the required permissions."
raise
PermissionDenied
(
%
user
)
u"
%
s doesn't have the required permissions."
%
user
)
if
cls
.
superuser_required
and
not
user
.
is_superuser
:
if
cls
.
superuser_required
and
not
user
.
is_superuser
:
raise
humanize_exception
(
ugettext_noop
(
raise
humanize_exception
(
ugettext_noop
(
"Superuser privileges are required."
),
PermissionDenied
())
"Superuser privileges are required."
),
PermissionDenied
())
...
...
circle/common/views.py
View file @
fddee865
...
@@ -19,32 +19,42 @@ from sys import exc_info
...
@@ -19,32 +19,42 @@ from sys import exc_info
import
logging
import
logging
from
django.template
import
RequestContext
from
django.shortcuts
import
render_to_response
from
django.shortcuts
import
render_to_response
from
django.template
import
RequestContext
from
.models
import
HumanReadableException
from
.models
import
HumanReadableException
logger
=
logging
.
getLogger
(
__name__
)
logger
=
logging
.
getLogger
(
__name__
)
def
handler500
(
request
):
def
get_context
(
request
,
exception
):
cls
,
exception
,
traceback
=
exc_info
()
logger
.
exception
(
"unhandled exception"
)
ctx
=
{}
ctx
=
{}
if
is
instance
(
exception
,
HumanReadableException
):
if
is
subclass
(
exception
.
__class__
,
HumanReadableException
):
try
:
try
:
ctx
[
'error'
]
=
exception
.
get_user_text
()
if
request
.
user
.
is_superuser
:
except
:
pass
else
:
try
:
if
request
.
user
.
is_superuser
():
ctx
[
'error'
]
=
exception
.
get_admin_text
()
ctx
[
'error'
]
=
exception
.
get_admin_text
()
else
:
ctx
[
'error'
]
=
exception
.
get_user_text
()
except
:
except
:
pass
pass
return
ctx
def
handler500
(
request
):
cls
,
exception
,
traceback
=
exc_info
()
logger
.
exception
(
"unhandled exception"
)
ctx
=
get_context
(
request
,
exception
)
try
:
try
:
resp
=
render_to_response
(
"500.html"
,
ctx
,
RequestContext
(
request
))
resp
=
render_to_response
(
"500.html"
,
ctx
,
RequestContext
(
request
))
except
:
except
:
resp
=
render_to_response
(
"500.html"
,
ctx
)
resp
=
render_to_response
(
"500.html"
,
ctx
)
resp
.
status_code
=
500
resp
.
status_code
=
500
return
resp
return
resp
def
handler403
(
request
):
cls
,
exception
,
traceback
=
exc_info
()
ctx
=
get_context
(
request
,
exception
)
resp
=
render_to_response
(
"403.html"
,
ctx
)
resp
.
status_code
=
403
return
resp
circle/dashboard/models.py
View file @
fddee865
...
@@ -309,7 +309,7 @@ if hasattr(settings, 'SAML_ORG_ID_ATTRIBUTE'):
...
@@ -309,7 +309,7 @@ if hasattr(settings, 'SAML_ORG_ID_ATTRIBUTE'):
attributes
=
kwargs
.
pop
(
'attributes'
)
attributes
=
kwargs
.
pop
(
'attributes'
)
atr
=
settings
.
SAML_ORG_ID_ATTRIBUTE
atr
=
settings
.
SAML_ORG_ID_ATTRIBUTE
try
:
try
:
value
=
attributes
[
atr
][
0
]
value
=
attributes
[
atr
][
0
]
.
upper
()
except
Exception
as
e
:
except
Exception
as
e
:
value
=
None
value
=
None
logger
.
info
(
"save_org_id couldn't find attribute.
%
s"
,
unicode
(
e
))
logger
.
info
(
"save_org_id couldn't find attribute.
%
s"
,
unicode
(
e
))
...
@@ -339,7 +339,7 @@ if hasattr(settings, 'SAML_ORG_ID_ATTRIBUTE'):
...
@@ -339,7 +339,7 @@ if hasattr(settings, 'SAML_ORG_ID_ATTRIBUTE'):
group
,
unicode
(
g
))
group
,
unicode
(
g
))
g
.
user_set
.
add
(
sender
)
g
.
user_set
.
add
(
sender
)
for
i
in
FutureMember
.
objects
.
filter
(
org_id
=
value
):
for
i
in
FutureMember
.
objects
.
filter
(
org_id
__iexact
=
value
):
i
.
group
.
user_set
.
add
(
sender
)
i
.
group
.
user_set
.
add
(
sender
)
i
.
delete
()
i
.
delete
()
...
...
circle/dashboard/templates/dashboard/_vm-renew.html
View file @
fddee865
...
@@ -8,11 +8,13 @@
...
@@ -8,11 +8,13 @@
<a
class=
"btn btn-default"
href=
"{{object.get_absolute_url}}"
data-dismiss=
"modal"
>
<a
class=
"btn btn-default"
href=
"{{object.get_absolute_url}}"
data-dismiss=
"modal"
>
{% trans "Cancel" %}
{% trans "Cancel" %}
</a>
</a>
{% if lease_types %}
<a
class=
"btn btn-primary"
id=
"vm-renew-request-lease-button"
<a
class=
"btn btn-primary"
id=
"vm-renew-request-lease-button"
href=
"{% url "
request
.
views
.
request-lease
"
vm_pk=
object.pk
%}"
>
href=
"{% url "
request
.
views
.
request-lease
"
vm_pk=
object.pk
%}"
>
<i
class=
"fa fa-forward"
></i>
<i
class=
"fa fa-forward"
></i>
{% trans "Request longer lease" %}
{% trans "Request longer lease" %}
</a>
</a>
{% endif %}
<button
class=
"btn btn-{{ opview.effect }} btn-op-form-send"
type=
"submit"
id=
"op-form-send"
>
<button
class=
"btn btn-{{ opview.effect }} btn-op-form-send"
type=
"submit"
id=
"op-form-send"
>
{% if opview.icon %}
<i
class=
"fa fa-fw fa-{{opview.icon}}"
></i>
{% endif %}{{ op.name|capfirst }}
{% if opview.icon %}
<i
class=
"fa fa-fw fa-{{opview.icon}}"
></i>
{% endif %}{{ op.name|capfirst }}
</button>
</button>
...
...
circle/dashboard/templates/dashboard/vm-detail/resources.html
View file @
fddee865
...
@@ -13,11 +13,11 @@
...
@@ -13,11 +13,11 @@
{% if op.resources_change %}
{% if op.resources_change %}
<button
type=
"submit"
class=
"btn btn-success btn-sm change-resources-button"
<button
type=
"submit"
class=
"btn btn-success btn-sm change-resources-button"
id=
"vm-details-resources-save"
data-vm=
"{{ instance.pk }}"
id=
"vm-details-resources-save"
data-vm=
"{{ instance.pk }}"
{%
if
op
.
resources_change
.
dis
abled
%}
disabled
{%
endif
%}
>
{%
if
not
save_resources_en
abled
%}
disabled
{%
endif
%}
>
<i
class=
"fa fa-floppy-o"
></i>
{% trans "Save resources" %}
<i
class=
"fa fa-floppy-o"
></i>
{% trans "Save resources" %}
</button>
</button>
<span
class=
"change-resources-help"
<span
class=
"change-resources-help"
{%
if
not
op
.
resources_change
.
dis
abled
%}
style=
"display: none;"
{%
endif
%}
>
{%
if
save_resources_en
abled
%}
style=
"display: none;"
{%
endif
%}
>
{% trans "Stop your VM to change resources." %}
{% trans "Stop your VM to change resources." %}
</span>
</span>
{% else %}
{% else %}
...
...
circle/dashboard/views/group.py
View file @
fddee865
...
@@ -146,7 +146,7 @@ class GroupDetailView(CheckedDetailView):
...
@@ -146,7 +146,7 @@ class GroupDetailView(CheckedDetailView):
self
.
object
.
user_set
.
add
(
entity
)
self
.
object
.
user_set
.
add
(
entity
)
except
User
.
DoesNotExist
:
except
User
.
DoesNotExist
:
if
saml_available
:
if
saml_available
:
FutureMember
.
objects
.
get_or_create
(
org_id
=
name
,
FutureMember
.
objects
.
get_or_create
(
org_id
=
name
.
upper
()
,
group
=
self
.
object
)
group
=
self
.
object
)
else
:
else
:
messages
.
warning
(
request
,
_
(
'User "
%
s" not found.'
)
%
name
)
messages
.
warning
(
request
,
_
(
'User "
%
s" not found.'
)
%
name
)
...
...
circle/dashboard/views/util.py
View file @
fddee865
...
@@ -70,7 +70,7 @@ def search_user(keyword):
...
@@ -70,7 +70,7 @@ def search_user(keyword):
return
User
.
objects
.
get
(
username
=
keyword
)
return
User
.
objects
.
get
(
username
=
keyword
)
except
User
.
DoesNotExist
:
except
User
.
DoesNotExist
:
try
:
try
:
return
User
.
objects
.
get
(
profile__org_id
=
keyword
)
return
User
.
objects
.
get
(
profile__org_id
__iexact
=
keyword
)
except
User
.
DoesNotExist
:
except
User
.
DoesNotExist
:
return
User
.
objects
.
get
(
email
=
keyword
)
return
User
.
objects
.
get
(
email
=
keyword
)
...
...
circle/dashboard/views/vm.py
View file @
fddee865
...
@@ -66,7 +66,7 @@ from ..forms import (
...
@@ -66,7 +66,7 @@ from ..forms import (
VmPortRemoveForm
,
VmPortAddForm
,
VmPortRemoveForm
,
VmPortAddForm
,
VmRemoveInterfaceForm
,
VmRemoveInterfaceForm
,
)
)
from
request.models
import
TemplateAccessType
from
request.models
import
TemplateAccessType
,
LeaseType
from
request.forms
import
LeaseRequestForm
,
TemplateRequestForm
from
request.forms
import
LeaseRequestForm
,
TemplateRequestForm
from
..models
import
Favourite
from
..models
import
Favourite
from
manager.scheduler
import
has_traits
from
manager.scheduler
import
has_traits
...
@@ -173,6 +173,10 @@ class VmDetailView(GraphMixin, CheckedDetailView):
...
@@ -173,6 +173,10 @@ class VmDetailView(GraphMixin, CheckedDetailView):
context
[
'is_operator'
]
=
is_operator
context
[
'is_operator'
]
=
is_operator
context
[
'is_owner'
]
=
is_owner
context
[
'is_owner'
]
=
is_owner
# operation also allows RUNNING (if with_shutdown is present)
context
[
'save_resources_enabled'
]
=
instance
.
status
not
in
(
"RUNNING"
,
"PENDING"
)
return
context
return
context
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
...
@@ -681,6 +685,7 @@ class VmRenewView(FormOperationMixin, TokenOperationView, VmOperationView):
...
@@ -681,6 +685,7 @@ class VmRenewView(FormOperationMixin, TokenOperationView, VmOperationView):
def
get_context_data
(
self
,
**
kwargs
):
def
get_context_data
(
self
,
**
kwargs
):
context
=
super
(
VmRenewView
,
self
)
.
get_context_data
(
**
kwargs
)
context
=
super
(
VmRenewView
,
self
)
.
get_context_data
(
**
kwargs
)
context
[
'lease_request_form'
]
=
LeaseRequestForm
(
request
=
self
.
request
)
context
[
'lease_request_form'
]
=
LeaseRequestForm
(
request
=
self
.
request
)
context
[
'lease_types'
]
=
LeaseType
.
objects
.
exists
()
return
context
return
context
...
...
circle/locale/hu/LC_MESSAGES/django.po
View file @
fddee865
...
@@ -6,9 +6,9 @@ msgid ""
...
@@ -6,9 +6,9 @@ msgid ""
msgstr ""
msgstr ""
"Project-Id-Version: \n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-0
3-30 10:4
6+0200\n"
"POT-Creation-Date: 2015-0
4-20 13:1
6+0200\n"
"PO-Revision-Date: 2015-0
3-30 12:58
+0116\n"
"PO-Revision-Date: 2015-0
4-20 13:31
+0116\n"
"Last-Translator:
Elek Elekebb EEeee <viktorvector@gmail.com
>\n"
"Last-Translator:
Test Viktor <kviktor@cloud.bme.hu
>\n"
"Language-Team: Hungarian <cloud@ik.bme.hu>\n"
"Language-Team: Hungarian <cloud@ik.bme.hu>\n"
"MIME-Version: 1.0\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
...
@@ -32,7 +32,6 @@ msgstr "Hiba."
...
@@ -32,7 +32,6 @@ msgstr "Hiba."
#: common/models.py:72
#: common/models.py:72
#, python-format
#, python-format
#| msgid "Unhandled exception: %(error)s"
msgid "Unhandled exception: %(e)s: %(error)s"
msgid "Unhandled exception: %(e)s: %(error)s"
msgstr "Kezeletlen kivétel: %(e)s: %(error)s"
msgstr "Kezeletlen kivétel: %(e)s: %(error)s"
...
@@ -59,7 +58,7 @@ msgstr "feladat uuid"
...
@@ -59,7 +58,7 @@ msgstr "feladat uuid"
#: common/models.py:158
#: common/models.py:158
#: dashboard/templates/dashboard/instanceactivity_detail.html:37
#: dashboard/templates/dashboard/instanceactivity_detail.html:37
#: firewall/models.py:284 request/models.py:22
3
vm/models/common.py:84
#: firewall/models.py:284 request/models.py:22
6
vm/models/common.py:84
#: vm/models/instance.py:130 vm/models/instance.py:211
#: vm/models/instance.py:130 vm/models/instance.py:211
msgid "user"
msgid "user"
msgstr "felhasználó"
msgstr "felhasználó"
...
@@ -139,8 +138,8 @@ msgstr "szerver"
...
@@ -139,8 +138,8 @@ msgstr "szerver"
msgid "realtime"
msgid "realtime"
msgstr "valós idejű"
msgstr "valós idejű"
#: dashboard/forms.py:93 dashboard/forms.py:81
0 dashboard/forms.py:900
#: dashboard/forms.py:93 dashboard/forms.py:81
1 dashboard/forms.py:901
#: dashboard/forms.py:135
1
dashboard/tables.py:270
#: dashboard/forms.py:135
2
dashboard/tables.py:270
#: dashboard/templates/dashboard/_vm-create-2.html:20
#: dashboard/templates/dashboard/_vm-create-2.html:20
#: dashboard/templates/dashboard/vm-detail/home.html:9
#: dashboard/templates/dashboard/vm-detail/home.html:9
#: dashboard/templates/dashboard/vm-list.html:62 firewall/models.py:296
#: dashboard/templates/dashboard/vm-list.html:62 firewall/models.py:296
...
@@ -201,10 +200,10 @@ msgstr ""
...
@@ -201,10 +200,10 @@ msgstr ""
msgid "Create"
msgid "Create"
msgstr "Létrehozás"
msgstr "Létrehozás"
#: dashboard/forms.py:282 dashboard/forms.py:123
1 dashboard/forms.py:1248
#: dashboard/forms.py:282 dashboard/forms.py:123
2 dashboard/forms.py:1249
#: dashboard/forms.py:128
3 dashboard/forms.py:1321 dashboard/forms.py:1364
#: dashboard/forms.py:128
4 dashboard/forms.py:1322 dashboard/forms.py:1365
#: dashboard/forms.py:140
5 dashboard/forms.py:1425 dashboard/forms.py:1488
#: dashboard/forms.py:140
6 dashboard/forms.py:1426 dashboard/forms.py:1489
#: dashboard/forms.py:160
0
#: dashboard/forms.py:160
1
#: dashboard/templates/dashboard/_manage_access.html:73
#: dashboard/templates/dashboard/_manage_access.html:73
#: dashboard/templates/dashboard/connect-command-create.html:37
#: dashboard/templates/dashboard/connect-command-create.html:37
#: dashboard/templates/dashboard/connect-command-edit.html:37
#: dashboard/templates/dashboard/connect-command-edit.html:37
...
@@ -212,20 +211,20 @@ msgstr "Létrehozás"
...
@@ -212,20 +211,20 @@ msgstr "Létrehozás"
#: dashboard/templates/dashboard/lease-edit.html:96
#: dashboard/templates/dashboard/lease-edit.html:96
#: dashboard/templates/dashboard/template-tx-owner.html:12
#: dashboard/templates/dashboard/template-tx-owner.html:12
#: dashboard/templates/dashboard/vm-detail/tx-owner.html:12
#: dashboard/templates/dashboard/vm-detail/tx-owner.html:12
#: network/forms.py:8
6 network/forms.py:100 network/forms.py:122
#: network/forms.py:8
8 network/forms.py:103 network/forms.py:126
#: network/forms.py:16
2 network/forms.py:187 network/forms.py:22
6
#: network/forms.py:16
7 network/forms.py:195 network/forms.py:23
6
#: network/forms.py:2
47 network/forms.py:298 network/forms.py:323
#: network/forms.py:2
61 network/forms.py:313 network/forms.py:342
#: request/forms.py:38 request/forms.py:54
#: request/forms.py:38 request/forms.py:54
msgid "Save"
msgid "Save"
msgstr "Mentés"
msgstr "Mentés"
#: dashboard/forms.py:312 dashboard/forms.py:102
8
#: dashboard/forms.py:312 dashboard/forms.py:102
9
#: dashboard/templates/dashboard/_vm-remove-port.html:15
#: dashboard/templates/dashboard/_vm-remove-port.html:15
#: dashboard/templates/dashboard/vm-detail.html:102 network/views.py:659
#: dashboard/templates/dashboard/vm-detail.html:102 network/views.py:659
msgid "Host"
msgid "Host"
msgstr "Gép"
msgstr "Gép"
#: dashboard/forms.py:383 dashboard/forms.py:78
1 dashboard/forms.py:991
#: dashboard/forms.py:383 dashboard/forms.py:78
2 dashboard/forms.py:992
#: dashboard/templates/dashboard/node-detail.html:5
#: dashboard/templates/dashboard/node-detail.html:5
#: dashboard/templates/dashboard/vm-detail/home.html:118
#: dashboard/templates/dashboard/vm-detail/home.html:118
#: dashboard/templates/dashboard/vm-list.html:87
#: dashboard/templates/dashboard/vm-list.html:87
...
@@ -265,24 +264,24 @@ msgstr "Törlés ideje"
...
@@ -265,24 +264,24 @@ msgstr "Törlés ideje"
msgid "Save changes"
msgid "Save changes"
msgstr "Változások mentése"
msgstr "Változások mentése"
#: dashboard/forms.py:74
7
#: dashboard/forms.py:74
8
msgid "Set expiration times even if they are shorter than the current value."
msgid "Set expiration times even if they are shorter than the current value."
msgstr ""
msgstr ""
"Akkor is állítsa át a lejárati időket, ha rövidebbek lesznek a jelenleginél."
"Akkor is állítsa át a lejárati időket, ha rövidebbek lesznek a jelenleginél."
#: dashboard/forms.py:75
0
#: dashboard/forms.py:75
1
msgid "Save selected lease."
msgid "Save selected lease."
msgstr "Kiválasztott bérlet mentése."
msgstr "Kiválasztott bérlet mentése."
#: dashboard/forms.py:7
59
#: dashboard/forms.py:7
60
msgid "Length"
msgid "Length"
msgstr "Hossz"
msgstr "Hossz"
#: dashboard/forms.py:76
7
#: dashboard/forms.py:76
8
msgid "Live migration"
msgid "Live migration"
msgstr "Live migration"
msgstr "Live migration"
#: dashboard/forms.py:7
69
#: dashboard/forms.py:7
70
msgid ""
msgid ""
"Live migration is a way of moving virtual machines between hosts with a "
"Live migration is a way of moving virtual machines between hosts with a "
"service interruption of at most some seconds. Please note that it can take "
"service interruption of at most some seconds. Please note that it can take "
...
@@ -293,195 +292,195 @@ msgstr ""
...
@@ -293,195 +292,195 @@ msgstr ""
"hogy ez terhelt gépek esetén sokáig tarthat és nagy hálózati forgalommal "
"hogy ez terhelt gépek esetén sokáig tarthat és nagy hálózati forgalommal "
"jár."
"jár."
#: dashboard/forms.py:78
7
#: dashboard/forms.py:78
8
msgid "Forcibly interrupt all running activities."
msgid "Forcibly interrupt all running activities."
msgstr "Futó tevékenységek erőltetett befejezése."
msgstr "Futó tevékenységek erőltetett befejezése."
#: dashboard/forms.py:78
8
#: dashboard/forms.py:78
9
msgid "Set all activities to finished state, but don't interrupt any tasks."
msgid "Set all activities to finished state, but don't interrupt any tasks."
msgstr ""
msgstr ""
"Minden tevékenység befejezettre állítása (a feladatok megszakítása nélkül)."
"Minden tevékenység befejezettre állítása (a feladatok megszakítása nélkül)."
#: dashboard/forms.py:79
1
#: dashboard/forms.py:79
2
msgid "New status"
msgid "New status"
msgstr "Új állapot"
msgstr "Új állapot"
#: dashboard/forms.py:79
2
#: dashboard/forms.py:79
3
msgid "Reset node"
msgid "Reset node"
msgstr "Csomópont visszaállítása"
msgstr "Csomópont visszaállítása"
#: dashboard/forms.py:80
6
#: dashboard/forms.py:80
7
msgid "use emergency state change"
msgid "use emergency state change"
msgstr "vész-állapotváltás használata"
msgstr "vész-állapotváltás használata"
#: dashboard/forms.py:81
2 dashboard/forms.py:832
#: dashboard/forms.py:81
3 dashboard/forms.py:833
#: dashboard/templates/dashboard/store/_list-box.html:117
#: dashboard/templates/dashboard/store/_list-box.html:117
msgid "Size"
msgid "Size"
msgstr "Méret"
msgstr "Méret"
#: dashboard/forms.py:81
3
#: dashboard/forms.py:81
4
msgid "Size of disk to create in bytes or with units like MB or GB."
msgid "Size of disk to create in bytes or with units like MB or GB."
msgstr "Létrehozandó lemez mérete byte-okban vagy mértékegységgel (MB, GB)."
msgstr "Létrehozandó lemez mérete byte-okban vagy mértékegységgel (MB, GB)."
#: dashboard/forms.py:82
5 dashboard/forms.py:854
#: dashboard/forms.py:82
6 dashboard/forms.py:855
msgid "Invalid format, you can use GB or MB!"
msgid "Invalid format, you can use GB or MB!"
msgstr "Érvénytelen formátum. „GB” és „MB” is használható."
msgstr "Érvénytelen formátum. „GB” és „MB” is használható."
#: dashboard/forms.py:83
3
#: dashboard/forms.py:83
4
msgid "Size to resize the disk in bytes or with units like MB or GB."
msgid "Size to resize the disk in bytes or with units like MB or GB."
msgstr "A lemez kívánt mérete byte-okban vagy mértékegységgel (MB, GB)."
msgstr "A lemez kívánt mérete byte-okban vagy mértékegységgel (MB, GB)."
#: dashboard/forms.py:84
4 dashboard/forms.py:880
#: dashboard/forms.py:84
5 dashboard/forms.py:881
#: dashboard/templates/dashboard/storage/disk.html:7
#: dashboard/templates/dashboard/storage/disk.html:7
#: dashboard/templates/dashboard/storage/disk.html:24
#: dashboard/templates/dashboard/storage/disk.html:24
msgid "Disk"
msgid "Disk"
msgstr "Lemez"
msgstr "Lemez"
#: dashboard/forms.py:85
7
#: dashboard/forms.py:85
8
msgid "Disk size must be greater than the actual size."
msgid "Disk size must be greater than the actual size."
msgstr "A lemez mérete nagyobb kell legyen a jelenleginél."
msgstr "A lemez mérete nagyobb kell legyen a jelenleginél."
#: dashboard/forms.py:86
6 dashboard/forms.py:891
#: dashboard/forms.py:86
7 dashboard/forms.py:892
#, python-format
#, python-format
msgid "<label>Disk:</label> %s"
msgid "<label>Disk:</label> %s"
msgstr "<label>Lemez:</label> %s"
msgstr "<label>Lemez:</label> %s"
#: dashboard/forms.py:90
1
#: dashboard/forms.py:90
2
msgid "URL"
msgid "URL"
msgstr "URL"
msgstr "URL"
#: dashboard/forms.py:91
1
#: dashboard/forms.py:91
2
msgid "Could not find filename in URL, please specify a name explicitly."
msgid "Could not find filename in URL, please specify a name explicitly."
msgstr "Az URL-ben nem található fájlnév. Kérem adja meg explicite."
msgstr "Az URL-ben nem található fájlnév. Kérem adja meg explicite."
#: dashboard/forms.py:92
5
#: dashboard/forms.py:92
6
msgid "Interface"
msgid "Interface"
msgstr "Interfészek"
msgstr "Interfészek"
#: dashboard/forms.py:93
7
#: dashboard/forms.py:93
8
#, python-brace-format
#, python-brace-format
msgid "<label>Vlan:</label> {0}"
msgid "<label>Vlan:</label> {0}"
msgstr "<label>Vlan:</label> {0}"
msgstr "<label>Vlan:</label> {0}"
#: dashboard/forms.py:95
2
#: dashboard/forms.py:95
3
#: dashboard/templates/dashboard/_vm-remove-port.html:17
#: dashboard/templates/dashboard/_vm-remove-port.html:17
#: dashboard/templates/dashboard/node-detail/resources.html:28
#: dashboard/templates/dashboard/node-detail/resources.html:28
#: network/views.py:658
#: network/views.py:658
msgid "Vlan"
msgid "Vlan"
msgstr "Vlan"
msgstr "Vlan"
#: dashboard/forms.py:95
5
#: dashboard/forms.py:95
6
msgid "No more networks."
msgid "No more networks."
msgstr "Nincs több hálózat."
msgstr "Nincs több hálózat."
#: dashboard/forms.py:97
6
#: dashboard/forms.py:97
7
#, python-format
#, python-format
msgid " (missing_traits: %s)"
msgid " (missing_traits: %s)"
msgstr "(hiányzó jellemzők: %s)"
msgstr "(hiányzó jellemzők: %s)"
#: dashboard/forms.py:99
2
#: dashboard/forms.py:99
3
msgid ""
msgid ""
"Deploy virtual machine to this node (blank allows scheduling automatically)."
"Deploy virtual machine to this node (blank allows scheduling automatically)."
msgstr ""
msgstr ""
"A virtuális gép elindítása ezen a csomóponton (üresen hagyva automatikus "
"A virtuális gép elindítása ezen a csomóponton (üresen hagyva automatikus "
"ütemezés)."
"ütemezés)."
#: dashboard/forms.py:10
09 dashboard/forms.py:1015
#: dashboard/forms.py:10
10 dashboard/forms.py:1016
#: dashboard/templates/dashboard/_vm-remove-port.html:13
#: dashboard/templates/dashboard/_vm-remove-port.html:13
msgid "Port"
msgid "Port"
msgstr "Port"
msgstr "Port"
#: dashboard/forms.py:101
8
dashboard/templates/dashboard/vm-detail.html:100
#: dashboard/forms.py:101
9
dashboard/templates/dashboard/vm-detail.html:100
msgid "Protocol"
msgid "Protocol"
msgstr "Protokoll"
msgstr "Protokoll"
#: dashboard/forms.py:104
0
#: dashboard/forms.py:104
1
#, python-brace-format
#, python-brace-format
msgid "<label>Host:</label> {0}"
msgid "<label>Host:</label> {0}"
msgstr "<label>Gép:</label> {0}"
msgstr "<label>Gép:</label> {0}"
#: dashboard/forms.py:106
8 dashboard/templates/dashboard/profile.html:36
#: dashboard/forms.py:106
9 dashboard/templates/dashboard/profile.html:37
#: dashboard/templates/dashboard/vm-detail.html:118
#: dashboard/templates/dashboard/vm-detail.html:118
msgid "Username"
msgid "Username"
msgstr "Felhasználónév"
msgstr "Felhasználónév"
#: dashboard/forms.py:108
2
dashboard/templates/dashboard/vm-detail.html:120
#: dashboard/forms.py:108
3
dashboard/templates/dashboard/vm-detail.html:120
msgid "Password"
msgid "Password"
msgstr "Jelszó"
msgstr "Jelszó"
#: dashboard/forms.py:108
7
#: dashboard/forms.py:108
8
msgid "Sign in"
msgid "Sign in"
msgstr "Bejelentkezés"
msgstr "Bejelentkezés"
#: dashboard/forms.py:111
0 dashboard/templates/dashboard/profile.html:42
#: dashboard/forms.py:111
1 dashboard/templates/dashboard/profile.html:43
msgid "Email address"
msgid "Email address"
msgstr "E-mail cím"
msgstr "E-mail cím"
#: dashboard/forms.py:111
5
#: dashboard/forms.py:111
6
msgid "Reset password"
msgid "Reset password"
msgstr "Új jelszó"
msgstr "Új jelszó"
#: dashboard/forms.py:113
1 dashboard/forms.py:1257
#: dashboard/forms.py:113
2 dashboard/forms.py:1258
msgid "Change password"
msgid "Change password"
msgstr "Jelszóváltoztatás"
msgstr "Jelszóváltoztatás"
#: dashboard/forms.py:120
3
#: dashboard/forms.py:120
4
msgid "Add trait"
msgid "Add trait"
msgstr "Jellemző hozzáadása"
msgstr "Jellemző hozzáadása"
#: dashboard/forms.py:122
0
#: dashboard/forms.py:122
1
msgid "Preferred language"
msgid "Preferred language"
msgstr "Választott nyelv"
msgstr "Választott nyelv"
#: dashboard/forms.py:127
2
dashboard/templates/dashboard/group-list.html:14
#: dashboard/forms.py:127
3
dashboard/templates/dashboard/group-list.html:14
#: dashboard/templates/dashboard/index-groups.html:7
#: dashboard/templates/dashboard/index-groups.html:7
#: dashboard/templates/dashboard/profile.html:6
0
#: dashboard/templates/dashboard/profile.html:6
2
#: dashboard/templates/dashboard/vm-detail/network.html:40
#: dashboard/templates/dashboard/vm-detail/network.html:40
#: network/templates/network/host-edit.html:32 templates/info/help.html:192
#: network/templates/network/host-edit.html:32 templates/info/help.html:192
msgid "Groups"
msgid "Groups"
msgstr "Csoportok"
msgstr "Csoportok"
#: dashboard/forms.py:129
8
#: dashboard/forms.py:129
9
msgid "Instance limit"
msgid "Instance limit"
msgstr "Példány limit"
msgstr "Példány limit"
#: dashboard/forms.py:132
8
dashboard/templates/dashboard/lease-edit.html:86
#: dashboard/forms.py:132
9
dashboard/templates/dashboard/lease-edit.html:86
msgid "Name of group or user"
msgid "Name of group or user"
msgstr "Csoport vagy felhasználó neve"
msgstr "Csoport vagy felhasználó neve"
#: dashboard/forms.py:133
6 dashboard/forms.py:1345
#: dashboard/forms.py:133
7 dashboard/forms.py:1346
msgid "Name of user"
msgid "Name of user"
msgstr "Felhasználó neve"
msgstr "Felhasználó neve"
#: dashboard/forms.py:133
8 dashboard/forms.py:1347
#: dashboard/forms.py:133
9 dashboard/forms.py:1348
msgid "E-mail address or identifier of user"
msgid "E-mail address or identifier of user"
msgstr "A felhasználó e-mail címe vagy azonosítója"
msgstr "A felhasználó e-mail címe vagy azonosítója"
#: dashboard/forms.py:135
3
#: dashboard/forms.py:135
4
msgid "Key"
msgid "Key"
msgstr "Kulcs"
msgstr "Kulcs"
#: dashboard/forms.py:135
4
#: dashboard/forms.py:135
5
msgid "For example: ssh-rsa AAAAB3NzaC1yc2ED..."
msgid "For example: ssh-rsa AAAAB3NzaC1yc2ED..."
msgstr "Például: ssh-rsa AAAAB3NzaC1yc2ED…"
msgstr "Például: ssh-rsa AAAAB3NzaC1yc2ED…"
#: dashboard/forms.py:143
4
#: dashboard/forms.py:143
5
msgid "permissions"
msgid "permissions"
msgstr "jogosultságok"
msgstr "jogosultságok"
#: dashboard/forms.py:153
1
#: dashboard/forms.py:153
2
msgid "owned"
msgid "owned"
msgstr "saját"
msgstr "saját"
#: dashboard/forms.py:153
2
#: dashboard/forms.py:153
3
msgid "shared"
msgid "shared"
msgstr "osztott"
msgstr "osztott"
#: dashboard/forms.py:153
3
#: dashboard/forms.py:153
4
msgid "all"
msgid "all"
msgstr "összes"
msgstr "összes"
#: dashboard/forms.py:154
0 dashboard/forms.py:1564 dashboard/forms.py:1583
#: dashboard/forms.py:154
1 dashboard/forms.py:1565 dashboard/forms.py:1584
#: dashboard/templates/dashboard/index-groups.html:23
#: dashboard/templates/dashboard/index-groups.html:23
#: dashboard/templates/dashboard/index-nodes.html:40
#: dashboard/templates/dashboard/index-nodes.html:40
#: dashboard/templates/dashboard/index-templates.html:40
#: dashboard/templates/dashboard/index-templates.html:40
...
@@ -594,7 +593,7 @@ msgstr "Lemezkvóta mebibyte-okban."
...
@@ -594,7 +593,7 @@ msgstr "Lemezkvóta mebibyte-okban."
msgid "Can use autocomplete."
msgid "Can use autocomplete."
msgstr "Használhat automatikus kiegészítést."
msgstr "Használhat automatikus kiegészítést."
#: dashboard/models.py:245 firewall/models.py:285 request/models.py:22
4
#: dashboard/models.py:245 firewall/models.py:285 request/models.py:22
7
#: vm/models/common.py:85 vm/models/instance.py:131 vm/models/instance.py:212
#: vm/models/common.py:85 vm/models/instance.py:131 vm/models/instance.py:212
msgid "operator"
msgid "operator"
msgstr "operátor"
msgstr "operátor"
...
@@ -665,7 +664,7 @@ msgstr "Adminisztráció"
...
@@ -665,7 +664,7 @@ msgstr "Adminisztráció"
msgid "Actions"
msgid "Actions"
msgstr "Műveletek"
msgstr "Műveletek"
#: dashboard/tables.py:164 dashboard/templates/dashboard/profile.html:3
7
#: dashboard/tables.py:164 dashboard/templates/dashboard/profile.html:3
8
msgid "Organization ID"
msgid "Organization ID"
msgstr "Címtári azonosító"
msgstr "Címtári azonosító"
...
@@ -975,7 +974,7 @@ msgstr "Lemezek"
...
@@ -975,7 +974,7 @@ msgstr "Lemezek"
#: dashboard/templates/dashboard/base.html:40
#: dashboard/templates/dashboard/base.html:40
#: dashboard/templates/dashboard/vm-detail.html:214
#: dashboard/templates/dashboard/vm-detail.html:214
#: dashboard/views/graph.py:198 dashboard/views/graph.py:221
#: dashboard/views/graph.py:198 dashboard/views/graph.py:221
#: network/forms.py:14
2
network/templates/network/base.html:7
#: network/forms.py:14
7
network/templates/network/base.html:7
msgid "Network"
msgid "Network"
msgstr "Hálózat"
msgstr "Hálózat"
...
@@ -1002,7 +1001,6 @@ msgstr ""
...
@@ -1002,7 +1001,6 @@ msgstr ""
"Még nem tud virtuális gépet indítani, mivel egy sablonhoz sincs hozzáférése."
"Még nem tud virtuális gépet indítani, mivel egy sablonhoz sincs hozzáférése."
#: dashboard/templates/dashboard/_vm-create-1.html:85
#: dashboard/templates/dashboard/_vm-create-1.html:85
#| msgid " new virtual machines because no templates are shared with ."
msgid ""
msgid ""
"You can't start new virtual machines because no templates are shared with "
"You can't start new virtual machines because no templates are shared with "
"you however you can request them via the form below."
"you however you can request them via the form below."
...
@@ -1012,7 +1010,6 @@ msgstr ""
...
@@ -1012,7 +1010,6 @@ msgstr ""
#: dashboard/templates/dashboard/_vm-create-1.html:96
#: dashboard/templates/dashboard/_vm-create-1.html:96
#, python-format
#, python-format
#| msgid " owner of this template is <a href=\"%(url)s\">ame)s er)s)</a>.\n"
msgid ""
msgid ""
"\n"
"\n"
" Need other templates? Submit a new <a href=\"%(url)s\">request</a>.\n"
" Need other templates? Submit a new <a href=\"%(url)s\">request</a>.\n"
...
@@ -1083,7 +1080,7 @@ msgstr "Csomópontjellemzők"
...
@@ -1083,7 +1080,7 @@ msgstr "Csomópontjellemzők"
msgid "Required traits"
msgid "Required traits"
msgstr "Elvárt jellemzők"
msgstr "Elvárt jellemzők"
#: dashboard/templates/dashboard/_vm-renew.html:1
4
#: dashboard/templates/dashboard/_vm-renew.html:1
5
msgid "Request longer lease"
msgid "Request longer lease"
msgstr "Hosszabb bérlet igénylése"
msgstr "Hosszabb bérlet igénylése"
...
@@ -1108,7 +1105,6 @@ msgstr "Tárhely"
...
@@ -1108,7 +1105,6 @@ msgstr "Tárhely"
#: dashboard/templates/dashboard/base.html:46
#: dashboard/templates/dashboard/base.html:46
#: request/templates/request/list.html:6
#: request/templates/request/list.html:6
#: request/templates/request/list.html:17
#: request/templates/request/list.html:17
#| msgid "Required traits"
msgid "Requests"
msgid "Requests"
msgstr "Igénylések"
msgstr "Igénylések"
...
@@ -1242,13 +1238,13 @@ msgstr "Parancssablon létrehozása"
...
@@ -1242,13 +1238,13 @@ msgstr "Parancssablon létrehozása"
#: dashboard/templates/dashboard/connect-command-edit.html:13
#: dashboard/templates/dashboard/connect-command-edit.html:13
#: dashboard/templates/dashboard/lease-create.html:13
#: dashboard/templates/dashboard/lease-create.html:13
#: dashboard/templates/dashboard/lease-edit.html:12
#: dashboard/templates/dashboard/lease-edit.html:12
#: dashboard/templates/dashboard/profile.html:2
3
#: dashboard/templates/dashboard/profile.html:2
4
#: dashboard/templates/dashboard/template-edit.html:16
#: dashboard/templates/dashboard/template-edit.html:16
#: dashboard/templates/dashboard/userkey-create.html:13
#: dashboard/templates/dashboard/userkey-create.html:13
#: dashboard/templates/dashboard/userkey-edit.html:14 network/forms.py:65
#: dashboard/templates/dashboard/userkey-edit.html:14 network/forms.py:65
#: network/forms.py:8
7 network/forms.py:101 network/forms.py:123
#: network/forms.py:8
9 network/forms.py:104 network/forms.py:127
#: network/forms.py:16
3 network/forms.py:188 network/forms.py:22
7
#: network/forms.py:16
8 network/forms.py:196 network/forms.py:23
7
#: network/forms.py:2
48 network/forms.py:299 network/forms.py:324
#: network/forms.py:2
62 network/forms.py:314 network/forms.py:343
#: request/templates/request/detail.html:17
#: request/templates/request/detail.html:17
#: request/templates/request/lease-type-form.html:25
#: request/templates/request/lease-type-form.html:25
#: request/templates/request/template-type-form.html:25
#: request/templates/request/template-type-form.html:25
...
@@ -1792,61 +1788,66 @@ msgstr ""
...
@@ -1792,61 +1788,66 @@ msgstr ""
"Biztosan végrehajtja a(z) <strong>%(op)s</strong> műveletet\n"
"Biztosan végrehajtja a(z) <strong>%(op)s</strong> műveletet\n"
"a következőn: <a data-dismiss=\"modal\" href=\"%(url)s\">%(obj)s</a>?\n"
"a következőn: <a data-dismiss=\"modal\" href=\"%(url)s\">%(obj)s</a>?\n"
#: dashboard/templates/dashboard/profile.html:
6
#: dashboard/templates/dashboard/profile.html:
7
#: dashboard/templates/dashboard/profile_form.html:6
#: dashboard/templates/dashboard/profile_form.html:6
msgid "Profile"
msgid "Profile"
msgstr "Profil"
msgstr "Profil"
#: dashboard/templates/dashboard/profile.html:1
7
#: dashboard/templates/dashboard/profile.html:1
8
msgid "Log in as this user. Recommended to open in an incognito window."
msgid "Log in as this user. Recommended to open in an incognito window."
msgstr ""
msgstr ""
"Bejelentkezés a felhasználó nevében. Ajánlott inkognitóablakban megnyitni."
"Bejelentkezés a felhasználó nevében. Ajánlott inkognitóablakban megnyitni."
#: dashboard/templates/dashboard/profile.html:
19
#: dashboard/templates/dashboard/profile.html:
20
msgid "Login as this user"
msgid "Login as this user"
msgstr "Bejelentkezés a felhasználó nevében"
msgstr "Bejelentkezés a felhasználó nevében"
#: dashboard/templates/dashboard/profile.html:3
8
#: dashboard/templates/dashboard/profile.html:3
9
msgid "First name"
msgid "First name"
msgstr "Keresztnév"
msgstr "Keresztnév"
#: dashboard/templates/dashboard/profile.html:
39
#: dashboard/templates/dashboard/profile.html:
40
msgid "Last name"
msgid "Last name"
msgstr "Vezetéknév"
msgstr "Vezetéknév"
#: dashboard/templates/dashboard/profile.html:47
#: dashboard/templates/dashboard/profile.html:46
#| msgid "Back to login"
msgid "Last login"
msgstr "Utolsó belépés"
#: dashboard/templates/dashboard/profile.html:49
msgid "Use email address as Gravatar profile image"
msgid "Use email address as Gravatar profile image"
msgstr "E-mail cím használata a Gravatar profilkép betöltésére"
msgstr "E-mail cím használata a Gravatar profilkép betöltésére"
#: dashboard/templates/dashboard/profile.html:5
0
#: dashboard/templates/dashboard/profile.html:5
2
msgid "What's Gravatar?"
msgid "What's Gravatar?"
msgstr "Mi az a Gravatar?"
msgstr "Mi az a Gravatar?"
#: dashboard/templates/dashboard/profile.html:5
2
#: dashboard/templates/dashboard/profile.html:5
4
msgid "Change my preferences"
msgid "Change my preferences"
msgstr "Személyes beállítások"
msgstr "Személyes beállítások"
#: dashboard/templates/dashboard/profile.html:6
6
#: dashboard/templates/dashboard/profile.html:6
8
msgid "This user is not in any group."
msgid "This user is not in any group."
msgstr "A felhasználó nem tagja csoportnak."
msgstr "A felhasználó nem tagja csoportnak."
#: dashboard/templates/dashboard/profile.html:7
5
#: dashboard/templates/dashboard/profile.html:7
7
msgid "Virtual machines owned by the user"
msgid "Virtual machines owned by the user"
msgstr "A felhasználó virtuális gépei"
msgstr "A felhasználó virtuális gépei"
#: dashboard/templates/dashboard/profile.html:8
7
#: dashboard/templates/dashboard/profile.html:8
9
msgid "This user have no virtual machines."
msgid "This user have no virtual machines."
msgstr "A felhasználónak nincs virtuális gépe."
msgstr "A felhasználónak nincs virtuális gépe."
#: dashboard/templates/dashboard/profile.html:9
6
#: dashboard/templates/dashboard/profile.html:9
8
msgid "Virtual machines with access"
msgid "Virtual machines with access"
msgstr "Elérhető virtuális gépek"
msgstr "Elérhető virtuális gépek"
#: dashboard/templates/dashboard/profile.html:1
08
#: dashboard/templates/dashboard/profile.html:1
10
msgid "This user have no access to any virtual machine."
msgid "This user have no access to any virtual machine."
msgstr "A felhasználónak egy géphez sincs hozzáférése."
msgstr "A felhasználónak egy géphez sincs hozzáférése."
#: dashboard/templates/dashboard/profile.html:12
2
#: dashboard/templates/dashboard/profile.html:12
4
msgid "Edit user"
msgid "Edit user"
msgstr "Felhasználó szerkesztése"
msgstr "Felhasználó szerkesztése"
...
@@ -2500,12 +2501,12 @@ msgid "DNS name"
...
@@ -2500,12 +2501,12 @@ msgid "DNS name"
msgstr "DNS név"
msgstr "DNS név"
#: dashboard/templates/dashboard/vm-detail/network.html:52
#: dashboard/templates/dashboard/vm-detail/network.html:52
#: network/forms.py:2
69
#: network/forms.py:2
84
msgid "IPv4"
msgid "IPv4"
msgstr "IPv4"
msgstr "IPv4"
#: dashboard/templates/dashboard/vm-detail/network.html:53
#: dashboard/templates/dashboard/vm-detail/network.html:53
#: network/forms.py:2
76
#: network/forms.py:2
91
msgid "IPv6"
msgid "IPv6"
msgstr "IPv6"
msgstr "IPv6"
...
@@ -2523,7 +2524,6 @@ msgid "Edit raw data"
...
@@ -2523,7 +2524,6 @@ msgid "Edit raw data"
msgstr "Nyers adat szerkesztése"
msgstr "Nyers adat szerkesztése"
#: dashboard/templates/dashboard/vm-detail/resources.html:7
#: dashboard/templates/dashboard/vm-detail/resources.html:7
#| msgid "Change resources"
msgid "Modify the resources"
msgid "Modify the resources"
msgstr "Módosítsa az erőforrásokat"
msgstr "Módosítsa az erőforrásokat"
...
@@ -2543,16 +2543,14 @@ msgid ""
...
@@ -2543,16 +2543,14 @@ msgid ""
msgstr ""
msgstr ""
"Erőforrás módosítás csak LEÁLLÍTVA állapotú gépen lehetséges. A virtuális "
"Erőforrás módosítás csak LEÁLLÍTVA állapotú gépen lehetséges. A virtuális "
"gépet ajánlott leállítani a kérés beküldése után másképpen valamikor a "
"gépet ajánlott leállítani a kérés beküldése után másképpen valamikor a "
"jövőben, a kérés elfogadásakor
a
lesz automatikusan leállítva."
"jövőben, a kérés elfogadásakor lesz automatikusan leállítva."
#: dashboard/templates/dashboard/vm-detail/resources.html:29
#: dashboard/templates/dashboard/vm-detail/resources.html:29
#: request/forms.py:79 request/models.py:82
#: request/forms.py:79 request/models.py:82
#| msgid "RAM usage"
msgid "Message"
msgid "Message"
msgstr "Üzenet"
msgstr "Üzenet"
#: dashboard/templates/dashboard/vm-detail/resources.html:38
#: dashboard/templates/dashboard/vm-detail/resources.html:38
#| msgid "Save resources"
msgid "Request resources"
msgid "Request resources"
msgstr "Erőforrások igénylése"
msgstr "Erőforrások igénylése"
...
@@ -2634,36 +2632,36 @@ msgstr "példányok száma"
...
@@ -2634,36 +2632,36 @@ msgstr "példányok száma"
msgid "Allocated memory (bytes)"
msgid "Allocated memory (bytes)"
msgstr "Foglalt memória (byte)"
msgstr "Foglalt memória (byte)"
#: dashboard/views/group.py:15
0
#: dashboard/views/group.py:15
2
#, python-format
#, python-format
msgid "User \"%s\" not found."
msgid "User \"%s\" not found."
msgstr "Nem található „%s” felhasználó."
msgstr "Nem található „%s” felhasználó."
#: dashboard/views/group.py:16
4
#: dashboard/views/group.py:16
6
msgid "Group successfully renamed."
msgid "Group successfully renamed."
msgstr "A csoport átnevezésre került."
msgstr "A csoport átnevezésre került."
#: dashboard/views/group.py:23
3
#: dashboard/views/group.py:23
5
msgid "Member successfully removed from group."
msgid "Member successfully removed from group."
msgstr "A csoporttag eltávolításra került."
msgstr "A csoporttag eltávolításra került."
#: dashboard/views/group.py:26
6
#: dashboard/views/group.py:26
8
msgid "Future user successfully removed from group."
msgid "Future user successfully removed from group."
msgstr "A leendő csoporttag eltávolításra került."
msgstr "A leendő csoporttag eltávolításra került."
#: dashboard/views/group.py:2
88
#: dashboard/views/group.py:2
90
msgid "Group successfully deleted."
msgid "Group successfully deleted."
msgstr "A csoport törlésre került."
msgstr "A csoport törlésre került."
#: dashboard/views/group.py:31
7
#: dashboard/views/group.py:31
9
msgid "Create a Group"
msgid "Create a Group"
msgstr "Csoport létrehozása"
msgstr "Csoport létrehozása"
#: dashboard/views/group.py:33
3
#: dashboard/views/group.py:33
5
msgid "Group successfully created."
msgid "Group successfully created."
msgstr "A csoport létrehozásra került."
msgstr "A csoport létrehozásra került."
#: dashboard/views/group.py:34
7
#: dashboard/views/group.py:34
9
msgid "Group is successfully updated."
msgid "Group is successfully updated."
msgstr "A csoport frissítésre került."
msgstr "A csoport frissítésre került."
...
@@ -2692,7 +2690,6 @@ msgid "The DataStore is offline."
...
@@ -2692,7 +2690,6 @@ msgid "The DataStore is offline."
msgstr "Az adattár nem elérhető."
msgstr "Az adattár nem elérhető."
#: dashboard/views/storage.py:57
#: dashboard/views/storage.py:57
#| msgid "Virtual machine"
msgid "virtual machine"
msgid "virtual machine"
msgstr "virtuális gép"
msgstr "virtuális gép"
...
@@ -2964,7 +2961,8 @@ msgstr "Átruházás elfogadva"
...
@@ -2964,7 +2961,8 @@ msgstr "Átruházás elfogadva"
#: dashboard/views/util.py:667
#: dashboard/views/util.py:667
#, python-format
#, python-format
msgid "Your ownership offer of %(instance)s has been accepted by %(owner)s."
msgid "Your ownership offer of %(instance)s has been accepted by %(owner)s."
msgstr "%(instance)s gépre vonatkozó átruházási ajánlatát elfogadta %(owner)s."
msgstr ""
"%(instance)s gépre vonatkozó átruházási ajánlatát elfogadta %(owner)s."
#: dashboard/views/util.py:716
#: dashboard/views/util.py:716
msgid "Only the owners can delete the selected object."
msgid "Only the owners can delete the selected object."
...
@@ -2974,65 +2972,65 @@ msgstr "Csak a tulajdonos törölheti a kiválasztott objektumot."
...
@@ -2974,65 +2972,65 @@ msgstr "Csak a tulajdonos törölheti a kiválasztott objektumot."
msgid "console access"
msgid "console access"
msgstr "konzolhozzáférés"
msgstr "konzolhozzáférés"
#: dashboard/views/vm.py:
199
#: dashboard/views/vm.py:
203
msgid "VM successfully renamed."
msgid "VM successfully renamed."
msgstr "A virtuális gép átnevezésre került."
msgstr "A virtuális gép átnevezésre került."
#: dashboard/views/vm.py:22
3
#: dashboard/views/vm.py:22
7
msgid "VM description successfully updated."
msgid "VM description successfully updated."
msgstr "A VM leírása megváltoztatásra került."
msgstr "A VM leírása megváltoztatásra került."
#: dashboard/views/vm.py:61
1
#: dashboard/views/vm.py:61
5
msgid "The token has expired."
msgid "The token has expired."
msgstr "A token lejárt."
msgstr "A token lejárt."
#: dashboard/views/vm.py:8
36
#: dashboard/views/vm.py:8
41
#, python-format
#, python-format
msgid "Failed to execute %(op)s operation on instance %(instance)s."
msgid "Failed to execute %(op)s operation on instance %(instance)s."
msgstr "%(op)s végrehajtása meghiúsult a következőn: %(instance)s."
msgstr "%(op)s végrehajtása meghiúsult a következőn: %(instance)s."
#: dashboard/views/vm.py:85
2
#: dashboard/views/vm.py:85
7
#, python-format
#, python-format
msgid "You are not permitted to execute %(op)s on instance %(instance)s."
msgid "You are not permitted to execute %(op)s on instance %(instance)s."
msgstr "Nem engedélyezett a(z) %(op)s végrehajtása a(z) %(instance)s gépen."
msgstr "Nem engedélyezett a(z) %(op)s végrehajtása a(z) %(instance)s gépen."
#: dashboard/views/vm.py:104
4
#: dashboard/views/vm.py:104
9
msgid "Customize VM"
msgid "Customize VM"
msgstr "VM testreszabása"
msgstr "VM testreszabása"
#: dashboard/views/vm.py:105
2
#: dashboard/views/vm.py:105
7
msgid "Create a VM"
msgid "Create a VM"
msgstr "VM létrehozása"
msgstr "VM létrehozása"
#: dashboard/views/vm.py:11
07
#: dashboard/views/vm.py:11
12
#, python-format
#, python-format
msgid "Successfully created %(count)d VM."
msgid "Successfully created %(count)d VM."
msgid_plural "Successfully created %(count)d VMs."
msgid_plural "Successfully created %(count)d VMs."
msgstr[0] "%(count)d VM létrehozásra került."
msgstr[0] "%(count)d VM létrehozásra került."
msgstr[1] "%(count)d VM létrehozásra került."
msgstr[1] "%(count)d VM létrehozásra került."
#: dashboard/views/vm.py:111
2
#: dashboard/views/vm.py:111
7
msgid "VM successfully created."
msgid "VM successfully created."
msgstr "VM létrehozásra került."
msgstr "VM létrehozásra került."
#: dashboard/views/vm.py:114
3
#: dashboard/views/vm.py:114
8
#, python-format
#, python-format
msgid "Instance limit (%d) exceeded."
msgid "Instance limit (%d) exceeded."
msgstr "A példányok létrehozási korlátját (%d) túllépte."
msgstr "A példányok létrehozási korlátját (%d) túllépte."
#: dashboard/views/vm.py:121
1
#: dashboard/views/vm.py:121
6
msgid "About CIRCLE Client"
msgid "About CIRCLE Client"
msgstr "A CIRCLE kliensről"
msgstr "A CIRCLE kliensről"
#: dashboard/views/vm.py:130
1
#: dashboard/views/vm.py:130
6
msgid "transfer ownership"
msgid "transfer ownership"
msgstr "tulajdon átruházása"
msgstr "tulajdon átruházása"
#: dashboard/views/vm.py:131
1
#: dashboard/views/vm.py:131
6
#, python-format
#, python-format
msgid ""
msgid ""
"%(owner)s offered you to take the ownership of his/her virtual machine
called
"
"%(owner)s offered you to take the ownership of his/her virtual machine "
" %(instance)s. <a href=\"%(token)s\" class=\"btn btn-success btn-"
"
called
%(instance)s. <a href=\"%(token)s\" class=\"btn btn-success btn-"
"small\">Accept</a>"
"small\">Accept</a>"
msgstr ""
msgstr ""
"%(owner)s át kívánja ruházni %(instance)s nevű virtuális gépét Önre. <a "
"%(owner)s át kívánja ruházni %(instance)s nevű virtuális gépét Önre. <a "
...
@@ -3494,12 +3492,10 @@ msgid "Description of the group."
...
@@ -3494,12 +3492,10 @@ msgid "Description of the group."
msgstr "A csoport leírása."
msgstr "A csoport leírása."
#: firewall/models.py:550
#: firewall/models.py:550
#| msgid "vlan group"
msgid "vlan groups"
msgid "vlan groups"
msgstr "vlan-csoportok"
msgstr "vlan-csoportok"
#: firewall/models.py:577
#: firewall/models.py:577
#| msgid "host group"
msgid "host groups"
msgid "host groups"
msgstr "gépcsoportok"
msgstr "gépcsoportok"
...
@@ -3611,7 +3607,6 @@ msgid "Port %(proto)s %(public)s is already in use."
...
@@ -3611,7 +3607,6 @@ msgid "Port %(proto)s %(public)s is already in use."
msgstr "A(z) %(public)s %(proto)s port használatban van."
msgstr "A(z) %(public)s %(proto)s port használatban van."
#: firewall/models.py:955
#: firewall/models.py:955
#| msgid "firewall"
msgid "firewalls"
msgid "firewalls"
msgstr "tűzfalak"
msgstr "tűzfalak"
...
@@ -3636,7 +3631,6 @@ msgid "domain"
...
@@ -3636,7 +3631,6 @@ msgid "domain"
msgstr "tartomány"
msgstr "tartomány"
#: firewall/models.py:1006
#: firewall/models.py:1006
#| msgid "domain"
msgid "domains"
msgid "domains"
msgstr "tartományok"
msgstr "tartományok"
...
@@ -3658,7 +3652,6 @@ msgid "record"
...
@@ -3658,7 +3652,6 @@ msgid "record"
msgstr "rekord"
msgstr "rekord"
#: firewall/models.py:1087
#: firewall/models.py:1087
#| msgid "record"
msgid "records"
msgid "records"
msgstr "rekordok"
msgstr "rekordok"
...
@@ -3677,7 +3670,6 @@ msgid "switch port"
...
@@ -3677,7 +3670,6 @@ msgid "switch port"
msgstr "switch port"
msgstr "switch port"
#: firewall/models.py:1109
#: firewall/models.py:1109
#| msgid "switch port"
msgid "switch ports"
msgid "switch ports"
msgstr "switch portok"
msgstr "switch portok"
...
@@ -3726,7 +3718,6 @@ msgid "blacklist item"
...
@@ -3726,7 +3718,6 @@ msgid "blacklist item"
msgstr "tiltólista eleme"
msgstr "tiltólista eleme"
#: firewall/models.py:1176
#: firewall/models.py:1176
#| msgid "blacklist item"
msgid "blacklist items"
msgid "blacklist items"
msgstr "tiltólista elemek"
msgstr "tiltólista elemek"
...
@@ -3762,31 +3753,31 @@ msgstr ""
...
@@ -3762,31 +3753,31 @@ msgstr ""
"Egy csomópont sem biztosítja a virtuális gép indításához szükséges "
"Egy csomópont sem biztosítja a virtuális gép indításához szükséges "
"jellemzőket."
"jellemzőket."
#: network/forms.py:1
46
#: network/forms.py:1
51
msgid "Generate random address."
msgid "Generate random address."
msgstr "Véletlenszerű cím generálása."
msgstr "Véletlenszerű cím generálása."
#: network/forms.py:1
49
#: network/forms.py:1
54
msgid "Generate IPv6 pair of IPv4 address."
msgid "Generate IPv6 pair of IPv4 address."
msgstr "IPv4-es cím IPv6-os párjának generálása."
msgstr "IPv4-es cím IPv6-os párjának generálása."
#: network/forms.py:15
4
#: network/forms.py:15
9
msgid "Information"
msgid "Information"
msgstr "Információ"
msgstr "Információ"
#: network/forms.py:2
1
7
#: network/forms.py:2
2
7
msgid "External"
msgid "External"
msgstr "Külső"
msgstr "Külső"
#: network/forms.py:2
80
#: network/forms.py:2
95
msgid "Generate sensible template."
msgid "Generate sensible template."
msgstr "Ésszerű sablon generálása."
msgstr "Ésszerű sablon generálása."
#: network/forms.py:2
84
#: network/forms.py:2
99
msgid "Domain name service"
msgid "Domain name service"
msgstr "DNS szolgáltatás"
msgstr "DNS szolgáltatás"
#: network/forms.py:
289
#: network/forms.py:
304
msgid "Info"
msgid "Info"
msgstr "Infó"
msgstr "Infó"
...
@@ -4325,7 +4316,6 @@ msgid "There is already an ethernet device with that name."
...
@@ -4325,7 +4316,6 @@ msgid "There is already an ethernet device with that name."
msgstr "Már létezik a megadott nevű ethernet-eszköz."
msgstr "Már létezik a megadott nevű ethernet-eszköz."
#: request/forms.py:76
#: request/forms.py:76
#| msgid "Templates"
msgid "Template share"
msgid "Template share"
msgstr "Sablon megosztás"
msgstr "Sablon megosztás"
...
@@ -4334,7 +4324,6 @@ msgid "pending"
...
@@ -4334,7 +4324,6 @@ msgid "pending"
msgstr "függő"
msgstr "függő"
#: request/models.py:69
#: request/models.py:69
#| msgid "accept"
msgid "accepted"
msgid "accepted"
msgstr "elfogadott"
msgstr "elfogadott"
...
@@ -4343,7 +4332,6 @@ msgid "declined"
...
@@ -4343,7 +4332,6 @@ msgid "declined"
msgstr "elutasított"
msgstr "elutasított"
#: request/models.py:77
#: request/models.py:77
#| msgid "source port"
msgid "resource request"
msgid "resource request"
msgstr "erőforrás igénylés"
msgstr "erőforrás igénylés"
...
@@ -4352,12 +4340,10 @@ msgid "lease request"
...
@@ -4352,12 +4340,10 @@ msgid "lease request"
msgstr "bérlet igénylés"
msgstr "bérlet igénylés"
#: request/models.py:79
#: request/models.py:79
#| msgid "Template successfully deleted."
msgid "template access request"
msgid "template access request"
msgstr "sablon hozzáférés igénylés"
msgstr "sablon hozzáférés igénylés"
#: request/models.py:126
#: request/models.py:126
#| msgid "Ownership accepted"
msgid "Request accepted"
msgid "Request accepted"
msgstr "Kérés elfogadva"
msgstr "Kérés elfogadva"
...
@@ -4399,7 +4385,7 @@ msgstr "prioritás"
...
@@ -4399,7 +4385,7 @@ msgstr "prioritás"
msgid "CPU priority."
msgid "CPU priority."
msgstr "CPU prioritás."
msgstr "CPU prioritás."
#: request/models.py:1
88
#: request/models.py:1
91
#, python-format
#, python-format
msgid ""
msgid ""
"The resources of <a href=\"%(url)s\">%(name)s</a> were changed. Number of "
"The resources of <a href=\"%(url)s\">%(name)s</a> were changed. Number of "
...
@@ -4410,7 +4396,7 @@ msgstr ""
...
@@ -4410,7 +4396,7 @@ msgstr ""
"%(num_cores)d, RAM-mennyiség: <span class=\"nowrap\">%(ram_size)d "
"%(num_cores)d, RAM-mennyiség: <span class=\"nowrap\">%(ram_size)d "
"MiB</span>, CPU prioritás: %(priority)d/100."
"MiB</span>, CPU prioritás: %(priority)d/100."
#: request/models.py:21
2
#: request/models.py:21
5
#, python-format
#, python-format
msgid ""
msgid ""
"The lease of <a href=\"%(url)s\">%(name)s</a> got extended. (suspend: "
"The lease of <a href=\"%(url)s\">%(name)s</a> got extended. (suspend: "
...
@@ -4419,14 +4405,14 @@ msgstr ""
...
@@ -4419,14 +4405,14 @@ msgstr ""
"<a href=\"%(url)s\">%(name)s</a> bérlete meghosszabbítva. (felfüggesztés: "
"<a href=\"%(url)s\">%(name)s</a> bérlete meghosszabbítva. (felfüggesztés: "
"%(suspend)s, törlés: %(remove)s)"
"%(suspend)s, törlés: %(remove)s)"
#: request/models.py:24
0
#: request/models.py:24
3
#, python-format
#, python-format
msgid "You got access to the following template: %s"
msgid "You got access to the following template: %s"
msgid_plural "You got access to the following templates: %s"
msgid_plural "You got access to the following templates: %s"
msgstr[0] "Az alábbi sablonhoz szerzett hozzáférést: %s"
msgstr[0] "Az alábbi sablonhoz szerzett hozzáférést: %s"
msgstr[1] "Az alábbi sablonokhoz szerzett hozzáférést: %s"
msgstr[1] "Az alábbi sablonokhoz szerzett hozzáférést: %s"
#: request/models.py:25
1
#: request/models.py:25
4
#, python-format
#, python-format
msgid ""
msgid ""
"A new <a href=\"%(request_url)s\">%(request_type)s</a> was submitted by <a "
"A new <a href=\"%(request_url)s\">%(request_type)s</a> was submitted by <a "
...
@@ -4435,16 +4421,16 @@ msgstr ""
...
@@ -4435,16 +4421,16 @@ msgstr ""
"Egy új <a href=\"%(request_url)s\">%(request_type)s</a> lett beküldve <a "
"Egy új <a href=\"%(request_url)s\">%(request_type)s</a> lett beküldve <a "
"href=\"%(user_url)s\">%(display_name)s</a> által."
"href=\"%(user_url)s\">%(display_name)s</a> által."
#: request/models.py:26
2
#: request/models.py:26
5
#, python-format
#, python-format
msgid "New %(request_type)s"
msgid "New %(request_type)s"
msgstr "Új %(request_type)s"
msgstr "Új %(request_type)s"
#: request/models.py:26
6
#: request/models.py:26
9
msgid "Request submitted"
msgid "Request submitted"
msgstr "Igénylés beküldve"
msgstr "Igénylés beküldve"
#: request/models.py:2
67
#: request/models.py:2
70
#, python-format
#, python-format
msgid ""
msgid ""
"You can view the request's status at this <a "
"You can view the request's status at this <a "
...
@@ -4454,7 +4440,6 @@ msgstr ""
...
@@ -4454,7 +4440,6 @@ msgstr ""
"href=\"%(request_url)s\">linken</a>."
"href=\"%(request_url)s\">linken</a>."
#: request/tables.py:53
#: request/tables.py:53
#| msgid "No more networks."
msgid "No more requests."
msgid "No more requests."
msgstr "Nincs több igénylés."
msgstr "Nincs több igénylés."
...
@@ -4469,39 +4454,32 @@ msgstr ""
...
@@ -4469,39 +4454,32 @@ msgstr ""
"Azon felhasználók számára akik a sablonokat meg szeretnék osztani másokkal."
"Azon felhasználók számára akik a sablonokat meg szeretnék osztani másokkal."
#: request/templates/request/_request-template-form.html:18
#: request/templates/request/_request-template-form.html:18
#| msgid "This user have no access to any virtual machine."
msgid "For users who want to start a virtual machine."
msgid "For users who want to start a virtual machine."
msgstr "Azon felhasználók számára akik virtuális gépet akarnak indítani."
msgstr "Azon felhasználók számára akik virtuális gépet akarnak indítani."
#: request/templates/request/detail.html:7
#: request/templates/request/detail.html:7
#| msgid "requested IP"
msgid "Request"
msgid "Request"
msgstr "Igénylés"
msgstr "Igénylés"
#: request/templates/request/detail.html:42
#: request/templates/request/detail.html:42
#: request/templates/request/detail.html:69
#: request/templates/request/detail.html:69
#| msgid "name"
msgid "VM name"
msgid "VM name"
msgstr "Virtuális gép neve"
msgstr "Virtuális gép neve"
#: request/templates/request/detail.html:44
#: request/templates/request/detail.html:44
#: request/templates/request/detail.html:76
#: request/templates/request/detail.html:76
#| msgid "description"
msgid "VM description"
msgid "VM description"
msgstr "Virtuális gép leírása"
msgstr "Virtuális gép leírása"
#: request/templates/request/detail.html:46
#: request/templates/request/detail.html:46
#| msgid "Create lease"
msgid "Current lease"
msgid "Current lease"
msgstr "Jelenlegi bérlet"
msgstr "Jelenlegi bérlet"
#: request/templates/request/detail.html:48
#: request/templates/request/detail.html:48
#| msgid "requested IP"
msgid "Requested lease"
msgid "Requested lease"
msgstr "Igényelt bérlet"
msgstr "Igényelt bérlet"
#: request/templates/request/detail.html:54
#: request/templates/request/detail.html:54
#| msgid "Template"
msgid "Template type"
msgid "Template type"
msgstr "Sablon típus"
msgstr "Sablon típus"
...
@@ -4510,12 +4488,10 @@ msgid "(old values in parentheses)"
...
@@ -4510,12 +4488,10 @@ msgid "(old values in parentheses)"
msgstr "(régi értékek zárójelben)"
msgstr "(régi értékek zárójelben)"
#: request/templates/request/detail.html:83
#: request/templates/request/detail.html:83
#| msgid "number of cores"
msgid "Number of cores"
msgid "Number of cores"
msgstr "Magok száma"
msgstr "Magok száma"
#: request/templates/request/detail.html:85
#: request/templates/request/detail.html:85
#| msgid "RAM size"
msgid "Ram size"
msgid "Ram size"
msgstr "RAM-méret"
msgstr "RAM-méret"
...
@@ -4524,7 +4500,6 @@ msgid "Reason (sent to the user if the request is declined)"
...
@@ -4524,7 +4500,6 @@ msgid "Reason (sent to the user if the request is declined)"
msgstr "Indok (elutasítás esetén a felhasználó megkapja)"
msgstr "Indok (elutasítás esetén a felhasználó megkapja)"
#: request/templates/request/detail.html:103
#: request/templates/request/detail.html:103
#| msgid "Online"
msgid "Decline"
msgid "Decline"
msgstr "Elutasít"
msgstr "Elutasít"
...
@@ -4538,7 +4513,6 @@ msgstr "Elfogadás"
...
@@ -4538,7 +4513,6 @@ msgstr "Elfogadás"
#: request/templates/request/detail.html:122
#: request/templates/request/detail.html:122
#, python-format
#, python-format
#| msgid " subactivity of <a href=\"%(url)s\">%(name)s</a>\n"
msgid ""
msgid ""
"\n"
"\n"
" Closed %(closed)s by <a href=\"%(user.profile.get_absolute_url)s\">%(user)s</a>\n"
" Closed %(closed)s by <a href=\"%(user.profile.get_absolute_url)s\">%(user)s</a>\n"
...
@@ -4552,7 +4526,6 @@ msgid "lease type"
...
@@ -4552,7 +4526,6 @@ msgid "lease type"
msgstr "bérlet típus"
msgstr "bérlet típus"
#: request/templates/request/lease-type-form.html:33
#: request/templates/request/lease-type-form.html:33
#| msgid "new lease"
msgid "New lease type"
msgid "New lease type"
msgstr "Új bérlet típus"
msgstr "Új bérlet típus"
...
@@ -4563,43 +4536,35 @@ msgid "Request types"
...
@@ -4563,43 +4536,35 @@ msgid "Request types"
msgstr "Kérés típusok"
msgstr "Kérés típusok"
#: request/templates/request/list.html:21
#: request/templates/request/list.html:21
#| msgid "Filter by vlans"
msgid "Filter by status"
msgid "Filter by status"
msgstr "Állapot szerinti szűrés"
msgstr "Állapot szerinti szűrés"
#: request/templates/request/request-lease.html:12
#: request/templates/request/request-lease.html:12
#| msgid "new lease"
msgid "Request new lease"
msgid "Request new lease"
msgstr "Új bérlet igénylése"
msgstr "Új bérlet igénylése"
#: request/templates/request/request-resource.html:13
#: request/templates/request/request-resource.html:13
#: request/templates/request/request-resource.html:29
#: request/templates/request/request-resource.html:29
#| msgid "Change resources"
msgid "Request new resources"
msgid "Request new resources"
msgstr "Új erőforrások igénylése"
msgstr "Új erőforrások igénylése"
#: request/templates/request/request-template.html:12
#: request/templates/request/request-template.html:12
#| msgid "Delete template"
msgid "Request template access"
msgid "Request template access"
msgstr "Sablon hozzáférés igénylése"
msgstr "Sablon hozzáférés igénylése"
#: request/templates/request/template-type-form.html:8
#: request/templates/request/template-type-form.html:8
#| msgid "Template successfully deleted."
msgid "template access type"
msgid "template access type"
msgstr "sablon hozzáférés típus"
msgstr "sablon hozzáférés típus"
#: request/templates/request/template-type-form.html:33
#: request/templates/request/template-type-form.html:33
#| msgid "Template successfully deleted."
msgid "New Template Access type"
msgid "New Template Access type"
msgstr "Új sablon hozzáférés típus"
msgstr "Új sablon hozzáférés típus"
#: request/templates/request/type-list.html:17
#: request/templates/request/type-list.html:17
#| msgid "new lease"
msgid "new lease type"
msgid "new lease type"
msgstr "új bérlet típus"
msgstr "új bérlet típus"
#: request/templates/request/type-list.html:21
#: request/templates/request/type-list.html:21
#| msgid "new template"
msgid "new template access type"
msgid "new template access type"
msgstr "új sablon hozzáférés típus"
msgstr "új sablon hozzáférés típus"
...
@@ -4621,6 +4586,26 @@ msgid ""
...
@@ -4621,6 +4586,26 @@ msgid ""
" "
" "
msgstr ""
msgstr ""
#: request/views.py:106
#| msgid "Template successfully deleted."
msgid "Template access type successfully updated."
msgstr "A sablon hozzáférés típus frissítésre került."
#: request/views.py:114
#| msgid "Interface successfully created."
msgid "New template access type successfully created."
msgstr "A sablon hozzáférés típus létrehozásra került."
#: request/views.py:131
#| msgid "Lease successfully deleted."
msgid "Lease type successfully updated."
msgstr "A bérlet típus frissítésre kerül."
#: request/views.py:139
#| msgid "Node successfully created."
msgid "New lease type successfully created."
msgstr "A bérlet típus létrehozása került."
#: storage/models.py:50
#: storage/models.py:50
msgid "path"
msgid "path"
msgstr "útvonal"
msgstr "útvonal"
...
@@ -4739,18 +4724,22 @@ msgstr ""
...
@@ -4739,18 +4724,22 @@ msgstr ""
msgid "Operation aborted by user."
msgid "Operation aborted by user."
msgstr "A műveletet a felhasználó megszakította."
msgstr "A műveletet a felhasználó megszakította."
#: templates/403.html:6 templates/500.html:6
msgid ":("
msgstr ":("
#: templates/403.html:18
msgid "Forbidden"
msgstr ""
#: templates/404.html:4 templates/404.html.py:6
#: templates/404.html:4 templates/404.html.py:6
msgid "Page not found"
msgid "Page not found"
msgstr "Az oldal nem található"
msgstr "Az oldal nem található"
#: templates/404.html:
9
#: templates/404.html:
15
msgid "This page does not exist."
msgid "This page does not exist."
msgstr "Az oldal nem létezik."
msgstr "Az oldal nem létezik."
#: templates/500.html:6
msgid ":("
msgstr ":("
#: templates/500.html:18
#: templates/500.html:18
msgid "Internal Server Error... Please leave the server alone..."
msgid "Internal Server Error... Please leave the server alone..."
msgstr "Kiszolgálóoldali hiba. Ne bántsa a szervert."
msgstr "Kiszolgálóoldali hiba. Ne bántsa a szervert."
...
@@ -6343,7 +6332,7 @@ msgstr "erőforrások módosítása"
...
@@ -6343,7 +6332,7 @@ msgstr "erőforrások módosítása"
msgid "Change resources of a stopped virtual machine."
msgid "Change resources of a stopped virtual machine."
msgstr "Leállított virtuális gép erőforrásainak változtatása."
msgstr "Leállított virtuális gép erőforrásainak változtatása."
#: vm/operations.py:13
50
#: vm/operations.py:13
61
#, python-format
#, python-format
msgid ""
msgid ""
"Priority: %(priority)s, Num cores: %(num_cores)s, Ram size: %(ram_size)s"
"Priority: %(priority)s, Num cores: %(num_cores)s, Ram size: %(ram_size)s"
...
@@ -6351,16 +6340,11 @@ msgstr ""
...
@@ -6351,16 +6340,11 @@ msgstr ""
"Prioritás: %(priority)s, magok száma: %(num_cores)s, memória mérete: "
"Prioritás: %(priority)s, magok száma: %(num_cores)s, memória mérete: "
"%(ram_size)s"
"%(ram_size)s"
#: vm/operations.py:1359
#: vm/operations.py:1370
#| msgid "resources change"
msgid "resources request"
msgstr "erőforrás igénylés"
#: vm/operations.py:1385
msgid "password reset"
msgid "password reset"
msgstr "jelszó visszaállítása"
msgstr "jelszó visszaállítása"
#: vm/operations.py:13
86
#: vm/operations.py:13
71
msgid ""
msgid ""
"Generate and set a new login password on the virtual machine. This operation"
"Generate and set a new login password on the virtual machine. This operation"
" requires the agent running. Resetting the password is not warranted to "
" requires the agent running. Resetting the password is not warranted to "
...
@@ -6370,52 +6354,52 @@ msgstr ""
...
@@ -6370,52 +6354,52 @@ msgstr ""
"művelet megköveteli az ügynök futását. A jelszó átállítása nem garantálja a "
"művelet megköveteli az ügynök futását. A jelszó átállítása nem garantálja a "
"sikeres belépést, mivel más beállítások is megakadályozhatják ezt."
"sikeres belépést, mivel más beállítások is megakadályozhatják ezt."
#: vm/operations.py:1
410
#: vm/operations.py:1
395
msgid "agent"
msgid "agent"
msgstr "ügynök"
msgstr "ügynök"
#: vm/operations.py:14
51
#: vm/operations.py:14
36
msgid "starting"
msgid "starting"
msgstr "indítás"
msgstr "indítás"
#: vm/operations.py:14
69
#: vm/operations.py:14
54
msgid "wait agent restarting"
msgid "wait agent restarting"
msgstr "várakozás az ügynök újraindulására"
msgstr "várakozás az ügynök újraindulására"
#: vm/operations.py:14
86
#: vm/operations.py:14
71
msgid "cleanup"
msgid "cleanup"
msgstr "takarítás"
msgstr "takarítás"
#: vm/operations.py:14
92
#: vm/operations.py:14
77
msgid "set time"
msgid "set time"
msgstr "óra beállítása"
msgstr "óra beállítása"
#: vm/operations.py:1
503
#: vm/operations.py:1
488
msgid "set hostname"
msgid "set hostname"
msgstr "gépnév beállítása"
msgstr "gépnév beállítása"
#: vm/operations.py:1
514
#: vm/operations.py:1
499
msgid "restart networking"
msgid "restart networking"
msgstr "hálózat újratöltése"
msgstr "hálózat újratöltése"
#: vm/operations.py:15
20
#: vm/operations.py:15
05
msgid "change ip"
msgid "change ip"
msgstr "IP cím beállítása"
msgstr "IP cím beállítása"
#: vm/operations.py:15
35
#: vm/operations.py:15
20
msgid "update agent"
msgid "update agent"
msgstr "ügynök frissítése"
msgstr "ügynök frissítése"
#: vm/operations.py:15
41
#: vm/operations.py:15
26
#, python-format
#, python-format
msgid "update agent to %(version)s"
msgid "update agent to %(version)s"
msgstr "ügynökfrissítés erre: %(version)s"
msgstr "ügynökfrissítés erre: %(version)s"
#: vm/operations.py:16
24
#: vm/operations.py:16
09
msgid "mount store"
msgid "mount store"
msgstr "tárhely csatolása"
msgstr "tárhely csatolása"
#: vm/operations.py:16
26
#: vm/operations.py:16
11
msgid ""
msgid ""
"This operation attaches your personal file store. Other users who have "
"This operation attaches your personal file store. Other users who have "
"access to this machine can see these files as well."
"access to this machine can see these files as well."
...
@@ -6423,28 +6407,28 @@ msgstr ""
...
@@ -6423,28 +6407,28 @@ msgstr ""
"Ez a művelet csatolja az ön személyes tárhelyét. A gép más felhasználói is "
"Ez a művelet csatolja az ön személyes tárhelyét. A gép más felhasználói is "
"elérhetik fájljait."
"elérhetik fájljait."
#: vm/operations.py:16
60
#: vm/operations.py:16
45
msgid "attach disk"
msgid "attach disk"
msgstr "lemez csatolása"
msgstr "lemez csatolása"
#: vm/operations.py:16
71
#: vm/operations.py:16
56
msgid "Resource was not found."
msgid "Resource was not found."
msgstr "Nem található az erőforrás."
msgstr "Nem található az erőforrás."
#: vm/operations.py:16
72
#: vm/operations.py:16
57
#, python-format
#, python-format
msgid "Resource was not found. %(exception)s"
msgid "Resource was not found. %(exception)s"
msgstr "Nem található az erőforrás. %(exception)s"
msgstr "Nem található az erőforrás. %(exception)s"
#: vm/operations.py:16
81
#: vm/operations.py:16
66
msgid "detach disk"
msgid "detach disk"
msgstr "lemez leválasztása"
msgstr "lemez leválasztása"
#: vm/operations.py:16
96
#: vm/operations.py:16
81
msgid "attach network"
msgid "attach network"
msgstr "hálózat csatolása"
msgstr "hálózat csatolása"
#: vm/operations.py:1
703
#: vm/operations.py:1
688
msgid "detach network"
msgid "detach network"
msgstr "hálózat lecsatolása"
msgstr "hálózat lecsatolása"
...
@@ -6484,6 +6468,9 @@ msgstr ""
...
@@ -6484,6 +6468,9 @@ msgstr ""
msgid "x"
msgid "x"
msgstr "x"
msgstr "x"
#~ msgid "resources request"
#~ msgstr "erőforrás igénylés"
#~ msgid ""
#~ msgid ""
#~ "Dear %s, you've signed in as administrator!<br />Reloading in 10 seconds..."
#~ "Dear %s, you've signed in as administrator!<br />Reloading in 10 seconds..."
#~ msgstr "Kedves %s, Ön rendszergazda!<br />Újratöltés 10 másodpercen belül..."
#~ msgstr "Kedves %s, Ön rendszergazda!<br />Újratöltés 10 másodpercen belül..."
...
...
circle/request/views.py
View file @
fddee865
...
@@ -19,9 +19,11 @@ from __future__ import unicode_literals, absolute_import
...
@@ -19,9 +19,11 @@ from __future__ import unicode_literals, absolute_import
from
django.views.generic
import
(
from
django.views.generic
import
(
UpdateView
,
TemplateView
,
DetailView
,
CreateView
,
FormView
,
DeleteView
,
UpdateView
,
TemplateView
,
DetailView
,
CreateView
,
FormView
,
DeleteView
,
)
)
from
django.contrib.messages.views
import
SuccessMessageMixin
from
django.shortcuts
import
redirect
,
get_object_or_404
from
django.shortcuts
import
redirect
,
get_object_or_404
from
django.core.exceptions
import
PermissionDenied
,
SuspiciousOperation
from
django.core.exceptions
import
PermissionDenied
,
SuspiciousOperation
from
django.core.urlresolvers
import
reverse
from
django.core.urlresolvers
import
reverse
from
django.utils.translation
import
ugettext
as
_
from
braces.views
import
SuperuserRequiredMixin
,
LoginRequiredMixin
from
braces.views
import
SuperuserRequiredMixin
,
LoginRequiredMixin
from
django_tables2
import
SingleTableView
from
django_tables2
import
SingleTableView
...
@@ -97,17 +99,19 @@ class RequestDetail(LoginRequiredMixin, DetailView):
...
@@ -97,17 +99,19 @@ class RequestDetail(LoginRequiredMixin, DetailView):
class
TemplateAccessTypeDetail
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
class
TemplateAccessTypeDetail
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
UpdateView
):
SuccessMessageMixin
,
UpdateView
):
model
=
TemplateAccessType
model
=
TemplateAccessType
template_name
=
"request/template-type-form.html"
template_name
=
"request/template-type-form.html"
form_class
=
TemplateAccessTypeForm
form_class
=
TemplateAccessTypeForm
success_message
=
_
(
"Template access type successfully updated."
)
class
TemplateAccessTypeCreate
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
class
TemplateAccessTypeCreate
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
CreateView
):
SuccessMessageMixin
,
CreateView
):
model
=
TemplateAccessType
model
=
TemplateAccessType
template_name
=
"request/template-type-form.html"
template_name
=
"request/template-type-form.html"
form_class
=
TemplateAccessTypeForm
form_class
=
TemplateAccessTypeForm
success_message
=
_
(
"New template access type successfully created."
)
class
TemplateAccessTypeDelete
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
class
TemplateAccessTypeDelete
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
...
@@ -119,16 +123,20 @@ class TemplateAccessTypeDelete(LoginRequiredMixin, SuperuserRequiredMixin,
...
@@ -119,16 +123,20 @@ class TemplateAccessTypeDelete(LoginRequiredMixin, SuperuserRequiredMixin,
return
reverse
(
"request.views.type-list"
)
return
reverse
(
"request.views.type-list"
)
class
LeaseTypeDetail
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
UpdateView
):
class
LeaseTypeDetail
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
SuccessMessageMixin
,
UpdateView
):
model
=
LeaseType
model
=
LeaseType
template_name
=
"request/lease-type-form.html"
template_name
=
"request/lease-type-form.html"
form_class
=
LeaseTypeForm
form_class
=
LeaseTypeForm
success_message
=
_
(
"Lease type successfully updated."
)
class
LeaseTypeCreate
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
CreateView
):
class
LeaseTypeCreate
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
SuccessMessageMixin
,
CreateView
):
model
=
LeaseType
model
=
LeaseType
template_name
=
"request/lease-type-form.html"
template_name
=
"request/lease-type-form.html"
form_class
=
LeaseTypeForm
form_class
=
LeaseTypeForm
success_message
=
_
(
"New lease type successfully created."
)
class
LeaseTypeDelete
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
DeleteView
):
class
LeaseTypeDelete
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
DeleteView
):
...
@@ -154,7 +162,7 @@ class RequestTypeList(LoginRequiredMixin, SuperuserRequiredMixin,
...
@@ -154,7 +162,7 @@ class RequestTypeList(LoginRequiredMixin, SuperuserRequiredMixin,
return
context
return
context
class
TemplateRequestView
(
FormView
):
class
TemplateRequestView
(
LoginRequiredMixin
,
FormView
):
form_class
=
TemplateRequestForm
form_class
=
TemplateRequestForm
template_name
=
"request/request-template.html"
template_name
=
"request/request-template.html"
...
@@ -185,7 +193,7 @@ class TemplateRequestView(FormView):
...
@@ -185,7 +193,7 @@ class TemplateRequestView(FormView):
return
redirect
(
"/"
)
return
redirect
(
"/"
)
class
VmRequestMixin
(
object
):
class
VmRequestMixin
(
LoginRequiredMixin
,
object
):
def
get_vm
(
self
):
def
get_vm
(
self
):
return
get_object_or_404
(
Instance
,
pk
=
self
.
kwargs
[
'vm_pk'
])
return
get_object_or_404
(
Instance
,
pk
=
self
.
kwargs
[
'vm_pk'
])
...
...
circle/templates/403.html
0 → 100644
View file @
fddee865
{% extends "base.html" %}
{% load i18n %}
{% block title %}HTTP 403{% endblock %}
{% block page_title %}{% trans ":(" %}{% endblock page_title %}
{% block content %}
<div
class=
"alert alert-danger"
style=
"font-size: 22px; margin-top: 2em;"
>
<div
class=
"row"
>
<div
class=
"col-md-2"
style=
"text-align: center;"
>
HTTP 403
</div>
<div
class=
"col-md-10"
style=
"text-align: center;"
>
{% if error %}
{{ error }}
{% else %}
{% trans "Forbidden" %}
{% endif %}
</div>
</div>
</div>
{% endblock content %}
circle/templates/404.html
View file @
fddee865
...
@@ -6,5 +6,14 @@
...
@@ -6,5 +6,14 @@
{% block page_title %}{% trans "Page not found" %}{% endblock page_title %}
{% block page_title %}{% trans "Page not found" %}{% endblock page_title %}
{% block content %}
{% block content %}
<p>
{% trans "This page does not exist." %}
</p>
<div
class=
"alert alert-warning"
style=
"font-size: 22px; margin-top: 2em;"
>
<div
class=
"row"
>
<div
class=
"col-md-2"
style=
"text-align: center;"
>
HTTP 404
</div>
<div
class=
"col-md-10"
style=
"text-align: center;"
>
{% trans "This page does not exist." %}
</div>
</div>
</div>
{% endblock content %}
{% endblock content %}
circle/templates/500.html
View file @
fddee865
{% extends "
dashboard/
base.html" %}
{% extends "base.html" %}
{% load i18n %}
{% load i18n %}
{% block title %}HTTP 500{% endblock %}
{% block title %}HTTP 500{% endblock %}
...
...
circle/vm/models/instance.py
View file @
fddee865
...
@@ -62,7 +62,6 @@ scheduler = import_module(name=django.conf.settings.VM_SCHEDULER)
...
@@ -62,7 +62,6 @@ scheduler = import_module(name=django.conf.settings.VM_SCHEDULER)
ACCESS_PROTOCOLS
=
django
.
conf
.
settings
.
VM_ACCESS_PROTOCOLS
ACCESS_PROTOCOLS
=
django
.
conf
.
settings
.
VM_ACCESS_PROTOCOLS
ACCESS_METHODS
=
[(
key
,
name
)
for
key
,
(
name
,
port
,
transport
)
ACCESS_METHODS
=
[(
key
,
name
)
for
key
,
(
name
,
port
,
transport
)
in
ACCESS_PROTOCOLS
.
iteritems
()]
in
ACCESS_PROTOCOLS
.
iteritems
()]
VNC_PORT_RANGE
=
(
20000
,
65536
)
# inclusive start, exclusive end
def
find_unused_port
(
port_range
,
used_ports
=
[]):
def
find_unused_port
(
port_range
,
used_ports
=
[]):
...
@@ -81,7 +80,7 @@ def find_unused_port(port_range, used_ports=[]):
...
@@ -81,7 +80,7 @@ def find_unused_port(port_range, used_ports=[]):
def
find_unused_vnc_port
():
def
find_unused_vnc_port
():
port
=
find_unused_port
(
port
=
find_unused_port
(
port_range
=
VNC_PORT_RANGE
,
port_range
=
django
.
conf
.
settings
.
VNC_PORT_RANGE
,
used_ports
=
Instance
.
objects
.
values_list
(
'vnc_port'
,
flat
=
True
))
used_ports
=
Instance
.
objects
.
values_list
(
'vnc_port'
,
flat
=
True
))
if
port
is
None
:
if
port
is
None
:
...
...
requirements/base.txt
View file @
fddee865
...
@@ -11,11 +11,12 @@ django-braces==1.4.0
...
@@ -11,11 +11,12 @@ django-braces==1.4.0
django-celery==3.1.16
django-celery==3.1.16
django-crispy-forms==1.4.0
django-crispy-forms==1.4.0
django-model-utils==2.2
django-model-utils==2.2
djangosaml2==0.13.0
django-sizefield==0.6
django-sizefield==0.6
django-sshkey==2.2.0
django-sshkey==2.2.0
django-statici18n==1.1
django-statici18n==1.1
django-tables2==0.15.0
django-tables2==0.15.0
git+https://git.ik.bme.hu/circle/django-taggit.git
django-taggit==0.13.0
docutils==0.12
docutils==0.12
Jinja2==2.7.3
Jinja2==2.7.3
jsonfield==1.0.0
jsonfield==1.0.0
...
@@ -32,6 +33,7 @@ pyinotify==0.9.4
...
@@ -32,6 +33,7 @@ pyinotify==0.9.4
pytz==2014.7
pytz==2014.7
requests==2.5.3
requests==2.5.3
salt==2014.1.0
salt==2014.1.0
shutilwhich==1.0.1
simplejson==3.6.5
simplejson==3.6.5
six==1.8.0
six==1.8.0
slimit==0.8.1
slimit==0.8.1
...
...
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