ProcessMaker-MA "Implementacion de la interfaz para los Applications"
- Se ha implementado la interfaz para los Applications
This commit is contained in:
434
workflow/engine/templates/oauth2/accessTokenSetup.js
Normal file
434
workflow/engine/templates/oauth2/accessTokenSetup.js
Normal file
@@ -0,0 +1,434 @@
|
||||
Ext.namespace("accessTokenSetup");
|
||||
|
||||
accessTokenSetup.application = {
|
||||
init: function ()
|
||||
{
|
||||
var OACCESSTOKENOPTION = "";
|
||||
var loadMaskData = new Ext.LoadMask(Ext.getBody(), {msg: _("ID_LOADING_GRID")});
|
||||
|
||||
function oauthAccessTokenProcessAjax(option, oauthAccessTokenId)
|
||||
{
|
||||
//Message
|
||||
var msg = "";
|
||||
|
||||
switch (option) {
|
||||
case "UPD":
|
||||
msg = "Update data...";
|
||||
break;
|
||||
case "DEL":
|
||||
msg = "Delete data...";
|
||||
break;
|
||||
//case "LST":
|
||||
// break;
|
||||
}
|
||||
|
||||
var loadMaskAux = new Ext.LoadMask(Ext.getBody(), {msg: msg});
|
||||
loadMaskAux.show();
|
||||
|
||||
//Data
|
||||
var p;
|
||||
|
||||
switch (option) {
|
||||
case "UPD":
|
||||
var arrayCheckbox = Ext.getCmp("chkgrpScope").getValue();
|
||||
var scope = "";
|
||||
|
||||
for (var i = 0; i <= arrayCheckbox.length - 1; i++) {
|
||||
scope = scope + ((scope != "")? " " : "") + arrayCheckbox[i].value;
|
||||
}
|
||||
|
||||
p = {
|
||||
option: option,
|
||||
oauthAccessTokenId: oauthAccessTokenId,
|
||||
scope: scope
|
||||
};
|
||||
break;
|
||||
case "DEL":
|
||||
p = {
|
||||
option: option,
|
||||
oauthAccessTokenId: oauthAccessTokenId
|
||||
};
|
||||
break;
|
||||
//case "LST":
|
||||
// break;
|
||||
}
|
||||
|
||||
Ext.Ajax.request({
|
||||
url: "../oauth2/accessTokenSetupAjax",
|
||||
method: "POST",
|
||||
params: p,
|
||||
|
||||
success: function (response, opts)
|
||||
{
|
||||
var dataResponse = Ext.util.JSON.decode(response.responseText);
|
||||
|
||||
switch (option) {
|
||||
case "UPD":
|
||||
case "DEL":
|
||||
if (dataResponse.status) {
|
||||
if (dataResponse.status == "OK") {
|
||||
pagingData.moveFirst();
|
||||
} else {
|
||||
Ext.MessageBox.alert(_("ID_ALERT"), dataResponse.message);
|
||||
}
|
||||
}
|
||||
break;
|
||||
//case "LST":
|
||||
// break;
|
||||
}
|
||||
|
||||
loadMaskAux.hide();
|
||||
},
|
||||
failure: function (response, opts)
|
||||
{
|
||||
loadMaskAux.hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function oauthAccessTokenSetForm(option, oauthAccessTokenId)
|
||||
{
|
||||
switch (option) {
|
||||
case "UPD":
|
||||
var record = grdpnlMain.getSelectionModel().getSelected();
|
||||
|
||||
if (typeof(record) != "undefined") {
|
||||
Ext.getCmp("oauthAccessTokenId").setValue(record.get("ACCESS_TOKEN")); //oauthAccessTokenId
|
||||
Ext.getCmp("lblClientName").setText(record.get("CLIENT_NAME"));
|
||||
|
||||
winData.setTitle("Edit Application");
|
||||
winData.show();
|
||||
|
||||
Ext.getCmp("btnSubmit").btnEl.dom.innerHTML = "Edit Application";
|
||||
|
||||
for (var i = 0; i <= SCOPE.length - 1; i++) {
|
||||
Ext.getCmp("chkgrpScope").setValue("chk" + SCOPE[i].value, false)
|
||||
}
|
||||
|
||||
var arrayScope = record.get("SCOPE").split(" ");
|
||||
|
||||
for (var i = 0; i <= arrayScope.length - 1; i++) {
|
||||
Ext.getCmp("chkgrpScope").setValue("chk" + arrayScope[i], true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Variables
|
||||
var pageSize = parseInt(CONFIG.pageSize);
|
||||
|
||||
//Stores
|
||||
var storeData = new Ext.data.Store({
|
||||
proxy: new Ext.data.HttpProxy({
|
||||
url: "../oauth2/accessTokenSetupAjax",
|
||||
method: "POST"
|
||||
}),
|
||||
|
||||
//baseParams: {"option": "LST", "pageSize": pageSize},
|
||||
|
||||
reader: new Ext.data.JsonReader({
|
||||
totalProperty: "resultTotal",
|
||||
root: "resultRoot",
|
||||
fields: [
|
||||
{name: "ACCESS_TOKEN", type: "string"},
|
||||
{name: "CLIENT_ID", type: "string"},
|
||||
{name: "USER_ID", type: "string"},
|
||||
{name: "EXPIRES", type: "string"},
|
||||
{name: "SCOPE", type: "string"},
|
||||
{name: "CLIENT_NAME", type: "string"},
|
||||
{name: "CLIENT_DESCRIPTION", type: "string"}
|
||||
]
|
||||
}),
|
||||
|
||||
//autoLoad: true, //First call
|
||||
remoteSort: true,
|
||||
|
||||
listeners: {
|
||||
beforeload: function (store, opt)
|
||||
{
|
||||
loadMaskData.show();
|
||||
|
||||
this.baseParams = {
|
||||
option: "LST",
|
||||
pageSize: pageSize
|
||||
};
|
||||
},
|
||||
load: function (store, record, opt)
|
||||
{
|
||||
loadMaskData.hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var storePageSize = new Ext.data.SimpleStore({
|
||||
fields: ["size"],
|
||||
data: [["20"], ["30"], ["40"], ["50"], ["100"]],
|
||||
autoLoad: true
|
||||
});
|
||||
|
||||
var chkgrpScopeItems = [];
|
||||
|
||||
for (var i = 0; i <= SCOPE.length - 1; i++) {
|
||||
chkgrpScopeItems.push(
|
||||
{
|
||||
xtype: "checkbox",
|
||||
id: "chk" + SCOPE[i].value,
|
||||
name: "chk" + SCOPE[i].value,
|
||||
value: SCOPE[i].value,
|
||||
boxLabel: SCOPE[i].label
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
//Components
|
||||
var winData = new Ext.Window({
|
||||
layout: "fit",
|
||||
width: 400,
|
||||
height: 250,
|
||||
//title: "",
|
||||
modal: true,
|
||||
resizable: false,
|
||||
closeAction: "hide",
|
||||
|
||||
items: [
|
||||
new Ext.FormPanel({
|
||||
id: "frmOauthAccessToken",
|
||||
|
||||
frame: true,
|
||||
labelAlign: "right",
|
||||
labelWidth: 160,
|
||||
autoWidth: true,
|
||||
autoScroll: false,
|
||||
|
||||
defaults: {width: 200},
|
||||
|
||||
items: [
|
||||
{
|
||||
xtype: "hidden",
|
||||
id: "oauthAccessTokenId",
|
||||
name: "oauthAccessTokenId",
|
||||
},
|
||||
{
|
||||
xtype: "label",
|
||||
id: "lblClientName",
|
||||
|
||||
fieldLabel: "Application"
|
||||
},
|
||||
{
|
||||
xtype: "checkboxgroup",
|
||||
id: "chkgrpScope",
|
||||
name: "chkgrpScope",
|
||||
|
||||
fieldLabel: "This Application Can Perform",
|
||||
columns: 1,
|
||||
items: chkgrpScopeItems
|
||||
}
|
||||
]
|
||||
})
|
||||
],
|
||||
buttons: [
|
||||
{
|
||||
id: "btnSubmit",
|
||||
//text: "",
|
||||
handler: function ()
|
||||
{
|
||||
oauthAccessTokenProcessAjax(OACCESSTOKENOPTION, Ext.getCmp("oauthAccessTokenId").getValue());
|
||||
|
||||
winData.hide();
|
||||
}
|
||||
},
|
||||
{
|
||||
text: _("ID_CANCEL"),
|
||||
handler: function ()
|
||||
{
|
||||
winData.hide();
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
var cboPageSize = new Ext.form.ComboBox({
|
||||
id: "cboPageSize",
|
||||
|
||||
mode: "local",
|
||||
triggerAction: "all",
|
||||
store: storePageSize,
|
||||
valueField: "size",
|
||||
displayField: "size",
|
||||
width: 50,
|
||||
editable: false,
|
||||
|
||||
listeners: {
|
||||
select: function (combo, record, index)
|
||||
{
|
||||
pageSize = parseInt(record.data["size"]);
|
||||
|
||||
pagingData.pageSize = pageSize;
|
||||
pagingData.moveFirst();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var pagingData = new Ext.PagingToolbar({
|
||||
id: "pagingData",
|
||||
|
||||
pageSize: pageSize,
|
||||
store: storeData,
|
||||
displayInfo: true,
|
||||
displayMsg: "Displaying data " + "{" + "0" + "}" + " - " + "{" + "1" + "}" + " of " + "{" + "2" + "}",
|
||||
emptyMsg: "No data to display",
|
||||
items: ["-", "Page size:", cboPageSize]
|
||||
});
|
||||
|
||||
var cmodel = new Ext.grid.ColumnModel({
|
||||
defaults: {
|
||||
sortable: true
|
||||
},
|
||||
|
||||
columns: [
|
||||
{id: "ACCESS_TOKEN", dataIndex: "ACCESS_TOKEN", hidden: true, hideable: false},
|
||||
{id: "CLIENT_ID", dataIndex: "CLIENT_ID", hidden: true, hideable: false},
|
||||
{id: "CLIENT_NAME", dataIndex: "CLIENT_NAME", header: "Application", width: 200, align: "left"},
|
||||
{id: "CLIENT_DESCRIPTION", dataIndex: "CLIENT_DESCRIPTION", header: "Description", width: 250, align: "left"},
|
||||
{id: "USER_ID", dataIndex: "USER_ID", hidden: true, hideable: false},
|
||||
{id: "EXPIRES", dataIndex: "EXPIRES", hidden: true, hideable: false},
|
||||
{id: "SCOPE", dataIndex: "SCOPE", hidden: true, hideable: false},
|
||||
{
|
||||
id: "ACTION",
|
||||
dataIndex: "ACCESS_TOKEN",
|
||||
header: "",
|
||||
sortable: false,
|
||||
menuDisabled: true,
|
||||
hideable: false,
|
||||
//width: 75,
|
||||
//align: "center",
|
||||
renderer: function (value, metaData, record, rowIndex, colIndex, store)
|
||||
{
|
||||
var id1 = Ext.id();
|
||||
var id2 = Ext.id();
|
||||
|
||||
setTimeout(
|
||||
function ()
|
||||
{
|
||||
var btn1 = new Ext.Button({
|
||||
text: "Edit",
|
||||
iconCls: "button_menu_ext ss_sprite ss_pencil",
|
||||
renderTo: id1,
|
||||
|
||||
handler: function ()
|
||||
{
|
||||
var sm = grdpnlMain.getSelectionModel();
|
||||
sm.selectRow(rowIndex, true);
|
||||
|
||||
var record = grdpnlMain.getSelectionModel().getSelected();
|
||||
|
||||
if (typeof(record) != "undefined") {
|
||||
OACCESSTOKENOPTION = "UPD";
|
||||
|
||||
oauthAccessTokenSetForm(OACCESSTOKENOPTION, record.get("ACCESS_TOKEN"));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var btn2 = new Ext.Button({
|
||||
text: "Delete",
|
||||
iconCls: "button_menu_ext ss_sprite ss_cross",
|
||||
renderTo: id2,
|
||||
|
||||
handler: function ()
|
||||
{
|
||||
var sm = grdpnlMain.getSelectionModel();
|
||||
sm.selectRow(rowIndex, true);
|
||||
|
||||
var record = grdpnlMain.getSelectionModel().getSelected();
|
||||
|
||||
if (typeof(record) != "undefined") {
|
||||
Ext.MessageBox.confirm(
|
||||
_("ID_CONFIRM"),
|
||||
"Do you want to delete selected Application?",
|
||||
function (btn)
|
||||
{
|
||||
if (btn == "yes") {
|
||||
OACCESSTOKENOPTION = "DEL";
|
||||
|
||||
oauthAccessTokenProcessAjax(OACCESSTOKENOPTION, record.get("ACCESS_TOKEN"));
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
5
|
||||
);
|
||||
|
||||
return "<div style=\"text-align: center; line-height: 0;\"><div id=\"" + id1 + "\" style=\"display: inline-block;\"></div><div id=\"" + id2 + "\" style=\"display: inline-block; margin-left: 0.45em;\"></div></div>";
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
var smodel = new Ext.grid.RowSelectionModel({
|
||||
singleSelect: true,
|
||||
listeners: {
|
||||
//
|
||||
}
|
||||
});
|
||||
|
||||
var grdpnlMain = new Ext.grid.GridPanel({
|
||||
id: "grdpnlMain",
|
||||
|
||||
store: storeData,
|
||||
colModel: cmodel,
|
||||
selModel: smodel,
|
||||
|
||||
columnLines: true,
|
||||
viewConfig: {forceFit: true}, //Expand all columns
|
||||
enableColumnResize: true,
|
||||
enableHdMenu: true, //Menu of the column
|
||||
|
||||
//tbar: ["->", txtSearch, btnTextClear, btnSearch],
|
||||
//bbar: pagingData,
|
||||
|
||||
//style: "margin: 0 auto 0 auto;",
|
||||
//width: 550,
|
||||
//height: 450,
|
||||
title: "<div><div style=\"float: left;\">" + "Applications" + "</div><div id=\"divClientSetup\" style=\"float: right;\"></div><div style=\"clear: both; height: 0; line-height:0; font-size: 0;\"></div></div>",
|
||||
border: false,
|
||||
|
||||
listeners: {
|
||||
afterrender: function (grid)
|
||||
{
|
||||
var btn = new Ext.Button({
|
||||
text: " " + "Setup My Applications",
|
||||
iconCls: "button_menu_ext ss_sprite ss_cog",
|
||||
renderTo: "divClientSetup",
|
||||
|
||||
handler: function ()
|
||||
{
|
||||
location.href = "clientSetup";
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//Menu context
|
||||
|
||||
//Initialize events
|
||||
cboPageSize.setValue(pageSize);
|
||||
|
||||
grdpnlMain.store.load();
|
||||
|
||||
//Load all panels
|
||||
var viewport = new Ext.Viewport({
|
||||
layout: "fit",
|
||||
autoScroll: false,
|
||||
items: [grdpnlMain]
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Ext.onReady(accessTokenSetup.application.init, accessTokenSetup.application);
|
||||
|
||||
Reference in New Issue
Block a user