Commit 7e60eec9 authored by Rafael Monnerat's avatar Rafael Monnerat

Improve transfer gadgets

See merge request nexedi/slapos.core!527
parents 295154cb 79cfe888
Pipeline #28035 passed with stage
in 0 seconds
......@@ -40,7 +40,6 @@
.push(function (doc) {
return gadget.getSetting("hateoas_url")
.push(function (url) {
// This is horrible
return gadget.jio_putAttachment(doc.relative_url,
url + doc.relative_url + "/ComputeNode_createMovement", doc);
})
......@@ -67,12 +66,9 @@
"The name of a document in ERP5",
"Title",
"Reference",
"Current Location",
"Current Project",
"Future Location",
"Future Project",
"Current Organisation",
"Future Organisation",
"Location",
"Project",
"Organisation",
"Parent Relative Url",
"Transfer Compute Node"
];
......@@ -96,26 +92,31 @@
gadget.jio_allDocs({
query: 'portal_type:"Organisation" AND role_title: "Host" AND relative_url:(' + destination_list + ')',
sort_on: [['reference', 'ascending']],
select_list: ['reference', 'title']
select_list: ['reference', 'title'],
limit: 1000
}),
gadget.jio_allDocs({
query: 'portal_type:"Project" AND validation_state:"validated"',
sort_on: [['reference', 'ascending']],
select_list: ['reference', 'title'],
limit: 50
limit: 1000
}),
gadget.jio_allDocs({
query: 'portal_type:"Organisation" AND role_title: "Client" AND relative_url:(' + destination_list + ')',
sort_on: [['reference', 'ascending']],
select_list: ['reference', 'title']
select_list: ['reference', 'title'],
limit: 1000
}),
gadget.getTranslationList(translation_list)
]);
})
.push(function (result) {
gadget.message_translation = result[5][0];
page_translation = result[5][11];
page_translation = result[5][8];
var doc = result[1],
default_site = "",
default_organisation = "",
default_project = "",
site_list = [["", ""]],
project_list = [["", ""]],
organisation_list = [["", ""]],
......@@ -125,6 +126,9 @@
organisation_len = result[4].data.total_rows;
for (i = 0; i < site_len; i += 1) {
if (result[2].data.rows[i].value.title === doc.source_title) {
default_site = result[2].data.rows[i].id;
}
site_list.push([
result[2].data.rows[i].value.title || result[2].data.rows[i].value.reference,
result[2].data.rows[i].id
......@@ -132,6 +136,9 @@
}
for (i = 0; i < project_len; i += 1) {
if (result[3].data.rows[i].value.title === doc.source_project_title) {
default_project = result[3].data.rows[i].id;
}
project_list.push([
result[3].data.rows[i].value.title || result[3].data.rows[i].value.reference,
result[3].data.rows[i].id
......@@ -139,6 +146,9 @@
}
for (i = 0; i < organisation_len; i += 1) {
if (result[4].data.rows[i].value.title === doc.source_section_title) {
default_organisation = result[4].data.rows[i].id;
}
organisation_list.push([
result[4].data.rows[i].value.title || result[4].data.rows[i].value.reference,
result[4].data.rows[i].id
......@@ -170,35 +180,13 @@
"hidden": 0,
"type": "StringField"
},
"my_source": {
"description": result[5][1],
"title": result[5][4],
"default": doc.source_title,
"css_class": "",
"required": 1,
"editable": 0,
"key": "source_title",
"hidden": 0,
"type": "StringField"
},
"my_source_project": {
"description": result[5][1],
"title": result[5][5],
"default": doc.source_project_title,
"css_class": "",
"required": 1,
"editable": 0,
"key": "source_project_title",
"hidden": 0,
"type": "StringField"
},
"my_destination": {
"description": result[5][1],
"title": result[5][6],
"default": "",
"title": result[5][4],
"default": default_site,
"items": site_list,
"css_class": "",
"required": 1,
"required": 0,
"editable": 1,
"key": "destination",
"hidden": 0,
......@@ -206,34 +194,23 @@
},
"my_destination_project": {
"description": result[5][1],
"title": result[5][7],
"default": "",
"title": result[5][5],
"default": default_project,
"items": project_list,
"css_class": "",
"required": 1,
"required": 0,
"editable": 1,
"key": "destination_project",
"hidden": 0,
"type": "ListField"
},
"my_source_section": {
"description": result[5][1],
"title": result[5][8],
"default": doc.source_section_title,
"css_class": "",
"required": 1,
"editable": 0,
"key": "source_section_title",
"hidden": 0,
"type": "StringField"
},
"my_destination_section": {
"description": result[5][1],
"title": result[5][9],
"default": "",
"title": result[5][6],
"default": default_organisation,
"items": organisation_list,
"css_class": "",
"required": 1,
"required": 0,
"editable": 1,
"key": "destination_section",
"hidden": 0,
......@@ -241,7 +218,7 @@
},
"my_relative_url": {
"description": "",
"title": result[5][10],
"title": result[5][7],
"default": options.jio_key,
"css_class": "",
"required": 1,
......@@ -261,8 +238,9 @@
form_definition: {
group_list: [[
"left",
[["my_title"], ["my_reference"], ["my_source_section"], ["my_source"], ["my_source_project"],
["my_destination"], ["my_destination_project"], ["my_destination_section"], ["my_relative_url"]]
[["my_title"], ["my_reference"], ["my_destination"],
["my_destination_project"], ["my_destination_section"],
["my_relative_url"]]
]]
}
});
......
......@@ -283,7 +283,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>994.62925.42961.44083</string> </value>
<value> <string>1008.21059.49463.39441</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -303,7 +303,7 @@
</tuple>
<state>
<tuple>
<float>1638836612.1</float>
<float>1683828388.72</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -17,7 +17,6 @@
.declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.declareAcquiredMethod("notifySubmitting", "notifySubmitting")
.declareAcquiredMethod("notifySubmitted", 'notifySubmitted')
.declareAcquiredMethod("jio_getAttachment", "jio_getAttachment")
.declareAcquiredMethod("getTranslationList", "getTranslationList")
/////////////////////////////////////////////////////////////////
......@@ -39,7 +38,6 @@
.push(function (doc) {
return gadget.getSetting("hateoas_url")
.push(function (url) {
// This is horrible
return gadget.jio_putAttachment(doc.relative_url,
url + doc.relative_url + "/ComputerNetwork_createMovement", doc);
})
......@@ -62,13 +60,11 @@
.declareMethod("render", function (options) {
var gadget = this,
translation_list = [
"The name of a document in ERP5",
"The name of a document in ERP5",
"Title",
"Reference",
"Current Project",
"Future Project",
"Current Organisation",
"Future Organisation",
"Project",
"Organisation",
"Parent Relative Url",
"Transfer Computer Network",
"Computer Network is transferred."
......@@ -93,21 +89,25 @@
gadget.jio_get(options.jio_key),
gadget.jio_allDocs({
query: 'portal_type:"Project" AND validation_state:"validated"',
sort_on: [['reference', 'ascending']],
select_list: ['reference', 'title']
sort_on: [['title', 'ascending']],
select_list: ['reference', 'title'],
limit: 1000
}),
gadget.jio_allDocs({
query: 'portal_type:"Organisation" AND role_title: "Client" AND relative_url:(' + destination_list + ')',
sort_on: [['reference', 'ascending']],
select_list: ['reference', 'title']
sort_on: [['title', 'ascending']],
select_list: ['reference', 'title'],
limit: 1000
}),
gadget.getTranslationList(translation_list)
]);
})
.push(function (result) {
gadget.page_title_translation = result[4][8];
gadget.message_translation = result[4][9];
gadget.page_title_translation = result[4][6];
gadget.message_translation = result[4][7];
var doc = result[1],
default_project = "",
default_organisation = "",
organisation_list = [["", ""]],
project_list = [["", ""]],
i,
......@@ -115,6 +115,9 @@
organisation_len = result[3].data.total_rows;
for (i = 0; i < project_len; i += 1) {
if (result[2].data.rows[i].value.title === doc.source_project_title) {
default_project = result[2].data.rows[i].id;
}
project_list.push([
result[2].data.rows[i].value.title || result[2].data.rows[i].value.reference,
result[2].data.rows[i].id
......@@ -122,6 +125,9 @@
}
for (i = 0; i < organisation_len; i += 1) {
if (result[3].data.rows[i].value.title === doc.source_project_title) {
default_organisation = result[3].data.rows[i].id;
}
organisation_list.push([
result[3].data.rows[i].value.title || result[3].data.rows[i].value.reference,
result[3].data.rows[i].id
......@@ -153,47 +159,25 @@
"hidden": 0,
"type": "StringField"
},
"my_source_project": {
"description": result[4][0],
"title": result[4][3],
"default": doc.source_project_title,
"css_class": "",
"required": 1,
"editable": 0,
"key": "source_project_title",
"hidden": 0,
"type": "StringField"
},
"my_destination_project": {
"description": result[4][0],
"title": result[4][4],
"default": "",
"title": result[4][3],
"default": default_project,
"items": project_list,
"css_class": "",
"required": 1,
"required": 0,
"editable": 1,
"key": "destination_project",
"hidden": 0,
"type": "ListField"
},
"my_source_section": {
"description": result[4][0],
"title": result[4][5],
"default": doc.source_section_title,
"css_class": "",
"required": 1,
"editable": 0,
"key": "source_section_title",
"hidden": 0,
"type": "StringField"
},
"my_destination_section": {
"description": result[4][0],
"title": result[4][6],
"default": "",
"title": result[4][4],
"default": default_organisation,
"items": organisation_list,
"css_class": "",
"required": 1,
"required": 0,
"editable": 1,
"key": "destination_section",
"hidden": 0,
......@@ -201,10 +185,10 @@
},
"my_relative_url": {
"description": "",
"title": result[4][7],
"title": result[4][5],
"default": options.jio_key,
"css_class": "",
"required": 1,
"required": 0,
"editable": 1,
"key": "relative_url",
"hidden": 1,
......@@ -221,7 +205,8 @@
form_definition: {
group_list: [[
"left",
[["my_title"], ["my_reference"], ["my_source_project"], ["my_source_section"], ["my_destination_project"], ["my_destination_section"], ["my_relative_url"]]
[["my_title"], ["my_reference"], ["my_source_project"], ["my_source_section"],
["my_destination_project"], ["my_destination_section"], ["my_relative_url"]]
]]
}
});
......
......@@ -281,7 +281,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>993.49407.7079.26129</string> </value>
<value> <string>1008.22397.35734.62054</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -301,7 +301,7 @@
</tuple>
<state>
<tuple>
<float>1638836685.2</float>
<float>1683828480.9</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -39,7 +39,6 @@
.push(function (doc) {
return gadget.getSetting("hateoas_url")
.push(function (url) {
// This is horrible
return gadget.jio_putAttachment(doc.relative_url,
url + doc.relative_url + "/InstanceTree_createMovement", doc);
})
......@@ -64,10 +63,8 @@
"The name of a document in ERP5",
"Title",
"Reference",
"Current Project",
"Future Organisation",
"Current Organisation",
"Future Project",
"Project",
"Organisation",
"Parent Relative Url",
"Transfer Service"
];
......@@ -90,21 +87,24 @@
gadget.jio_get(options.jio_key),
gadget.jio_allDocs({
query: 'portal_type:"Organisation" AND role_title: "Client" AND relative_url:(' + destination_list + ')',
sort_on: [['reference', 'ascending']],
select_list: ['reference', 'title']
sort_on: [['title', 'descending']],
select_list: ['reference', 'title'],
limit: 1000
}),
gadget.jio_allDocs({
query: 'portal_type:"Project" AND validation_state:"validated"',
sort_on: [['reference', 'ascending']],
sort_on: [['title', 'descending']],
select_list: ['reference', 'title'],
limit: 50
limit: 1000
}),
gadget.getTranslationList(translation_list)
]);
})
.push(function (result) {
gadget.page_title_translation = result[4][8];
gadget.page_title_translation = result[4][6];
var doc = result[1],
default_organisation = "",
default_project = "",
organisation_list = [["", ""]],
project_list = [["", ""]],
i,
......@@ -112,6 +112,9 @@
site_len = result[2].data.total_rows;
for (i = 0; i < site_len; i += 1) {
if (result[2].data.rows[i].value.title === doc.source_title) {
default_organisation = result[2].data.rows[i].id;
}
organisation_list.push([
result[2].data.rows[i].value.title || result[2].data.rows[i].value.reference,
result[2].data.rows[i].id
......@@ -119,6 +122,9 @@
}
for (i = 0; i < project_len; i += 1) {
if (result[3].data.rows[i].value.title === doc.source_project_title) {
default_project = result[3].data.rows[i].id;
}
project_list.push([
result[3].data.rows[i].value.title || result[3].data.rows[i].value.reference,
result[3].data.rows[i].id
......@@ -133,7 +139,7 @@
"title": result[4][1],
"default": doc.title,
"css_class": "",
"required": 1,
"required": 0,
"editable": 0,
"key": "title",
"hidden": 0,
......@@ -144,53 +150,31 @@
"title": result[4][2],
"default": doc.reference,
"css_class": "",
"required": 1,
"required": 0,
"editable": 0,
"key": "reference",
"hidden": 0,
"type": "StringField"
},
"my_source_project": {
"description": result[4][0],
"title": result[4][3],
"default": doc.source_project_title,
"css_class": "",
"required": 1,
"editable": 0,
"key": "source_project_title",
"hidden": 0,
"type": "StringField"
},
"my_destination": {
"description": result[4][0],
"title": result[4][4],
"default": "",
"default": default_organisation,
"items": organisation_list,
"css_class": "",
"required": 1,
"required": 0,
"editable": 1,
"key": "destination",
"hidden": 0,
"type": "ListField"
},
"my_source": {
"description": result[4][0],
"title": result[4][5],
"default": doc.source_title,
"css_class": "",
"required": 1,
"editable": 0,
"key": "source_title",
"hidden": 0,
"type": "StringField"
},
"my_destination_project": {
"description": result[4][0],
"title": result[4][6],
"default": "",
"title": result[4][3],
"default": default_project,
"items": project_list,
"css_class": "",
"required": 1,
"required": 0,
"editable": 1,
"key": "destination_project",
"hidden": 0,
......@@ -198,10 +182,10 @@
},
"my_relative_url": {
"description": "",
"title": result[4][7],
"title": result[4][5],
"default": options.jio_key,
"css_class": "",
"required": 1,
"required": 0,
"editable": 1,
"key": "relative_url",
"hidden": 1,
......@@ -218,8 +202,8 @@
form_definition: {
group_list: [[
"left",
[["my_title"], ["my_reference"], ["my_source_project"], ["my_source"],
["my_destination_project"], ["my_destination"], ["my_relative_url"]]
[["my_title"], ["my_reference"], ["my_destination_project"],
["my_destination"], ["my_relative_url"]]
]]
}
});
......
......@@ -281,7 +281,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>993.49407.7079.26129</string> </value>
<value> <string>1008.21052.42055.18432</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -301,7 +301,7 @@
</tuple>
<state>
<tuple>
<float>1638836764.88</float>
<float>1683829095.25</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -107,6 +107,7 @@
<string>my_source_project_title</string>
<string>my_monitor_scope</string>
<string>my_upgrade_scope</string>
<string>my_source_section_title</string>
</list>
</value>
</item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_source_section_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Current Organisation</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.Item_getCurrentOwnerTitle()</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
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