Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
CIRCLE
/
cloud
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
94
Merge Requests
10
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
fddee865
authored
9 years ago
by
Kálmán Viktor
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into feature-gitlabheader
parents
919a6b13
ff91b0ff
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
331 additions
and
232 deletions
+331
-232
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
+22
-12
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':
)
AUTHENTICATION_BACKENDS
=
(
'django.contrib.auth.backends.ModelBackend'
,
'
djangosaml2
.backends.Saml2Backend'
,
'
common
.backends.Saml2Backend'
,
)
remote_metadata
=
join
(
SITE_ROOT
,
'remote_metadata.xml'
)
...
...
@@ -528,6 +528,10 @@ except:
LOCALE_PATHS
=
(
join
(
SITE_ROOT
,
'locale'
),
)
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_port
=
environ
.
get
(
"GRAPHITE_PORT"
,
None
)
if
graphite_host
and
graphite_port
:
...
...
This diff is collapsed.
Click to expand it.
circle/circle/urls.py
View file @
fddee865
...
...
@@ -88,3 +88,4 @@ if get_env_variable('DJANGO_SAML', 'FALSE') == 'TRUE':
)
handler500
=
'common.views.handler500'
handler403
=
'common.views.handler403'
This diff is collapsed.
Click to expand it.
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
)
This diff is collapsed.
Click to expand it.
circle/common/operations.py
View file @
fddee865
...
...
@@ -170,8 +170,8 @@ class Operation(object):
raise
ImproperlyConfigured
(
"Set required_perms to () if none needed."
)
if
not
user
.
has_perms
(
cls
.
required_perms
):
raise
PermissionDenied
(
"
%
s doesn't have the required permissions."
%
user
)
raise
PermissionDenied
(
u"
%
s doesn't have the required permissions."
%
user
)
if
cls
.
superuser_required
and
not
user
.
is_superuser
:
raise
humanize_exception
(
ugettext_noop
(
"Superuser privileges are required."
),
PermissionDenied
())
...
...
This diff is collapsed.
Click to expand it.
circle/common/views.py
View file @
fddee865
...
...
@@ -19,32 +19,42 @@ from sys import exc_info
import
logging
from
django.template
import
RequestContext
from
django.shortcuts
import
render_to_response
from
django.template
import
RequestContext
from
.models
import
HumanReadableException
logger
=
logging
.
getLogger
(
__name__
)
def
handler500
(
request
):
cls
,
exception
,
traceback
=
exc_info
()
logger
.
exception
(
"unhandled exception"
)
def
get_context
(
request
,
exception
):
ctx
=
{}
if
is
instance
(
exception
,
HumanReadableException
):
if
is
subclass
(
exception
.
__class__
,
HumanReadableException
):
try
:
ctx
[
'error'
]
=
exception
.
get_user_text
()
if
request
.
user
.
is_superuser
:
ctx
[
'error'
]
=
exception
.
get_admin_text
()
else
:
ctx
[
'error'
]
=
exception
.
get_user_text
()
except
:
pass
else
:
try
:
if
request
.
user
.
is_superuser
():
ctx
[
'error'
]
=
exception
.
get_admin_text
()
except
:
pass
return
ctx
def
handler500
(
request
):
cls
,
exception
,
traceback
=
exc_info
()
logger
.
exception
(
"unhandled exception"
)
ctx
=
get_context
(
request
,
exception
)
try
:
resp
=
render_to_response
(
"500.html"
,
ctx
,
RequestContext
(
request
))
except
:
resp
=
render_to_response
(
"500.html"
,
ctx
)
resp
.
status_code
=
500
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
This diff is collapsed.
Click to expand it.
circle/dashboard/models.py
View file @
fddee865
...
...
@@ -309,7 +309,7 @@ if hasattr(settings, 'SAML_ORG_ID_ATTRIBUTE'):
attributes
=
kwargs
.
pop
(
'attributes'
)
atr
=
settings
.
SAML_ORG_ID_ATTRIBUTE
try
:
value
=
attributes
[
atr
][
0
]
value
=
attributes
[
atr
][
0
]
.
upper
()
except
Exception
as
e
:
value
=
None
logger
.
info
(
"save_org_id couldn't find attribute.
%
s"
,
unicode
(
e
))
...
...
@@ -339,7 +339,7 @@ if hasattr(settings, 'SAML_ORG_ID_ATTRIBUTE'):
group
,
unicode
(
g
))
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
.
delete
()
...
...
This diff is collapsed.
Click to expand it.
circle/dashboard/templates/dashboard/_vm-renew.html
View file @
fddee865
...
...
@@ -8,11 +8,13 @@
<a
class=
"btn btn-default"
href=
"{{object.get_absolute_url}}"
data-dismiss=
"modal"
>
{% trans "Cancel" %}
</a>
{% if lease_types %}
<a
class=
"btn btn-primary"
id=
"vm-renew-request-lease-button"
href=
"{% url "
request
.
views
.
request-lease
"
vm_pk=
object.pk
%}"
>
<i
class=
"fa fa-forward"
></i>
{% trans "Request longer lease" %}
</a>
{% endif %}
<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 }}
</button>
...
...
This diff is collapsed.
Click to expand it.
circle/dashboard/templates/dashboard/vm-detail/resources.html
View file @
fddee865
...
...
@@ -13,11 +13,11 @@
{% if op.resources_change %}
<button
type=
"submit"
class=
"btn btn-success btn-sm change-resources-button"
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" %}
</button>
<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." %}
</span>
{% else %}
...
...
This diff is collapsed.
Click to expand it.
circle/dashboard/views/group.py
View file @
fddee865
...
...
@@ -146,7 +146,7 @@ class GroupDetailView(CheckedDetailView):
self
.
object
.
user_set
.
add
(
entity
)
except
User
.
DoesNotExist
:
if
saml_available
:
FutureMember
.
objects
.
get_or_create
(
org_id
=
name
,
FutureMember
.
objects
.
get_or_create
(
org_id
=
name
.
upper
()
,
group
=
self
.
object
)
else
:
messages
.
warning
(
request
,
_
(
'User "
%
s" not found.'
)
%
name
)
...
...
This diff is collapsed.
Click to expand it.
circle/dashboard/views/util.py
View file @
fddee865
...
...
@@ -70,7 +70,7 @@ def search_user(keyword):
return
User
.
objects
.
get
(
username
=
keyword
)
except
User
.
DoesNotExist
:
try
:
return
User
.
objects
.
get
(
profile__org_id
=
keyword
)
return
User
.
objects
.
get
(
profile__org_id
__iexact
=
keyword
)
except
User
.
DoesNotExist
:
return
User
.
objects
.
get
(
email
=
keyword
)
...
...
This diff is collapsed.
Click to expand it.
circle/dashboard/views/vm.py
View file @
fddee865
...
...
@@ -66,7 +66,7 @@ from ..forms import (
VmPortRemoveForm
,
VmPortAddForm
,
VmRemoveInterfaceForm
,
)
from
request.models
import
TemplateAccessType
from
request.models
import
TemplateAccessType
,
LeaseType
from
request.forms
import
LeaseRequestForm
,
TemplateRequestForm
from
..models
import
Favourite
from
manager.scheduler
import
has_traits
...
...
@@ -173,6 +173,10 @@ class VmDetailView(GraphMixin, CheckedDetailView):
context
[
'is_operator'
]
=
is_operator
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
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
...
...
@@ -681,6 +685,7 @@ class VmRenewView(FormOperationMixin, TokenOperationView, VmOperationView):
def
get_context_data
(
self
,
**
kwargs
):
context
=
super
(
VmRenewView
,
self
)
.
get_context_data
(
**
kwargs
)
context
[
'lease_request_form'
]
=
LeaseRequestForm
(
request
=
self
.
request
)
context
[
'lease_types'
]
=
LeaseType
.
objects
.
exists
()
return
context
...
...
This diff is collapsed.
Click to expand it.
circle/locale/hu/LC_MESSAGES/django.po
View file @
fddee865
...
...
@@ -6,9 +6,9 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-0
3-30 10:4
6+0200\n"
"PO-Revision-Date: 2015-0
3-30 12:58
+0116\n"
"Last-Translator:
Elek Elekebb EEeee <viktorvector@gmail.com
>\n"
"POT-Creation-Date: 2015-0
4-20 13:1
6+0200\n"
"PO-Revision-Date: 2015-0
4-20 13:31
+0116\n"
"Last-Translator:
Test Viktor <kviktor@cloud.bme.hu
>\n"
"Language-Team: Hungarian <cloud@ik.bme.hu>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
...
...
@@ -32,7 +32,6 @@ msgstr "Hiba."
#: common/models.py:72
#, python-format
#| msgid "Unhandled exception: %(error)s"
msgid "Unhandled exception: %(e)s: %(error)s"
msgstr "Kezeletlen kivétel: %(e)s: %(error)s"
...
...
@@ -59,7 +58,7 @@ msgstr "feladat uuid"
#: common/models.py:158
#: 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
msgid "user"
msgstr "felhasználó"
...
...
@@ -139,8 +138,8 @@ msgstr "szerver"
msgid "realtime"
msgstr "valós idejű"
#: dashboard/forms.py:93 dashboard/forms.py:81
0 dashboard/forms.py:900
#: dashboard/forms.py:135
1
dashboard/tables.py:270
#: dashboard/forms.py:93 dashboard/forms.py:81
1 dashboard/forms.py:901
#: dashboard/forms.py:135
2
dashboard/tables.py:270
#: dashboard/templates/dashboard/_vm-create-2.html:20
#: dashboard/templates/dashboard/vm-detail/home.html:9
#: dashboard/templates/dashboard/vm-list.html:62 firewall/models.py:296
...
...
@@ -201,10 +200,10 @@ msgstr ""
msgid "Create"
msgstr "Létrehozás"
#: dashboard/forms.py:282 dashboard/forms.py:123
1 dashboard/forms.py:1248
#: dashboard/forms.py:128
3 dashboard/forms.py:1321 dashboard/forms.py:1364
#: dashboard/forms.py:140
5 dashboard/forms.py:1425 dashboard/forms.py:1488
#: dashboard/forms.py:160
0
#: dashboard/forms.py:282 dashboard/forms.py:123
2 dashboard/forms.py:1249
#: dashboard/forms.py:128
4 dashboard/forms.py:1322 dashboard/forms.py:1365
#: dashboard/forms.py:140
6 dashboard/forms.py:1426 dashboard/forms.py:1489
#: dashboard/forms.py:160
1
#: dashboard/templates/dashboard/_manage_access.html:73
#: dashboard/templates/dashboard/connect-command-create.html:37
#: dashboard/templates/dashboard/connect-command-edit.html:37
...
...
@@ -212,20 +211,20 @@ msgstr "Létrehozás"
#: dashboard/templates/dashboard/lease-edit.html:96
#: dashboard/templates/dashboard/template-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:16
2 network/forms.py:187 network/forms.py:22
6
#: network/forms.py:2
47 network/forms.py:298 network/forms.py:323
#: network/forms.py:8
8 network/forms.py:103 network/forms.py:126
#: network/forms.py:16
7 network/forms.py:195 network/forms.py:23
6
#: network/forms.py:2
61 network/forms.py:313 network/forms.py:342
#: request/forms.py:38 request/forms.py:54
msgid "Save"
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-detail.html:102 network/views.py:659
msgid "Host"
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/vm-detail/home.html:118
#: dashboard/templates/dashboard/vm-list.html:87
...
...
@@ -265,24 +264,24 @@ msgstr "Törlés ideje"
msgid "Save changes"
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."
msgstr ""
"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."
msgstr "Kiválasztott bérlet mentése."
#: dashboard/forms.py:7
59
#: dashboard/forms.py:7
60
msgid "Length"
msgstr "Hossz"
#: dashboard/forms.py:76
7
#: dashboard/forms.py:76
8
msgid "Live migration"
msgstr "Live migration"
#: dashboard/forms.py:7
69
#: dashboard/forms.py:7
70
msgid ""
"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 "
...
...
@@ -293,195 +292,195 @@ msgstr ""
"hogy ez terhelt gépek esetén sokáig tarthat és nagy hálózati forgalommal "
"jár."
#: dashboard/forms.py:78
7
#: dashboard/forms.py:78
8
msgid "Forcibly interrupt all running activities."
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."
msgstr ""
"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"
msgstr "Új állapot"
#: dashboard/forms.py:79
2
#: dashboard/forms.py:79
3
msgid "Reset node"
msgstr "Csomópont visszaállítása"
#: dashboard/forms.py:80
6
#: dashboard/forms.py:80
7
msgid "use emergency state change"
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
msgid "Size"
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."
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!"
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."
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:24
msgid "Disk"
msgstr "Lemez"
#: dashboard/forms.py:85
7
#: dashboard/forms.py:85
8
msgid "Disk size must be greater than the actual size."
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
msgid "<label>Disk:</label> %s"
msgstr "<label>Lemez:</label> %s"
#: dashboard/forms.py:90
1
#: dashboard/forms.py:90
2
msgid "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."
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"
msgstr "Interfészek"
#: dashboard/forms.py:93
7
#: dashboard/forms.py:93
8
#, python-brace-format
msgid "<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/node-detail/resources.html:28
#: network/views.py:658
msgid "Vlan"
msgstr "Vlan"
#: dashboard/forms.py:95
5
#: dashboard/forms.py:95
6
msgid "No more networks."
msgstr "Nincs több hálózat."
#: dashboard/forms.py:97
6
#: dashboard/forms.py:97
7
#, python-format
msgid " (missing_traits: %s)"
msgstr "(hiányzó jellemzők: %s)"
#: dashboard/forms.py:99
2
#: dashboard/forms.py:99
3
msgid ""
"Deploy virtual machine to this node (blank allows scheduling automatically)."
msgstr ""
"A virtuális gép elindítása ezen a csomóponton (üresen hagyva automatikus "
"ü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
msgid "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"
msgstr "Protokoll"
#: dashboard/forms.py:104
0
#: dashboard/forms.py:104
1
#, python-brace-format
msgid "<label>Host:</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
msgid "Username"
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"
msgstr "Jelszó"
#: dashboard/forms.py:108
7
#: dashboard/forms.py:108
8
msgid "Sign in"
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"
msgstr "E-mail cím"
#: dashboard/forms.py:111
5
#: dashboard/forms.py:111
6
msgid "Reset password"
msgstr "Új jelszó"
#: dashboard/forms.py:113
1 dashboard/forms.py:1257
#: dashboard/forms.py:113
2 dashboard/forms.py:1258
msgid "Change password"
msgstr "Jelszóváltoztatás"
#: dashboard/forms.py:120
3
#: dashboard/forms.py:120
4
msgid "Add trait"
msgstr "Jellemző hozzáadása"
#: dashboard/forms.py:122
0
#: dashboard/forms.py:122
1
msgid "Preferred language"
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/profile.html:6
0
#: dashboard/templates/dashboard/profile.html:6
2
#: dashboard/templates/dashboard/vm-detail/network.html:40
#: network/templates/network/host-edit.html:32 templates/info/help.html:192
msgid "Groups"
msgstr "Csoportok"
#: dashboard/forms.py:129
8
#: dashboard/forms.py:129
9
msgid "Instance 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"
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"
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"
msgstr "A felhasználó e-mail címe vagy azonosítója"
#: dashboard/forms.py:135
3
#: dashboard/forms.py:135
4
msgid "Key"
msgstr "Kulcs"
#: dashboard/forms.py:135
4
#: dashboard/forms.py:135
5
msgid "For example: ssh-rsa AAAAB3NzaC1yc2ED..."
msgstr "Például: ssh-rsa AAAAB3NzaC1yc2ED…"
#: dashboard/forms.py:143
4
#: dashboard/forms.py:143
5
msgid "permissions"
msgstr "jogosultságok"
#: dashboard/forms.py:153
1
#: dashboard/forms.py:153
2
msgid "owned"
msgstr "saját"
#: dashboard/forms.py:153
2
#: dashboard/forms.py:153
3
msgid "shared"
msgstr "osztott"
#: dashboard/forms.py:153
3
#: dashboard/forms.py:153
4
msgid "all"
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-nodes.html:40
#: dashboard/templates/dashboard/index-templates.html:40
...
...
@@ -594,7 +593,7 @@ msgstr "Lemezkvóta mebibyte-okban."
msgid "Can use autocomplete."
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
msgid "operator"
msgstr "operátor"
...
...
@@ -665,7 +664,7 @@ msgstr "Adminisztráció"
msgid "Actions"
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"
msgstr "Címtári azonosító"
...
...
@@ -975,7 +974,7 @@ msgstr "Lemezek"
#: dashboard/templates/dashboard/base.html:40
#: dashboard/templates/dashboard/vm-detail.html:214
#: 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"
msgstr "Hálózat"
...
...
@@ -1002,7 +1001,6 @@ msgstr ""
"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
#| msgid " new virtual machines because no templates are shared with ."
msgid ""
"You can't start new virtual machines because no templates are shared with "
"you however you can request them via the form below."
...
...
@@ -1012,7 +1010,6 @@ msgstr ""
#: dashboard/templates/dashboard/_vm-create-1.html:96
#, python-format
#| msgid " owner of this template is <a href=\"%(url)s\">ame)s er)s)</a>.\n"
msgid ""
"\n"
" Need other templates? Submit a new <a href=\"%(url)s\">request</a>.\n"
...
...
@@ -1083,7 +1080,7 @@ msgstr "Csomópontjellemzők"
msgid "Required traits"
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"
msgstr "Hosszabb bérlet igénylése"
...
...
@@ -1108,7 +1105,6 @@ msgstr "Tárhely"
#: dashboard/templates/dashboard/base.html:46
#: request/templates/request/list.html:6
#: request/templates/request/list.html:17
#| msgid "Required traits"
msgid "Requests"
msgstr "Igénylések"
...
...
@@ -1242,13 +1238,13 @@ msgstr "Parancssablon létrehozása"
#: dashboard/templates/dashboard/connect-command-edit.html:13
#: dashboard/templates/dashboard/lease-create.html:13
#: 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/userkey-create.html:13
#: 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:16
3 network/forms.py:188 network/forms.py:22
7
#: network/forms.py:2
48 network/forms.py:299 network/forms.py:324
#: network/forms.py:8
9 network/forms.py:104 network/forms.py:127
#: network/forms.py:16
8 network/forms.py:196 network/forms.py:23
7
#: network/forms.py:2
62 network/forms.py:314 network/forms.py:343
#: request/templates/request/detail.html:17
#: request/templates/request/lease-type-form.html:25
#: request/templates/request/template-type-form.html:25
...
...
@@ -1792,61 +1788,66 @@ msgstr ""
"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"
#: dashboard/templates/dashboard/profile.html:
6
#: dashboard/templates/dashboard/profile.html:
7
#: dashboard/templates/dashboard/profile_form.html:6
msgid "Profile"
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."
msgstr ""
"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"
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"
msgstr "Keresztnév"
#: dashboard/templates/dashboard/profile.html:
39
#: dashboard/templates/dashboard/profile.html:
40
msgid "Last name"
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"
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?"
msgstr "Mi az a Gravatar?"
#: dashboard/templates/dashboard/profile.html:5
2
#: dashboard/templates/dashboard/profile.html:5
4
msgid "Change my preferences"
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."
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"
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."
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"
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."
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"
msgstr "Felhasználó szerkesztése"
...
...
@@ -2500,12 +2501,12 @@ msgid "DNS name"
msgstr "DNS név"
#: dashboard/templates/dashboard/vm-detail/network.html:52
#: network/forms.py:2
69
#: network/forms.py:2
84
msgid "IPv4"
msgstr "IPv4"
#: dashboard/templates/dashboard/vm-detail/network.html:53
#: network/forms.py:2
76
#: network/forms.py:2
91
msgid "IPv6"
msgstr "IPv6"
...
...
@@ -2523,7 +2524,6 @@ msgid "Edit raw data"
msgstr "Nyers adat szerkesztése"
#: dashboard/templates/dashboard/vm-detail/resources.html:7
#| msgid "Change resources"
msgid "Modify the resources"
msgstr "Módosítsa az erőforrásokat"
...
...
@@ -2543,16 +2543,14 @@ msgid ""
msgstr ""
"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 "
"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
#: request/forms.py:79 request/models.py:82
#| msgid "RAM usage"
msgid "Message"
msgstr "Üzenet"
#: dashboard/templates/dashboard/vm-detail/resources.html:38
#| msgid "Save resources"
msgid "Request resources"
msgstr "Erőforrások igénylése"
...
...
@@ -2634,36 +2632,36 @@ msgstr "példányok száma"
msgid "Allocated memory (bytes)"
msgstr "Foglalt memória (byte)"
#: dashboard/views/group.py:15
0
#: dashboard/views/group.py:15
2
#, python-format
msgid "User \"%s\" not found."
msgstr "Nem található „%s” felhasználó."
#: dashboard/views/group.py:16
4
#: dashboard/views/group.py:16
6
msgid "Group successfully renamed."
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."
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."
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."
msgstr "A csoport törlésre került."
#: dashboard/views/group.py:31
7
#: dashboard/views/group.py:31
9
msgid "Create a Group"
msgstr "Csoport létrehozása"
#: dashboard/views/group.py:33
3
#: dashboard/views/group.py:33
5
msgid "Group successfully created."
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."
msgstr "A csoport frissítésre került."
...
...
@@ -2692,7 +2690,6 @@ msgid "The DataStore is offline."
msgstr "Az adattár nem elérhető."
#: dashboard/views/storage.py:57
#| msgid "Virtual machine"
msgid "virtual machine"
msgstr "virtuális gép"
...
...
@@ -2964,7 +2961,8 @@ msgstr "Átruházás elfogadva"
#: dashboard/views/util.py:667
#, python-format
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
msgid "Only the owners can delete the selected object."
...
...
@@ -2974,65 +2972,65 @@ msgstr "Csak a tulajdonos törölheti a kiválasztott objektumot."
msgid "console access"
msgstr "konzolhozzáférés"
#: dashboard/views/vm.py:
199
#: dashboard/views/vm.py:
203
msgid "VM successfully renamed."
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."
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."
msgstr "A token lejárt."
#: dashboard/views/vm.py:8
36
#: dashboard/views/vm.py:8
41
#, python-format
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."
#: dashboard/views/vm.py:85
2
#: dashboard/views/vm.py:85
7
#, python-format
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."
#: dashboard/views/vm.py:104
4
#: dashboard/views/vm.py:104
9
msgid "Customize VM"
msgstr "VM testreszabása"
#: dashboard/views/vm.py:105
2
#: dashboard/views/vm.py:105
7
msgid "Create a VM"
msgstr "VM létrehozása"
#: dashboard/views/vm.py:11
07
#: dashboard/views/vm.py:11
12
#, python-format
msgid "Successfully created %(count)d VM."
msgid_plural "Successfully created %(count)d VMs."
msgstr[0] "%(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."
msgstr "VM létrehozásra került."
#: dashboard/views/vm.py:114
3
#: dashboard/views/vm.py:114
8
#, python-format
msgid "Instance limit (%d) exceeded."
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"
msgstr "A CIRCLE kliensről"
#: dashboard/views/vm.py:130
1
#: dashboard/views/vm.py:130
6
msgid "transfer ownership"
msgstr "tulajdon átruházása"
#: dashboard/views/vm.py:131
1
#: dashboard/views/vm.py:131
6
#, python-format
msgid ""
"%(owner)s offered you to take the ownership of his/her virtual machine
called
"
" %(instance)s. <a href=\"%(token)s\" class=\"btn btn-success btn-"
"%(owner)s offered you to take the ownership of his/her virtual machine "
"
called
%(instance)s. <a href=\"%(token)s\" class=\"btn btn-success btn-"
"small\">Accept</a>"
msgstr ""
"%(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."
msgstr "A csoport leírása."
#: firewall/models.py:550
#| msgid "vlan group"
msgid "vlan groups"
msgstr "vlan-csoportok"
#: firewall/models.py:577
#| msgid "host group"
msgid "host groups"
msgstr "gépcsoportok"
...
...
@@ -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."
#: firewall/models.py:955
#| msgid "firewall"
msgid "firewalls"
msgstr "tűzfalak"
...
...
@@ -3636,7 +3631,6 @@ msgid "domain"
msgstr "tartomány"
#: firewall/models.py:1006
#| msgid "domain"
msgid "domains"
msgstr "tartományok"
...
...
@@ -3658,7 +3652,6 @@ msgid "record"
msgstr "rekord"
#: firewall/models.py:1087
#| msgid "record"
msgid "records"
msgstr "rekordok"
...
...
@@ -3677,7 +3670,6 @@ msgid "switch port"
msgstr "switch port"
#: firewall/models.py:1109
#| msgid "switch port"
msgid "switch ports"
msgstr "switch portok"
...
...
@@ -3726,7 +3718,6 @@ msgid "blacklist item"
msgstr "tiltólista eleme"
#: firewall/models.py:1176
#| msgid "blacklist item"
msgid "blacklist items"
msgstr "tiltólista elemek"
...
...
@@ -3762,31 +3753,31 @@ msgstr ""
"Egy csomópont sem biztosítja a virtuális gép indításához szükséges "
"jellemzőket."
#: network/forms.py:1
46
#: network/forms.py:1
51
msgid "Generate random address."
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."
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"
msgstr "Információ"
#: network/forms.py:2
1
7
#: network/forms.py:2
2
7
msgid "External"
msgstr "Külső"
#: network/forms.py:2
80
#: network/forms.py:2
95
msgid "Generate sensible template."
msgstr "Ésszerű sablon generálása."
#: network/forms.py:2
84
#: network/forms.py:2
99
msgid "Domain name service"
msgstr "DNS szolgáltatás"
#: network/forms.py:
289
#: network/forms.py:
304
msgid "Info"
msgstr "Infó"
...
...
@@ -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."
#: request/forms.py:76
#| msgid "Templates"
msgid "Template share"
msgstr "Sablon megosztás"
...
...
@@ -4334,7 +4324,6 @@ msgid "pending"
msgstr "függő"
#: request/models.py:69
#| msgid "accept"
msgid "accepted"
msgstr "elfogadott"
...
...
@@ -4343,7 +4332,6 @@ msgid "declined"
msgstr "elutasított"
#: request/models.py:77
#| msgid "source port"
msgid "resource request"
msgstr "erőforrás igénylés"
...
...
@@ -4352,12 +4340,10 @@ msgid "lease request"
msgstr "bérlet igénylés"
#: request/models.py:79
#| msgid "Template successfully deleted."
msgid "template access request"
msgstr "sablon hozzáférés igénylés"
#: request/models.py:126
#| msgid "Ownership accepted"
msgid "Request accepted"
msgstr "Kérés elfogadva"
...
...
@@ -4399,7 +4385,7 @@ msgstr "prioritás"
msgid "CPU priority."
msgstr "CPU prioritás."
#: request/models.py:1
88
#: request/models.py:1
91
#, python-format
msgid ""
"The resources of <a href=\"%(url)s\">%(name)s</a> were changed. Number of "
...
...
@@ -4410,7 +4396,7 @@ msgstr ""
"%(num_cores)d, RAM-mennyiség: <span class=\"nowrap\">%(ram_size)d "
"MiB</span>, CPU prioritás: %(priority)d/100."
#: request/models.py:21
2
#: request/models.py:21
5
#, python-format
msgid ""
"The lease of <a href=\"%(url)s\">%(name)s</a> got extended. (suspend: "
...
...
@@ -4419,14 +4405,14 @@ msgstr ""
"<a href=\"%(url)s\">%(name)s</a> bérlete meghosszabbítva. (felfüggesztés: "
"%(suspend)s, törlés: %(remove)s)"
#: request/models.py:24
0
#: request/models.py:24
3
#, python-format
msgid "You got access to the following template: %s"
msgid_plural "You got access to the following templates: %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"
#: request/models.py:25
1
#: request/models.py:25
4
#, python-format
msgid ""
"A new <a href=\"%(request_url)s\">%(request_type)s</a> was submitted by <a "
...
...
@@ -4435,16 +4421,16 @@ msgstr ""
"Egy új <a href=\"%(request_url)s\">%(request_type)s</a> lett beküldve <a "
"href=\"%(user_url)s\">%(display_name)s</a> által."
#: request/models.py:26
2
#: request/models.py:26
5
#, python-format
msgid "New %(request_type)s"
msgstr "Új %(request_type)s"
#: request/models.py:26
6
#: request/models.py:26
9
msgid "Request submitted"
msgstr "Igénylés beküldve"
#: request/models.py:2
67
#: request/models.py:2
70
#, python-format
msgid ""
"You can view the request's status at this <a "
...
...
@@ -4454,7 +4440,6 @@ msgstr ""
"href=\"%(request_url)s\">linken</a>."
#: request/tables.py:53
#| msgid "No more networks."
msgid "No more requests."
msgstr "Nincs több igénylés."
...
...
@@ -4469,39 +4454,32 @@ msgstr ""
"Azon felhasználók számára akik a sablonokat meg szeretnék osztani másokkal."
#: 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."
msgstr "Azon felhasználók számára akik virtuális gépet akarnak indítani."
#: request/templates/request/detail.html:7
#| msgid "requested IP"
msgid "Request"
msgstr "Igénylés"
#: request/templates/request/detail.html:42
#: request/templates/request/detail.html:69
#| msgid "name"
msgid "VM name"
msgstr "Virtuális gép neve"
#: request/templates/request/detail.html:44
#: request/templates/request/detail.html:76
#| msgid "description"
msgid "VM description"
msgstr "Virtuális gép leírása"
#: request/templates/request/detail.html:46
#| msgid "Create lease"
msgid "Current lease"
msgstr "Jelenlegi bérlet"
#: request/templates/request/detail.html:48
#| msgid "requested IP"
msgid "Requested lease"
msgstr "Igényelt bérlet"
#: request/templates/request/detail.html:54
#| msgid "Template"
msgid "Template type"
msgstr "Sablon típus"
...
...
@@ -4510,12 +4488,10 @@ msgid "(old values in parentheses)"
msgstr "(régi értékek zárójelben)"
#: request/templates/request/detail.html:83
#| msgid "number of cores"
msgid "Number of cores"
msgstr "Magok száma"
#: request/templates/request/detail.html:85
#| msgid "RAM size"
msgid "Ram size"
msgstr "RAM-méret"
...
...
@@ -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)"
#: request/templates/request/detail.html:103
#| msgid "Online"
msgid "Decline"
msgstr "Elutasít"
...
...
@@ -4538,7 +4513,6 @@ msgstr "Elfogadás"
#: request/templates/request/detail.html:122
#, python-format
#| msgid " subactivity of <a href=\"%(url)s\">%(name)s</a>\n"
msgid ""
"\n"
" Closed %(closed)s by <a href=\"%(user.profile.get_absolute_url)s\">%(user)s</a>\n"
...
...
@@ -4552,7 +4526,6 @@ msgid "lease type"
msgstr "bérlet típus"
#: request/templates/request/lease-type-form.html:33
#| msgid "new lease"
msgid "New lease type"
msgstr "Új bérlet típus"
...
...
@@ -4563,43 +4536,35 @@ msgid "Request types"
msgstr "Kérés típusok"
#: request/templates/request/list.html:21
#| msgid "Filter by vlans"
msgid "Filter by status"
msgstr "Állapot szerinti szűrés"
#: request/templates/request/request-lease.html:12
#| msgid "new lease"
msgid "Request new lease"
msgstr "Új bérlet igénylése"
#: request/templates/request/request-resource.html:13
#: request/templates/request/request-resource.html:29
#| msgid "Change resources"
msgid "Request new resources"
msgstr "Új erőforrások igénylése"
#: request/templates/request/request-template.html:12
#| msgid "Delete template"
msgid "Request template access"
msgstr "Sablon hozzáférés igénylése"
#: request/templates/request/template-type-form.html:8
#| msgid "Template successfully deleted."
msgid "template access type"
msgstr "sablon hozzáférés típus"
#: request/templates/request/template-type-form.html:33
#| msgid "Template successfully deleted."
msgid "New Template Access type"
msgstr "Új sablon hozzáférés típus"
#: request/templates/request/type-list.html:17
#| msgid "new lease"
msgid "new lease type"
msgstr "új bérlet típus"
#: request/templates/request/type-list.html:21
#| msgid "new template"
msgid "new template access type"
msgstr "új sablon hozzáférés típus"
...
...
@@ -4621,6 +4586,26 @@ msgid ""
" "
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
msgid "path"
msgstr "útvonal"
...
...
@@ -4739,18 +4724,22 @@ msgstr ""
msgid "Operation aborted by user."
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
msgid "Page not found"
msgstr "Az oldal nem található"
#: templates/404.html:
9
#: templates/404.html:
15
msgid "This page does not exist."
msgstr "Az oldal nem létezik."
#: templates/500.html:6
msgid ":("
msgstr ":("
#: templates/500.html:18
msgid "Internal Server Error... Please leave the server alone..."
msgstr "Kiszolgálóoldali hiba. Ne bántsa a szervert."
...
...
@@ -6343,7 +6332,7 @@ msgstr "erőforrások módosítása"
msgid "Change resources of a stopped virtual machine."
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
msgid ""
"Priority: %(priority)s, Num cores: %(num_cores)s, Ram size: %(ram_size)s"
...
...
@@ -6351,16 +6340,11 @@ msgstr ""
"Prioritás: %(priority)s, magok száma: %(num_cores)s, memória mérete: "
"%(ram_size)s"
#: vm/operations.py:1359
#| msgid "resources change"
msgid "resources request"
msgstr "erőforrás igénylés"
#: vm/operations.py:1385
#: vm/operations.py:1370
msgid "password reset"
msgstr "jelszó visszaállítása"
#: vm/operations.py:13
86
#: vm/operations.py:13
71
msgid ""
"Generate and set a new login password on the virtual machine. This operation"
" requires the agent running. Resetting the password is not warranted to "
...
...
@@ -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 "
"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"
msgstr "ügynök"
#: vm/operations.py:14
51
#: vm/operations.py:14
36
msgid "starting"
msgstr "indítás"
#: vm/operations.py:14
69
#: vm/operations.py:14
54
msgid "wait agent restarting"
msgstr "várakozás az ügynök újraindulására"
#: vm/operations.py:14
86
#: vm/operations.py:14
71
msgid "cleanup"
msgstr "takarítás"
#: vm/operations.py:14
92
#: vm/operations.py:14
77
msgid "set time"
msgstr "óra beállítása"
#: vm/operations.py:1
503
#: vm/operations.py:1
488
msgid "set hostname"
msgstr "gépnév beállítása"
#: vm/operations.py:1
514
#: vm/operations.py:1
499
msgid "restart networking"
msgstr "hálózat újratöltése"
#: vm/operations.py:15
20
#: vm/operations.py:15
05
msgid "change ip"
msgstr "IP cím beállítása"
#: vm/operations.py:15
35
#: vm/operations.py:15
20
msgid "update agent"
msgstr "ügynök frissítése"
#: vm/operations.py:15
41
#: vm/operations.py:15
26
#, python-format
msgid "update agent to %(version)s"
msgstr "ügynökfrissítés erre: %(version)s"
#: vm/operations.py:16
24
#: vm/operations.py:16
09
msgid "mount store"
msgstr "tárhely csatolása"
#: vm/operations.py:16
26
#: vm/operations.py:16
11
msgid ""
"This operation attaches your personal file store. Other users who have "
"access to this machine can see these files as well."
...
...
@@ -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 "
"elérhetik fájljait."
#: vm/operations.py:16
60
#: vm/operations.py:16
45
msgid "attach disk"
msgstr "lemez csatolása"
#: vm/operations.py:16
71
#: vm/operations.py:16
56
msgid "Resource was not found."
msgstr "Nem található az erőforrás."
#: vm/operations.py:16
72
#: vm/operations.py:16
57
#, python-format
msgid "Resource was not found. %(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"
msgstr "lemez leválasztása"
#: vm/operations.py:16
96
#: vm/operations.py:16
81
msgid "attach network"
msgstr "hálózat csatolása"
#: vm/operations.py:1
703
#: vm/operations.py:1
688
msgid "detach network"
msgstr "hálózat lecsatolása"
...
...
@@ -6484,6 +6468,9 @@ msgstr ""
msgid "x"
msgstr "x"
#~ msgid "resources request"
#~ msgstr "erőforrás igénylés"
#~ msgid ""
#~ "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..."
...
...
This diff is collapsed.
Click to expand it.
circle/request/views.py
View file @
fddee865
...
...
@@ -19,9 +19,11 @@ from __future__ import unicode_literals, absolute_import
from
django.views.generic
import
(
UpdateView
,
TemplateView
,
DetailView
,
CreateView
,
FormView
,
DeleteView
,
)
from
django.contrib.messages.views
import
SuccessMessageMixin
from
django.shortcuts
import
redirect
,
get_object_or_404
from
django.core.exceptions
import
PermissionDenied
,
SuspiciousOperation
from
django.core.urlresolvers
import
reverse
from
django.utils.translation
import
ugettext
as
_
from
braces.views
import
SuperuserRequiredMixin
,
LoginRequiredMixin
from
django_tables2
import
SingleTableView
...
...
@@ -97,17 +99,19 @@ class RequestDetail(LoginRequiredMixin, DetailView):
class
TemplateAccessTypeDetail
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
UpdateView
):
SuccessMessageMixin
,
UpdateView
):
model
=
TemplateAccessType
template_name
=
"request/template-type-form.html"
form_class
=
TemplateAccessTypeForm
success_message
=
_
(
"Template access type successfully updated."
)
class
TemplateAccessTypeCreate
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
CreateView
):
SuccessMessageMixin
,
CreateView
):
model
=
TemplateAccessType
template_name
=
"request/template-type-form.html"
form_class
=
TemplateAccessTypeForm
success_message
=
_
(
"New template access type successfully created."
)
class
TemplateAccessTypeDelete
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
...
...
@@ -119,16 +123,20 @@ class TemplateAccessTypeDelete(LoginRequiredMixin, SuperuserRequiredMixin,
return
reverse
(
"request.views.type-list"
)
class
LeaseTypeDetail
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
UpdateView
):
class
LeaseTypeDetail
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
SuccessMessageMixin
,
UpdateView
):
model
=
LeaseType
template_name
=
"request/lease-type-form.html"
form_class
=
LeaseTypeForm
success_message
=
_
(
"Lease type successfully updated."
)
class
LeaseTypeCreate
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
CreateView
):
class
LeaseTypeCreate
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
SuccessMessageMixin
,
CreateView
):
model
=
LeaseType
template_name
=
"request/lease-type-form.html"
form_class
=
LeaseTypeForm
success_message
=
_
(
"New lease type successfully created."
)
class
LeaseTypeDelete
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
DeleteView
):
...
...
@@ -154,7 +162,7 @@ class RequestTypeList(LoginRequiredMixin, SuperuserRequiredMixin,
return
context
class
TemplateRequestView
(
FormView
):
class
TemplateRequestView
(
LoginRequiredMixin
,
FormView
):
form_class
=
TemplateRequestForm
template_name
=
"request/request-template.html"
...
...
@@ -185,7 +193,7 @@ class TemplateRequestView(FormView):
return
redirect
(
"/"
)
class
VmRequestMixin
(
object
):
class
VmRequestMixin
(
LoginRequiredMixin
,
object
):
def
get_vm
(
self
):
return
get_object_or_404
(
Instance
,
pk
=
self
.
kwargs
[
'vm_pk'
])
...
...
This diff is collapsed.
Click to expand it.
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 %}
This diff is collapsed.
Click to expand it.
circle/templates/404.html
View file @
fddee865
...
...
@@ -6,5 +6,14 @@
{% block page_title %}{% trans "Page not found" %}{% endblock page_title %}
{% 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 %}
This diff is collapsed.
Click to expand it.
circle/templates/500.html
View file @
fddee865
{% extends "
dashboard/
base.html" %}
{% extends "base.html" %}
{% load i18n %}
{% block title %}HTTP 500{% endblock %}
...
...
This diff is collapsed.
Click to expand it.
circle/vm/models/instance.py
View file @
fddee865
...
...
@@ -62,7 +62,6 @@ scheduler = import_module(name=django.conf.settings.VM_SCHEDULER)
ACCESS_PROTOCOLS
=
django
.
conf
.
settings
.
VM_ACCESS_PROTOCOLS
ACCESS_METHODS
=
[(
key
,
name
)
for
key
,
(
name
,
port
,
transport
)
in
ACCESS_PROTOCOLS
.
iteritems
()]
VNC_PORT_RANGE
=
(
20000
,
65536
)
# inclusive start, exclusive end
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
():
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
))
if
port
is
None
:
...
...
This diff is collapsed.
Click to expand it.
requirements/base.txt
View file @
fddee865
...
...
@@ -11,11 +11,12 @@ django-braces==1.4.0
django-celery==3.1.16
django-crispy-forms==1.4.0
django-model-utils==2.2
djangosaml2==0.13.0
django-sizefield==0.6
django-sshkey==2.2.0
django-statici18n==1.1
django-tables2==0.15.0
git+https://git.ik.bme.hu/circle/django-taggit.git
django-taggit==0.13.0
docutils==0.12
Jinja2==2.7.3
jsonfield==1.0.0
...
...
@@ -32,6 +33,7 @@ pyinotify==0.9.4
pytz==2014.7
requests==2.5.3
salt==2014.1.0
shutilwhich==1.0.1
simplejson==3.6.5
six==1.8.0
slimit==0.8.1
...
...
This diff is collapsed.
Click to expand it.
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