mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
N°6223 - Linkset modal edition: set extkey to host object read-only
This commit is contained in:
@@ -100,7 +100,14 @@ $(function()
|
|||||||
ModifyLinkedObject: function (sLinkedObjectKey) {
|
ModifyLinkedObject: function (sLinkedObjectKey) {
|
||||||
|
|
||||||
const me = this;
|
const me = this;
|
||||||
|
|
||||||
|
// Specify that external key to host object will be readonly
|
||||||
|
let aReadOnlyParams = {
|
||||||
|
'readonly': {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
aReadOnlyParams['readonly'][this.options.external_key_to_me] = 1;
|
||||||
|
|
||||||
// link object modification
|
// link object modification
|
||||||
iTopObjectWorker.ModifyObject(this.options.link_class, sLinkedObjectKey, function () {
|
iTopObjectWorker.ModifyObject(this.options.link_class, sLinkedObjectKey, function () {
|
||||||
$(this).find("form").remove();
|
$(this).find("form").remove();
|
||||||
@@ -109,7 +116,8 @@ $(function()
|
|||||||
if(data.success) {
|
if(data.success) {
|
||||||
me.$tableSettingsDialog.DataTableSettings('DoRefresh');
|
me.$tableSettingsDialog.DataTableSettings('DoRefresh');
|
||||||
}
|
}
|
||||||
});
|
},
|
||||||
|
aReadOnlyParams);
|
||||||
},
|
},
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,16 +5,29 @@ const iTopObjectWorker = new function(){
|
|||||||
const ROUTE_CREATE_OBJECT = 'object.new';
|
const ROUTE_CREATE_OBJECT = 'object.new';
|
||||||
const ROUTE_MODIFY_OBJECT = 'object.modify';
|
const ROUTE_MODIFY_OBJECT = 'object.modify';
|
||||||
const ROUTE_GET_OBJECT = 'object.get';
|
const ROUTE_GET_OBJECT = 'object.get';
|
||||||
|
|
||||||
const CallAjaxCreateObject = function(sClass, oOnModalCloseCallback = null, oOnFormSubmittedCallback = null){
|
/**
|
||||||
|
* CallAjaxCreateObject.
|
||||||
|
*
|
||||||
|
* @param {string} sClass
|
||||||
|
* @param oOnModalCloseCallback
|
||||||
|
* @param oOnFormSubmittedCallback
|
||||||
|
* @param {Object} aAdditionalData
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
const CallAjaxCreateObject = function(sClass, oOnModalCloseCallback = null, oOnFormSubmittedCallback = null, aAdditionalData = []){
|
||||||
|
let aData = $.extend(
|
||||||
|
{
|
||||||
|
class: sClass,
|
||||||
|
},
|
||||||
|
aAdditionalData
|
||||||
|
);
|
||||||
|
|
||||||
let oOptions = {
|
let oOptions = {
|
||||||
title: Dict.S('UI:Object:Modal:Title'),
|
title: Dict.S('UI:Object:Modal:Title'),
|
||||||
content: {
|
content: {
|
||||||
endpoint: `${ROUTER_BASE_URL}?route=${ROUTE_CREATE_OBJECT}`,
|
endpoint: `${ROUTER_BASE_URL}?route=${ROUTE_CREATE_OBJECT}`,
|
||||||
data: {
|
data: aData
|
||||||
class: sClass,
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
extra_options: {
|
extra_options: {
|
||||||
callback_on_modal_close: oOnModalCloseCallback
|
callback_on_modal_close: oOnModalCloseCallback
|
||||||
@@ -34,18 +47,23 @@ const iTopObjectWorker = new function(){
|
|||||||
* @param {string} sObjectKey
|
* @param {string} sObjectKey
|
||||||
* @param oOnModalCloseCallback
|
* @param oOnModalCloseCallback
|
||||||
* @param oOnFormSubmittedCallback
|
* @param oOnFormSubmittedCallback
|
||||||
|
* @param {Object} aAdditionalData
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
const CallAjaxModifyObject = function(sObjectClass, sObjectKey, oOnModalCloseCallback, oOnFormSubmittedCallback){
|
const CallAjaxModifyObject = function(sObjectClass, sObjectKey, oOnModalCloseCallback, oOnFormSubmittedCallback, aAdditionalData = []){
|
||||||
|
let aData = $.extend(
|
||||||
|
{
|
||||||
|
class: sObjectClass,
|
||||||
|
id: sObjectKey,
|
||||||
|
},
|
||||||
|
aAdditionalData
|
||||||
|
);
|
||||||
|
|
||||||
let oOptions = {
|
let oOptions = {
|
||||||
title: Dict.S('UI:Links:ActionRow:Modify:Modal:Title'),
|
title: Dict.S('UI:Links:ActionRow:Modify:Modal:Title'),
|
||||||
content: {
|
content: {
|
||||||
endpoint: `${ROUTER_BASE_URL}?route=${ROUTE_MODIFY_OBJECT}`,
|
endpoint: `${ROUTER_BASE_URL}?route=${ROUTE_MODIFY_OBJECT}`,
|
||||||
data: {
|
data: aData,
|
||||||
class: sObjectClass,
|
|
||||||
id: sObjectKey,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
extra_options: {
|
extra_options: {
|
||||||
callback_on_modal_close: oOnModalCloseCallback
|
callback_on_modal_close: oOnModalCloseCallback
|
||||||
@@ -64,14 +82,19 @@ const iTopObjectWorker = new function(){
|
|||||||
* @param {string} sObjectClass
|
* @param {string} sObjectClass
|
||||||
* @param {string} sObjectId
|
* @param {string} sObjectId
|
||||||
* @param oOnResponseCallback
|
* @param oOnResponseCallback
|
||||||
|
* @param {Object} aAdditionalData
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
const CallAjaxGetObject = function(sObjectClass, sObjectId, oOnResponseCallback){
|
const CallAjaxGetObject = function(sObjectClass, sObjectId, oOnResponseCallback, aAdditionalData = []){
|
||||||
|
let aData = $.extend(
|
||||||
$.post(`${ROUTER_BASE_URL}?route=${ROUTE_GET_OBJECT}`, {
|
{
|
||||||
object_class: sObjectClass,
|
object_class: sObjectClass,
|
||||||
object_key: sObjectId,
|
object_key: sObjectId,
|
||||||
}, oOnResponseCallback);
|
},
|
||||||
|
aAdditionalData
|
||||||
|
)
|
||||||
|
|
||||||
|
$.post(`${ROUTER_BASE_URL}?route=${ROUTE_GET_OBJECT}`, aData, oOnResponseCallback);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -242,6 +242,8 @@ JS
|
|||||||
|
|
||||||
// Prepare web page (should more likely be some kind of response object like for Symfony)
|
// Prepare web page (should more likely be some kind of response object like for Symfony)
|
||||||
$aFormExtraParams = array('wizard_container' => 1);
|
$aFormExtraParams = array('wizard_container' => 1);
|
||||||
|
FormHelper::UpdateFlagsFromContext($oObj, $aFormExtraParams);
|
||||||
|
|
||||||
if ($this->IsHandlingXmlHttpRequest()) {
|
if ($this->IsHandlingXmlHttpRequest()) {
|
||||||
$oPage = new AjaxPage('');
|
$oPage = new AjaxPage('');
|
||||||
$aFormExtraParams['js_handlers'] = [];
|
$aFormExtraParams['js_handlers'] = [];
|
||||||
|
|||||||
Reference in New Issue
Block a user