0001-Feature-548-Patch-for-Sunstone-master-3.0.-Tested-wi.patch
src/sunstone/public/css/login.css | ||
---|---|---|
52 | 52 |
top: 80px; |
53 | 53 |
margin-left: auto; |
54 | 54 |
margin-right: auto; |
55 |
background: url(/images/opennebula-sunstone-big.png) no-repeat center ; |
|
55 |
background: url(../images/opennebula-sunstone-big.png) no-repeat center ;
|
|
56 | 56 | |
57 | 57 |
vertical-align: center; |
58 | 58 |
} |
... | ... | |
160 | 160 | |
161 | 161 |
margin-top: 35px; |
162 | 162 |
margin-left:0px; |
163 |
} |
|
164 | ||
165 | ||
166 | ||
163 |
} |
src/sunstone/public/js/layout.js | ||
---|---|---|
27 | 27 |
} |
28 | 28 | |
29 | 29 |
function popDialogLoading(){ |
30 |
var loading = '<div style="margin-top:'+Math.round($("#dialog").height()/6)+'px; text-align: center; width: 100%"><img src="/images/pbar.gif" alt="loading..."/></div>';
|
|
30 |
var loading = '<div style="margin-top:'+Math.round($("#dialog").height()/6)+'px; text-align: center; width: 100%"><img src="images/pbar.gif" alt="loading..." /></div>';
|
|
31 | 31 |
popDialog(loading); |
32 | 32 |
} |
33 | 33 |
src/sunstone/public/js/login.js | ||
---|---|---|
15 | 15 |
/* -------------------------------------------------------------------------- */ |
16 | 16 | |
17 | 17 |
function auth_success(req, response){ |
18 |
window.location.href = "/";
|
|
18 |
window.location.href = ".";
|
|
19 | 19 |
} |
20 | 20 | |
21 | 21 |
function auth_error(req, error){ |
src/sunstone/public/js/opennebula.js | ||
---|---|---|
231 | 231 |
var request = OpenNebula.Helper.request(resource,"login"); |
232 | 232 | |
233 | 233 |
$.ajax({ |
234 |
url: "/login",
|
|
234 |
url: "login", |
|
235 | 235 |
type: "POST", |
236 | 236 |
data: {remember: remember}, |
237 | 237 |
beforeSend : function(req) { |
... | ... | |
265 | 265 |
var request = OpenNebula.Helper.request(resource,"logout"); |
266 | 266 | |
267 | 267 |
$.ajax({ |
268 |
url: "/logout",
|
|
268 |
url: "logout", |
|
269 | 269 |
type: "POST", |
270 | 270 |
success: function(response) |
271 | 271 |
{ |
... | ... | |
297 | 297 |
var request = OpenNebula.Helper.request(resource,"list"); |
298 | 298 | |
299 | 299 |
$.ajax({ |
300 |
url: "/config",
|
|
300 |
url: "config", |
|
301 | 301 |
type: "GET", |
302 | 302 |
dataType: "json", |
303 | 303 |
success: function(response) |
... | ... | |
331 | 331 |
var request = OpenNebula.Helper.request(resource,"create", data); |
332 | 332 | |
333 | 333 |
$.ajax({ |
334 |
url: "/host",
|
|
334 |
url: "host", |
|
335 | 335 |
type: "POST", |
336 | 336 |
dataType: "json", |
337 | 337 |
data: JSON.stringify(data), |
... | ... | |
363 | 363 |
var request = OpenNebula.Helper.request(resource,"delete", id); |
364 | 364 | |
365 | 365 |
$.ajax({ |
366 |
url: "/host/" + id,
|
|
366 |
url: "host/" + id, |
|
367 | 367 |
type: "DELETE", |
368 | 368 |
success: function() |
369 | 369 |
{ |
... | ... | |
392 | 392 |
var request = OpenNebula.Helper.request(resource,"list"); |
393 | 393 | |
394 | 394 |
$.ajax({ |
395 |
url: "/host",
|
|
395 |
url: "host", |
|
396 | 396 |
type: "GET", |
397 | 397 |
data: {timeout: timeout}, |
398 | 398 |
dataType: "json", |
... | ... | |
425 | 425 |
var request = OpenNebula.Helper.request(resource,"show", id); |
426 | 426 | |
427 | 427 |
$.ajax({ |
428 |
url: "/host/" + id,
|
|
428 |
url: "host/" + id, |
|
429 | 429 |
type: "GET", |
430 | 430 |
dataType: "json", |
431 | 431 |
success: function(response) |
... | ... | |
457 | 457 |
var request = OpenNebula.Helper.request(resource,method, id); |
458 | 458 | |
459 | 459 |
$.ajax({ |
460 |
url: "/host/" + id + "/action",
|
|
460 |
url: "host/" + id + "/action", |
|
461 | 461 |
type: "POST", |
462 | 462 |
data: JSON.stringify(action), |
463 | 463 |
success: function() |
... | ... | |
489 | 489 |
var request = OpenNebula.Helper.request(resource,method, id); |
490 | 490 | |
491 | 491 |
$.ajax({ |
492 |
url: "/host/" + id + "/action",
|
|
492 |
url: "host/" + id + "/action", |
|
493 | 493 |
type: "POST", |
494 | 494 |
data: JSON.stringify(action), |
495 | 495 |
success: function() |
... | ... | |
587 | 587 |
var request = OpenNebula.Helper.request(resource,"create",data); |
588 | 588 | |
589 | 589 |
$.ajax({ |
590 |
url: "/vnet",
|
|
590 |
url: "vnet", |
|
591 | 591 |
type: "POST", |
592 | 592 |
dataType: "json", |
593 | 593 |
data: JSON.stringify(data), |
... | ... | |
618 | 618 |
var request = OpenNebula.Helper.request(resource,"delete", id); |
619 | 619 | |
620 | 620 |
$.ajax({ |
621 |
url: "/vnet/" + id,
|
|
621 |
url: "vnet/" + id, |
|
622 | 622 |
type: "DELETE", |
623 | 623 |
success: function() |
624 | 624 |
{ |
... | ... | |
647 | 647 |
var request = OpenNebula.Helper.request(resource,"list"); |
648 | 648 | |
649 | 649 |
$.ajax({ |
650 |
url: "/vnet",
|
|
650 |
url: "vnet", |
|
651 | 651 |
type: "GET", |
652 | 652 |
dataType: "json", |
653 | 653 |
data: {timeout: timeout}, |
... | ... | |
679 | 679 |
var request = OpenNebula.Helper.request(resource,"show", id); |
680 | 680 | |
681 | 681 |
$.ajax({ |
682 |
url: "/vnet/" + id,
|
|
682 |
url: "vnet/" + id, |
|
683 | 683 |
type: "GET", |
684 | 684 |
dataType: "json", |
685 | 685 |
success: function(response) |
... | ... | |
711 | 711 |
var request = OpenNebula.Helper.request(resource,method, id); |
712 | 712 | |
713 | 713 |
$.ajax({ |
714 |
url: "/vnet/" + id + "/action",
|
|
714 |
url: "vnet/" + id + "/action", |
|
715 | 715 |
type: "POST", |
716 | 716 |
data: JSON.stringify(action), |
717 | 717 |
success: function() |
... | ... | |
743 | 743 |
var request = OpenNebula.Helper.request(resource,method, id); |
744 | 744 | |
745 | 745 |
$.ajax({ |
746 |
url: "/vnet/" + id + "/action",
|
|
746 |
url: "vnet/" + id + "/action", |
|
747 | 747 |
type: "POST", |
748 | 748 |
data: JSON.stringify(action), |
749 | 749 |
success: function() |
... | ... | |
785 | 785 |
var request = OpenNebula.Helper.request(resource,"create",data); |
786 | 786 | |
787 | 787 |
$.ajax({ |
788 |
url: "/vm",
|
|
788 |
url: "vm", |
|
789 | 789 |
type: "POST", |
790 | 790 |
dataType: "json", |
791 | 791 |
data: JSON.stringify(data), |
... | ... | |
816 | 816 |
var request = OpenNebula.Helper.request(resource,"delete", id); |
817 | 817 | |
818 | 818 |
$.ajax({ |
819 |
url: "/vm/" + id,
|
|
819 |
url: "vm/" + id, |
|
820 | 820 |
type: "DELETE", |
821 | 821 |
success: function() |
822 | 822 |
{ |
... | ... | |
845 | 845 |
var request = OpenNebula.Helper.request(resource,"list"); |
846 | 846 | |
847 | 847 |
$.ajax({ |
848 |
url: "/vm",
|
|
848 |
url: "vm", |
|
849 | 849 |
type: "GET", |
850 | 850 |
dataType: "json", |
851 | 851 |
data: {timeout: timeout}, |
... | ... | |
877 | 877 |
var request = OpenNebula.Helper.request(resource,"log", id); |
878 | 878 | |
879 | 879 |
$.ajax({ |
880 |
url: "/vm/" + id + "/log",
|
|
880 |
url: "vm/" + id + "/log", |
|
881 | 881 |
type: "GET", |
882 | 882 |
success: function(response) |
883 | 883 |
{ |
... | ... | |
906 | 906 |
var request = OpenNebula.Helper.request(resource,"show", id); |
907 | 907 | |
908 | 908 |
$.ajax({ |
909 |
url: "/vm/" + id,
|
|
909 |
url: "vm/" + id, |
|
910 | 910 |
type: "GET", |
911 | 911 |
dataType: "json", |
912 | 912 |
success: function(response) |
... | ... | |
939 | 939 |
var request = OpenNebula.Helper.request(resource,method, [id, host]); |
940 | 940 | |
941 | 941 |
$.ajax({ |
942 |
url: "/vm/" + id + "/action",
|
|
942 |
url: "vm/" + id + "/action", |
|
943 | 943 |
type: "POST", |
944 | 944 |
data: JSON.stringify(action), |
945 | 945 |
success: function() |
... | ... | |
971 | 971 |
var request = OpenNebula.Helper.request(resource,method, id); |
972 | 972 | |
973 | 973 |
$.ajax({ |
974 |
url: "/vm/" + id + "/action",
|
|
974 |
url: "vm/" + id + "/action", |
|
975 | 975 |
type: "POST", |
976 | 976 |
data: JSON.stringify(action), |
977 | 977 |
success: function() |
... | ... | |
1004 | 1004 |
var request = OpenNebula.Helper.request(resource,method, [id, host]); |
1005 | 1005 | |
1006 | 1006 |
$.ajax({ |
1007 |
url: "/vm/" + id + "/action",
|
|
1007 |
url: "vm/" + id + "/action", |
|
1008 | 1008 |
type: "POST", |
1009 | 1009 |
data: JSON.stringify(action), |
1010 | 1010 |
success: function() |
... | ... | |
1037 | 1037 |
var request = OpenNebula.Helper.request(resource,method, [id, host]); |
1038 | 1038 | |
1039 | 1039 |
$.ajax({ |
1040 |
url: "/vm/" + id + "/action",
|
|
1040 |
url: "vm/" + id + "/action", |
|
1041 | 1041 |
type: "POST", |
1042 | 1042 |
data: JSON.stringify(action), |
1043 | 1043 |
success: function() |
... | ... | |
1069 | 1069 |
var request = OpenNebula.Helper.request(resource,method, id); |
1070 | 1070 | |
1071 | 1071 |
$.ajax({ |
1072 |
url: "/vm/" + id + "/action",
|
|
1072 |
url: "vm/" + id + "/action", |
|
1073 | 1073 |
type: "POST", |
1074 | 1074 |
data: JSON.stringify(action), |
1075 | 1075 |
success: function() |
... | ... | |
1101 | 1101 |
var request = OpenNebula.Helper.request(resource,method, id); |
1102 | 1102 | |
1103 | 1103 |
$.ajax({ |
1104 |
url: "/vm/" + id + "/action",
|
|
1104 |
url: "vm/" + id + "/action", |
|
1105 | 1105 |
type: "POST", |
1106 | 1106 |
data: JSON.stringify(action), |
1107 | 1107 |
success: function() |
... | ... | |
1133 | 1133 |
var request = OpenNebula.Helper.request(resource,method, id); |
1134 | 1134 | |
1135 | 1135 |
$.ajax({ |
1136 |
url: "/vm/" + id + "/action",
|
|
1136 |
url: "vm/" + id + "/action", |
|
1137 | 1137 |
type: "POST", |
1138 | 1138 |
data: JSON.stringify(action), |
1139 | 1139 |
success: function() |
... | ... | |
1165 | 1165 |
var request = OpenNebula.Helper.request(resource,method, id); |
1166 | 1166 | |
1167 | 1167 |
$.ajax({ |
1168 |
url: "/vm/" + id + "/action",
|
|
1168 |
url: "vm/" + id + "/action", |
|
1169 | 1169 |
type: "POST", |
1170 | 1170 |
data: JSON.stringify(action), |
1171 | 1171 |
success: function() |
... | ... | |
1197 | 1197 |
var request = OpenNebula.Helper.request(resource,method, id); |
1198 | 1198 | |
1199 | 1199 |
$.ajax({ |
1200 |
url: "/vm/" + id + "/action",
|
|
1200 |
url: "vm/" + id + "/action", |
|
1201 | 1201 |
type: "POST", |
1202 | 1202 |
data: JSON.stringify(action), |
1203 | 1203 |
success: function() |
... | ... | |
1229 | 1229 |
var request = OpenNebula.Helper.request(resource,method, id); |
1230 | 1230 | |
1231 | 1231 |
$.ajax({ |
1232 |
url: "/vm/" + id + "/action",
|
|
1232 |
url: "vm/" + id + "/action", |
|
1233 | 1233 |
type: "POST", |
1234 | 1234 |
data: JSON.stringify(action), |
1235 | 1235 |
success: function() |
... | ... | |
1270 | 1270 |
var request = OpenNebula.Helper.request(resource,method, [id,disk_id, image_name, type]); |
1271 | 1271 | |
1272 | 1272 |
$.ajax({ |
1273 |
url: "/vm/" + id + "/action",
|
|
1273 |
url: "vm/" + id + "/action", |
|
1274 | 1274 |
type: "POST", |
1275 | 1275 |
data: JSON.stringify(action), |
1276 | 1276 |
success: function() |
... | ... | |
1302 | 1302 |
var request = OpenNebula.Helper.request(resource,method, id); |
1303 | 1303 | |
1304 | 1304 |
$.ajax({ |
1305 |
url: "/vm/" + id + "/action",
|
|
1305 |
url: "vm/" + id + "/action", |
|
1306 | 1306 |
type: "POST", |
1307 | 1307 |
data: JSON.stringify(action), |
1308 | 1308 |
success: function() |
... | ... | |
1334 | 1334 |
var request = OpenNebula.Helper.request(resource,method, id); |
1335 | 1335 | |
1336 | 1336 |
$.ajax({ |
1337 |
url: "/vm/" + id + "/action",
|
|
1337 |
url: "vm/" + id + "/action", |
|
1338 | 1338 |
type: "POST", |
1339 | 1339 |
data: JSON.stringify(action), |
1340 | 1340 |
success: function() |
... | ... | |
1499 | 1499 |
var request = OpenNebula.Helper.request(resource,"create", name); |
1500 | 1500 | |
1501 | 1501 |
$.ajax({ |
1502 |
url: "/group",
|
|
1502 |
url: "group", |
|
1503 | 1503 |
type: "POST", |
1504 | 1504 |
dataType: "json", |
1505 | 1505 |
data: JSON.stringify(data), |
... | ... | |
1530 | 1530 |
var request = OpenNebula.Helper.request(resource,"delete", id); |
1531 | 1531 | |
1532 | 1532 |
$.ajax({ |
1533 |
url: "/group/" + id,
|
|
1533 |
url: "group/" + id, |
|
1534 | 1534 |
type: "DELETE", |
1535 | 1535 |
success: function() |
1536 | 1536 |
{ |
... | ... | |
1559 | 1559 |
var request = OpenNebula.Helper.request(resource,"list"); |
1560 | 1560 | |
1561 | 1561 |
$.ajax({ |
1562 |
url: "/group",
|
|
1562 |
url: "group", |
|
1563 | 1563 |
type: "GET", |
1564 | 1564 |
dataType: "json", |
1565 | 1565 |
data: {timeout: timeout}, |
... | ... | |
1600 | 1600 |
var request = OpenNebula.Helper.request(resource,"create",data); |
1601 | 1601 | |
1602 | 1602 |
$.ajax({ |
1603 |
url: "/user",
|
|
1603 |
url: "user", |
|
1604 | 1604 |
type: "POST", |
1605 | 1605 |
dataType: "json", |
1606 | 1606 |
data: JSON.stringify(data), |
... | ... | |
1631 | 1631 |
var request = OpenNebula.Helper.request(resource,"delete", id); |
1632 | 1632 | |
1633 | 1633 |
$.ajax({ |
1634 |
url: "/user/" + id,
|
|
1634 |
url: "user/" + id, |
|
1635 | 1635 |
type: "DELETE", |
1636 | 1636 |
success: function() |
1637 | 1637 |
{ |
... | ... | |
1660 | 1660 |
var request = OpenNebula.Helper.request(resource,"list"); |
1661 | 1661 | |
1662 | 1662 |
$.ajax({ |
1663 |
url: "/user",
|
|
1663 |
url: "user", |
|
1664 | 1664 |
type: "GET", |
1665 | 1665 |
dataType: "json", |
1666 | 1666 |
data: {timeout: timeout}, |
... | ... | |
1698 | 1698 |
var request = OpenNebula.Helper.request(resource,method, passwd); |
1699 | 1699 | |
1700 | 1700 |
$.ajax({ |
1701 |
url: "/user/" + id + "/action",
|
|
1701 |
url: "user/" + id + "/action", |
|
1702 | 1702 |
type: "POST", |
1703 | 1703 |
data: JSON.stringify(action), |
1704 | 1704 |
success: function(response) |
... | ... | |
1763 | 1763 |
var request = OpenNebula.Helper.request(resource,"register",data); |
1764 | 1764 | |
1765 | 1765 |
$.ajax({ |
1766 |
url: "/image",
|
|
1766 |
url: "image", |
|
1767 | 1767 |
type: "POST", |
1768 | 1768 |
dataType: "json", |
1769 | 1769 |
data: JSON.stringify(data), |
... | ... | |
1794 | 1794 |
var request = OpenNebula.Helper.request(resource,method, id); |
1795 | 1795 | |
1796 | 1796 |
$.ajax({ |
1797 |
url: "/image/" + id + "/template",
|
|
1797 |
url: "image/" + id + "/template", |
|
1798 | 1798 |
type: "GET", |
1799 | 1799 |
dataType:"json", |
1800 | 1800 |
success: function(response) |
... | ... | |
1829 | 1829 |
var request = OpenNebula.Helper.request(resource,method, [id, template_obj]); |
1830 | 1830 | |
1831 | 1831 |
$.ajax({ |
1832 |
url: "/image/" + id + "/action",
|
|
1832 |
url: "image/" + id + "/action", |
|
1833 | 1833 |
type: "POST", |
1834 | 1834 |
data: JSON.stringify(action), |
1835 | 1835 |
success: function(response) |
... | ... | |
1858 | 1858 |
var request = OpenNebula.Helper.request(resource,"delete", id); |
1859 | 1859 | |
1860 | 1860 |
$.ajax({ |
1861 |
url: "/image/" + id,
|
|
1861 |
url: "image/" + id, |
|
1862 | 1862 |
type: "DELETE", |
1863 | 1863 |
success: function() |
1864 | 1864 |
{ |
... | ... | |
1887 | 1887 |
var request = OpenNebula.Helper.request(resource,"list"); |
1888 | 1888 | |
1889 | 1889 |
$.ajax({ |
1890 |
url: "/image",
|
|
1890 |
url: "image", |
|
1891 | 1891 |
type: "GET", |
1892 | 1892 |
dataType: "json", |
1893 | 1893 |
data: {timeout: timeout}, |
... | ... | |
1919 | 1919 |
var request = OpenNebula.Helper.request(resource,"show", id); |
1920 | 1920 | |
1921 | 1921 |
$.ajax({ |
1922 |
url: "/image/" + id,
|
|
1922 |
url: "image/" + id, |
|
1923 | 1923 |
type: "GET", |
1924 | 1924 |
dataType: "json", |
1925 | 1925 |
success: function(response) |
... | ... | |
1951 | 1951 |
var request = OpenNebula.Helper.request(resource,method, id); |
1952 | 1952 | |
1953 | 1953 |
$.ajax({ |
1954 |
url: "/image/" + id + "/action",
|
|
1954 |
url: "image/" + id + "/action", |
|
1955 | 1955 |
type: "POST", |
1956 | 1956 |
data: JSON.stringify(action), |
1957 | 1957 |
success: function() |
... | ... | |
1983 | 1983 |
var request = OpenNebula.Helper.request(resource,method, id); |
1984 | 1984 | |
1985 | 1985 |
$.ajax({ |
1986 |
url: "/image/" + id + "/action",
|
|
1986 |
url: "image/" + id + "/action", |
|
1987 | 1987 |
type: "POST", |
1988 | 1988 |
data: JSON.stringify(action), |
1989 | 1989 |
success: function() |
... | ... | |
2015 | 2015 |
var request = OpenNebula.Helper.request(resource,method, id); |
2016 | 2016 | |
2017 | 2017 |
$.ajax({ |
2018 |
url: "/image/" + id + "/action",
|
|
2018 |
url: "image/" + id + "/action", |
|
2019 | 2019 |
type: "POST", |
2020 | 2020 |
data: JSON.stringify(action), |
2021 | 2021 |
success: function() |
... | ... | |
2047 | 2047 |
var request = OpenNebula.Helper.request(resource,method, id); |
2048 | 2048 | |
2049 | 2049 |
$.ajax({ |
2050 |
url: "/image/" + id + "/action",
|
|
2050 |
url: "image/" + id + "/action", |
|
2051 | 2051 |
type: "POST", |
2052 | 2052 |
data: JSON.stringify(action), |
2053 | 2053 |
success: function() |
... | ... | |
2080 | 2080 |
var request = OpenNebula.Helper.request(resource,method, id); |
2081 | 2081 | |
2082 | 2082 |
$.ajax({ |
2083 |
url: "/image/" + id + "/action",
|
|
2083 |
url: "image/" + id + "/action", |
|
2084 | 2084 |
type: "POST", |
2085 | 2085 |
data: JSON.stringify(action), |
2086 | 2086 |
success: function() |
... | ... | |
2113 | 2113 |
var request = OpenNebula.Helper.request(resource,method, id); |
2114 | 2114 | |
2115 | 2115 |
$.ajax({ |
2116 |
url: "/image/" + id + "/action",
|
|
2116 |
url: "image/" + id + "/action", |
|
2117 | 2117 |
type: "POST", |
2118 | 2118 |
data: JSON.stringify(action), |
2119 | 2119 |
success: function() |
... | ... | |
2155 | 2155 |
var request = OpenNebula.Helper.request(resource,"create",data); |
2156 | 2156 | |
2157 | 2157 |
$.ajax({ |
2158 |
url: "/template",
|
|
2158 |
url: "template", |
|
2159 | 2159 |
type: "POST", |
2160 | 2160 |
dataType: "json", |
2161 | 2161 |
data: JSON.stringify(data), |
... | ... | |
2187 | 2187 |
var request = OpenNebula.Helper.request(resource,method, id); |
2188 | 2188 | |
2189 | 2189 |
$.ajax({ |
2190 |
url: "/template/" + id + "/template",
|
|
2190 |
url: "template/" + id + "/template", |
|
2191 | 2191 |
type: "GET", |
2192 | 2192 |
dataType:"json", |
2193 | 2193 |
success: function(response) |
... | ... | |
2221 | 2221 |
var request = OpenNebula.Helper.request(resource,method, [id, template_obj]); |
2222 | 2222 | |
2223 | 2223 |
$.ajax({ |
2224 |
url: "/template/" + id + "/action",
|
|
2224 |
url: "template/" + id + "/action", |
|
2225 | 2225 |
type: "POST", |
2226 | 2226 |
data: JSON.stringify(action), |
2227 | 2227 |
success: function(response) |
... | ... | |
2253 | 2253 |
var request = OpenNebula.Helper.request(resource,method, id); |
2254 | 2254 | |
2255 | 2255 |
$.ajax({ |
2256 |
url: "/template/" + id + "/action",
|
|
2256 |
url: "template/" + id + "/action", |
|
2257 | 2257 |
type: "POST", |
2258 | 2258 |
data: JSON.stringify(action), |
2259 | 2259 |
success: function() |
... | ... | |
2284 | 2284 |
var request = OpenNebula.Helper.request(resource,method, id); |
2285 | 2285 | |
2286 | 2286 |
$.ajax({ |
2287 |
url: "/template/" + id + "/action",
|
|
2287 |
url: "template/" + id + "/action", |
|
2288 | 2288 |
type: "POST", |
2289 | 2289 |
data: JSON.stringify(action), |
2290 | 2290 |
success: function() |
... | ... | |
2313 | 2313 |
var request = OpenNebula.Helper.request(resource,"list"); |
2314 | 2314 | |
2315 | 2315 |
$.ajax({ |
2316 |
url: "/template",
|
|
2316 |
url: "template", |
|
2317 | 2317 |
type: "GET", |
2318 | 2318 |
dataType: "json", |
2319 | 2319 |
data: {timeout: timeout}, |
... | ... | |
2344 | 2344 |
var request = OpenNebula.Helper.request(resource,"show", id); |
2345 | 2345 | |
2346 | 2346 |
$.ajax({ |
2347 |
url: "/template/" + id,
|
|
2347 |
url: "template/" + id, |
|
2348 | 2348 |
type: "GET", |
2349 | 2349 |
dataType: "json", |
2350 | 2350 |
success: function(response) |
... | ... | |
2373 | 2373 |
var request = OpenNebula.Helper.request(resource,"delete", id); |
2374 | 2374 | |
2375 | 2375 |
$.ajax({ |
2376 |
url: "/template/" + id,
|
|
2376 |
url: "template/" + id, |
|
2377 | 2377 |
type: "DELETE", |
2378 | 2378 |
success: function() |
2379 | 2379 |
{ |
src/sunstone/public/js/plugins/groups-tab.js | ||
---|---|---|
122 | 122 |
"Group.refresh" : { |
123 | 123 |
type: "image", |
124 | 124 |
text: "Refresh list", |
125 |
img: "/images/Refresh-icon.png",
|
|
125 |
img: "images/Refresh-icon.png", |
|
126 | 126 |
condition: True |
127 | 127 |
}, |
128 | 128 |
"Group.create_dialog" : { |
src/sunstone/public/js/plugins/hosts-tab.js | ||
---|---|---|
214 | 214 |
"Host.refresh" : { |
215 | 215 |
type: "image", |
216 | 216 |
text: "Refresh list", |
217 |
img: "/images/Refresh-icon.png",
|
|
217 |
img: "images/Refresh-icon.png", |
|
218 | 218 |
condition: True |
219 | 219 |
}, |
220 | 220 |
"Host.create_dialog" : { |
src/sunstone/public/js/plugins/images-tab.js | ||
---|---|---|
338 | 338 |
"Image.refresh" : { |
339 | 339 |
type: "image", |
340 | 340 |
text: "Refresh list", |
341 |
img: "/images/Refresh-icon.png",
|
|
341 |
img: "images/Refresh-icon.png", |
|
342 | 342 |
condition: True |
343 | 343 |
}, |
344 | 344 |
"Image.create_dialog" : { |
src/sunstone/public/js/plugins/templates-tab.js | ||
---|---|---|
685 | 685 |
"Template.refresh" : { |
686 | 686 |
type: "image", |
687 | 687 |
text: "Refresh list", |
688 |
img: "/images/Refresh-icon.png",
|
|
688 |
img: "images/Refresh-icon.png", |
|
689 | 689 |
condition: True |
690 | 690 |
}, |
691 | 691 |
"Template.create_dialog" : { |
src/sunstone/public/js/plugins/users-tab.js | ||
---|---|---|
111 | 111 |
"User.refresh" : { |
112 | 112 |
type: "image", |
113 | 113 |
text: "Refresh list", |
114 |
img: "/images/Refresh-icon.png",
|
|
114 |
img: "images/Refresh-icon.png", |
|
115 | 115 |
condition: True |
116 | 116 |
}, |
117 | 117 |
"User.create_dialog" : { |
src/sunstone/public/js/plugins/vms-tab.js | ||
---|---|---|
402 | 402 |
"VM.refresh" : { |
403 | 403 |
type: "image", |
404 | 404 |
text: "Refresh list", |
405 |
img: "/images/Refresh-icon.png",
|
|
405 |
img: "images/Refresh-icon.png", |
|
406 | 406 |
condition: True |
407 | 407 |
}, |
408 | 408 |
src/sunstone/public/js/plugins/vnets-tab.js | ||
---|---|---|
237 | 237 |
"Network.refresh" : { |
238 | 238 |
type: "image", |
239 | 239 |
text: "Refresh list", |
240 |
img: "/images/Refresh-icon.png",
|
|
240 |
img: "images/Refresh-icon.png", |
|
241 | 241 |
condition: True |
242 | 242 |
}, |
243 | 243 |
src/sunstone/public/js/sunstone-util.js | ||
---|---|---|
309 | 309 | |
310 | 310 |
//redirect to login if unauthenticated |
311 | 311 |
if (error_json.error.http_status=="401") { |
312 |
window.location.href = "/login";
|
|
312 |
window.location.href = "login"; |
|
313 | 313 |
}; |
314 | 314 | |
315 | 315 |
if (!message){ |
src/sunstone/public/js/sunstone.js | ||
---|---|---|
17 | 17 |
var cookie = {}; |
18 | 18 |
var username = ''; |
19 | 19 |
var uid = ''; |
20 |
var spinner = '<img src="/images/ajax-loader.gif" alt="retrieving" class="loading_img" />';
|
|
20 |
var spinner = '<img src="images/ajax-loader.gif" alt="retrieving" class="loading_img" />'; |
|
21 | 21 | |
22 | 22 | |
23 | 23 |
//Sunstone configuration is formed by predifined "actions", main tabs |
... | ... | |
382 | 382 |
$("#logout").click(function(){ |
383 | 383 |
OpenNebula.Auth.logout({ |
384 | 384 |
success:function(){ |
385 |
window.location.href = "/login";
|
|
385 |
window.location.href = "login"; |
|
386 | 386 |
} |
387 | 387 |
}); |
388 | 388 |
return false; |
src/sunstone/sunstone-server.rb | ||
---|---|---|
122 | 122 |
# HTML Requests |
123 | 123 |
############################################################################## |
124 | 124 |
get '/' do |
125 |
redirect '/login' unless authorized? |
|
125 |
return File.read(File.dirname(__FILE__)+ |
|
126 |
'/templates/login.html') unless authorized? |
|
126 | 127 | |
127 | 128 |
time = Time.now + 60 |
128 | 129 |
response.set_cookie("one-user", |
src/sunstone/templates/index.html | ||
---|---|---|
3 | 3 |
<head> |
4 | 4 |
<title>OpenNebula Admin Console</title> |
5 | 5 |
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> |
6 |
|
|
6 | ||
7 | 7 |
<!-- Vendor Libraries --> |
8 |
<link rel="stylesheet" type="text/css" href="/vendor/dataTables/demo_table_jui.css" />
|
|
9 |
<link rel="stylesheet" type="text/css" href="/vendor/jQueryUI/jquery-ui-1.8.7.custom.css" />
|
|
10 |
<link rel="stylesheet" type="text/css" href="/vendor/jGrowl/jquery.jgrowl.css" />
|
|
11 |
<link rel="stylesheet" type="text/css" href="/vendor/jQueryLayout/layout-default-latest.css" />
|
|
12 |
<link rel="stylesheet" href="/vendor/noVNC/include/plain.css">
|
|
8 |
<link rel="stylesheet" type="text/css" href="vendor/dataTables/demo_table_jui.css" /> |
|
9 |
<link rel="stylesheet" type="text/css" href="vendor/jQueryUI/jquery-ui-1.8.7.custom.css" /> |
|
10 |
<link rel="stylesheet" type="text/css" href="vendor/jGrowl/jquery.jgrowl.css" /> |
|
11 |
<link rel="stylesheet" type="text/css" href="vendor/jQueryLayout/layout-default-latest.css" /> |
|
12 |
<link rel="stylesheet" href="vendor/noVNC/include/plain.css"> |
|
13 | 13 | |
14 |
<script type="text/javascript" src="/vendor/jQuery/jquery-1.4.4.min.js"></script>
|
|
15 |
<script type="text/javascript" src="/vendor/jGrowl/jquery.jgrowl_minimized.js"></script>
|
|
16 |
<script type="text/javascript" src="/vendor/jQueryUI/jquery-ui-1.8.7.custom.min.js"></script>
|
|
17 |
<script type="text/javascript" src="/vendor/jQueryLayout/jquery.layout.min-1.2.0.js"></script>
|
|
18 |
<script type="text/javascript" src="/vendor/dataTables/jquery.dataTables.min.js"></script>
|
|
19 |
<script language="javascript" type="text/javascript" src="/vendor/flot/jquery.flot.min.js"></script>
|
|
14 |
<script type="text/javascript" src="vendor/jQuery/jquery-1.4.4.min.js"></script> |
|
15 |
<script type="text/javascript" src="vendor/jGrowl/jquery.jgrowl_minimized.js"></script> |
|
16 |
<script type="text/javascript" src="vendor/jQueryUI/jquery-ui-1.8.7.custom.min.js"></script> |
|
17 |
<script type="text/javascript" src="vendor/jQueryLayout/jquery.layout.min-1.2.0.js"></script> |
|
18 |
<script type="text/javascript" src="vendor/dataTables/jquery.dataTables.min.js"></script> |
|
19 |
<script language="javascript" type="text/javascript" src="vendor/flot/jquery.flot.min.js"></script>
|
|
20 | 20 | |
21 | 21 |
<!-- End Vendor Libraries --> |
22 | 22 | |
23 |
<link rel="stylesheet" type="text/css" href="/css/application.css" />
|
|
24 |
<link rel="stylesheet" type="text/css" href="/css/layout.css" />
|
|
25 |
<script type="text/javascript" src="/js/opennebula.js"></script>
|
|
26 |
<script type="text/javascript" src="/js/layout.js"></script>
|
|
27 |
<script type="text/javascript" src="/js/sunstone.js"></script>
|
|
28 |
<script type="text/javascript" src="/js/sunstone-util.js"></script>
|
|
23 |
<link rel="stylesheet" type="text/css" href="css/application.css" /> |
|
24 |
<link rel="stylesheet" type="text/css" href="css/layout.css" /> |
|
25 |
<script type="text/javascript" src="js/opennebula.js"></script> |
|
26 |
<script type="text/javascript" src="js/layout.js"></script> |
|
27 |
<script type="text/javascript" src="js/sunstone.js"></script> |
|
28 |
<script type="text/javascript" src="js/sunstone-util.js"></script> |
|
29 | 29 | |
30 | 30 |
<!--Base plugins--> |
31 |
<script type="text/javascript" src="/js/plugins/dashboard-tab.js"></script>
|
|
32 |
<script type="text/javascript" src="/js/plugins/hosts-tab.js"></script>
|
|
33 |
<script type="text/javascript" src="/js/plugins/groups-tab.js"></script>
|
|
34 |
<script type="text/javascript" src="/js/plugins/templates-tab.js"></script>
|
|
35 |
<script type="text/javascript" src="/js/plugins/vms-tab.js"></script>
|
|
36 |
<script type="text/javascript" src="/js/plugins/vnets-tab.js"></script>
|
|
37 |
<script type="text/javascript" src="/js/plugins/images-tab.js"></script>
|
|
38 |
<script type="text/javascript" src="/js/plugins/users-tab.js"></script>
|
|
39 |
|
|
40 |
<!--<script type="text/javascript" src="/js/plugins/dummy-plugin.js"></script>-->
|
|
41 |
|
|
31 |
<script type="text/javascript" src="js/plugins/dashboard-tab.js"></script> |
|
32 |
<script type="text/javascript" src="js/plugins/hosts-tab.js"></script> |
|
33 |
<script type="text/javascript" src="js/plugins/groups-tab.js"></script> |
|
34 |
<script type="text/javascript" src="js/plugins/templates-tab.js"></script> |
|
35 |
<script type="text/javascript" src="js/plugins/vms-tab.js"></script> |
|
36 |
<script type="text/javascript" src="js/plugins/vnets-tab.js"></script> |
|
37 |
<script type="text/javascript" src="js/plugins/images-tab.js"></script> |
|
38 |
<script type="text/javascript" src="js/plugins/users-tab.js"></script> |
|
39 | ||
40 |
<!--<script type="text/javascript" src="js/plugins/dummy-plugin.js"></script>--> |
|
41 | ||
42 | 42 |
</head> |
43 | 43 |
<body> |
44 | 44 |
<div class="outer-center"> |
... | ... | |
54 | 54 | |
55 | 55 |
<div id="header" class="ui-layout-north"> |
56 | 56 |
<div id="logo"> |
57 |
<img src="/images/opennebula-sunstone-small.png"/>
|
|
57 |
<img src="images/opennebula-sunstone-small.png"/> |
|
58 | 58 |
</div> |
59 | 59 |
<div id="login-info"> |
60 | 60 |
Welcome <span id="user"></span> | <a href="#" id="logout">Sign Out</a> |
src/sunstone/templates/login.html | ||
---|---|---|
2 | 2 |
<head> |
3 | 3 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
4 | 4 |
<title>OpenNebula Admin Console Login</title> |
5 |
<link rel="stylesheet" type="text/css" href="/css/login.css" />
|
|
5 |
<link rel="stylesheet" type="text/css" href="css/login.css" /> |
|
6 | 6 | |
7 | 7 |
<!-- Vendor Libraries --> |
8 |
<script type="text/javascript" src="/vendor/jQuery/jquery-1.4.4.min.js"></script>
|
|
8 |
<script type="text/javascript" src="vendor/jQuery/jquery-1.4.4.min.js"></script> |
|
9 | 9 |
<!-- End Vendor Libraries --> |
10 | 10 | |
11 |
<script type="text/javascript" src="/js/opennebula.js"></script>
|
|
12 |
<script type="text/javascript" src="/js/login.js"></script>
|
|
11 |
<script type="text/javascript" src="js/opennebula.js"></script> |
|
12 |
<script type="text/javascript" src="js/login.js"></script> |
|
13 | 13 | |
14 | 14 |
</head> |
15 | 15 | |
16 |
- |