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 |
- |
|