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