PMCORE-2119

This commit is contained in:
Luciana Nuñez
2022-09-30 17:20:19 -04:00
parent 2c946f8ee8
commit 1148a29fca
5 changed files with 0 additions and 525 deletions

View File

@@ -369,7 +369,6 @@ Ext.onReady(function(){
editable: false,
listeners:{
select: function(c,d,i){
UpdatePageConfig(d.data['size']);
bbarpaging.pageSize = parseInt(d.data['size']);
bbarpaging.moveFirst();
}
@@ -810,14 +809,6 @@ RetrieveRowsID = function(rows){
return arrAux.join(',');
};
//Update Page Size Configuration
UpdatePageConfig = function(pageSize){
Ext.Ajax.request({
url: 'additionalTablesAjax',
params: {action:'updatePageSizeData', size: pageSize}
});
};
/**
* Regenerate data report
*

View File

@@ -221,7 +221,6 @@ Ext.onReady(function () {
editable: false,
listeners: {
select: function (c, d, i) {
UpdatePageConfig(d.data['size']);
bbarpaging.pageSize = parseInt(d.data['size']);
bbarpaging.moveFirst();
}
@@ -757,14 +756,6 @@ RetrieveRowsID = function (rows) {
return arrAux.join(',');
};
//Update Page Size Configuration
UpdatePageConfig = function (pageSize) {
Ext.Ajax.request({
url: 'additionalTablesAjax',
params: {action: 'updatePageSize', size: pageSize}
});
};
//Do Search Function
DoSearch = function () {
infoGrid.store.setBaseParam('textFilter', searchText.getValue());

View File

@@ -172,7 +172,6 @@ Ext.onReady(function(){
editable: false,
listeners:{
select: function(c,d,i){
UpdatePageConfig(d.data['size']);
bbarpaging.pageSize = parseInt(d.data['size']);
bbarpaging.moveFirst();
}
@@ -491,13 +490,6 @@ RetrieveRowsID = function(rows){
}
return arrAux.join(',');
};
//Update Page Size Configuration
UpdatePageConfig = function(pageSize){
Ext.Ajax.request({
url: 'additionalTablesAjax',
params: {action:'updatePageSize', size: pageSize}
});
};
//Do Search Function
DoSearch = function(){

View File

@@ -1,383 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<dynaForm name="additionalTables/additionalTablesNew" type="xmlform" width="900" enableTemplate="1">
<TITLE1 type="title">
<en><![CDATA[Table Information]]></en>
</TITLE1>
<ADD_TAB_UID type="hidden"/>
<ADD_TAB_NAME type="text" size="60" maxlength="64" validate="Field" required="1">
<en><![CDATA[Table Name]]></en>
</ADD_TAB_NAME>
<ADD_TAB_NAME_OLD type="hidden"/>
<!-- renamed text by hidden -->
<ADD_TAB_CLASS_NAME type="hidden" size="60" maxlength="100" validate="Field" required="0" readonly="1">
<en>PHP Class Name</en>
</ADD_TAB_CLASS_NAME>
<ADD_TAB_CLASS_NAME_OLD type="hidden"/>
<ADD_TAB_DESCRIPTION type="textarea" cols="70" rows="5" required="0">
<en><![CDATA[Description]]></en>
</ADD_TAB_DESCRIPTION>
<TITLE2 type="title">
<en><![CDATA[Log configuration]]></en>
</TITLE2>
<ADD_TAB_SDW_LOG_INSERT type="checkbox" defaultValue="on">
<en><![CDATA[Save log for insert actions]]></en>
</ADD_TAB_SDW_LOG_INSERT>
<ADD_TAB_SDW_LOG_UPDATE type="checkbox" defaultValue="on">
<en><![CDATA[Save log for update actions]]></en>
</ADD_TAB_SDW_LOG_UPDATE>
<ADD_TAB_SDW_LOG_DELETE type="checkbox" defaultValue="on">
<en><![CDATA[Save log for delete actions]]></en>
</ADD_TAB_SDW_LOG_DELETE>
<!--<ADD_TAB_SDW_LOG_SELECT type="checkbox" defaultValue="off">
<en>Save log for select actions</en>
</ADD_TAB_SDW_LOG_SELECT>
<ADD_TAB_SDW_MAX_LENGTH type="text" size="5" maxlength="10" required="1" defaultValue="-1">
<en>Maximun rows to store (-1 for unlimited)</en>
</ADD_TAB_SDW_MAX_LENGTH>-->
<ADD_TAB_SDW_AUTO_DELETE type="checkbox" defaultValue="off">
<en><![CDATA[Delete related log when table is deleted]]></en>
</ADD_TAB_SDW_AUTO_DELETE>
<!--<ADD_TAB_STATUS type="hidden" defaultValue="ACTIVE" />-->
<TITLE3 type="title">
<en><![CDATA[Fields]]></en>
</TITLE3>
<FIELDS type="grid" xmlgrid="additionalTables/additionalTablesFields" addrow="1" deleterow="1" mode="edit"/>
<btnSave type="button" onclick="verifyData(this.form);">
<en><![CDATA[Save]]></en>
</btnSave>
<BTN_CANCEL type="button" onclick="cancel();">
<en><![CDATA[Cancel]]></en>
</BTN_CANCEL>
<JS type="javascript"><![CDATA[
var onChangeType = function(iRow) {
var iRow = iRow | this.name.split('][')[1];
var oAux;
switch (getGridField('FIELDS', iRow, 'FLD_TYPE').value) {
case 'VARCHAR':
oAux = getGridField('FIELDS', iRow, 'FLD_SIZE');
oAux.readOnly = '';
break;
case 'TEXT':
oAux = getGridField('FIELDS', iRow, 'FLD_SIZE');
oAux.value = '';
oAux.readOnly = 'readOnly';
break;
case 'DATE':
oAux = getGridField('FIELDS', iRow, 'FLD_SIZE');
oAux.value = '';
oAux.readOnly = 'readOnly';
break;
case 'INT':
oAux = getGridField('FIELDS', iRow, 'FLD_SIZE');
oAux.readOnly = '';
break;
case 'FLOAT':
oAux = getGridField('FIELDS', iRow, 'FLD_SIZE');
oAux.readOnly = '';
break;
}
};
var onClickForeignKey = function(iRow) {
var iRow = iRow | this.name.split('][')[1];
var oAux = getGridField('FIELDS', iRow, 'FLD_FOREIGN_KEY_TABLE');
if (getGridField('FIELDS', iRow, 'FLD_FOREIGN_KEY').checked) {
oAux.disabled = false;
oAux.value = '';
}
else {
oAux.disabled = true;
oAux.value = '';
}
};
var aReservedWords = new Array('ADD','ALL','ALTER','ANALYZE','AND','AS','ASC','ASENSITIVE','BEFORE',
'BETWEEN','BIGINT','BINARY','BLOB','BOTH','BY','CALL','CASCADE','CASE',
'CHANGE','CHAR','CHARACTER','CHECK','COLLATE','COLUMN','CONDITION',
'CONSTRAINT','CONTINUE','CONVERT','CREATE','CROSS','CURRENT_DATE',
'CURRENT_TIME','CURRENT_TIMESTAMP','CURRENT_USER','CURSOR','DATABASE',
'DATABASES','DAY_HOUR','DAY_MICROSECOND','DAY_MINUTE','DAY_SECOND','DEC',
'DECIMAL','DECLARE','DEFAULT','DELAYED','DELETE','DESC','DESCRIBE',
'DETERMINISTIC','DISTINCT','DISTINCTROW','DIV','DOUBLE','DROP','DUAL',
'EACH','ELSE','ELSEIF','ENCLOSED','ESCAPED','EXISTS','EXIT','EXPLAIN',
'FALSE','FETCH','FLOAT','FLOAT4','FLOAT8','FOR','FORCE','FOREIGN','FROM',
'FULLTEXT','GRANT','GROUP','HAVING','HIGH_PRIORITY','HOUR_MICROSECOND',
'HOUR_MINUTE','HOUR_SECOND','IF','IGNORE','IN','INDEX','INFILE','INNER',
'INOUT','INSENSITIVE','INSERT','INT','INT1','INT2','INT3','INT4','INT8',
'INTEGER','INTERVAL','INTO','IS','ITERATE','JOIN','KEY','KEYS','KILL',
'LEADING','LEAVE','LEFT','LIKE','LIMIT','LINES','LOAD','LOCALTIME',
'LOCALTIMESTAMP','LOCK','LONG','LONGBLOB','LONGTEXT','LOOP','LOW_PRIORITY',
'MATCH','MEDIUMBLOB','MEDIUMINT','MEDIUMTEXT','MIDDLEINT','MINUTE_MICROSECOND',
'MINUTE_SECOND','MOD','MODIFIES','NATURAL','NOT','NO_WRITE_TO_BINLOG','NULL',
'NUMERIC','ON','OPTIMIZE','OPTION','OPTIONALLY','OR','ORDER','OUT','OUTER',
'OUTFILE','PRECISION','PRIMARY','PROCEDURE','PURGE','READ','READS','REAL',
'REFERENCES','REGEXP','RELEASE','RENAME','REPEAT','REPLACE','REQUIRE',
'RESTRICT','RETURN','REVOKE','RIGHT','RLIKE','SCHEMA','SCHEMAS','SECOND_MICROSECOND',
'SELECT','SENSITIVE','SEPARATOR','SET','SHOW','SMALLINT','SONAME','SPATIAL',
'SPECIFIC','SQL','SQLEXCEPTION','SQLSTATE','SQLWARNING','SQL_BIG_RESULT',
'SQL_CALC_FOUND_ROWS','SQL_SMALL_RESULT','SSL','STARTING','STRAIGHT_JOIN',
'TABLE','TERMINATED','THEN','TINYBLOB','TINYINT','TINYTEXT','TO','TRAILING',
'TRIGGER','TRUE','UNDO','UNION','UNIQUE','UNLOCK','UNSIGNED','UPDATE','USAGE',
'USE','USING','UTC_DATE','UTC_TIME','UTC_TIMESTAMP','VALUES','VARBINARY',
'VARCHAR','VARCHARACTER','VARYING','WHEN','WHERE','WHILE','WITH','WRITE',
'XOR','YEAR_MONTH','ZEROFILL','ASENSITIVE','CALL','CONDITION','CONTINUE',
'CURSOR','DECLARE','DETERMINISTIC','EACH','ELSEIF','EXIT','FETCH','INOUT',
'INSENSITIVE','ITERATE','LEAVE','LOOP','MODIFIES','OUT','READS','RELEASE',
'REPEAT','RETURN','SCHEMA','SCHEMAS','SENSITIVE','SPECIFIC','SQL',
'SQLEXCEPTION','SQLSTATE','SQLWARNING','TRIGGER','UNDO','WHILE');
var verifyData = function(oForm) {
if (oForm.onsubmit()) {
var bContinue = true;
var iMessage = 0;
var iRows = Number_Rows_Grid('FIELDS', 'FLD_UID');
var fieldsTmp = [];
var words = '';
for (var i = 1; i <= iRows; i++) {
for(var j = 0; j < aReservedWords.length; j++ ) {
if(getGridField('FIELDS', i, 'FLD_NAME').value == aReservedWords[j]) {
words = words +" "+getGridField('FIELDS', i, 'FLD_NAME').value;
}
}
}
if (words != ''){
new leimnud.module.app.alert().make({
label:G_STRINGS.ID_FIELDS_RESERVED_WORDS + ' ' + words
});
words='';
bContinue = false;
}
for (var i = 1; i <= iRows; i++) {
if (getGridField('FIELDS', i, 'FLD_NAME').value == '') {
bContinue = false;
iMessage = 1;
}
if (bContinue) {
switch (getGridField('FIELDS', i, 'FLD_TYPE').value) {
case 'VARCHAR':
if (getGridField('FIELDS', i, 'FLD_SIZE').value == '') {
bContinue = false;
iMessage = 2;
}
break;
case 'TEXT':
if (getGridField('FIELDS', i, 'FLD_KEY').checked ) {
bContinue = false;
iMessage = 4;
}
break;
case 'DATE':
break;
case 'INT':
if (getGridField('FIELDS', i, 'FLD_SIZE').value == '') {
bContinue = false;
iMessage = 2;
}
break;
case 'FLOAT':
if (getGridField('FIELDS', i, 'FLD_SIZE').value == '') {
bContinue = false;
iMessage = 2;
}
break;
}
}
// Check duplicate fields
if(bContinue) {
if(!(getGridField('FIELDS', i, 'FLD_NAME').value.toUpperCase() in fieldsTmp)) {
fieldsTmp[getGridField('FIELDS', i, 'FLD_NAME').value.toUpperCase()]++;
} else {
bContinue = false;
iMessage = 5;
sDuplicate = getGridField('FIELDS', i, 'FLD_NAME').value.toUpperCase();
}
}
// Check invalid character
if(bContinue){
var sFld_name = getGridField('FIELDS', i, 'FLD_NAME').value;
var firstChar = sFld_name.charAt(sFld_name);
pattern =/[A-Za-z_]/;
if(pattern.test(firstChar) == false) {
bContinue = false;
iMessage = 6;
sInvalidCharacter = sFld_name;
}
}
}
var bContinueKey = false;
for (var i = 1; i <= iRows; i++) {
if (getGridField('FIELDS', i, 'FLD_KEY').checked) {
bContinueKey = true;
}
if (getGridField('FIELDS', i, 'FLD_KEY').checked) {
getGridField('FIELDS', i, 'FLD_KEY_HDN').value = "on" ;
}
if (getGridField('FIELDS', i, 'FLD_NULL').checked) {
getGridField('FIELDS', i, 'FLD_NULL_HDN').value = "on" ;
}
}
if (bContinue && bContinueKey) {
oForm.submit();
} else {
if (!bContinue) {
switch (iMessage) {
case 1:
new leimnud.module.app.alert().make({
label:'@G::LoadTranslation(ID_FIELD_NAME_REQUIRED)'
});
break;
case 2:
new leimnud.module.app.alert().make({
label:'@G::LoadTranslation(ID_FIELD_SIZE_REQUIRED)'
});
break;
case 3:
new leimnud.module.app.alert().make({
label:G_STRINGS.ID_FIELD_FOREIGN_TABLE
});
break;
case 4:
new leimnud.module.app.alert().make({
label:"@G::LoadTranslation(ID_FIELD_CANNOT_BE_PRIMARY_KEY)"
});
break;
case 5:
new leimnud.module.app.alert().make({
label:"@G::LoadTranslation(ID_FIELD_DUPLICATE)" + " " + sDuplicate
});
break;
case 6:
new leimnud.module.app.alert().make({
label:"@G::LoadTranslation(ID_FIELD_INVALID)" + " " + sInvalidCharacter
});
break;
}
}
else {
new leimnud.module.app.alert().make({
label:'@G::LoadTranslation(ID_FIELD_KEY_TABLE)'
});
}
}
}
};
function LoadPMTable(){
leimnud.event.add(getField('ADD_TAB_NAME'), 'change', function() {
getField('ADD_TAB_NAME').value = getField('ADD_TAB_NAME').value.toUpperCase();
var sTableNameOld = getField('ADD_TAB_NAME_OLD').value;
var oSaveButton = getField('btnSave');
if (sTableNameOld != getField('ADD_TAB_NAME').value) {
oSaveButton.disabled = true;
var oRPC = new leimnud.module.rpc.xmlhttp({
url : '../additionalTables/additionalTablesAjax',
async : false,
method: 'POST',
args : 'action=tableExists&sTableName=' + getField('ADD_TAB_NAME').value
});
oRPC.make();
if (oRPC.xmlhttp.responseText == '1') {
new leimnud.module.app.alert().make({
label:'@G::LoadTranslation(ID_TABLE_ALREADY_EXISTS)'
});
}
else {
oSaveButton.disabled = false;
}
}
else {
if (sTableNameOld != '') {
oSaveButton.disabled = false;
}
}
var aAux = getField('ADD_TAB_NAME').value.split('_');
var sAux = '';
var i;
for (i = 0; i < aAux.length; i++) {
var sChar = aAux[i].substring(0,1).toUpperCase();
sAux += sChar + aAux[i].substring(1,aAux[i].length).toLowerCase();
}
pattern =/[A-Za-z_]/;
var first = sAux.charAt(sAux);
if(pattern.test(first) == false) {
sAux = '_' + sAux;;
}
getField('ADD_TAB_CLASS_NAME').value = sAux;
// Validate ilegal character
var sTbl_name = getField('ADD_TAB_NAME').value.toUpperCase();
var firstChar = sTbl_name.charAt(sTbl_name);
pattern =/[A-Za-z_]/;
if(pattern.test(firstChar) == false) {
new leimnud.module.app.alert().make({
label:'@G::LoadTranslation(ID_TABLE_INVALID_SYNTAX)' + ' ' + sTbl_name
});
oSaveButton.disabled = true;
}
// Reserved words
var sTableName = getField('ADD_TAB_NAME').value.toUpperCase();
for(var i = 0; i < aReservedWords.length; i++ ) {
if(sTableName == aReservedWords[i]) {
new leimnud.module.app.alert().make({
label:G_STRINGS.ID_TABLE_RESERVED_WORDS + ' ' + sTableName
});
oSaveButton.disabled = true;
}
}
});
leimnud.event.add(getField('ADD_TAB_CLASS_NAME'), 'change', function() {
var sClassNameOld = getField('ADD_TAB_CLASS_NAME_OLD').value;
var oSaveButton = getField('btnSave');
if (sClassNameOld != getField('ADD_TAB_CLASS_NAME').value) {
oSaveButton.disabled = true;
var oRPC = new leimnud.module.rpc.xmlhttp({
url : '../additionalTables/additionalTablesAjax',
async : false,
method: 'POST',
args : 'action=classExists&sClassName=' + getField('ADD_TAB_CLASS_NAME').value
});
oRPC.make();
if (oRPC.xmlhttp.responseText == '1') {
new leimnud.module.app.alert().make({
label:'@G::LoadTranslation(ID_CLASS_ALREADY_EXISTS)'
});
}
else {
oSaveButton.disabled = false;
}
}
else {
oSaveButton.disabled = false;
}
});
//Adding events for the grid fields
var iRows = Number_Rows_Grid('FIELDS', 'FLD_UID');
var oAux;
for (var i = 1; i <= iRows; i++) {
oAux = getGridField('FIELDS', i, 'FLD_TYPE');
leimnud.event.add(oAux, 'change', {method:onChangeType,instance:oAux,event:true});
onChangeType(i);
}
getObject('FIELDS').onaddrow = function(iRow) {
oAux = getGridField('FIELDS', iRow, 'FLD_TYPE');
leimnud.event.add(oAux, 'change', {method:onChangeType,instance:oAux,event:true});
onChangeType(iRow);
};
};
function cancel(){
window.location = 'additionalTablesList';
}
dynaformOnload = LoadPMTable;
]]></JS>
</dynaForm>

View File

@@ -1,116 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<dynaForm type="xmlmenu">
<MNU_ADD type="link" link="additionalTablesNew" colAlign="left" colWidth="50">
<en><![CDATA[New]]></en>
</MNU_ADD>
<MNU_IMPORT type="link" link="additionalTablesToImport" colAlign="left" colWidth="60">
<en><![CDATA[Import]]></en>
</MNU_IMPORT>
<MNU_EXPORT type="link" link="#" onclick="toExport()" colAlign="left" colWidth="100">
<en><![CDATA[Export]]></en>
</MNU_EXPORT>
<PAGED_TABLE_ID type="private"/>
<JS type="javascript" replaceTags="1"><![CDATA[
var additionalTablesDelete = function(sUID) {
new leimnud.module.app.confirm().make({
label: '@G::LoadTranslation(ID_DELETE_TABLE_COLLECTION)',
action:function() {
ajax_function(@G::encryptlink('additionalTablesDelete'), '', 'sUID=' + sUID, 'POST');
@#PAGED_TABLE_ID.refresh();
}.extend(this)
});
};
var exportPanel;
function toExport(){
oPanel = new leimnud.module.panel();
oPanel.options = {
size : {w:700,h:450},
position: {x:0,y:0,center:true},
title : '',
theme : "processmaker",
statusBar:false,
control : {resize:false,roll:false,drag:true},
fx : {modal:true,opacity:true,blinkToFront:false,fadeIn:false,drag:true}
};
oPanel.events = {
remove: function() {
delete(oPanel);
resetChecks();
}.extend(this)
};
oPanel.make();
oPanel.loader.show();
var oRPC = new leimnud.module.rpc.xmlhttp({
url : 'additionalTablesAjax',
args: 'action=exportexporView'
});
oRPC.callback = function(rpc) {
oPanel.loader.hide();
var scs=rpc.xmlhttp.responseText.extractScript();
oPanel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
}.extend(this);
oRPC.make();
exportPanel = oPanel;
}
function resetChecks(){
checks_selected_ids.length = 0;
checks_selected_schema.length = 0;
checks_selected_data.length = 0;
}
function doExport(){
if( checks_selected_ids.length == 0 ){
new leimnud.module.app.alert().make({label: '@G::LoadTranslation(ID_SELECT_TABLE)'});
return 0;
}
var i;
for(i=0; i<checks_selected_ids.length; i++){
if( !in_arrayx(checks_selected_schema, checks_selected_ids[i])){
if( !in_arrayx(checks_selected_data, checks_selected_ids[i])){
new leimnud.module.app.alert().make({label: '@G::LoadTranslation(ID_SELECT_OPTION_TABLE)'});
return 0;
}
}
}
var answer;
answer = ajax_function(@G::encryptlink('additionalTablesAjax'), 'existClass', 'tables='+checks_selected_ids+'&schema='+checks_selected_schema+"&data="+checks_selected_data, 'POST');
if(answer.length > 1){
alert(G_STRINGS.ID_CLASS_TABLE_DOESNT_EXIST);return false;
//new leimnud.module.app.alert().make({label: '@G::LoadTranslation(ID_CLASS_TABLE_DOESNT_EXIST)' + answer });
//return 0;
}
exportPanel.loader.show();
var oRPC = new leimnud.module.rpc.xmlhttp({
url : 'additionalTablesAjax',
args : 'action=doExport&tables='+checks_selected_ids+'&schema='+checks_selected_schema+"&data="+checks_selected_data
});
exportPanel.clearContent();
exportPanel.loader.show();
oRPC.callback = function(rpc) {
exportPanel.loader.hide();
var scs=rpc.xmlhttp.responseText.extractScript();
exportPanel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
}.extend(this);
resetChecks();
oRPC.make();
}
function in_arrayx(a, e){
for(j=0; j<a.length; j++){
if(a[j] == e) return true;
}
return false;
}
]]></JS>
</dynaForm>