Commit 32c46b3f authored by Łukasz Nowak's avatar Łukasz Nowak

Implement requesting software installation.

parent 373b51bb
...@@ -62,19 +62,14 @@ computer = portal.portal_catalog.getResultValue(\n ...@@ -62,19 +62,14 @@ computer = portal.portal_catalog.getResultValue(\n
portal_type="Computer",\n portal_type="Computer",\n
)\n )\n
\n \n
software_release = portal.portal_catalog.getResultValue(\n computer.requestSoftwareReleaseInstallation(software_release_url=software_release_url)\n
uid=software_release_uid,\n
portal_type="Software Release",\n
)\n
\n
computer.requestSoftwareReleaseInstallation(software_release_url=software_release.getUrlString())\n
\n \n
return True\n return True\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>software_release_uid, computer_reference</string> </value> <value> <string>software_release_url, computer_reference</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts23180386.9</string> </value> <value> <string>ts23190925.51</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -294,6 +294,79 @@ function processRequest(event) {\n ...@@ -294,6 +294,79 @@ function processRequest(event) {\n
});\n });\n
}\n }\n
\n \n
function processInstall(event) {\n
event.preventDefault();\n
var computer = $(\'#computer\').val();\n
var url = $(\'#url\').val();\n
\n
$.post(vifib.site_url + "/ERP5Site_triggerSoftwareInstallationAsJSON", {\n
\'software_release_url\': url,\n
\'computer_reference\': computer\n
},\n
function () {\n
alert(\'Software installation on computer \' + computer + \' has been requested\');\n
window.location.hash = \'\';\n
});\n
}\n
\n
function drawInstall(data) {\n
data = data.software_release_list[0];\n
var js_container = $("#js_container");\n
js_container.empty();\n
var release_div = $(\'<div>\');\n
var img = $(\'<img>\');\n
img.attr({\n
\'src\': data.image_url,\n
\'alt\': data.title,\n
\'title\': data.title\n
});\n
img.addClass(\'software_release_icon\');\n
js_container.append(img);\n
var explanation = $(\'<p>\');\n
js_container.append(explanation);\n
explanation.text(\'Please select computer on which you want to install selected software.\');\n
\n
js_container.append(release_div);\n
release_div.append($(\'<p>\').html(\'You are requesting installation of: \').append($(\'<span>\').addClass(\'required\').text(data.title)));\n
release_div.append($(\'<p>\').html(\'Url of release: \').append($(\'<span>\').addClass(\'required\').text(data.url)));\n
var fieldset = $(\'<fieldset>\');\n
js_container.append(fieldset);\n
fieldset.addClass(\'normal\');\n
\n
var url_a = $(\'<input>\');\n
url_a.attr({\'value\': data.url, \'name\': \'url\', \'id\': \'url\', \'type\': \'hidden\'});\n
fieldset.append(url_a);\n
\n
var computer_label = $(\'<div>\');\n
fieldset.append(computer_label);\n
computer_label.addClass(\'field\');\n
computer_label.append($(\'<label>\').text(\'Computer:\'));\n
\n
var computer_input = $(\'<select>\');\n
fieldset.append(computer_input);\n
computer_input.attr({\'name\': \'computer\', \'id\': \'computer\', \'size\': \'1\'});\n
fieldset.append(computer_input);\n
\n
$.getJSON(vifib.site_url + "/ERP5Site_getComputerListAsJSON", function (data) {\n
var computer_input = $(\'#computer\');\n
var option = $(\'<option>\');\n
option.attr(\'value\', \'\');\n
option.appendTo(computer_input);\n
$.each(data.computer_list, function (i, item) {\n
var option = $(\'<option>\');\n
option.attr(\'value\', item.id);\n
option.html(item.title + \' (\' + item.id + \')\');\n
option.appendTo(computer_input);\n
});\n
});\n
\n
var install = $(\'<button>\');\n
install.append($(\'<span>\').html(\'Install\'));\n
\n
install.click(processInstall);\n
js_container.append(install);\n
}\n
\n
function drawRequest(data) {\n function drawRequest(data) {\n
data = data.software_release_list[0];\n data = data.software_release_list[0];\n
var js_container = $("#js_container");\n var js_container = $("#js_container");\n
...@@ -377,7 +450,12 @@ function drawRequest(data) {\n ...@@ -377,7 +450,12 @@ function drawRequest(data) {\n
}\n }\n
\n \n
function installController(software_release_id) {\n function installController(software_release_id) {\n
alert(software_release_id);\n software_release_id = parseInt(software_release_id, 10);\n
$.getJSON(\n
vifib.site_url + "/ERP5Site_getSoftwareReleaseListAsJSON",\n
{"uid": software_release_id},\n
drawInstall\n
);\n
}\n }\n
\n \n
function requestController(software_release_id) {\n function requestController(software_release_id) {\n
...@@ -416,7 +494,7 @@ function hashController() {\n ...@@ -416,7 +494,7 @@ function hashController() {\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>13268</int> </value> <value> <int>15833</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment