onActionDetails
de actions.js
para hacer la redirección en el cliente una vez hayas terminado de editar el documento original.successCallback
del onSuccess
puedes incluir una Alfresco.util.Ajax.request
para buscar el nodeRef
en el repo y levantar un nuevo Alfresco.module.SimpleDialog
para la edición del nodo relacionado.
Alfresco.util.Ajax.request
de la siguiente manera:
…
Alfresco.util.Ajax.request({
url: Alfresco.constants.PROXY_URI + "slingshot/documentlibrary/action/editdocumentproperties?nodeRef=" + record.jsNode.nodeRef.nodeRef,
method: Alfresco.util.Ajax.GET,
successCallback:
{
fn: function dlA_onActionDetails_refreshSuccess(response)
{
},
scope: this
},
failureCallback:
{
fn: function dlA_onActionDetails_refreshSuccess(response)
{
},
scope: this
}
});
…
Alfresco.util.Ajax.request
no se ejecuta nada. En la descripción (edit.document.properties.get.desc.xml) del webscript he puesto la siguiente URL <url>/slingshot/documentlibrary/action/editdocumentproperties?nodeRef={nodeRef?}</url>
y en el webscript (edit.document.properties.get.json.js) cojo el parámetro pasado de la siquiente manera args.nodeRef
. He puesto trazas para saber que el webscript se está ejecutando, pero no se traza nada. Alfresco.util.Ajax.request
. ¿Puedes ampliar el trozo de código JS cliente para ver dónde está insertado?
onSuccess
:
…
onSuccess:
{
fn: function dlA_onActionDetails_success(response)
{
// Reload the node's metadata
Alfresco.util.Ajax.request(
{
url: $combine(Alfresco.constants.URL_SERVICECONTEXT, "components/documentlibrary/data/node/", jsNode.nodeRef.uri) + "?view=" + this.actionsView,
successCallback:
{
fn: function dlA_onActionDetails_refreshSuccess(response)
{
var record = response.json.item
record.jsNode = new Alfresco.util.Node(response.json.item.node);
// Fire "renamed" event
YAHOO.Bubbling.fire(record.node.isContainer ? "folderRenamed" : "fileRenamed",
{
file: record
});
// Fire "tagRefresh" event
YAHOO.Bubbling.fire("tagRefresh");
// Display success message
Alfresco.util.PopupManager.displayMessage(
{
text: this.msg("message.details.success")
});
// Refresh the document list…
this._updateDocList.call(this);
},
scope: this
},
failureCallback:
{
fn: function dlA_onActionDetails_refreshFailure(response)
{
Alfresco.util.PopupManager.displayMessage(
{
text: this.msg("message.details.failure")
});
},
scope: this
}
});
Alfresco.util.Ajax.request({
url: Alfresco.constants.PROXY_URI + "slingshot/documentlibrary/action/editdocumentproperties?nodeRef=" + record.jsNode.nodeRef.nodeRef,
method: Alfresco.util.Ajax.GET,
successCallback:
{
fn: function dlA_onActionDetails_refreshSuccess(response)
{
},
scope: this
},
failureCallback:
{
fn: function dlA_onActionDetails_refreshSuccess(response)
{
},
scope: this
}
});
},
scope: this
}
…
successCallback
para sustituir lo que se está haciendo allí…
requestContentType: Alfresco.util.Ajax.JSON
en la Request pero no funciona. La Request queda de la siguiente manera:
…
Alfresco.util.Ajax.request({
url: Alfresco.constants.PROXY_URI + "slingshot/documentlibrary/action/editdocumentproperties?nodeRef=" + record.jsNode.nodeRef.nodeRef,
method: Alfresco.util.Ajax.GET,
requestContentType: Alfresco.util.Ajax.JSON,
successCallback:
{
fn: function dlA_onActionDetails_refreshSuccess2(response)
{
},
scope: this
},
failureCallback:
{
fn: function dlA_onActionDetails_refreshSuccess2(response)
{
},
scope: this
}
});
…
…
ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 01090002 Failed to convert request to JSON
org.springframework.extensions.webscripts.WebScriptException: 01090002 Failed to convert request to JSON
at org.springframework.extensions.webscripts.json.JSONReader.read(JSONReader.java:82)
…
Caused by: org.json.JSONException: A JSONObject text must begin with '{' at character 0
at org.json.JSONTokener.syntaxError(JSONTokener.java:413)
at org.json.JSONObject.<init>(JSONObject.java:180)
at org.json.JSONObject.<init>(JSONObject.java:420)
at org.springframework.extensions.webscripts.json.JSONReader.read(JSONReader.java:77)
… 28 more
…
…
Alfresco.util.Ajax.request({
url: Alfresco.constants.PROXY_URI + "slingshot/documentlibrary/action/editdocumentproperties?nodeRef=" + record.jsNode.nodeRef.nodeRef,
method: Alfresco.util.Ajax.GET,
requestContentType: Alfresco.util.Ajax.JSON,
dataObj: {
submitType: "json"
},
successCallback:
{
fn: function dlA_onActionDetails_refreshSuccess2(response)
{
},
scope: this
},
failureCallback:
{
fn: function dlA_onActionDetails_refreshSuccess2(response)
{
},
scope: this
}
});
…
Content from pre 2016 and from language groups that have been closed.
Content is read-only.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.