root / snf-cyclades-app / synnefo / ui / templates / home.html @ 74831b0d
History | View | Annotate | Download (33.2 kB)
1 | 8d08f18a | Kostas Papadimitriou | <!doctype html> |
---|---|---|---|
2 | 4ea5cc44 | Mike Muzurakis | <html>
|
3 | 4ea5cc44 | Mike Muzurakis | |
4 | d7f0ad6e | provetza | {% load i18n %} |
5 | cc7c5902 | Dimitris Moraitis | <head>
|
6 | 9d889386 | Olga Brani | <title>{{ BRANDING_SERVICE_NAME }}</title> |
7 | 4a57745c | Kostas Papadimitriou | |
8 | 8d08f18a | Kostas Papadimitriou | <!--<meta http-equiv="X-UA-Compatible" content="IE=7">-->
|
9 | 4a57745c | Kostas Papadimitriou | <meta http-equiv="content-type" content="text/html; charset=UTF-8"> |
10 | 4a57745c | Kostas Papadimitriou | |
11 | 9ebf573f | Kostas Papadimitriou | <link href="https://fonts.googleapis.com/css?family=Ubuntu&subset=latin,greek" rel="stylesheet" type="text/css" > |
12 | 9ebf573f | Kostas Papadimitriou | <link href='https://fonts.googleapis.com/css?family=Open+Sans&subset=latin,greek' rel='stylesheet' type='text/css'> |
13 | 8d08f18a | Kostas Papadimitriou | |
14 | 9d889386 | Olga Brani | <link rel="shortcut icon" href="{{ BRANDING_FAVICON_URL }}" /> |
15 | fbeba614 | Kostas Papadimitriou | |
16 | 8d08f18a | Kostas Papadimitriou | {% comment %} |
17 | 8d08f18a | Kostas Papadimitriou | <script type="text/javascript" src="{% url javascript_catalog %}"></script> |
18 | 8d08f18a | Kostas Papadimitriou | {% endcomment %} |
19 | 19e01943 | Kostas Papadimitriou | |
20 | 209a38bc | Kostas Papadimitriou | <link rel="stylesheet" type="text/css" |
21 | 209a38bc | Kostas Papadimitriou | href="{{ SYNNEFO_CSS_URL }}main.css?v={{ SYNNEFO_JS_LIB_VERSION }}"/> |
22 | 5fe07577 | Kostas Papadimitriou | |
23 | 8d08f18a | Kostas Papadimitriou | <!--[if IE]>
|
24 | 1d9e9a43 | Kostas Papadimitriou | <style type="text/css" media="all">@import url({{ SYNNEFO_CSS_URL }}ie.css?v={{ SYNNEFO_JS_LIB_VERSION }});</style>
|
25 | 8d08f18a | Kostas Papadimitriou | <![endif]-->
|
26 | 4954661a | Kostas Papadimitriou | <!--[if (lte IE 8)]>
|
27 | 1d9e9a43 | Kostas Papadimitriou | <style type="text/css" media="all">@import url({{ SYNNEFO_CSS_URL }}ie8.css?v={{ SYNNEFO_JS_LIB_VERSION }});</style>
|
28 | 4954661a | Kostas Papadimitriou | <![endif]-->
|
29 | 5fe07577 | Kostas Papadimitriou | <!--[if (lte IE 7)]>
|
30 | 1d9e9a43 | Kostas Papadimitriou | <style type="text/css" media="all">@import url({{ SYNNEFO_CSS_URL }}ie7.css?v={{ SYNNEFO_JS_LIB_VERSION }});</style>
|
31 | 5fe07577 | Kostas Papadimitriou | <![endif]-->
|
32 | 8d08f18a | Kostas Papadimitriou | |
33 | 209a38bc | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}jquery-1.7.2.js"></script> |
34 | c62c6b91 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}jquery.cookie.js"></script> |
35 | c62c6b91 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}jquery.client.js"></script> |
36 | c62c6b91 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}jquery.tools.min.js"></script> |
37 | c62c6b91 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}jquery.dataTables.min.js"></script> |
38 | 1e827d67 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}jquery.pagination.js"></script> |
39 | 35584d80 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}jquery.zclip.js"></script> |
40 | e97e7c44 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}jquery.base64.js"></script> |
41 | 209a38bc | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}rivets.js"></script> |
42 | 209a38bc | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}filereader.js"></script> |
43 | 209a38bc | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}filesaver.js"></script> |
44 | 8d08f18a | Kostas Papadimitriou | |
45 | 23a3bb8e | Kostas Papadimitriou | |
46 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}underscore.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
47 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}underscore.string.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
48 | 209a38bc | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}rivets.conf.js"></script> |
49 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}backbone.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
50 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}json2.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
51 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}stacktrace.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
52 | 209a38bc | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL}}backbone-filtered-collection.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
53 | 23a3bb8e | Kostas Papadimitriou | |
54 | 8e701482 | Kostas Papadimitriou | <!--[if (lt IE 7)]>
|
55 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_LIB_URL }}selectivizr.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script>
|
56 | 8d08f18a | Kostas Papadimitriou | <! [endif] -->
|
57 | 8d08f18a | Kostas Papadimitriou | |
58 | 8d08f18a | Kostas Papadimitriou | <!--[if IE]>
|
59 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}ui/ie_fixes.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script>
|
60 | 8d08f18a | Kostas Papadimitriou | <![endif]-->
|
61 | 1956fd41 | Kostas Papadimitriou | |
62 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}utils.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
63 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}auth.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
64 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}quota.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
65 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}sync.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
66 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}models.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
67 | 209a38bc | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}neutron.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
68 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}glance_models.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
69 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}views.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
70 | 209a38bc | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}views_ext.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
71 | 1d9e9a43 | Kostas Papadimitriou | |
72 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_vms_base_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
73 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_model_views.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
74 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_error_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
75 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_icon_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
76 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_single_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
77 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_list_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
78 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_networks_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
79 | 209a38bc | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_public_keys_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
80 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_disks_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
81 | 209a38bc | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_ips_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
82 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_metadata_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
83 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_feedback_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
84 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_create_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
85 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_connect_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
86 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_vm_resize_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
87 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_public_keys_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
88 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_custom_images.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
89 | 1d9e9a43 | Kostas Papadimitriou | |
90 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_router.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
91 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_WEB_URL }}ui_main_view.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
92 | 8d08f18a | Kostas Papadimitriou | |
93 | 8d08f18a | Kostas Papadimitriou | <!-- the following views require refactor -->
|
94 | 1d9e9a43 | Kostas Papadimitriou | <script src="{{ SYNNEFO_JS_URL }}synnefo.js?v={{ SYNNEFO_JS_LIB_VERSION }}"></script> |
95 | 810205e5 | Kostas Papadimitriou | <script>
|
96 | 810205e5 | Kostas Papadimitriou | tmp_auth_client = new synnefo.auth.AstakosClient({
|
97 | 810205e5 | Kostas Papadimitriou | cookie_name: '{{ auth_cookie_name }}',
|
98 | 27738c43 | Kostas Papadimitriou | login_url: {{ login_redirect|safe }}
|
99 | 810205e5 | Kostas Papadimitriou | });
|
100 | 2d815668 | Kostas Papadimitriou | if (!tmp_auth_client.get_token()) { tmp_auth_client.redirect_to_login(); }
|
101 | 810205e5 | Kostas Papadimitriou | </script>
|
102 | 4ef604a6 | Kostas Papadimitriou | {{ CLOUDBAR_CODE }} |
103 | 8d08f18a | Kostas Papadimitriou | |
104 | 42f67a2a | Dimitris Moraitis | <script>
|
105 | a657c49e | Kostas Papadimitriou | // empty object for console to avoid errors in browsers that don't support it
|
106 | 2b837adf | Kostas Papadimitriou | if (!window.console) {window.console = {}; window.console.log = window.console.info = window.console.debug =
|
107 | 2b837adf | Kostas Papadimitriou | window.console.error = function() {}};
|
108 | 49772990 | Kostas Papadimitriou |
|
109 | f533f224 | Vangelis Koukis | //populate available image icons array
|
110 | f533f224 | Vangelis Koukis | var os_icons = {{image_icons|safe}};
|
111 | 8d08f18a | Kostas Papadimitriou |
|
112 | eae0a59a | Dimitris Moraitis | // timeout value from settings.py
|
113 | f4098dee | Kostas Papadimitriou | var TIMEOUT = {{ timeout }};
|
114 | ec027295 | Kostas Papadimitriou | var TIMEOUTS_OCCURED = 0;
|
115 | 0375f6c5 | Kostas Papadimitriou | var SKIP_TIMEOUTS = {{ skip_timeouts }};
|
116 | ec027295 | Kostas Papadimitriou | var UPDATE_INTERVAL = {{ update_interval }};
|
117 | 9040e9fe | Kostas Papadimitriou | var APP_DEBUG = {% if DEBUG %}true{% else %}false{% endif %};
|
118 | 3c08f055 | Kostas Papadimitriou | var API_OVERLAY_TITLE = "{% trans "API access" %}";
|
119 | 9d889386 | Olga Brani | var API_OVERLAY_SUBCONTENT = "{% blocktrans %}The API key provides full access to your <em>{{ BRANDING_SERVICE_NAME}}</em> account, so always keep it private.{% endblocktrans %}";
|
120 | 8d08f18a | Kostas Papadimitriou | |
121 | 8d08f18a | Kostas Papadimitriou | STATE_TEXTS = {
|
122 | 8d08f18a | Kostas Papadimitriou | 'UNKNOWN': '{% trans "Unknown" %}',
|
123 | 8d08f18a | Kostas Papadimitriou | 'BUILD': '{% trans "Building..." %}',
|
124 | 8d08f18a | Kostas Papadimitriou | 'FIREWALL': '{% trans "Firewall change..." %}',
|
125 | 8d08f18a | Kostas Papadimitriou | 'REBOOT': '{% trans "Rebooting..." %}',
|
126 | 8d08f18a | Kostas Papadimitriou | 'STOPPED':'{% trans "Stopped" %}',
|
127 | 8d08f18a | Kostas Papadimitriou | 'ACTIVE': '{% trans "Running" %}',
|
128 | 8d08f18a | Kostas Papadimitriou | 'ERROR': '{% trans "Error" %}',
|
129 | 8d08f18a | Kostas Papadimitriou | 'DELETE': '',
|
130 | 8d08f18a | Kostas Papadimitriou | 'DESTROY': '{% trans "Destroying..." %}',
|
131 | 8d08f18a | Kostas Papadimitriou | 'SHUTDOWN': '{% trans "Shutting down..." %}',
|
132 | 8d08f18a | Kostas Papadimitriou | 'START': '{% trans "Starting..." %}',
|
133 | 8d08f18a | Kostas Papadimitriou | 'CONNECT': '{% trans "Connecting..." %}',
|
134 | a3ac649e | Kostas Papadimitriou | 'DISCONNECT': '{% trans "Disconnecting..." %}',
|
135 | a3ac649e | Kostas Papadimitriou | 'RESIZE': '{% trans "Resizing..." %}'
|
136 | 8d08f18a | Kostas Papadimitriou | }
|
137 | 8d08f18a | Kostas Papadimitriou | |
138 | 8d08f18a | Kostas Papadimitriou | |
139 | 8d08f18a | Kostas Papadimitriou | |
140 | 55e4b353 | Kostas Papadimitriou | // building statuses
|
141 | 8d08f18a | Kostas Papadimitriou | var BUILDING_MESSAGES = {
|
142 | 55e4b353 | Kostas Papadimitriou | 'INIT': '{% trans "Initializing..." %}',
|
143 | 8d08f18a | Kostas Papadimitriou | 'COPY': '{% trans "{0} of {1} ({2}%)" %}',
|
144 | 1e882dd7 | Kostas Papadimitriou | 'FINAL': '{% trans "Bulding image..." %}'
|
145 | 55e4b353 | Kostas Papadimitriou | }
|
146 | 3df307d7 | Christodoulos Psaltis | |
147 | 8d08f18a | Kostas Papadimitriou | var ERROR_OVERRIDES = {
|
148 | eae0a59a | Dimitris Moraitis | // error message header
|
149 | f533f224 | Vangelis Koukis | 'HEADER' : '{% trans "Error" %}',
|
150 | eae0a59a | Dimitris Moraitis | // default
|
151 | 146b6003 | Dimitris Moraitis | 'DEFAULT' : '{% trans "Could not contact the service. Please check your network connectivity and try again." %}',
|
152 | eae0a59a | Dimitris Moraitis | // bad request
|
153 | eae0a59a | Dimitris Moraitis | '400' : '{% trans "Malformed request." %}',
|
154 | eae0a59a | Dimitris Moraitis | // not found
|
155 | eae0a59a | Dimitris Moraitis | '404' : '{% trans "Your request has failed. Resource not found." %}',
|
156 | eae0a59a | Dimitris Moraitis | // internal server error
|
157 | ccd40764 | Markos Gogoulos | '500' : '{% trans "There has been an Internal Error. Our administrators have been notified." %}',
|
158 | ccd40764 | Markos Gogoulos | // service unavailable
|
159 | ccd40764 | Markos Gogoulos | '501' : '{% trans "This server has not been implemented yet." %}',
|
160 | eae0a59a | Dimitris Moraitis | // service unavailable
|
161 | f533f224 | Vangelis Koukis | '502' : '{% trans "Bad Gateway error." %}',
|
162 | f533f224 | Vangelis Koukis | // service unavailable
|
163 | a5093da5 | Markos Gogoulos | '503' : '{% trans "This service is unavailable right now, please try again later." %}',
|
164 | 80a8f602 | Christodoulos Psaltis | // no server handshake
|
165 | 80a8f602 | Christodoulos Psaltis | '0' : '{% trans "Could not contact the server." %}',
|
166 | e2ccad35 | Dimitris Moraitis | // no images found
|
167 | 8d08f18a | Kostas Papadimitriou | '-212' : '{% trans "Cannot show the Create machine wizard: No images found." %}',
|
168 | e2ccad35 | Dimitris Moraitis | // no flavors found
|
169 | 8d08f18a | Kostas Papadimitriou | '-213' : '{% trans "Cannot show the Create machine wizard: No machine configurations found." %}',
|
170 | f533f224 | Vangelis Koukis | // error box title
|
171 | f533f224 | Vangelis Koukis | 'GENERIC_POPUP_HEADER' : '{% trans "Something seems to have gone wrong :( Here is what happened:" %}',
|
172 | f533f224 | Vangelis Koukis | // no advanced details
|
173 | b15a0cc4 | Kostas Papadimitriou | 'NO_DETAILS' : '{% trans "Νο advanced details provided" %}',
|
174 | b15a0cc4 | Kostas Papadimitriou | // timeout message
|
175 | b15a0cc4 | Kostas Papadimitriou | 'TIMEOUT' : '{% trans "It seems the server takes too long to respond, please check your network connectivity" %}'
|
176 | eae0a59a | Dimitris Moraitis | };
|
177 | f533f224 | Vangelis Koukis | |
178 | e0dea91a | Kostas Papadimitriou | var SUGGESTED_FLAVORS = {{ suggested_flavors|safe }};
|
179 | 73e25ce2 | Kostas Papadimitriou | var SUGGESTED_ROLES = {{ suggested_roles|safe }}
|
180 | e9b14cb8 | Kostas Papadimitriou | |
181 | eae0a59a | Dimitris Moraitis | var SUCCESS = {
|
182 | f533f224 | Vangelis Koukis | 'HEADER' : '{% trans "Success" %}',
|
183 | 146b6003 | Dimitris Moraitis | 'DEFAULT' : '{% trans "Your request has been succefully executed." %}',
|
184 | f533f224 | Vangelis Koukis | 'PASSWORD' : '{% trans "Password:" %}',
|
185 | aa0801aa | Markos Gogoulos | 'CREATE_VM_SUCCESS' : '{% trans "Success" %}',
|
186 | f533f224 | Vangelis Koukis | 'CREATE_VM_SUCCESS_ONE' : '{% trans "Your new machine is now buidling... (this might take a few minutes)" %}',
|
187 | def71253 | Markos Gogoulos | 'CREATE_VM_SUCCESS_TWO' : '{% trans "Write down your password now:" %}',
|
188 | f533f224 | Vangelis Koukis | 'CREATE_VM_SUCCESS_THREE' : '{% trans "You will need this later to connect to your machine." %}',
|
189 | f533f224 | Vangelis Koukis | 'CREATE_VM_SUCCESS_FOUR' : '{% trans "After closing this window you will NOT be able to retrieve it again." %}'
|
190 | eae0a59a | Dimitris Moraitis | };
|
191 | f533f224 | Vangelis Koukis | |
192 | b495fe50 | Mike Muzurakis | var VARIOUS = {
|
193 | b495fe50 | Mike Muzurakis | 'CONFIRM' : '{% trans "Confirm" %}',
|
194 | 372f6c81 | Mike Muzurakis | 'CANCEL' : '{% trans "Cancel" %}',
|
195 | d6872a51 | Christodoulos Psaltis | 'APPLY' : '{% trans "Apply" %}',
|
196 | d6872a51 | Christodoulos Psaltis | 'OFF' : '{% trans "Off" %}',
|
197 | d6872a51 | Christodoulos Psaltis | 'ON' : '{% trans "On" %}'
|
198 | b495fe50 | Mike Muzurakis | };
|
199 | b495fe50 | Mike Muzurakis | |
200 | 42f67a2a | Dimitris Moraitis | </script>
|
201 | cc7c5902 | Dimitris Moraitis | </head>
|
202 | 8d08f18a | Kostas Papadimitriou | |
203 | 23a3bb8e | Kostas Papadimitriou | <body id="app"> |
204 | f533f224 | Vangelis Koukis | <div id="container"> |
205 | 8d08f18a | Kostas Papadimitriou | <div id="header"> |
206 | 8d08f18a | Kostas Papadimitriou | <div id="user"> |
207 | b9add257 | Kostas Papadimitriou | {% comment %} |
208 | ce88aad7 | Kostas Papadimitriou | <div class="langmenu"> |
209 | 8d08f18a | Kostas Papadimitriou | <a class="current_lang">en</a> |
210 | f533f224 | Vangelis Koukis | {% get_available_languages as LANGUAGES %} |
211 | f533f224 | Vangelis Koukis | {% for lang in LANGUAGES %} |
212 | 8d08f18a | Kostas Papadimitriou | <a {% if == lang.0 %} |
213 | 8d08f18a | Kostas Papadimitriou | class="current_lang" {% else %} href="/lang/?l={{lang.0}}" {% endif %}>{{lang.0}}</a> |
214 | 8d08f18a | Kostas Papadimitriou | |
215 | ce88aad7 | Kostas Papadimitriou | {% if not forloop.last %}<span class="sep">~</span>{% endif %} |
216 | ce88aad7 | Kostas Papadimitriou | {% endfor %} |
217 | ce88aad7 | Kostas Papadimitriou | </div>
|
218 | b9add257 | Kostas Papadimitriou | {% endcomment %} |
219 | f533f224 | Vangelis Koukis | </div>
|
220 | f533f224 | Vangelis Koukis | <div class="header-logo"> |
221 | 1e23ceb2 | Olga Brani | <a href="/" title="{{ BRANDING_SERVICE_NAME }} Compute"> |
222 | 9d889386 | Olga Brani | <img src="{{ BRANDING_COMPUTE_LOGO_URL }}" alt="{{ BRANDING_SERVICE_NAME }}"/> |
223 | f533f224 | Vangelis Koukis | </a>
|
224 | f533f224 | Vangelis Koukis | </div>
|
225 | cc7c5902 | Dimitris Moraitis | </div>
|
226 | f533f224 | Vangelis Koukis | <div id="content"> |
227 | 8d08f18a | Kostas Papadimitriou | <div id="wrapper" class="clearfix"> |
228 | 8d08f18a | Kostas Papadimitriou | |
229 | 8d08f18a | Kostas Papadimitriou | <div class="panes-menu clearfix"> |
230 | f533f224 | Vangelis Koukis | <!-- tabs -->
|
231 | f533f224 | Vangelis Koukis | <div class="tab-name">{% trans "machines" %}</div> |
232 | f533f224 | Vangelis Koukis | <ul class="css-tabs"> |
233 | 8d08f18a | Kostas Papadimitriou | <li><a href="machines" title="{% trans "manage virtual " %}" |
234 | 7237e429 | Kostas Papadimitriou | data-hover-title="machines" class="primary" id="machines_view_link"> |
235 | 7970aa87 | Kostas Papadimitriou | <img src="{{ SYNNEFO_IMAGES_URL }}machines-icon.png" /></a></li> |
236 | 8d08f18a | Kostas Papadimitriou | <li><a href="networks" title="{% trans "configure " %}" |
237 | 7237e429 | Kostas Papadimitriou | data-hover-title="networks" class="primary" id="networks_view_link"> |
238 | 7970aa87 | Kostas Papadimitriou | <img src="{{ SYNNEFO_IMAGES_URL }}networks-icon.png" /></a></li> |
239 | 7237e429 | Kostas Papadimitriou | <li><a href="ips" title="{% trans "manage IP " %}" |
240 | e6a4b75c | Kostas Papadimitriou | data-hover-title="IPs" class="primary" id="ips_view_link"> |
241 | d9128cf3 | Kostas Papadimitriou | <img src="{{ SYNNEFO_IMAGES_URL }}ips-pane-icon.png" /></a></li> |
242 | 7237e429 | Kostas Papadimitriou | <li><a href="public-keys" title="{% trans "manage public " %}" |
243 | 7237e429 | Kostas Papadimitriou | data-hover-title="public keys" class="primary" id="public_keys_view_link"> |
244 | 7237e429 | Kostas Papadimitriou | <img src="{{ SYNNEFO_IMAGES_URL }}machines-icon.png" /></a></li> |
245 | f533f224 | Vangelis Koukis | </ul>
|
246 | 8d08f18a | Kostas Papadimitriou | </div>
|
247 | f533f224 | Vangelis Koukis | <div class="css-panes"> |
248 | 8d08f18a | Kostas Papadimitriou | <div id="machines-pane" class="pane" style="display:block;"> |
249 | 8d08f18a | Kostas Papadimitriou | {% include "partials/machines.html" %} |
250 | 8d08f18a | Kostas Papadimitriou | </div>
|
251 | 7237e429 | Kostas Papadimitriou | <div id="networks-pane" class="pane-view"> |
252 | 8d08f18a | Kostas Papadimitriou | {% include "partials/networks.html" %} |
253 | 8d08f18a | Kostas Papadimitriou | </div>
|
254 | 7f841ad2 | Olga Brani | <div id="disks-pane" class="pane"> |
255 | 7f841ad2 | Olga Brani | {% include "partials/disks.html" %} |
256 | 7f841ad2 | Olga Brani | </div>
|
257 | 7237e429 | Kostas Papadimitriou | <div id="ips-pane" class="pane-view"> |
258 | 7237e429 | Kostas Papadimitriou | {% include "partials/ips.html" %} |
259 | 7237e429 | Kostas Papadimitriou | </div>
|
260 | 7237e429 | Kostas Papadimitriou | <div id="public-keys-pane" class="pane-view"> |
261 | 7237e429 | Kostas Papadimitriou | {% include "partials/public_keys.html" %} |
262 | 7237e429 | Kostas Papadimitriou | </div>
|
263 | 8d08f18a | Kostas Papadimitriou | |
264 | 122850c5 | Kostas Papadimitriou | <div class="confirm_multiple clearfix" id="multiple_actions_container"> |
265 | 101e6604 | Kostas Papadimitriou | <div class="confirm_multiple_actions confirm-all-cont global hidden confirm_multiple_cont clearfix"> |
266 | 101e6604 | Kostas Papadimitriou | <div class="confirm-all msg"> |
267 | 9d889386 | Olga Brani | <p>You requested multiple actions to execute (<span class="show">show all</span>)</p> |
268 | 101e6604 | Kostas Papadimitriou | <button class="yes">Confirm all</button> |
269 | 101e6604 | Kostas Papadimitriou | <button class="no">Cancel all</button> |
270 | 101e6604 | Kostas Papadimitriou | </div>
|
271 | 101e6604 | Kostas Papadimitriou | <div class="details"></div> |
272 | 122850c5 | Kostas Papadimitriou | </div>
|
273 | 101e6604 | Kostas Papadimitriou | <div class="ns-confirms-cont"> |
274 | 101e6604 | Kostas Papadimitriou | <div class="confirm_multiple_actions hidden confirm_multiple_cont |
275 | 101e6604 | Kostas Papadimitriou | ns-confirm clearfix"
|
276 | 101e6604 | Kostas Papadimitriou | id="conirm_multiple_cont_template"> |
277 | 101e6604 | Kostas Papadimitriou | <div class="confirm-all msg"> |
278 | 101e6604 | Kostas Papadimitriou | <p></p> |
279 | 101e6604 | Kostas Papadimitriou | <button class="yes"></button> |
280 | 101e6604 | Kostas Papadimitriou | <button class="no"></button> |
281 | 101e6604 | Kostas Papadimitriou | </div>
|
282 | 101e6604 | Kostas Papadimitriou | <div class="details"></div> |
283 | 101e6604 | Kostas Papadimitriou | </div>
|
284 | 122850c5 | Kostas Papadimitriou | </div>
|
285 | 8d08f18a | Kostas Papadimitriou | </div>
|
286 | 8d08f18a | Kostas Papadimitriou | |
287 | f533f224 | Vangelis Koukis | </div>
|
288 | f533f224 | Vangelis Koukis | </div>
|
289 | cc7c5902 | Dimitris Moraitis | </div>
|
290 | cc7c5902 | Dimitris Moraitis | </div>
|
291 | f533f224 | Vangelis Koukis | |
292 | cc7c5902 | Dimitris Moraitis | <!-- activate tabs with JavaScript -->
|
293 | cc7c5902 | Dimitris Moraitis | <script>
|
294 | f533f224 | Vangelis Koukis | |
295 | d681d3a6 | Mike Muzurakis | //load opera css fixes
|
296 | d681d3a6 | Mike Muzurakis | if ($.browser.opera) {
|
297 | d681d3a6 | Mike Muzurakis | $("<link/>", {
|
298 | d681d3a6 | Mike Muzurakis | rel: "stylesheet",
|
299 | d681d3a6 | Mike Muzurakis | type: "text/css",
|
300 | 1d9e9a43 | Kostas Papadimitriou | href: "{{ SYNNEFO_CSS_URL }}opera.css?v={{ SYNNEFO_JS_LIB_VERSION }}"
|
301 | d681d3a6 | Mike Muzurakis | }).appendTo("head");
|
302 | d681d3a6 | Mike Muzurakis | }
|
303 | ce88aad7 | Kostas Papadimitriou | |
304 | ce88aad7 | Kostas Papadimitriou | $(document).ready(function(){
|
305 | f277a1cd | Kostas Papadimitriou | |
306 | 01e254be | Kostas Papadimitriou | {% if current_lang == "el" and not DEBUG %}
|
307 | 01e254be | Kostas Papadimitriou | window.location = "/lang/?l=en";
|
308 | 01e254be | Kostas Papadimitriou | {% endif %}
|
309 | 01e254be | Kostas Papadimitriou | |
310 | 19e01943 | Kostas Papadimitriou | // user menu interaction
|
311 | ce88aad7 | Kostas Papadimitriou | var resetUserMenu = function() {
|
312 | ce88aad7 | Kostas Papadimitriou | $(this).removeClass("hovered");
|
313 | ce88aad7 | Kostas Papadimitriou | $(this).removeClass("active");
|
314 | ce88aad7 | Kostas Papadimitriou | }
|
315 | 92a063bf | Kostas Papadimitriou | |
316 | ce88aad7 | Kostas Papadimitriou | $(".usermenu").live("click", function(){
|
317 | ce88aad7 | Kostas Papadimitriou | $(this).addClass("active");
|
318 | ce88aad7 | Kostas Papadimitriou | });
|
319 | ce88aad7 | Kostas Papadimitriou | $(".usermenu").bind('mouseleave', resetUserMenu);
|
320 | ce88aad7 | Kostas Papadimitriou | $(".usermenu").live("mouseover", function(){
|
321 | ce88aad7 | Kostas Papadimitriou | $(this).addClass("hovered");
|
322 | ce88aad7 | Kostas Papadimitriou | });
|
323 | af6fc929 | Kostas Papadimitriou | |
324 | 0e03566f | Kostas Papadimitriou | $(".usermenu li").mouseenter(function(){$(this).addClass("hovered")})
|
325 | 0e03566f | Kostas Papadimitriou | $(".usermenu li").mouseleave(function(){$(this).removeClass("hovered")});
|
326 | 0e03566f | Kostas Papadimitriou | |
327 | af6fc929 | Kostas Papadimitriou | // bind menu actions
|
328 | af6fc929 | Kostas Papadimitriou | $(".usermenu .logout").click(function() {
|
329 | 85f1cd1e | Kostas Papadimitriou | synnefo.auth_client.logout();
|
330 | af6fc929 | Kostas Papadimitriou | });
|
331 | 29772683 | Kostas Papadimitriou | |
332 | 978648f4 | Kostas Papadimitriou | $(".usermenu .api").click(function(){
|
333 | 978648f4 | Kostas Papadimitriou | synnefo.ui.main.api_info_view.show();
|
334 | 978648f4 | Kostas Papadimitriou | });
|
335 | 8d08f18a | Kostas Papadimitriou | |
336 | 8d08f18a | Kostas Papadimitriou | });
|
337 | 8d08f18a | Kostas Papadimitriou |
|
338 | 8d08f18a | Kostas Papadimitriou | function positionBottomMessages() {
|
339 | 8d08f18a | Kostas Papadimitriou | var el = $("#multiple_actions_container");
|
340 | 8d08f18a | Kostas Papadimitriou | }
|
341 | d1a7ce9c | Kostas Papadimitriou |
|
342 | d1a7ce9c | Kostas Papadimitriou |
|
343 | d1a7ce9c | Kostas Papadimitriou | $(document).ready(function() {
|
344 | d1a7ce9c | Kostas Papadimitriou | // Footer position handlers
|
345 | d1a7ce9c | Kostas Papadimitriou | var footerHeight = 0;
|
346 | d1a7ce9c | Kostas Papadimitriou | var footerTop = 0;
|
347 | d1a7ce9c | Kostas Papadimitriou | var $footer = $("#footer-container");
|
348 | d1a7ce9c | Kostas Papadimitriou | function _positionFooter() {
|
349 | d1a7ce9c | Kostas Papadimitriou | |
350 | d1a7ce9c | Kostas Papadimitriou | footerHeight = 80;
|
351 | d1a7ce9c | Kostas Papadimitriou | footerTop = ($(window).scrollTop()+$(window).height()-footerHeight)+"px";
|
352 | d1a7ce9c | Kostas Papadimitriou | if (($(document.body).height()+footerHeight) < $(window).height()) {
|
353 | d1a7ce9c | Kostas Papadimitriou | |
354 | d1a7ce9c | Kostas Papadimitriou | $footer.css({
|
355 | d1a7ce9c | Kostas Papadimitriou | position: "absolute"
|
356 | d1a7ce9c | Kostas Papadimitriou | }).css({
|
357 | d1a7ce9c | Kostas Papadimitriou | top: footerTop
|
358 | d1a7ce9c | Kostas Papadimitriou | })
|
359 | d1a7ce9c | Kostas Papadimitriou | } else {
|
360 | d1a7ce9c | Kostas Papadimitriou |
|
361 | d1a7ce9c | Kostas Papadimitriou | if ($footer.css("position") == "static") {
|
362 | d1a7ce9c | Kostas Papadimitriou | if ($(document.body).height() < $(window).height()) {
|
363 | d1a7ce9c | Kostas Papadimitriou | $footer.css({
|
364 | d1a7ce9c | Kostas Papadimitriou | position: "absolute"
|
365 | d1a7ce9c | Kostas Papadimitriou | }).css({
|
366 | d1a7ce9c | Kostas Papadimitriou | top: footerTop
|
367 | 8d08f18a | Kostas Papadimitriou | })
|
368 | 8d08f18a | Kostas Papadimitriou | }
|
369 | d1a7ce9c | Kostas Papadimitriou | } else {
|
370 | d1a7ce9c | Kostas Papadimitriou | |
371 | d1a7ce9c | Kostas Papadimitriou | $footer.css({
|
372 | d1a7ce9c | Kostas Papadimitriou | position: "static"
|
373 | d1a7ce9c | Kostas Papadimitriou | })
|
374 | d1a7ce9c | Kostas Papadimitriou | }
|
375 | d1a7ce9c | Kostas Papadimitriou | }
|
376 | d1a7ce9c | Kostas Papadimitriou | |
377 | d1a7ce9c | Kostas Papadimitriou | }
|
378 | d1a7ce9c | Kostas Papadimitriou | _positionFooter();
|
379 | d1a7ce9c | Kostas Papadimitriou | window.positionFooter = _.throttle(_positionFooter, 100);
|
380 | d1a7ce9c | Kostas Papadimitriou | window.forcePositionFooter = _positionFooter;
|
381 | d1a7ce9c | Kostas Papadimitriou | $(window).scroll(window.positionFooter).resize(window.positionFooter)
|
382 | d1a7ce9c | Kostas Papadimitriou | |
383 | d1a7ce9c | Kostas Papadimitriou | $(window).bind("load", function() {
|
384 | d1a7ce9c | Kostas Papadimitriou | _positionFooter();
|
385 | d1a7ce9c | Kostas Papadimitriou | });
|
386 | d1a7ce9c | Kostas Papadimitriou |
|
387 | d1a7ce9c | Kostas Papadimitriou | })
|
388 | cc7c5902 | Dimitris Moraitis | </script>
|
389 | 8d08f18a | Kostas Papadimitriou | |
390 | b495fe50 | Mike Muzurakis | <!-- base notification for error/success reporting -->
|
391 | b495fe50 | Mike Muzurakis | <a id="notification" rel="#error-success" href="#"></a> |
392 | 29772683 | Kostas Papadimitriou | <a id="msgbox" rel="#notification-box" href="#"></a> |
393 | 54417a11 | Kostas Papadimitriou | <a id="feedbackbox" rel="#feedback-form" href="#"></a> |
394 | 7237e429 | Kostas Papadimitriou | |
395 | 7237e429 | Kostas Papadimitriou | <!-- rename view tpl -->
|
396 | 7237e429 | Kostas Papadimitriou | <div id="rename-view-tpl" class="hidden model-rename-view"> |
397 | 7237e429 | Kostas Papadimitriou | <div class="model-name"> |
398 | 7237e429 | Kostas Papadimitriou | <h3>
|
399 | af505a94 | Kostas Papadimitriou | <span data-rv-text="model.name|list_truncate" class="value"></span> |
400 | 7237e429 | Kostas Papadimitriou | <span class="edit-btn" data-rv-on-click="view.set_edit"></span> |
401 | 7237e429 | Kostas Papadimitriou | </h3>
|
402 | 7237e429 | Kostas Papadimitriou | </div>
|
403 | 7237e429 | Kostas Papadimitriou | <div class="edit"> |
404 | 7237e429 | Kostas Papadimitriou | <input type="text" class="rename-input" /> |
405 | 7237e429 | Kostas Papadimitriou | <div class="rename-actions"> |
406 | 7237e429 | Kostas Papadimitriou | <div class="btn confirm" data-rv-on-click="view.rename"></div> |
407 | 7237e429 | Kostas Papadimitriou | <div class="btn cancel" data-rv-on-click="view.unset_edit"></div> |
408 | 7237e429 | Kostas Papadimitriou | </div>
|
409 | 7237e429 | Kostas Papadimitriou | </div>
|
410 | 7237e429 | Kostas Papadimitriou | </div>
|
411 | b495fe50 | Mike Muzurakis | |
412 | 7237e429 | Kostas Papadimitriou | <!-- generic overlay tpl -->
|
413 | 8d08f18a | Kostas Papadimitriou | <div class="overlay" id="generic-overlay-tpl"> |
414 | b1410719 | Kostas Papadimitriou | <div class="overlay-inner"> |
415 | 1892dd0d | Kostas Papadimitriou | <h3 class="overlay-header clearfix"> |
416 | b1410719 | Kostas Papadimitriou | <span class="subtitle"></span> |
417 | b1410719 | Kostas Papadimitriou | <span class="title"></span> |
418 | b1410719 | Kostas Papadimitriou | <span class="closeme">close</span></h3> |
419 | b1410719 | Kostas Papadimitriou | <div class="container"> |
420 | b1410719 | Kostas Papadimitriou | <div class="content"> |
421 | b1410719 | Kostas Papadimitriou | </div>
|
422 | b495fe50 | Mike Muzurakis | </div>
|
423 | b1410719 | Kostas Papadimitriou | <div class="footer"></div> |
424 | b495fe50 | Mike Muzurakis | </div>
|
425 | b495fe50 | Mike Muzurakis | </div>
|
426 | 29772683 | Kostas Papadimitriou | |
427 | 8d08f18a | Kostas Papadimitriou | <div id="error-overlay-content" class="hidden"> |
428 | 9ffd10ce | Kostas Papadimitriou | <div class="error-nav hidden clearfix"> |
429 | 9ffd10ce | Kostas Papadimitriou | <span class="indicator"><span class="num">1</span> <span |
430 | 9ffd10ce | Kostas Papadimitriou | class="ind-msg">new error occured</span></span> |
431 | 9ffd10ce | Kostas Papadimitriou | <span class="show-next nav-btn">{% trans "next" %}</span> |
432 | 9ffd10ce | Kostas Papadimitriou | <span class="show-prev nav-btn">{% trans "previous" %}</span> |
433 | 9ffd10ce | Kostas Papadimitriou | </div>
|
434 | 8d08f18a | Kostas Papadimitriou | <div class="message"><p></p></div> |
435 | 8d08f18a | Kostas Papadimitriou | <div class="error-details"> |
436 | 8d08f18a | Kostas Papadimitriou | <span class="key">{% trans "Module" %}</span> |
437 | 8d08f18a | Kostas Papadimitriou | <span class="value error-module"></span> |
438 | 8d08f18a | Kostas Papadimitriou | |
439 | 8d08f18a | Kostas Papadimitriou | <span class="key">{% trans "Code" %}</span> |
440 | 8d08f18a | Kostas Papadimitriou | <span class="value error-code"></span> |
441 | 8d08f18a | Kostas Papadimitriou | |
442 | 8d08f18a | Kostas Papadimitriou | <span class="key">{% trans "Type" %}</span> |
443 | 8d08f18a | Kostas Papadimitriou | <span class="value error-type"></span> |
444 | 8d08f18a | Kostas Papadimitriou | |
445 | 8d08f18a | Kostas Papadimitriou | <span class="key details">{% trans "Details" %}</span> |
446 | 8d08f18a | Kostas Papadimitriou | <div class="value error-more-details"><p></p></div> |
447 | 8d08f18a | Kostas Papadimitriou | </div>
|
448 | edd1d565 | Kostas Papadimitriou | |
449 | edd1d565 | Kostas Papadimitriou | <!--<div class="navigation">-->
|
450 | edd1d565 | Kostas Papadimitriou | <!--<span class="next-error">{% trans "next error" %}</span>-->
|
451 | edd1d565 | Kostas Papadimitriou | <!--<span class="previous-error">{% trans "previous error" %}</span>-->
|
452 | edd1d565 | Kostas Papadimitriou | <!--</div>-->
|
453 | edd1d565 | Kostas Papadimitriou | |
454 | edd1d565 | Kostas Papadimitriou | <!--<div class="date">-->
|
455 | edd1d565 | Kostas Papadimitriou | <!--<span class="error-date"></span>-->
|
456 | edd1d565 | Kostas Papadimitriou | <!--</div>-->
|
457 | 8d08f18a | Kostas Papadimitriou | |
458 | 8d08f18a | Kostas Papadimitriou | <div class="actions"> |
459 | 8d08f18a | Kostas Papadimitriou | <span class="show-details">{% trans "Show details" %}</span> |
460 | 8d08f18a | Kostas Papadimitriou | <span class="hide-details">{% trans "Hide details" %}</span> |
461 | 8d08f18a | Kostas Papadimitriou | <span class="report-error">{% trans "Send report" %}</span> |
462 | 9ce969a7 | Kostas Papadimitriou | <span class="reload-app">{% trans "Reload" %}</span> |
463 | 8d08f18a | Kostas Papadimitriou | </div>
|
464 | 8d08f18a | Kostas Papadimitriou | </div>
|
465 | 8d08f18a | Kostas Papadimitriou | <div id="feedback-overlay-content" class="hidden overlay-content feedback-form"> |
466 | 8d08f18a | Kostas Papadimitriou | <div class="description"> |
467 | 8d08f18a | Kostas Papadimitriou | <p>
|
468 | 9d889386 | Olga Brani | {% blocktrans %}{{ BRANDING_SERVICE_NAME }} is currently in alpha test and we would appreciate any kind of feedback. |
469 | 8d08f18a | Kostas Papadimitriou | We welcome any suggestions, questions and bug reports you may have.{% endblocktrans %} |
470 | 8d08f18a | Kostas Papadimitriou | </p>
|
471 | 8d08f18a | Kostas Papadimitriou | </div>
|
472 | 8d08f18a | Kostas Papadimitriou | <div class="description messages noborder"> |
473 | 8d08f18a | Kostas Papadimitriou | <p class="success-message hidden"> |
474 | 8d08f18a | Kostas Papadimitriou | {% trans "thank you for submiting your feedback" %} |
475 | 8d08f18a | Kostas Papadimitriou | </p>
|
476 | 8d08f18a | Kostas Papadimitriou | <p class="error-message hidden"> |
477 | 8d08f18a | Kostas Papadimitriou | {% trans "some error occured submiting submiting your feedback, please try again later" %} |
478 | 8d08f18a | Kostas Papadimitriou | </p>
|
479 | 8d08f18a | Kostas Papadimitriou | <p class="sending-message hidden"> |
480 | 8d08f18a | Kostas Papadimitriou | {% blocktrans %}Sending feedback...{% endblocktrans %} |
481 | 8d08f18a | Kostas Papadimitriou | </p>
|
482 | 8d08f18a | Kostas Papadimitriou | </div>
|
483 | 8d08f18a | Kostas Papadimitriou | <div class="form"> |
484 | 8d08f18a | Kostas Papadimitriou | <div class="form-field"> |
485 | 8d08f18a | Kostas Papadimitriou | <label for{% trans "Please your here, provide many as " %}</label |
486 | 8d08f18a | Kostas Papadimitriou | <textarea ="feedback-message"> |
487 | 8d08f18a | Kostas Papadimitriou | </textarea>
|
488 | 8d08f18a | Kostas Papadimitriou | </div>
|
489 | 8d08f18a | Kostas Papadimitriou | <div class="form-actions clearfix noborder"> |
490 | 8d08f18a | Kostas Papadimitriou | <span class="form-action submit">{% trans "send feedback" %}</span> |
491 | 8d08f18a | Kostas Papadimitriou | </div>
|
492 | 8d08f18a | Kostas Papadimitriou | </div>
|
493 | 8d08f18a | Kostas Papadimitriou | </div>
|
494 | 54417a11 | Kostas Papadimitriou | <div class="modal" id="feedback-form" class="feedback notification-box"> |
495 | b1fb5f74 | Kostas Papadimitriou | <h3 class="popup-header overlay-header"> |
496 | b1fb5f74 | Kostas Papadimitriou | <span class="header-box">{% trans "Send feedback" %}</span> |
497 | b1fb5f74 | Kostas Papadimitriou | </h3>
|
498 | b1fb5f74 | Kostas Papadimitriou | <div class="popup-body"> |
499 | b1fb5f74 | Kostas Papadimitriou | <div class="popup-body-inner"> |
500 | b1fb5f74 | Kostas Papadimitriou | <div class="form-container"> |
501 | b1fb5f74 | Kostas Papadimitriou | <p class="feedback-intro"> |
502 | 9d889386 | Olga Brani | {% blocktrans %}Synnefo is currently in alpha test and we would appreciate any kind of feedback. |
503 | b1fb5f74 | Kostas Papadimitriou | We welcome any suggestions, questions and bug reports you may have.{% endblocktrans %}</p>
|
504 | b1fb5f74 | Kostas Papadimitriou | <form id="feedback-form"> |
505 | b1fb5f74 | Kostas Papadimitriou | <label for="feedback-msg">{% trans "Please describe your problem here, provide as many details as possible" %}</label> |
506 | b1fb5f74 | Kostas Papadimitriou | <div class="description"></div> |
507 | b1fb5f74 | Kostas Papadimitriou | <div class="empty-error-msg">{% trans "Please provide some feedback" %}</div> |
508 | b1fb5f74 | Kostas Papadimitriou | <textarea name="feedback-msg" class="feedback-text"></textarea> |
509 | b1fb5f74 | Kostas Papadimitriou | |
510 | b1fb5f74 | Kostas Papadimitriou | <input type="checkbox" name="submit-submit-data" class='submit-data' /> |
511 | b1fb5f74 | Kostas Papadimitriou | <input type="submit" value="{% trans "submit " %}" class="submit" /> |
512 | b1fb5f74 | Kostas Papadimitriou | <textarea name="feedback-data" class="data-text"></textarea> |
513 | b1fb5f74 | Kostas Papadimitriou | </form>
|
514 | b1fb5f74 | Kostas Papadimitriou | </div>
|
515 | b1fb5f74 | Kostas Papadimitriou | |
516 | b1fb5f74 | Kostas Papadimitriou | <div class="message sending">{% trans "submiting your data....." %}</div> |
517 | b1fb5f74 | Kostas Papadimitriou | <div class="message success"> |
518 | b1fb5f74 | Kostas Papadimitriou | {% trans "thank you for submiting your feedback" %} |
519 | b1fb5f74 | Kostas Papadimitriou | <span class="close-msg-box"> {% trans "close feedback" %}</span></div> |
520 | b1fb5f74 | Kostas Papadimitriou | <div class="message errormsg"> |
521 | b1fb5f74 | Kostas Papadimitriou | {% trans "some error occured submiting submiting your feedback, please try again later" %} |
522 | b1fb5f74 | Kostas Papadimitriou | <span class="close-msg-box"> {% trans "close feedback" %}</span></div> |
523 | 54417a11 | Kostas Papadimitriou | </div>
|
524 | b1fb5f74 | Kostas Papadimitriou | </div>
|
525 | 54417a11 | Kostas Papadimitriou | </div>
|
526 | 3c08f055 | Kostas Papadimitriou | |
527 | 1e882dd7 | Kostas Papadimitriou | <div id="details-overlay" class="overlay-content overlay-info hidden"> |
528 | 1e882dd7 | Kostas Papadimitriou | <div class="description intro"> |
529 | 1e882dd7 | Kostas Papadimitriou | <p></p> |
530 | 1e882dd7 | Kostas Papadimitriou | </div>
|
531 | 1e882dd7 | Kostas Papadimitriou | <div class="description subinfo"> |
532 | 1e882dd7 | Kostas Papadimitriou | <p></p> |
533 | 1e882dd7 | Kostas Papadimitriou | </div>
|
534 | 1e882dd7 | Kostas Papadimitriou | </div>
|
535 | 1e882dd7 | Kostas Papadimitriou | |
536 | a6b9836b | Kostas Papadimitriou | <div id="suspended-vm-overlay" class="overlay-content overlay-info hidden"> |
537 | a6b9836b | Kostas Papadimitriou | <div class="description noborder"> |
538 | a6b9836b | Kostas Papadimitriou | You VM has been suspended, please contact us for more details. |
539 | a6b9836b | Kostas Papadimitriou | </div>
|
540 | a6b9836b | Kostas Papadimitriou | </div>
|
541 | a6b9836b | Kostas Papadimitriou | |
542 | 978648f4 | Kostas Papadimitriou | <div id="api-info-overlay" class="overlay-content overlay-info hidden"> |
543 | 978648f4 | Kostas Papadimitriou | <div class="description"> |
544 | 978648f4 | Kostas Papadimitriou | <p>{% blocktrans with EXTERNAL_CLIENT_URL as EXTERNAL_CLIENT_URL %}Use the following API key along with the <a |
545 | 978648f4 | Kostas Papadimitriou | href="{{ EXTERNAL_CLIENT_URL }}">./kamaki</a> client to manage |
546 | 978648f4 | Kostas Papadimitriou | your cloud resources from outside this page.{% endblocktrans %}</p>
|
547 | 978648f4 | Kostas Papadimitriou | </div>
|
548 | 978648f4 | Kostas Papadimitriou | <div class="copy-content"> |
549 | 978648f4 | Kostas Papadimitriou | <p></p> |
550 | 978648f4 | Kostas Papadimitriou | </div>
|
551 | 978648f4 | Kostas Papadimitriou | <div class="description subinfo"> |
552 | 978648f4 | Kostas Papadimitriou | <p>
|
553 | 9d889386 | Olga Brani | {% blocktrans %} The API key provides full access to your <em>{{ BRANDING_SERVICE_NAME }}</em> account, so always keep it private.{% endblocktrans %} |
554 | 978648f4 | Kostas Papadimitriou | </p>
|
555 | 978648f4 | Kostas Papadimitriou | </div>
|
556 | 978648f4 | Kostas Papadimitriou | </div>
|
557 | 978648f4 | Kostas Papadimitriou | |
558 | 3c08f055 | Kostas Papadimitriou | <div class="api_overlay_template"> |
559 | 3c08f055 | Kostas Papadimitriou | <div class="api_overlay_content"> |
560 | 79f287b1 | Kostas Papadimitriou | <p>Use the following API key along with the <a href="{{ EXTERNAL_CLIENT_URL }}">./kamaki</a> client to manage your cloud resources from outside this page.</p> |
561 | 3c08f055 | Kostas Papadimitriou | </div>
|
562 | 3c08f055 | Kostas Papadimitriou | </div>
|
563 | 54417a11 | Kostas Papadimitriou | |
564 | 54417a11 | Kostas Papadimitriou | <div class="modal" id="notification-box" class="notification-box"> |
565 | 29772683 | Kostas Papadimitriou | <h3 class="popup-header"> |
566 | 29772683 | Kostas Papadimitriou | <span class="header-box"></span> |
567 | 29772683 | Kostas Papadimitriou | </h3>
|
568 | 29772683 | Kostas Papadimitriou | <div class="popup-body"> |
569 | 29772683 | Kostas Papadimitriou | <div class="popup-body-inner"> |
570 | 29772683 | Kostas Papadimitriou | <div class="machine-now-building"></div> |
571 | 29772683 | Kostas Papadimitriou | <div class="popup-separator"></div> |
572 | 29772683 | Kostas Papadimitriou | <div class="password-container"> |
573 | 29772683 | Kostas Papadimitriou | <div class="password"></div> |
574 | 29772683 | Kostas Papadimitriou | </div>
|
575 | 9ed51b7e | Kostas Papadimitriou | <div class="sub-text"></div> |
576 | 29772683 | Kostas Papadimitriou | </div>
|
577 | 29772683 | Kostas Papadimitriou | </div>
|
578 | 29772683 | Kostas Papadimitriou | </div>
|
579 | 8d08f18a | Kostas Papadimitriou | |
580 | 336ddd59 | Kostas Papadimitriou | <div id="loading-view" class="hidden clearfix"> |
581 | 336ddd59 | Kostas Papadimitriou | <div class="header clearfix images off">Loading images...<span></span></div> |
582 | 336ddd59 | Kostas Papadimitriou | <div class="header clearfix flavors off">Loading flavors...<span></span></div> |
583 | 426e1fb9 | Kostas Papadimitriou | <div class="header clearfix resources off">Loading resources...<span></span></div> |
584 | 426e1fb9 | Kostas Papadimitriou | <div class="header clearfix quotas off">Loading quotas...<span></span></div> |
585 | 336ddd59 | Kostas Papadimitriou | <div class="header clearfix vms off">Loading machines...<span></span></div> |
586 | 336ddd59 | Kostas Papadimitriou | <div class="header clearfix networks off">Loading networks...<span></span></div> |
587 | 336ddd59 | Kostas Papadimitriou | <div class="header clearfix layout off">Rendering layout...<span></span></div> |
588 | 8d08f18a | Kostas Papadimitriou | </div>
|
589 | 8b71ea92 | Kostas Papadimitriou | <div id="user_custom_images" class="overlay-content overlay-content hidden"> |
590 | 8b71ea92 | Kostas Papadimitriou | {% include "partials/custom_images.html" %} |
591 | 8b71ea92 | Kostas Papadimitriou | </div>
|
592 | ab3df8df | Kostas Papadimitriou | {% include "partials/vm_resize.html" %} |
593 | 8d08f18a | Kostas Papadimitriou | {% include "footer.html" %} |
594 | 8d08f18a | Kostas Papadimitriou | |
595 | 8d08f18a | Kostas Papadimitriou | <script>
|
596 | 8d08f18a | Kostas Papadimitriou | $(document).ready(function() {
|
597 | 8d08f18a | Kostas Papadimitriou | $(".css-panes").hide();
|
598 | 1956fd41 | Kostas Papadimitriou | |
599 | 66be390b | Kostas Papadimitriou | // TODO: match <= 1.9.1
|
600 | 5dad72ea | Kostas Papadimitriou | if ($.browser.mozilla && $.browser.version.substr(0,3) == "1.9") {
|
601 | 2506f741 | Kostas Papadimitriou | synnefo.config.overlay_speed = 0;
|
602 | 66be390b | Kostas Papadimitriou | $.fx.off = true;
|
603 | 2506f741 | Kostas Papadimitriou | }
|
604 | 66be390b | Kostas Papadimitriou |
|
605 | 66be390b | Kostas Papadimitriou | // synnefo js config
|
606 | c130b56e | Kostas Papadimitriou | synnefo.VERSION = "{{ synnefo_version }}";
|
607 | 66be390b | Kostas Papadimitriou | synnefo.config.update_interval = {{ update_interval }};
|
608 | 1cc6e94f | Kostas Papadimitriou | synnefo.config.update_interval_increase = {{ update_interval_increase }};
|
609 | 1cc6e94f | Kostas Papadimitriou | synnefo.config.fast_interval = {{ update_interval_fast }};
|
610 | 1cc6e94f | Kostas Papadimitriou | synnefo.config.update_interval_increase_after_calls = {{ update_interval_increase_after_calls }};
|
611 | 1cc6e94f | Kostas Papadimitriou | synnefo.config.update_interval_max = {{ update_interval_max }};
|
612 | 66be390b | Kostas Papadimitriou | synnefo.config.delay_on_blur = {{ delay_on_blur }};
|
613 | 66be390b | Kostas Papadimitriou | synnefo.config.update_hidden_views = {{ update_hidden_views }};
|
614 | 66be390b | Kostas Papadimitriou | synnefo.config.handle_window_exceptions = {{ handle_window_exceptions }};
|
615 | 66be390b | Kostas Papadimitriou | synnefo.config.ajax_timeout = {{ timeout }};
|
616 | 66be390b | Kostas Papadimitriou | synnefo.config.skip_timeouts = {{ skip_timeouts }};
|
617 | c130b56e | Kostas Papadimitriou | synnefo.config.machines_icons_url = '{{ SYNNEFO_IMAGES_URL }}icons/machines/';
|
618 | c130b56e | Kostas Papadimitriou | synnefo.config.vm_name_template = {{ vm_name_template|safe }};
|
619 | d965e6dc | Kostas Papadimitriou | synnefo.config.flavors_disk_templates_info = {{ flavors_disk_templates_info|safe }};
|
620 | ebf4619d | Kostas Papadimitriou | synnefo.config.vm_image_common_metadata = {{ vm_image_common_metadata|safe }};
|
621 | 5b90c56d | Kostas Papadimitriou | synnefo.config.private_networks_nic_hotplug = {{ private_networks_nic_hotplug|safe }};
|
622 | 1e882dd7 | Kostas Papadimitriou | |
623 | 1e882dd7 | Kostas Papadimitriou | synnefo.config.diagnostics_update_interval = {{ diagnostics_update_interval }};
|
624 | 1e882dd7 | Kostas Papadimitriou | // override diagnostic messages display
|
625 | 1e882dd7 | Kostas Papadimitriou | synnefo.config.diagnostic_messages_tpls = {
|
626 | 1e882dd7 | Kostas Papadimitriou | 'image-helper-task-start': "{% trans "Running task 'MESSAGE'" %}"
|
627 | 1e882dd7 | Kostas Papadimitriou | };
|
628 | 1e882dd7 | Kostas Papadimitriou | // what messages to display based on vm status
|
629 | 1e882dd7 | Kostas Papadimitriou | synnefo.config.diagnostics_status_messages_map = {
|
630 | 1e882dd7 | Kostas Papadimitriou | 'BUILD': ['image-helper-task-start', 'image-info'],
|
631 | 1e882dd7 | Kostas Papadimitriou | 'ERROR': ['image-error']
|
632 | 1e882dd7 | Kostas Papadimitriou | };
|
633 | 1e882dd7 | Kostas Papadimitriou | |
634 | 47e34b99 | Kostas Papadimitriou | synnefo.config.api_urls = {
|
635 | 7f16b9b1 | Kostas Papadimitriou | 'userdata': '{% url ui_userdata %}',
|
636 | 30b6f316 | Kostas Papadimitriou | 'compute': {{ compute_api_url|safe }},
|
637 | e481c282 | Kostas Papadimitriou | 'network': {{ network_api_url|safe }},
|
638 | 426e1fb9 | Kostas Papadimitriou | 'glance': {{ glance_api_url|safe }},
|
639 | 426e1fb9 | Kostas Papadimitriou | 'accounts': {{ accounts_api_url|safe }},
|
640 | 47e34b99 | Kostas Papadimitriou | };
|
641 | 85f1cd1e | Kostas Papadimitriou |
|
642 | 48865f82 | Kostas Papadimitriou | // TODO: configurable userdata urls in models.js
|
643 | d194e869 | Kostas Papadimitriou | synnefo.config.userdata_keys_url = '{% url ui_keys_collection %}';
|
644 | c72a830d | Kostas Papadimitriou | synnefo.config.userdata_keys_limit = {{ userdata_keys_limit }};
|
645 | 85f1cd1e | Kostas Papadimitriou |
|
646 | 258235f4 | Kostas Papadimitriou | // media config
|
647 | c62c6b91 | Kostas Papadimitriou | synnefo.config.media_url = '{{ UI_MEDIA_URL }}';
|
648 | c62c6b91 | Kostas Papadimitriou | synnefo.config.js_url = '{{ SYNNEFO_JS_URL }}';
|
649 | 1892dd0d | Kostas Papadimitriou | synnefo.config.images_url = '{{ SYNNEFO_IMAGES_URL }}';
|
650 | 03639c6d | Kostas Papadimitriou | synnefo.config.image_deleted_title = {{ image_deleted_title|safe }};
|
651 | 6de7fde5 | Kostas Papadimitriou | synnefo.config.changes_since_alignment = {{ changes_since_alignment }};
|
652 | 03639c6d | Kostas Papadimitriou | synnefo.config.image_deleted_size_title = {{ image_deleted_size_title|safe }};
|
653 | 30b6f316 | Kostas Papadimitriou | synnefo.config.use_glance = {{ use_glance }};
|
654 | 7970aa87 | Kostas Papadimitriou | synnefo.config.indicators_icons_url = '{{ SYNNEFO_IMAGES_URL }}icons/indicators/';
|
655 | 7970aa87 | Kostas Papadimitriou | synnefo.config.machines_icons_url = '{{ SYNNEFO_IMAGES_URL }}icons/machines/';
|
656 | 0c2166b9 | Kostas Papadimitriou | synnefo.config.ui_console_url = '{% url ui_machines_console %}';
|
657 | 0c2166b9 | Kostas Papadimitriou | synnefo.config.ui_connect_url = '{% url ui_machines_connect %}';
|
658 | 47276ec2 | Kostas Papadimitriou | synnefo.config.support_ssh_os_list = {{ support_ssh_os_list|safe }};
|
659 | 8fa1cbc9 | Kostas Papadimitriou | synnefo.config.unknown_os = {{ unknown_os|safe }};
|
660 | 47276ec2 | Kostas Papadimitriou | synnefo.config.os_created_users = {{ os_created_users|safe }};
|
661 | 5af5920c | Kostas Papadimitriou | synnefo.config.feedback_post_url = {{ feedback_post_url|safe }};
|
662 | 85f1cd1e | Kostas Papadimitriou |
|
663 | 27738c43 | Kostas Papadimitriou | synnefo.config.logout_redirect = {{ logout_redirect|safe }};
|
664 | 27738c43 | Kostas Papadimitriou | synnefo.config.login_redirect = {{ login_redirect|safe }};
|
665 | 85f1cd1e | Kostas Papadimitriou | synnefo.config.auth_cookie_name = '{{ auth_cookie_name }}';
|
666 | 126a01f2 | Kostas Papadimitriou | |
667 | 8f53cfa3 | Kostas Papadimitriou | synnefo.config.translate_uuids = {{ translate_uuids|safe }};
|
668 | 8f53cfa3 | Kostas Papadimitriou | synnefo.config.user_catalog_url = {{ user_catalog_url|safe }};
|
669 | 8f53cfa3 | Kostas Papadimitriou | |
670 | 126a01f2 | Kostas Papadimitriou | synnefo.config.network_suggested_subnets = {{ network_suggested_subnets|safe }};
|
671 | 126a01f2 | Kostas Papadimitriou | synnefo.config.network_available_types = {{ network_available_types|safe }};
|
672 | 126a01f2 | Kostas Papadimitriou | synnefo.config.network_allow_duplicate_vm_nics = {{ network_allow_duplicate_vm_nics }};
|
673 | 126a01f2 | Kostas Papadimitriou | synnefo.config.network_strict_destroy = {{ network_strict_destroy }};
|
674 | 126a01f2 | Kostas Papadimitriou | synnefo.config.network_allow_multiple_destory = {{ network_allow_multiple_destroy }};
|
675 | 9555268a | Kostas Papadimitriou | synnefo.config.group_public_networks = {{ group_public_networks }};
|
676 | 40e5d2d2 | Kostas Papadimitriou | synnefo.config.grouped_public_network_name = {{ grouped_public_network_name|safe }};
|
677 | 6fe8c2ca | Kostas Papadimitriou | synnefo.config.no_fqdn_message = {{ no_fqdn_message|safe }};
|
678 | 29cf98c9 | Kostas Papadimitriou | synnefo.config.automatic_network_range_format = {{ automatic_network_range_format|safe }};
|
679 | 28958b8e | Kostas Papadimitriou | synnefo.config.custom_image_help_url = '{{ custom_image_help_url|safe }}';
|
680 | 4bf6778f | Kostas Papadimitriou | synnefo.config.forced_server_networks = {{ forced_server_networks|safe }};
|
681 | 85f1cd1e | Kostas Papadimitriou |
|
682 | 85f1cd1e | Kostas Papadimitriou | synnefo.auth_client = new synnefo.auth.AstakosClient({
|
683 | 85f1cd1e | Kostas Papadimitriou | login_url: synnefo.config.login_redirect,
|
684 | 85f1cd1e | Kostas Papadimitriou | logout_url: synnefo.config.logout_redirect,
|
685 | 4ef604a6 | Kostas Papadimitriou | cookie_name: synnefo.config.auth_cookie_name,
|
686 | acb284f7 | Kostas Papadimitriou | skip_redirects: {{ auth_skip_redirects|safe }},
|
687 | 4ef604a6 | Kostas Papadimitriou | logout_callback: function(client) {
|
688 | 4ef604a6 | Kostas Papadimitriou | Backbone.history.navigate(client.config.logout_url);
|
689 | 4ef604a6 | Kostas Papadimitriou | window.location = client.config.logout_url;
|
690 | 4ef604a6 | Kostas Papadimitriou | }
|
691 | 85f1cd1e | Kostas Papadimitriou | });
|
692 | 85f1cd1e | Kostas Papadimitriou | |
693 | 258235f4 | Kostas Papadimitriou | // user config
|
694 | afe9ca75 | Kostas Papadimitriou | synnefo.user = synnefo.auth_client;
|
695 | afe9ca75 | Kostas Papadimitriou | if (!synnefo.user.get_token()) {
|
696 | afe9ca75 | Kostas Papadimitriou | synnefo.auth_client.redirect_to_login();
|
697 | afe9ca75 | Kostas Papadimitriou | }
|
698 | 85f1cd1e | Kostas Papadimitriou | |
699 | 9ccb70fd | Kostas Papadimitriou | $(".usermenu .username").text("options");
|
700 | 85f1cd1e | Kostas Papadimitriou | |
701 | 258235f4 | Kostas Papadimitriou | // images config
|
702 | 1faf0b9c | Kostas Papadimitriou | synnefo.config.system_images_owners = {{ system_images_owners|safe }};
|
703 | 8d08f18a | Kostas Papadimitriou | synnefo.ui.init();
|
704 | 85f1cd1e | Kostas Papadimitriou | synnefo.ui.main.bind("ready", function(){
|
705 | 30b6f316 | Kostas Papadimitriou | });
|
706 | f63196c9 | Kostas Papadimitriou | });
|
707 | 8d08f18a | Kostas Papadimitriou | </script>
|
708 | cc7c5902 | Dimitris Moraitis | </body>
|
709 | cc7c5902 | Dimitris Moraitis | </html> |