By somnathrx - Thu May 26, 2016 8:35 am
- Thu May 26, 2016 8:35 am
#785546
Hello friends, i have stuck in a problem. I made a simple form with designer and it works perfectly, but in case of pre-created forms when i request the dynaform data through Processmaker API it send bad json which is difficult to fix for me. kindly help me, how can i fix this.
I am getting this as a response for dynform
I am getting this as a response for dynform
Code: Select all
{
"dyn_uid": "95658942556156e89b53196030037899",
"dyn_title": "Report Expense",
"dyn_description": "",
"dyn_type": "xmlform",
"dyn_content": "{\"name\":\"Report Expense\",\"description\":\"\",\"items\":[{\"type\":\"form\",\"gridStore\":false,\"variable\":\"\",\"var_uid\":\"\",\"dataType\":\"\",\"id\":\"95658942556156e89b53196030037899\",\"name\":\"Report Expense\",\"description\":\"\",\"mode\":\"edit\",\"script\":{\"type\":\"js\",\"code\":\"// Validate Manager comments\\nvalidateComment();\\nfunction validateComment(){\\n document.getElementById('form[commentsManager]').setAttribute('style','background-image:url(\"/plugin/bundleStyle/images/comments.png\");background-repeat:no-repeat;background-position:7px 3px;padding-left: 38px;margin-left: -3px;width: 97.7%;');\\n var comments = document.getElementById('form[commentsManager]').value;\\n if(comments != ''){\\n \\t$('#subtitle0000000003').show();\\n $('#commentsManager').show();\\n }else{\\n $('#subtitle0000000003').hide();\\n $('#commentsManager').hide();\\n } \\n}\\n\\n// Validate Number, Only allows number \\n$(document).on('keyup', '.numeric-only', function(event) {\\n var v = this.value;\\n if($.isNumeric(v) === false) {\\n //chop off the last char entered\\n this.value = this.value.slice(0,-1);\\n }\\n});\\n\\n\\n////////////////////////////////////////////////////////////////////////////////////////\\n$('#panelExpense2').hide();\\n$('#panelEnpense').hide();\\n\\n\\n// Disable date pickers\\ndisableDates();\\nfunction disableDates(){\\n\\tvar iniD = document.getElementById(\"form[startDate]\").value;\\n var endD = document.getElementById(\"form[endDate]\").value;\\n if(endD!='' && iniD!=''){\\n \\tvar iniD2 = document.getElementById(\"form[startDate]\");\\n\\t\\tvar endD2 = document.getElementById(\"form[endDate]\");\\n \\tiniD2.setAttribute(\"readonly\",\"readonly\");\\n \\tendD2.setAttribute(\"readonly\",\"readonly\");\\n }\\n}\\n\\n// Recreate table when it comes with information\\nrecreateExpenseTable();\\nfunction recreateExpenseTable(){\\n\\tvar array=$('#expenseData').getValue();\\n var flag=0;\\n if(array!=''){\\n // Create rows in the table with id's\\n var JSONObject2 = JSON.parse(array);\\n var fieldName2;\\n var fieldName;\\n $.each(JSONObject2, function(key, value) {\\n var keyDate = key;\\n var idFields = keyDate.split(\"-\");\\n \\t\\tfieldName = idFields[0]+'-'+idFields[1]+'-'+idFields[2];\\n \\n if(flag==0){\\n \\t//alert(fieldName);\\n createRow(fieldName);\\n \\tflag=2;\\n \\tfieldName2=fieldName;\\n \\n }else{\\n \\tif(fieldName==fieldName2){\\n var a=0;\\n }else{\\n \\tflag=0;\\n fieldName2=fieldName;\\n }\\n \\n }\\n \\n });\\n // Show Expense Grid table\\n showPanel();\\n // Set the new date Row date\\n var newDate = addDaysToDate(fieldName);\\n $( \"#dateRow\" ).datepicker({\\n dateFormat: 'yy-mm-dd',\\n minDate: newDate\\n });\\n\\n // Load expense data\\n expenseDataRead();\\n }\\n\\n}\\n\\n\\n// Icons for fields\\naddIconsField();\\n\\nfunction addIconsField(){\\n document.getElementById('form[companyName]').setAttribute('style','background-image:url(\"/plugin/bundleStyle/images/company.png\");background-repeat:no-repeat;background-position:10px;padding-left: 38px;');\\n document.getElementById('form[employeeDepartment]').setAttribute('style','background-image:url(\"/plugin/bundleStyle/images/department.png\");background-repeat:no-repeat;background-position:10px;padding-left: 38px;');\\n document.getElementById('form[employeeName]').setAttribute('style','background-image:url(\"/plugin/bundleStyle/images/name.png\");background-repeat:no-repeat;background-position:10px;padding-left: 38px;');\\n document.getElementById('form[employeePhone]').setAttribute('style','background-image:url(\"/plugin/bundleStyle/images/phone.png\");background-repeat:no-repeat;background-position:10px;padding-left: 38px;');\\n document.getElementById('form[employeeEmail]').setAttribute('style','background-image:url(\"/plugin/bundleStyle/images/email.png\");background-repeat:no-repeat;background-position:10px;padding-left: 38px;margin-left: -3px;width: 97.7%;');\\n}\\n\\n// Dates \\n//calculation();\\ndocument.getElementById(\"form[startDate]\").onchange = calculation;\\ndocument.getElementById(\"form[endDate]\").onchange = calculation;\\ndocument.getElementById(\"form[startDate]\").onblur = calculation;\\ndocument.getElementById(\"form[endDate]\").onblur = calculation;\\n\\n\\n\\nvar items2 = document.getElementsByClassName('input-group-addon');\\nfor (var i = 0; i < items2.length; i++){\\n items2[i].onclick = eventsCalendar;\\n}\\n\\nfunction calculation(){\\n //calculateDiffDays();\\n setTimeout(function(){calculateDiffDays(); },500);\\n}\\n\\nfunction eventsCalendar(){\\n var items = document.getElementsByClassName('day');\\n for (var i = 0; i < items.length; i++){\\n items[i].onclick = calculation;\\n }\\n}\\n\\n\\nfunction calculateDiffDays(){\\n var iniD = document.getElementById(\"form[startDate]\").value;\\n var endD = document.getElementById(\"form[endDate]\").value;\\n \\t\\n if(endD!='' || iniD!=''){\\n \\n if(endD!=''){\\n var startDate = new Date(iniD);\\n var endDate = new Date(endD);\\n if(iniD!=''){\\n\\n if (endDate < startDate){\\n alert('Start Date should be minor than End Date. Please verify'); \\n document.getElementById(\"form[endDate]\").value='';\\n }else{\\n // Calculate days between dates\\n var millisecondsPerDay = 86400 * 1000; // Day in milliseconds\\n startDate.setHours(0,0,0,1); // Start just after midnight\\n endDate.setHours(23,59,59,999); // End just before midnight\\n var diff = endDate - startDate; // Milliseconds between datetime objects \\n var days = Math.ceil(diff / millisecondsPerDay);\\n createRowA(days);\\n }\\n }else{\\n alert('Please, Start date is mandatory.');\\n document.getElementById(\"form[startDate]\").focus();\\n document.getElementById(\"form[endDate]\").value='';\\n document.getElementById(\"form[startDate]\").value='';\\n } \\n \\t}\\n } \\n\\t\\n}\\n\\n// Create row a\\nfunction createRowA(days){\\n var iniD = document.getElementById(\"form[startDate]\").value;\\n var endD = document.getElementById(\"form[endDate]\").value;\\n \\n var iniDate = iniD;\\n var ini = iniDate.split(\"-\");\\n \\n var day = parseInt(ini[2]) + 0;\\n if(day<10){day = '0'+day;}\\n var dateIni = ini[0]+\"-\"+ini[1]+\"-\"+day;\\n \\n for(var i=1;i<=days;i++){\\n \\tcreateRow(dateIni);\\n dateIni=addDaysToDate(dateIni);\\n }\\n \\n showPanel();\\n \\n // Set the new date Row date\\n var endDay = document.getElementById(\"form[endDate]\").value;\\n var newDate = addDaysToDate(endDay);\\n $( \"#dateRow\" ).datepicker({\\n dateFormat: 'yy-mm-dd',\\n minDate: newDate\\n });\\n \\n // Disable dates\\n disableDates();\\n // Load expense data\\n //expenseDataRead();\\n}\\n\\n\\n// Add dates to a given date\\nfunction addDaysToDate(endD){\\n \\n if(endD!=''){\\n var iniDate = endD;\\n var ini = iniDate.split(\"-\");\\n\\n var day = ini[2];\\n var month = ini[1];\\n month= month - parseInt(1);\\n var year = ini[0];\\n var d = new Date();\\n d.setFullYear(year, month, day);\\n d.setDate(d.getDate() + 1 );\\n \\n var year2 = d.getFullYear();\\n var day2 = d.getDate();\\n var month2 = d.getMonth();\\n month2=parseInt(month2)+1;\\n if(day2<10){day2 = '0'+day2;}\\n var newDate = year2+'-'+month2+'-'+day2;\\n \\n return newDate;\\n \\n }\\n}\\n\\n// Create row\\nfunction createRow(dateIni) {\\n \\n var row = document.createElement('tr'); // create row node\\n \\n var dates = document.createElement('td');\\n dates.setAttribute(\"id\", dateIni);\\n \\n var col = document.createElement('td'); // create column node\\n var col2 = document.createElement('td'); // create second column node\\n var col3 = document.createElement('td');\\n var col4 = document.createElement('td');\\n var col5 = document.createElement('td');\\n var col6 = document.createElement('td');\\n var col7 = document.createElement('td');\\n var col8 = document.createElement('td');\\n var col9 = document.createElement('td');\\n var col10 = document.createElement('td');\\n var col11 = document.createElement('td');\\n var col12 = document.createElement('td');\\n \\n var inp = document.createElement('INPUT'); // create column node\\n var inp2 = document.createElement('INPUT'); // create second column node\\n var inp3 = document.createElement('INPUT');\\n var inp4 = document.createElement('INPUT');\\n var inp5 = document.createElement('INPUT');\\n var inp6 = document.createElement('INPUT');\\n var inp7 = document.createElement('INPUT');\\n var inp8 = document.createElement('INPUT');\\n var inp9 = document.createElement('INPUT');\\n var inp10 = document.createElement('INPUT');\\n var inp11 = document.createElement('INPUT');\\n var inp12 = document.createElement('INPUT');\\n \\n inp.setAttribute(\"type\", \"text\"); inp.setAttribute(\"id\", dateIni+\"-breakfast\"); inp.setAttribute(\"onchange\", \"calculateExp(this);\");inp.setAttribute(\"class\", \"numeric-only\");\\n inp2.setAttribute(\"type\", \"text\"); inp2.setAttribute(\"id\", dateIni+\"-lunch\"); inp2.setAttribute(\"onchange\", \"calculateExp(this);\");inp2.setAttribute(\"class\", \"numeric-only\");\\n inp3.setAttribute(\"type\", \"text\"); inp3.setAttribute(\"id\", dateIni+\"-dinner\"); inp3.setAttribute(\"onchange\", \"calculateExp(this);\");inp3.setAttribute(\"class\", \"numeric-only\");\\n inp4.setAttribute(\"type\", \"text\"); inp4.setAttribute(\"id\", dateIni+\"-totLodg\"); inp4.setAttribute(\"onchange\", \"calculateExp(this);\");inp4.setAttribute(\"class\", \"numeric-only\");\\n inp5.setAttribute(\"type\", \"text\"); inp5.setAttribute(\"id\", dateIni+\"-totTravel\"); inp5.setAttribute(\"onchange\", \"calculateExp(this);\");inp5.setAttribute(\"class\", \"numeric-only\");\\n inp6.setAttribute(\"type\", \"text\"); inp6.setAttribute(\"id\", dateIni+\"-localTrans\"); inp6.setAttribute(\"onchange\", \"calculateExp(this);\");inp6.setAttribute(\"class\", \"numeric-only\");\\n inp7.setAttribute(\"type\", \"text\"); inp7.setAttribute(\"id\", dateIni+\"-phone\"); inp7.setAttribute(\"onchange\", \"calculateExp(this);\");inp7.setAttribute(\"class\", \"numeric-only\");\\n inp8.setAttribute(\"type\", \"text\"); inp8.setAttribute(\"id\", dateIni+\"-autoMil\"); inp8.setAttribute(\"onchange\", \"calculateExp(this);\");inp8.setAttribute(\"class\", \"numeric-only\");\\n inp9.setAttribute(\"type\", \"text\"); inp9.setAttribute(\"id\", dateIni+\"-rentCar\"); inp9.setAttribute(\"onchange\", \"calculateExp(this);\");inp9.setAttribute(\"class\", \"numeric-only\");\\n inp10.setAttribute(\"type\", \"text\"); inp10.setAttribute(\"id\", dateIni+\"-fuel\"); inp10.setAttribute(\"onchange\", \"calculateExp(this);\");inp10.setAttribute(\"class\", \"numeric-only\");\\n inp11.setAttribute(\"type\", \"text\"); inp11.setAttribute(\"id\", dateIni+\"-laundry\"); inp11.setAttribute(\"onchange\", \"calculateExp(this);\");inp11.setAttribute(\"class\", \"numeric-only\");\\n inp12.setAttribute(\"type\", \"text\"); inp12.setAttribute(\"id\", dateIni+\"-other\"); inp12.setAttribute(\"onchange\", \"calculateExp(this);\");inp12.setAttribute(\"class\", \"numeric-only\");\\n \\n col.appendChild(inp); // put data in first column\\n col2.appendChild(inp2);\\n col3.appendChild(inp3);\\n col4.appendChild(inp4);\\n col5.appendChild(inp5);\\n col6.appendChild(inp6);\\n col7.appendChild(inp7);\\n col8.appendChild(inp8);\\n col9.appendChild(inp9);\\n col10.appendChild(inp10);\\n col11.appendChild(inp11);\\n col12.appendChild(inp12);\\n \\n row.appendChild(dates);\\n row.appendChild(col); // append first column to row\\n row.appendChild(col2); // append second column to row\\n row.appendChild(col3);\\n row.appendChild(col4);\\n row.appendChild(col5);\\n row.appendChild(col6);\\n row.appendChild(col7);\\n row.appendChild(col8);\\n row.appendChild(col9);\\n row.appendChild(col10);\\n row.appendChild(col11);\\n row.appendChild(col12);\\n \\n dates.innerHTML = dateIni; // put data in second column\\n var table = document.getElementById(\"tableToModify\"); // find table to append to\\n table.appendChild(row); // append row to table\\n}\\n\\n// Upload Documents Show\\nfunction showUploadDoc(){\\n\\t$(\"#uploadDoc\").fadeIn(3000);\\n //$(\"#addRowTable\").slideDown(3000);\\n $('#uploadDoc').css(\"display\",\"block\");\\n}\\n\\n// Upload Documents Hide\\n//hideUploadDoc();\\nfunction hideUploadDoc(){\\n $(\"#uploadDoc\").hide();\\n $('#uploadDoc').css(\"display\",\"none\");\\n}\\n\\n// New Row on the table\\nfunction newRowTable(){\\n \\n $(\"#addRowTable\").fadeIn(3000);\\n //$(\"#addRowTable\").slideDown(3000);\\n $('#addRowTable').css(\"display\",\"block\");\\n\\n}\\n\\n// Close new Row on the table\\nfunction closeRowTable(){\\n $(\"#addRowTable\").hide();\\n $('#addRowTable').css(\"display\",\"none\");\\n}\\n\\n// calculate subtotal Expenses\\nfunction calculateExp(value){\\n var idField = $(value).attr('id');\\n var idFields = idField.split(\"-\");\\n var fieldName = idFields[3];\\n //alert(fieldName);\\n var numRows = document.getElementById(\"tableToModify\").getElementsByTagName(\"tr\").length;\\n var tdAmount;\\n var tdValues; var totValues=0;\\n var tdID; var tdIdFields; var tdFieldName; \\n var tdID2;var tdInVal=0;\\n for(var x=1;x<numRows;x++){\\n tdAmount = $('#tableToModify').find('tr:eq('+x+')');\\n \\n for(var i=1;i<13;i++){\\n tdID = $(tdAmount).find('td:eq('+i+')').find('input').attr('id');\\n tdID2 = tdID;\\n tdIdFields = tdID.split(\"-\");\\n \\t tdFieldName = tdIdFields[3];\\n if(tdFieldName==fieldName){\\n \\ttdInVal = $('#'+tdID2).val();\\n if(tdInVal==''){tdInVal=0;}\\n totValues = parseFloat(totValues) + parseFloat(tdInVal);\\n }\\n \\n }\\n \\n }\\n \\n var totalsField = formatNumber(totValues);\\n $('#tot-'+fieldName).html(totalsField);\\n \\n calculateTotExp();\\n}\\n\\n// calculate subtotal Expenses from Load Data\\nfunction calculateExpLoadData(value){\\n //var idField = $(value).attr('id');\\n //var idFields = idField.split(\"-\");\\n //var fieldName = idFields[3];\\n var fieldName = value;\\n //alert(fieldName);\\n var numRows = document.getElementById(\"tableToModify\").getElementsByTagName(\"tr\").length;\\n var tdAmount;\\n var tdValues; var totValues=0;\\n var tdID; var tdIdFields; var tdFieldName; \\n var tdID2;var tdInVal=0;\\n for(var x=1;x<numRows;x++){\\n tdAmount = $('#tableToModify').find('tr:eq('+x+')');\\n \\n for(var i=1;i<13;i++){\\n tdID = $(tdAmount).find('td:eq('+i+')').find('input').attr('id');\\n tdID2 = tdID;\\n tdIdFields = tdID.split(\"-\");\\n \\t tdFieldName = tdIdFields[3];\\n if(tdFieldName==fieldName){\\n \\ttdInVal = $('#'+tdID2).val();\\n if(tdInVal==''){tdInVal=0;}\\n totValues = parseFloat(totValues) + parseFloat(tdInVal);\\n }\\n \\n }\\n \\n }\\n \\n var totalsField = formatNumber(totValues);\\n $('#tot-'+fieldName).html(totalsField);\\n \\n calculateTotExp();\\n}\\n\\n// calculate total expenses\\nfunction calculateTotExp(){\\n \\n var numRows = document.getElementById(\"tableToModify\").getElementsByTagName(\"tr\").length;\\n var tdAmount;\\n var tdValues; var totValues=0;\\n for(var x=1;x<numRows;x++){\\n tdAmount = $('#tableToModify').find('tr:eq('+x+')');\\n for(var i=1;i<13;i++){\\n tdValues = $(tdAmount).find('td:eq('+i+')').find('input').val();\\n if(tdValues==''){tdValues=0;}\\n totValues = parseFloat(totValues) + parseFloat(tdValues); \\n }\\n }\\n \\n totValues = formatNumber(totValues);\\n $('#totalExp').html(totValues);\\n \\n //saveDataExpense();\\n}\\n\\n// Function add new row to the grid\\nfunction addNewRowTable(){\\n var d = $(\"#dateRow\").val();\\n if(d!=''){\\n \\tcloseRowTable();\\n createRow(d);\\n }else{\\n \\talert('Please add a date.');\\n }\\n}\\n\\n// hidePanel\\nfunction hidePanel(){\\n//$('#panelEnpense').hide();\\n $(\"#panelEnpense\").fadeOut();\\n}\\n\\n// showPanel\\nfunction showPanel(){\\n $(\"#panelEnpense\").fadeIn(3000);\\n}\\n\\n// Save data in json array\\nfunction saveDataExpense(){\\n var numRows = document.getElementById(\"tableToModify\").getElementsByTagName(\"tr\").length;\\n var tdAmount;\\n var tdValues; var totValues=0;\\n var tdID; var tdIdFields; var tdFieldName; \\n var tdID2; var tdInVal=0;\\n var expensesData = {};\\n \\n for(var x=1;x<numRows;x++){\\n tdAmount = $('#tableToModify').find('tr:eq('+x+')');\\n \\n for(var i=1;i<13;i++){\\n var tdID;\\n tdID = $(tdAmount).find('td:eq('+i+')').find('input').attr('id');\\n expensesData[tdID]= $('#'+tdID).val();\\n \\n } \\n }\\t\\n \\n var s = JSON.stringify(expensesData);\\n //var c = JSON.parse(s);\\n $('#expenseData').setValue(s);\\n // console.log(s);\\n \\n}\\n\\n// Function to load data\\nfunction expenseDataRead(){\\n var array=$('#expenseData').getValue();\\n \\n if(array!=''){ \\n // Load the table field\\n var JSONObject = JSON.parse(array);\\n var numRows = document.getElementById(\"tableToModify\").getElementsByTagName(\"tr\").length;\\n var tdAmount;\\n var tdValues; var totValues=0;\\n var tdID;var tdID2;\\n for(var x=1;x<numRows;x++){\\n tdAmount = $('#tableToModify').find('tr:eq('+x+')');\\n \\n for(var i=1;i<13;i++){ \\n tdID = $(tdAmount).find('td:eq('+i+')').find('input').attr('id');\\n $.each(JSONObject, function(key, value) {\\n if(key==tdID){\\n $(tdAmount).find('td:eq('+i+')').find('input').val(value);\\n \\t\\n // tr id, Getting Id from each raw to calculate the total of raw\\n tdID2 = $(tdAmount).find('td:eq('+i+')').find('input').attr('id');\\n var idFields = tdID2.split(\"-\");\\n var fieldName = idFields[3];\\n calculateExpLoadData(fieldName);\\n \\n }\\n \\n });\\n }\\n \\n }\\n \\n // calculate totals\\n calculateTotExp();\\n \\n }\\n \\n}\\n\\n\\n// Save data when submitting \\ndocument.forms[0].onsubmit = function() {\\n\\t//alert('hola');\\n saveDataExpense();\\n //return true;\\n return true;\\n}\\n// format number\\nfunction formatNumber(number){\\n number = number.toFixed(2) + '';\\n x = number.split('.');\\n x1 = x[0];\\n x2 = x.length > 1 ? '.' + x[1] : '';\\n var rgx = /(\\\\d+)(\\\\d{3})/;\\n while (rgx.test(x1)) {\\n x1 = x1.replace(rgx, '$1' + ',' + '$2');\\n }\\n return x1 + x2;\\n}\\n\\n\"},\"language\":\"en\",\"externalLibs\":\"../../../../plugin/bundleStyle/css/style.css,\\n../../../../plugin/bundleStyle/js/jquery-ui.css,\\n../../../../plugin/bundleStyle/js/jquery-ui.js,\\n../../../../plugin/bundleStyle/js/jquery.layout-latest.js,\\n../../../../plugin/bundleStyle/js/jquery-ui.multidatespicker.js,\\n../../../../plugin/bundleStyle/css/jquery-ui.css\",\"printable\":false,\"items\":[[{\"type\":\"title\",\"id\":\"title0000000001\",\"label\":\"Expense Report\",\"colSpan\":12}],[{\"type\":\"subtitle\",\"id\":\"subtitle0000000001\",\"label\":\"Reporter Info\",\"colSpan\":12}],[{\"type\":\"text\",\"variable\":\"companyName\",\"var_uid\":\"85536781056156f69c33948021591829\",\"dataType\":\"string\",\"id\":\"companyName\",\"name\":\"companyName\",\"label\":\"\",\"defaultValue\":\"\",\"placeholder\":\"Company Name\",\"hint\":\"\",\"required\":true,\"textTransform\":\"none\",\"validate\":\"\",\"validateMessage\":\"\",\"maxLength\":1000,\"formula\":\"\",\"mode\":\"disabled\",\"operation\":\"\",\"dbConnection\":\"workflow\",\"dbConnectionLabel\":\"PM Database\",\"sql\":\"\",\"var_name\":\"companyName\",\"colSpan\":6},{\"type\":\"text\",\"variable\":\"employeeDepartment\",\"var_uid\":\"26756922756156ff43c9a63072241573\",\"dataType\":\"string\",\"id\":\"employeeDepartment\",\"name\":\"employeeDepartment\",\"label\":\"\",\"defaultValue\":\"\",\"placeholder\":\"Department\",\"hint\":\"\",\"required\":false,\"textTransform\":\"none\",\"validate\":\"\",\"validateMessage\":\"\",\"maxLength\":1000,\"formula\":\"\",\"mode\":\"disabled\",\"operation\":\"\",\"dbConnection\":\"workflow\",\"dbConnectionLabel\":\"PM Database\",\"sql\":\"\",\"var_name\":\"employeeDepartment\",\"colSpan\":6}],[{\"type\":\"text\",\"variable\":\"employeeName\",\"var_uid\":\"89530360756156fd9afc0a5027165545\",\"dataType\":\"string\",\"id\":\"employeeName\",\"name\":\"employeeName\",\"label\":\"\",\"defaultValue\":\"\",\"placeholder\":\"Name\",\"hint\":\"\",\"required\":true,\"textTransform\":\"none\",\"validate\":\"\",\"validateMessage\":\"\",\"maxLength\":1000,\"formula\":\"\",\"mode\":\"disabled\",\"operation\":\"\",\"dbConnection\":\"workflow\",\"dbConnectionLabel\":\"PM Database\",\"sql\":\"\",\"var_name\":\"employeeName\",\"colSpan\":6},{\"type\":\"text\",\"variable\":\"employeePhone\",\"var_uid\":\"11894272656156fe4b920c7067742666\",\"dataType\":\"string\",\"id\":\"employeePhone\",\"name\":\"employeePhone\",\"label\":\"\",\"defaultValue\":\"\",\"placeholder\":\"Phone\",\"hint\":\"\",\"required\":false,\"textTransform\":\"none\",\"validate\":\"\",\"validateMessage\":\"\",\"maxLength\":1000,\"formula\":\"\",\"mode\":\"parent\",\"operation\":\"\",\"dbConnection\":\"workflow\",\"dbConnectionLabel\":\"PM Database\",\"sql\":\"\",\"var_name\":\"employeePhone\",\"colSpan\":6}],[{\"type\":\"text\",\"variable\":\"employeeEmail\",\"var_uid\":\"1084519335615708ce6c9b8073814180\",\"dataType\":\"string\",\"id\":\"employeeEmail\",\"name\":\"employeeEmail\",\"label\":\"\",\"defaultValue\":\"\",\"placeholder\":\"Email\",\"hint\":\"\",\"required\":true,\"textTransform\":\"none\",\"validate\":\"\",\"validateMessage\":\"\",\"maxLength\":1000,\"formula\":\"\",\"mode\":\"parent\",\"operation\":\"\",\"dbConnection\":\"workflow\",\"dbConnectionLabel\":\"PM Database\",\"sql\":\"\",\"var_name\":\"employeeEmail\",\"colSpan\":12}],[{\"type\":\"subtitle\",\"id\":\"subtitle0000000002\",\"label\":\"Expense Details\",\"colSpan\":12}],[{\"type\":\"datetime\",\"variable\":\"startDate\",\"var_uid\":\"5344962875615811644a687077838002\",\"dataType\":\"datetime\",\"id\":\"startDate\",\"name\":\"startDate\",\"label\":\"Start Date\",\"placeholder\":\"\",\"hint\":\"\",\"required\":true,\"mode\":\"parent\",\"format\":\"YYYY-MM-DD\",\"dayViewHeaderFormat\":\"MMMM YYYY\",\"extraFormats\":false,\"stepping\":1,\"minDate\":\"2015-10-07\",\"maxDate\":\"\",\"useCurrent\":\"true\",\"collapse\":true,\"locale\":\"\",\"defaultDate\":\"\",\"disabledDates\":false,\"enabledDates\":false,\"icons\":{\"time\":\"glyphicon glyphicon-time\",\"date\":\"glyphicon glyphicon-calendar\",\"up\":\"glyphicon glyphicon-chevron-up\",\"down\":\"glyphicon glyphicon-chevron-down\",\"previous\":\"glyphicon glyphicon-chevron-left\",\"next\":\"glyphicon glyphicon-chevron-right\",\"today\":\"glyphicon glyphicon-screenshot\",\"clear\":\"glyphicon glyphicon-trash\"},\"useStrict\":false,\"sideBySide\":false,\"daysOfWeekDisabled\":[],\"calendarWeeks\":false,\"viewMode\":\"days\",\"toolbarPlacement\":\"default\",\"showTodayButton\":false,\"showClear\":\"false\",\"widgetPositioning\":{\"horizontal\":\"auto\",\"vertical\":\"auto\"},\"widgetParent\":null,\"keepOpen\":false,\"var_name\":\"startDate\",\"colSpan\":6},{\"type\":\"datetime\",\"variable\":\"endDate\",\"var_uid\":\"9840549215615812675cc94087836112\",\"dataType\":\"datetime\",\"id\":\"endDate\",\"name\":\"endDate\",\"label\":\"End Date\",\"placeholder\":\"\",\"hint\":\"\",\"required\":true,\"mode\":\"parent\",\"format\":\"YYYY-MM-DD\",\"dayViewHeaderFormat\":\"MMMM YYYY\",\"extraFormats\":false,\"stepping\":1,\"minDate\":\"2015-10-07\",\"maxDate\":\"\",\"useCurrent\":\"true\",\"collapse\":true,\"locale\":\"\",\"defaultDate\":\"\",\"disabledDates\":false,\"enabledDates\":false,\"icons\":{\"time\":\"glyphicon glyphicon-time\",\"date\":\"glyphicon glyphicon-calendar\",\"up\":\"glyphicon glyphicon-chevron-up\",\"down\":\"glyphicon glyphicon-chevron-down\",\"previous\":\"glyphicon glyphicon-chevron-left\",\"next\":\"glyphicon glyphicon-chevron-right\",\"today\":\"glyphicon glyphicon-screenshot\",\"clear\":\"glyphicon glyphicon-trash\"},\"useStrict\":false,\"sideBySide\":false,\"daysOfWeekDisabled\":[],\"calendarWeeks\":false,\"viewMode\":\"days\",\"toolbarPlacement\":\"default\",\"showTodayButton\":false,\"showClear\":\"false\",\"widgetPositioning\":{\"horizontal\":\"auto\",\"vertical\":\"auto\"},\"widgetParent\":null,\"keepOpen\":false,\"var_name\":\"endDate\",\"colSpan\":6}],[{\"type\":\"panel\",\"id\":\"panelEnpense\",\"content\":\"\\n<div id=\"divContainer\">\\n <table id=\"tableAdd\">\\n <tr>\\n <th><a href=\"javascript:void(0)\" data-modal-id=\"addRowTable\" style=\"padding-left:5px;\" onclick=\"newRowTable();\"><img src=\"/plugin/bundleStyle/images/addRow.png\" title=\"Add New Row\" /></a></th>\\n <th colspan=\"11\"></th>\\n <!--<th><a href=\"javascript:void(0)\" style=\"padding-right:5px;float:right;\" onclick=\"uploadDocs();\"><img src=\"/plugin/bundleStyle/images/uploadDoc.png\" title=\"Upload Document\" /></a></th>-->\\n </tr>\\n </table>\\n \\n <div id=\"addRowTable\">\\n <a href=\"javascript:void(0)\" style=\"float:right;\" onclick=\"closeRowTable();\"><img src=\"/plugin/bundleStyle/images/close.png\" title=\"Close\" /></a>\\n <br>\\n <p>Please add a date.</p>\\n <span>Date:</span><input type=\"text\" id=\"dateRow\" class=\"pmdynaform-control-text form-control\"/>\\n <br>\\n <a href=\"javascript:void(0)\" style=\"float:right;background: #44b6c8;border-radius: 2px;color: #ffffff;margin-top: 5px;padding: 2px;text-decoration: none; \" onclick=\"addNewRowTable();\">Add <img src=\"/plugin/bundleStyle/images/save2.png\" title=\"Add\" /></a>\\n \\n </div>\\n <!--\\n <div id=\"uploadDoc\">\\n <a href=\"javascript:void(0)\" style=\"float:right;\" onclick=\"closeRowTable();\"><img src=\"/plugin/bundleStyle/images/close.png\" title=\"Close\" /></a>\\n <br>\\n \\n <a href=\"javascript:void(0)\" style=\"float:right;background: #44b6c8;border-radius: 2px;color: #ffffff;margin-top: 5px;padding: 2px;text-decoration: none; \" onclick=\"addNewRowTable();\">Add <img src=\"/plugin/bundleStyle/images/save2.png\" title=\"Add\" /></a>\\n </div>-->\\n <table id=\"tableToModify\">\\n <tr>\\n <th>Date</th>\\n <th>Breakfast including tip</th>\\n <th>Lunch including tip</th>\\n <th>Dinner including tip</th>\\n <th>Total Lodging</th>\\n <th>Total Travel Fare</th>\\n <th>Local Trans., Parking, Tolls</th>\\n <th>Telephone</th>\\n <th>Auto Mileage</th>\\n <th>Rental cars</th>\\n <th>Fuel Rental Car / Company Car</th>\\n <th>Laundry and Valet</th>\\n <th>Other (Attach support file)</th>\\n </tr>\\n </table>\\n <table id=\"tableToModify3\">\\n <tr>\\n <th>SUBTOTAL $us</th>\\n <th id=\"tot-breakfast\">0.00</th>\\n <th id=\"tot-lunch\">0.00</th>\\n <th id=\"tot-dinner\">0.00</th>\\n <th id=\"tot-totLodg\">0.00</th>\\n <th id=\"tot-totTravel\">0.00</th>\\n <th id=\"tot-localTrans\">0.00</th>\\n <th id=\"tot-phone\">0.00</th>\\n <th id=\"tot-autoMil\">0.00</th>\\n <th id=\"tot-rentCar\">0.00</th>\\n <th id=\"tot-fuel\">0.00</th>\\n <th id=\"tot-laundry\">0.00</th>\\n <th id=\"tot-other\">0.00</th>\\n </tr>\\n <tr>\\n <th colspan=\"11\" style=\"background-color:#eaeaea;color:#657F8E;\">TOTAL $us</th>\\n <th colspan=\"2\" id=\"totalExp\" style=\"background-color:#eaeaea;color:#657F8E;\">0.00</th>\\n </tr>\\n </table>\\n</div>\",\"border\":\"1px\",\"colSpan\":12}],[{\"type\":\"panel\",\"id\":\"panelExpense2\",\"content\":\"<style>\\n .panel-body{\\n \\t/*margin:0 auto !important;*/\\n padding:0 !important;\\n border:none !important;\\n \\n \\n }\\n \\n #panelEnpense{\\n \\t/*margin:0 auto !important;*/\\n padding:0 !important;\\n border:none !important;\\n }\\n \\n #divContainer input[type=\"text\"] {\\n width:100%;\\n border:1px solid #eaeaea;\\n font-weight:100;\\n text-align:right;\\n }\\n \\n #divContainer input[type=\"text\"]:hover {\\n border-bottom:2px solid #44B6BA !important;\\n }\\n \\n table#tableToModify2 th {\\n \\tbackground-color:#44B8BF;\\n color:#ffffff;\\n text-align:center;\\n font-size:11px !important;\\n }\\n \\n table#tableToModify th {\\n \\tbackground-color:#44B8BF;\\n color:#ffffff;\\n text-align:center;\\n width:7.6% !important;\\n font-size:11px !important;\\n font-weight:100;\\n }\\n table#tableToModify3 th {\\n \\tbackground-color:#859BA8;\\n color:#ffffff;\\n text-align:center;\\n width:7.6% !important;\\n font-size:11px !important;\\n font-weight:100;\\n }\\n \\n table#tableAdd th{\\n \\tbackground-color:#eaeaea;\\n color:#657F8E;\\n /*text-align:center;*/\\n width:7.6% !important;\\n font-size:13px !important;\\n font-weight:100;\\n }\\n \\n table{\\n \\twidth:100% !important;\\n }\\n \\n .addRow(){\\n \\tbackground-image:url('plugin/bundleStyle/images/addRow.png');\\n background-repeat:no-repeat;\\n }\\n \\n #addRowTable{\\n width:100%;\\n height:87%;\\n \\tdisplay:none;\\n position:absolute;\\n border:1px solid #eaeaea;\\n background-color:#FFFFFF;\\n padding: 25px;\\n }\\n \\n #uploadDoc{\\n width:100%;\\n height:87%;\\n \\tdisplay:none;\\n position:absolute;\\n border:1px solid #eaeaea;\\n background-color:#FFFFFF;\\n padding: 25px;\\n }\\n \\n #dateRow{\\n \\twidth:50%;\\n }\\n \\n #ui-datepicker-div{\\n \\tz-index:3 !important;\\n }\\n \\n</style>\\n\",\"border\":\"1px\",\"colSpan\":12}],[{\"type\":\"submit\",\"id\":\"submit0000000001\",\"name\":\"submit0000000001\",\"label\":\"Submit\",\"colSpan\":12}],[{\"type\":\"hidden\",\"variable\":\"expenseData\",\"var_uid\":\"37467298356409cc66377f9005014344\",\"dataType\":\"string\",\"id\":\"expenseData\",\"name\":\"expenseData\",\"defaultValue\":\"\",\"dbConnection\":\"workflow\",\"dbConnectionLabel\":\"PM Database\",\"sql\":\"\",\"var_name\":\"expenseData\",\"colSpan\":12}],[{\"type\":\"subtitle\",\"id\":\"subtitle0000000003\",\"label\":\"Manager Comments, please read and make sure all information is fine.\",\"colSpan\":12}],[{\"type\":\"textarea\",\"variable\":\"commentsManager\",\"var_uid\":\"606273049564e2650f24266027240037\",\"dataType\":\"string\",\"id\":\"commentsManager\",\"name\":\"commentsManager\",\"label\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"hint\":\"\",\"required\":false,\"validate\":\"\",\"validateMessage\":\"\",\"mode\":\"disabled\",\"dbConnection\":\"workflow\",\"dbConnectionLabel\":\"PM Database\",\"sql\":\"\",\"rows\":\"5\",\"var_name\":\"commentsManager\",\"colSpan\":12}]],\"variables\":[{\"var_uid\":\"85536781056156f69c33948021591829\",\"prj_uid\":\"600222708561569cbcdd755005416086\",\"var_name\":\"companyName\",\"var_field_type\":\"string\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\"},{\"var_uid\":\"26756922756156ff43c9a63072241573\",\"prj_uid\":\"600222708561569cbcdd755005416086\",\"var_name\":\"employeeDepartment\",\"var_field_type\":\"string\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\"},{\"var_uid\":\"89530360756156fd9afc0a5027165545\",\"prj_uid\":\"600222708561569cbcdd755005416086\",\"var_name\":\"employeeName\",\"var_field_type\":\"string\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\"},{\"var_uid\":\"11894272656156fe4b920c7067742666\",\"prj_uid\":\"600222708561569cbcdd755005416086\",\"var_name\":\"employeePhone\",\"var_field_type\":\"string\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\"},{\"var_uid\":\"1084519335615708ce6c9b8073814180\",\"prj_uid\":\"600222708561569cbcdd755005416086\",\"var_name\":\"employeeEmail\",\"var_field_type\":\"string\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\"},{\"var_uid\":\"5344962875615811644a687077838002\",\"prj_uid\":\"600222708561569cbcdd755005416086\",\"var_name\":\"startDate\",\"var_field_type\":\"datetime\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\"},{\"var_uid\":\"9840549215615812675cc94087836112\",\"prj_uid\":\"600222708561569cbcdd755005416086\",\"var_name\":\"endDate\",\"var_field_type\":\"datetime\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\"},{\"var_uid\":\"37467298356409cc66377f9005014344\",\"prj_uid\":\"600222708561569cbcdd755005416086\",\"var_name\":\"expenseData\",\"var_field_type\":\"string\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\"},{\"var_uid\":\"606273049564e2650f24266027240037\",\"prj_uid\":\"600222708561569cbcdd755005416086\",\"var_name\":\"commentsManager\",\"var_field_type\":\"string\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\"}]}]}",
"dyn_version": 2,
"dyn_update_date": "2016-05-19 08:26:35"
}