[795] | 1 | var workflowMonitorUserMapping; |
---|
| 2 | var workflowMonitorActivityMapping; |
---|
| 3 | var sortColumn = 2; |
---|
| 4 | var order = 'A'; |
---|
| 5 | var workflowMonitorInstancesParams = null; |
---|
| 6 | var completedSortColumn = 1; |
---|
| 7 | var completedOrder = 'A'; |
---|
| 8 | |
---|
| 9 | var workflowMonitorCurrentList = ''; |
---|
| 10 | |
---|
| 11 | /* retorno do Ajax para listagem de instâncias */ |
---|
| 12 | function instanceList(data) |
---|
| 13 | { |
---|
| 14 | if (handleError(data)) |
---|
| 15 | { |
---|
| 16 | /* salva algumas informações vindas da chamada Ajax */ |
---|
| 17 | workflowMonitorInstancesParams = data['params']; |
---|
| 18 | workflowMonitorUserMapping = data['userMapping']; |
---|
| 19 | workflowMonitorActivityMapping = data['activityMapping']; |
---|
| 20 | |
---|
| 21 | |
---|
| 22 | if (!workflowMonitorInstancesParams['filters']) |
---|
| 23 | { |
---|
| 24 | $('divInstance').innerHTML = ''; |
---|
| 25 | } |
---|
| 26 | else |
---|
| 27 | { |
---|
| 28 | var objectRemovalList = new Array(); |
---|
| 29 | objectRemovalList[0] = $('monitorMessage'); |
---|
| 30 | objectRemovalList[1] = $('instancesTable'); |
---|
| 31 | objectRemovalList[2] = $('pagingTop'); |
---|
| 32 | objectRemovalList[3] = $('pagingBottom'); |
---|
| 33 | for (var i = 0; i < objectRemovalList.length; i++) |
---|
| 34 | if (objectRemovalList[i]) |
---|
| 35 | objectRemovalList[i].remove(); |
---|
| 36 | } |
---|
| 37 | |
---|
| 38 | if (data['data'].length == 0) |
---|
| 39 | { |
---|
| 40 | var divInstance = $('divInstance'); |
---|
| 41 | if (workflowMonitorInstancesParams['filters']) |
---|
| 42 | { |
---|
| 43 | new Insertion.Bottom(divInstance, '<p id="monitorMessage" style="clear: both;">Nenhuma instância satisfaz o critério de filtragem utilizado</p>'); |
---|
| 44 | $('instanceCount').innerHTML = '0'; |
---|
| 45 | } |
---|
| 46 | else |
---|
| 47 | divInstance.innerHTML = '<p>Este processo não possui instâncias ativas</p>'; |
---|
| 48 | } |
---|
| 49 | else |
---|
| 50 | drawInstancesList(data); |
---|
| 51 | } |
---|
| 52 | } |
---|
| 53 | |
---|
| 54 | /* retorno do Ajax para listagem de usuários */ |
---|
| 55 | function userList(data) |
---|
| 56 | { |
---|
| 57 | if (handleError(data)) |
---|
| 58 | { |
---|
| 59 | if (data['data'].length == 0) |
---|
| 60 | { |
---|
| 61 | var parag = document.createElement("P"); |
---|
| 62 | parag.className = "text_dsp"; |
---|
| 63 | parag.innerHTML = "Não existem usuários"; |
---|
| 64 | divInstance.appendChild(parag); |
---|
| 65 | } |
---|
| 66 | else |
---|
| 67 | { |
---|
| 68 | var aid = data['params']['aid']; |
---|
| 69 | var pid = data['params']['pid']; |
---|
| 70 | var uid = data['params']['uid']; |
---|
| 71 | var iid = data['params']['iid']; |
---|
| 72 | var message = document.getElementById("nu_" + iid); |
---|
| 73 | var td = message.parentNode; |
---|
| 74 | td.innerHTML = constructSelectBox("nu_" + iid, data['data'], uid); |
---|
| 75 | td.innerHTML += "<button onclick=\"updateUser(" + iid + ", " + aid + ", " + pid + "); return false;\" class=\"ok\">OK</button>"; |
---|
| 76 | } |
---|
| 77 | } |
---|
| 78 | } |
---|
| 79 | |
---|
| 80 | /* retorno do Ajax para listagem de atividades */ |
---|
| 81 | function activityList(data) |
---|
| 82 | { |
---|
| 83 | if (handleError(data)) |
---|
| 84 | { |
---|
| 85 | if (data['data'].length == 0) |
---|
| 86 | { |
---|
| 87 | var parag = document.createElement("P"); |
---|
| 88 | parag.className = "text_dsp"; |
---|
| 89 | parag.innerHTML = "Não existem atividades"; |
---|
| 90 | divInstance.appendChild(parag); |
---|
| 91 | } |
---|
| 92 | else |
---|
| 93 | { |
---|
| 94 | var aid = data['params']['aid']; |
---|
| 95 | var pid = data['params']['pid']; |
---|
| 96 | var iid = data['params']['iid']; |
---|
| 97 | var message = document.getElementById("na_" + iid); |
---|
| 98 | var td = message.parentNode; |
---|
| 99 | td.innerHTML = constructSelectBox("na_" + iid, data['data'], aid); |
---|
| 100 | td.innerHTML += "<button onclick=\"updateActivity(" + iid + ", " + pid + "); return false;\" class=\"ok\">OK</button>"; |
---|
| 101 | } |
---|
| 102 | } |
---|
| 103 | } |
---|
| 104 | |
---|
| 105 | /**** LISTA DE INSTÂNCIAS DE UM PROCESSO ****/ |
---|
| 106 | function callInstanceList(pid, srt, p_page, p_filters) |
---|
| 107 | { |
---|
| 108 | workflowMonitorCurrentList = 'active'; |
---|
| 109 | var params = 'pid=' + pid; |
---|
| 110 | |
---|
| 111 | if (srt == null) |
---|
| 112 | srt = sortColumn; |
---|
| 113 | |
---|
| 114 | params += '&srt=' + srt; |
---|
| 115 | |
---|
| 116 | if ((srt == sortColumn) && (p_page == null)) |
---|
| 117 | order = (order == 'A') ? 'D' : 'A'; |
---|
| 118 | params += '&ord=' + ((order == 'A') ? '__ASC' : '__DESC'); |
---|
| 119 | |
---|
| 120 | if (p_page) |
---|
| 121 | params += '&p_page=' + p_page; |
---|
| 122 | |
---|
| 123 | sortColumn = srt; |
---|
| 124 | |
---|
| 125 | if (p_filters) |
---|
| 126 | params += '&filters=' + p_filters; |
---|
| 127 | |
---|
| 128 | cExecute('$this.bo_monitors.listInstances', instanceList, params); |
---|
| 129 | } |
---|
| 130 | |
---|
| 131 | function resultCompletedInstanceList(data) |
---|
| 132 | { |
---|
| 133 | if (handleError(data)) |
---|
| 134 | { |
---|
| 135 | /* salva algumas informações vindas da chamada Ajax */ |
---|
| 136 | workflowMonitorInstancesParams = data['params']; |
---|
| 137 | workflowMonitorUserMapping = data['userMapping']; |
---|
| 138 | |
---|
| 139 | if (!workflowMonitorInstancesParams['filters']) |
---|
| 140 | { |
---|
| 141 | $('divInstance').innerHTML = ''; |
---|
| 142 | } |
---|
| 143 | else |
---|
| 144 | { |
---|
| 145 | var objectRemovalList = new Array(); |
---|
| 146 | objectRemovalList[0] = $('monitorMessage'); |
---|
| 147 | objectRemovalList[1] = $('instancesTable'); |
---|
| 148 | objectRemovalList[2] = $('pagingTop'); |
---|
| 149 | objectRemovalList[3] = $('pagingBottom'); |
---|
| 150 | for (var i = 0; i < objectRemovalList.length; i++) |
---|
| 151 | if (objectRemovalList[i]) |
---|
| 152 | objectRemovalList[i].remove(); |
---|
| 153 | } |
---|
| 154 | |
---|
| 155 | if (data['data'].length == 0) |
---|
| 156 | { |
---|
| 157 | var divInstance = $('divInstance'); |
---|
| 158 | if (workflowMonitorInstancesParams['filters']) |
---|
| 159 | { |
---|
| 160 | $('instanceCount').innerHTML = '0'; |
---|
| 161 | new Insertion.Bottom(divInstance, '<p id="monitorMessage" style="clear: both;">Nenhuma instância satisfaz o critério de filtragem utilizado</p>'); |
---|
| 162 | } |
---|
| 163 | else |
---|
| 164 | divInstance.innerHTML = '<p>Este processo não possui instâncias finalizadas</p>'; |
---|
| 165 | } |
---|
| 166 | else |
---|
| 167 | drawCompletedInstancesList(data); |
---|
| 168 | } |
---|
| 169 | } |
---|
| 170 | |
---|
| 171 | function drawCompletedInstancesList(data) |
---|
| 172 | { |
---|
| 173 | var instances = data['data']; |
---|
| 174 | var pid = data['params']['pid']; |
---|
| 175 | var pagingData = data['pagingData']; |
---|
| 176 | |
---|
| 177 | var divInstance = $('divInstance'); |
---|
| 178 | |
---|
| 179 | var menuCreated = false; |
---|
| 180 | var content = ''; |
---|
| 181 | |
---|
| 182 | if (divInstance.innerHTML == '') |
---|
| 183 | { |
---|
| 184 | menuCreated = true; |
---|
| 185 | content += '<h2>Instâncias Finalizadas</h2>'; |
---|
| 186 | content += '<div id="monitorMenu">'; |
---|
| 187 | content += '<ul class="horizontalMenu" id="filterMenu" align="center">'; |
---|
| 188 | content += '<li><a href="javascript:addFilterSelection(true);"><img src="workflow/templateFile.php?file=images/filter_add.png"/> Adicionar Filtro</a></li>'; |
---|
| 189 | content += '<li><a href="javascript:filterInstances(true);"><img src="workflow/templateFile.php?file=images/filter.png"/> Filtrar</a></li>'; |
---|
| 190 | if (permissions[pid]['bits'][IP_REMOVE_COMPLETED_INSTANCES]) |
---|
| 191 | content += '<li><a href="javascript:void(0)" onclick="removeCompletedInstances();"><img src="workflow/templateFile.php?file=images/del_template.png"/> Remover Instâncias</a></li>'; |
---|
| 192 | content += '</ul>'; |
---|
| 193 | content += '<span style="float: left; font-size: 11px !important; height: 2.5em; line-height: 2.5em;"> <strong>Total de Instâncias:</strong> <span id="instanceCount">' + data['instanceCount'] + '</span></span>'; |
---|
| 194 | content += '<br/><br/><br/>'; |
---|
| 195 | content += '</div>'; |
---|
| 196 | } |
---|
| 197 | else |
---|
| 198 | { |
---|
| 199 | $('instanceCount').innerHTML = data['instanceCount']; |
---|
| 200 | } |
---|
| 201 | |
---|
| 202 | var pagingDataCount = pagingData.length; |
---|
| 203 | var pagingLinks = ''; |
---|
| 204 | for (var i = 0; i < pagingDataCount; i++) |
---|
| 205 | { |
---|
| 206 | if (pagingData[i].do_link == true) |
---|
| 207 | pagingLinks += '<a href="javascript:monitorPaginateInstances(' + pagingData[i].p_page + ');">' + pagingData[i].name + '</a> '; |
---|
| 208 | else |
---|
| 209 | pagingLinks += '<strong>' + pagingData[i].name + '</strong> '; |
---|
| 210 | } |
---|
| 211 | |
---|
| 212 | content += '<div align="right" id="pagingTop">' + pagingLinks + '</div>'; |
---|
| 213 | content += '<table width="100%" align="center" border="1" class="content_table" id="instancesTable" style="clear: both;">'; |
---|
| 214 | content += '<tr><th><span onClick="monitorSortInstances(1);" style="cursor:pointer;">ID</span></th><th><span onClick="monitorSortInstances(2);" style="cursor:pointer;">Identificador</span></th><th><span onClick="monitorSortInstances(3);" style="cursor:pointer;">Proprietário</span></th><th><span onClick="monitorSortInstances(4);" style="cursor:pointer;">Pri.</span></th><th><span onClick="monitorSortInstances(5);" style="cursor:pointer;">Data Início</span></th><th><span onClick="monitorSortInstances(6);" style="cursor:pointer;">Data Fim</span></th><th><span onClick="monitorSortInstances(7);" style="cursor:pointer;">Status</span></th><th>Ações</th></tr>'; |
---|
| 215 | |
---|
| 216 | /*** gera a lista de instâncias ****/ |
---|
| 217 | var instanceCount = instances.length; |
---|
| 218 | var ownerName = ''; |
---|
| 219 | for (var i = 0; i < instanceCount; i++) |
---|
| 220 | { |
---|
| 221 | if (workflowMonitorUserMapping[instances[i]['wf_owner']]) |
---|
| 222 | ownerName = workflowMonitorUserMapping[instances[i]['wf_owner']]; |
---|
| 223 | else |
---|
| 224 | ownerName = 'ID: ' + instances[i]['wf_owner']; |
---|
| 225 | |
---|
| 226 | if (!instances[i]['wf_instance_name']) |
---|
| 227 | instances[i]['wf_instance_name'] = ''; |
---|
| 228 | |
---|
| 229 | content += '<tr>'; |
---|
| 230 | |
---|
| 231 | /* id da instância */ |
---|
| 232 | content += '<td>' + instances[i]['wf_instance_id'] + '</td>'; |
---|
| 233 | |
---|
| 234 | /* identificador da instância */ |
---|
| 235 | content += '<td>' + instances[i]['wf_instance_name'] + '</td>'; |
---|
| 236 | |
---|
| 237 | /* proprietário da instância */ |
---|
| 238 | content += '<td>' + ownerName + '</td>'; |
---|
| 239 | |
---|
| 240 | /* prioridade da instância */ |
---|
| 241 | content += '<td>' + instances[i]['wf_priority'] + '</td>'; |
---|
| 242 | |
---|
| 243 | /* data início da instância */ |
---|
| 244 | content += '<td>' + instances[i]['wf_started'] + '</td>'; |
---|
| 245 | |
---|
| 246 | /* data fim da instância */ |
---|
| 247 | content += '<td>' + instances[i]['wf_ended'] + '</td>'; |
---|
| 248 | |
---|
| 249 | /* status da instância */ |
---|
| 250 | content += '<td>' + statusQuickTranslation[instances[i]['wf_status']] + '</td>'; |
---|
| 251 | |
---|
| 252 | /* ações da instância */ |
---|
| 253 | content += '<td><a href="#" onclick="workflowInboxActionView(' + instances[i]['wf_instance_id'] + ', null); return false;">visualizar</a></td>'; |
---|
| 254 | |
---|
| 255 | content += '</tr>'; |
---|
| 256 | } |
---|
| 257 | |
---|
| 258 | content += '</table>'; |
---|
| 259 | content += '<div align="right" id="pagingBottom">' + pagingLinks + '</div>'; |
---|
| 260 | new Insertion.Bottom(divInstance, content); |
---|
| 261 | if (menuCreated) |
---|
| 262 | lb_initialize(); |
---|
| 263 | } |
---|
| 264 | |
---|
| 265 | function callCompletedInstanceList(pid, sort, p_page, p_filters) |
---|
| 266 | { |
---|
| 267 | workflowMonitorCurrentList = 'completed'; |
---|
| 268 | var params = 'pid=' + pid; |
---|
| 269 | |
---|
| 270 | if (sort == null) |
---|
| 271 | sort = 1; |
---|
| 272 | |
---|
| 273 | params += '&sort=' + sort; |
---|
| 274 | |
---|
| 275 | if ((sort == completedSortColumn) && (p_page == null)) |
---|
| 276 | completedOrder = (completedOrder == 'A') ? 'D' : 'A'; |
---|
| 277 | params += '&ord=' + ((completedOrder == 'A') ? '__ASC' : '__DESC'); |
---|
| 278 | |
---|
| 279 | if (p_page) |
---|
| 280 | params += '&p_page=' + p_page; |
---|
| 281 | |
---|
| 282 | completedSortColumn = sort; |
---|
| 283 | |
---|
| 284 | if (p_filters) |
---|
| 285 | params += '&filters=' + p_filters; |
---|
| 286 | |
---|
| 287 | cExecute('$this.bo_monitors.listCompletedInstances', resultCompletedInstanceList, params); |
---|
| 288 | } |
---|
| 289 | |
---|
| 290 | function drawInstancesList(data) |
---|
| 291 | { |
---|
| 292 | var instances = data['data']; |
---|
| 293 | var pid = data['params']['pid']; |
---|
| 294 | var pagingData = data['pagingData']; |
---|
| 295 | |
---|
| 296 | var divInstance = $('divInstance'); |
---|
| 297 | |
---|
| 298 | var menuCreated = false; |
---|
| 299 | var content = ''; |
---|
| 300 | |
---|
| 301 | if (divInstance.innerHTML == '') |
---|
| 302 | { |
---|
| 303 | menuCreated = true; |
---|
| 304 | content += '<h2>Instâncias Ativas</h2>'; |
---|
| 305 | content += '<div id="monitorMenu">'; |
---|
| 306 | content += '<ul class="horizontalMenu" id="filterMenu" align="center">'; |
---|
| 307 | content += '<li><a href="javascript:addFilterSelection(false);"><img src="workflow/templateFile.php?file=images/filter_add.png"/> Adicionar Filtro</a></li>'; |
---|
| 308 | content += '<li><a href="javascript:filterInstances(false);"><img src="workflow/templateFile.php?file=images/filter.png"/> Filtrar</a></li>'; |
---|
| 309 | if (permissions[pid]['bits'][IP_SEND_EMAILS]) |
---|
| 310 | content += '<li><a href="javascript:void(0)" onclick="sendMailConfig();" class="lbOn"><img src="workflow/templateFile.php?file=images/mail_new.png"/> Enviar E-mail</a></li>'; |
---|
| 311 | content += '</ul>'; |
---|
| 312 | content += '<span style="float: left; font-size: 11px !important; height: 2.5em; line-height: 2.5em;"> <strong>Total de Instâncias:</strong> <span id="instanceCount">' + data['instanceCount'] + '</span></span>'; |
---|
| 313 | content += '<br/><br/><br/>'; |
---|
| 314 | content += '</div>'; |
---|
| 315 | } |
---|
| 316 | else |
---|
| 317 | { |
---|
| 318 | $('instanceCount').innerHTML = data['instanceCount']; |
---|
| 319 | } |
---|
| 320 | |
---|
| 321 | var pagingDataCount = pagingData.length; |
---|
| 322 | var pagingLinks = ''; |
---|
| 323 | for (var i = 0; i < pagingDataCount; i++) |
---|
| 324 | { |
---|
| 325 | if (pagingData[i].do_link == true) |
---|
| 326 | pagingLinks += '<a href="javascript:monitorPaginateInstances(' + pagingData[i].p_page + ');">' + pagingData[i].name + '</a> '; |
---|
| 327 | else |
---|
| 328 | pagingLinks += '<strong>' + pagingData[i].name + '</strong> '; |
---|
| 329 | } |
---|
| 330 | |
---|
| 331 | content += '<div align="right" id="pagingTop">' + pagingLinks + '</div>'; |
---|
| 332 | content += '<table width="100%" align="center" border="1" class="content_table" id="instancesTable" style="clear: both;">'; |
---|
| 333 | content += '<tr><th><span onClick="monitorSortInstances(1);" style="cursor:pointer;">ID</span></th><th><span onClick="monitorSortInstances(2);" style="cursor:pointer;">Atividade</span></th><th><span onClick="monitorSortInstances(3);" style="cursor:pointer;">Identificador</span></th><th><span onClick="monitorSortInstances(4);" style="cursor:pointer;">Pri.</span></th><th><span onClick="monitorSortInstances(5);" style="cursor:pointer;">Usuário</span></th><th><span onClick="monitorSortInstances(6);" style="cursor:pointer;">Status</span></th><th>Ações</th></tr>'; |
---|
| 334 | |
---|
| 335 | /*** gera a lista de instâncias ****/ |
---|
| 336 | var instanceCount = instances.length; |
---|
| 337 | for (var i = 0; i < instanceCount; i++) |
---|
| 338 | { |
---|
| 339 | content += '<tr>'; |
---|
| 340 | /* id da instância */ |
---|
| 341 | content += '<td>' + instances[i]['wf_instance_id'] + '</td>'; |
---|
| 342 | |
---|
| 343 | /* atividade da instância */ |
---|
| 344 | content += '<td>'; |
---|
| 345 | if (permissions[pid]['bits'][IP_CHANGE_ACTIVITY]) |
---|
| 346 | content += "<a href=\"\" onclick=\"clickActivity(this, " + instances[i]['wf_p_id'] + ", " + instances[i]['wf_activity_id'] + ", " + instances[i]['wf_instance_id'] + "); return false;\">" + workflowMonitorActivityMapping[instances[i]['wf_activity_id']] + "</a>"; |
---|
| 347 | else |
---|
| 348 | content += workflowMonitorActivityMapping[instances[i]['wf_activity_id']]; |
---|
| 349 | content += '</td>'; |
---|
| 350 | |
---|
| 351 | /* nome da instância */ |
---|
| 352 | if (!instances[i]['wf_instance_name']) |
---|
| 353 | instances[i]['wf_instance_name'] = " "; |
---|
| 354 | content += '<td>'; |
---|
| 355 | if (permissions[pid]['bits'][IP_CHANGE_NAME]) |
---|
| 356 | content += "<a href=\"\" onclick=\"clickName(this, " + instances[i]['wf_instance_id'] + ", " + instances[i]['wf_p_id'] + "); return false;\">" + instances[i]['wf_instance_name'] + "</a>"; |
---|
| 357 | else |
---|
| 358 | content += instances[i]['wf_instance_name']; |
---|
| 359 | content += '</td>'; |
---|
| 360 | |
---|
| 361 | /* prioridade da instância */ |
---|
| 362 | content += '<td>'; |
---|
| 363 | if (permissions[pid]['bits'][IP_CHANGE_PRIORITY]) |
---|
| 364 | content += "<a href=\"\" onclick=\"clickPriority(this, " + instances[i]['wf_instance_id'] + ", " + instances[i]['wf_p_id'] + "); return false;\">" + instances[i]['wf_priority'] + "</a>"; |
---|
| 365 | else |
---|
| 366 | content += instances[i]['wf_priority']; |
---|
| 367 | content += '</td>'; |
---|
| 368 | |
---|
| 369 | /* usuário da instância */ |
---|
| 370 | if (workflowMonitorUserMapping[instances[i]['wf_user']]) |
---|
| 371 | userName = workflowMonitorUserMapping[instances[i]['wf_user']]; |
---|
| 372 | else |
---|
| 373 | userName = 'ID: ' + instances[i]['wf_user']; |
---|
| 374 | content += '<td>'; |
---|
| 375 | if (permissions[pid]['bits'][IP_CHANGE_USER]) |
---|
| 376 | content += "<a href=\"\" onclick=\"clickUser(this, " + instances[i]['wf_p_id'] + ", " + instances[i]['wf_activity_id'] + ", " + instances[i]['wf_instance_id'] + ", '" + ((instances[i]['wf_user'] == '*') ? '-1' : instances[i]['wf_user']) + "'); return false;\">" + userName + "</a>"; |
---|
| 377 | else |
---|
| 378 | content += userName; |
---|
| 379 | content += '</td>'; |
---|
| 380 | |
---|
| 381 | /* staus da instância */ |
---|
| 382 | content += '<td>'; |
---|
| 383 | if (permissions[pid]['bits'][IP_CHANGE_STATUS]) |
---|
| 384 | content += "<a href=\"\" onclick=\"clickStatus(this, " + instances[i]['wf_instance_id'] + ", " + instances[i]['wf_p_id'] + ", '" + instances[i]['wf_status'] + "'); return false;\">" + statusQuickTranslation[instances[i]['wf_status']] + "</a>"; |
---|
| 385 | else |
---|
| 386 | content += statusQuickTranslation[instances[i]['wf_status']]; |
---|
| 387 | content += '</td>'; |
---|
| 388 | |
---|
| 389 | instances[i]['wf_actions'] = ''; |
---|
| 390 | /* ações da instância */ |
---|
| 391 | if ((permissions[pid]['bits'][IP_VIEW_PROPERTIES]) || (permissions[pid]['bits'][IP_CHANGE_PROPERTIES])) |
---|
| 392 | instances[i]['wf_actions'] += '<a href="#" onclick="editProperties(' + instances[i]['wf_instance_id'] + ', ' + instances[i]['wf_p_id'] + '); return false;">propriedades</a> '; |
---|
| 393 | |
---|
| 394 | instances[i]['wf_actions'] += '<a href="#" onclick="workflowInboxActionView(' + instances[i]['wf_instance_id'] + ', null); return false;">visualizar</a>'; |
---|
| 395 | |
---|
| 396 | content += '<td>'; |
---|
| 397 | if (!instances[i]['wf_actions']) |
---|
| 398 | content += " "; |
---|
| 399 | else |
---|
| 400 | content += instances[i]['wf_actions']; |
---|
| 401 | content += '</td>'; |
---|
| 402 | |
---|
| 403 | content += '</tr>'; |
---|
| 404 | } |
---|
| 405 | |
---|
| 406 | content += '</table>'; |
---|
| 407 | content += '<div align="right" id="pagingBottom">' + pagingLinks + '</div>'; |
---|
| 408 | new Insertion.Bottom(divInstance, content); |
---|
| 409 | if (menuCreated) |
---|
| 410 | lb_initialize(); |
---|
| 411 | } |
---|
| 412 | |
---|
| 413 | /**** AÇÕES DE ATUALIZAÇÃO DA INSTÂNCIA ****/ |
---|
| 414 | function clickPriority(link, iid, pid) |
---|
| 415 | { |
---|
| 416 | var td = link.parentNode; |
---|
| 417 | var previousValue = link.innerHTML; |
---|
| 418 | var items = new Array(); |
---|
| 419 | for (var i = 0; i < 5; i++) |
---|
| 420 | { |
---|
| 421 | items[i] = new Array(); |
---|
| 422 | items[i]['id'] = i; |
---|
| 423 | items[i]['name'] = i; |
---|
| 424 | } |
---|
| 425 | td.innerHTML = constructSelectBox('np_' + iid, items, link.innerHTML); |
---|
| 426 | td.innerHTML += "<button onclick=\"updatePriority(" + iid + ", " + pid + "); return false;\" class=\"ok\">OK</button>"; |
---|
| 427 | } |
---|
| 428 | |
---|
| 429 | function updatePriority(iid, pid) |
---|
| 430 | { |
---|
| 431 | var selectBox = document.getElementById('np_' + iid); |
---|
| 432 | var np = selectBox.value; |
---|
| 433 | cExecute ("$this.bo_monitors.updatePriority", updatePriorityResult, 'iid=' + iid + '&pid=' + pid + '&np=' + np); |
---|
| 434 | selectBox.parentNode.innerHTML = "<p id=\"np_" + iid + "\" class=\"ajax_message\"> (atualizando) </p>"; |
---|
| 435 | } |
---|
| 436 | |
---|
| 437 | function updatePriorityResult(data) |
---|
| 438 | { |
---|
| 439 | if (handleError(data)) |
---|
| 440 | { |
---|
| 441 | var message = document.getElementById('np_' + data['iid']); |
---|
| 442 | message.parentNode.innerHTML = "<a href=\"\" onclick=\"clickPriority(this, " + data['iid'] + ", " + data['pid'] + "); return false;\">" + data['np'] + "</a>"; |
---|
| 443 | } |
---|
| 444 | } |
---|
| 445 | |
---|
| 446 | function clickUser(link, pid, aid, iid, uid) |
---|
| 447 | { |
---|
| 448 | link.parentNode.innerHTML = "<p id=\"nu_" + iid + "\" class=\"ajax_message\"> (carregando lista) </p>"; |
---|
| 449 | cExecute ("$this.bo_monitors.listUsers", userList, 'pid=' + pid + '&aid=' + aid + '&iid=' + iid + '&uid=' + uid); |
---|
| 450 | } |
---|
| 451 | |
---|
| 452 | function updateUser(iid, aid, pid) |
---|
| 453 | { |
---|
| 454 | var selectBox = document.getElementById("nu_" + iid); |
---|
| 455 | var uid = selectBox.value; |
---|
| 456 | cExecute ("$this.bo_monitors.updateUser", updateUserResult, 'iid=' + iid + '&user=' + uid + '&aid=' + aid + '&pid=' + pid); |
---|
| 457 | selectBox.parentNode.innerHTML = "<p id=\"nu_" + iid + "\" class=\"ajax_message\"> (atualizando) </p>"; |
---|
| 458 | } |
---|
| 459 | |
---|
| 460 | function updateUserResult(data) |
---|
| 461 | { |
---|
| 462 | if (handleError(data)) |
---|
| 463 | { |
---|
| 464 | var message = document.getElementById('nu_' + data['iid']); |
---|
| 465 | message.parentNode.innerHTML = "<a href=\"\" onclick=\"clickUser(this, " + data['pid'] + ", " + data['aid'] + ", " + data['iid'] + ", " + data['user'] + "); return false;\">" + data['fullname'] + "</a>"; |
---|
| 466 | } |
---|
| 467 | } |
---|
| 468 | |
---|
| 469 | function clickActivity(link, pid, aid, iid) |
---|
| 470 | { |
---|
| 471 | link.parentNode.innerHTML = "<p id=\"na_" + iid + "\" class=\"ajax_message\"> (carregando lista) </p>"; |
---|
| 472 | cExecute ("$this.bo_monitors.listActivities", activityList, 'pid=' + pid + '&aid=' + aid + '&iid=' + iid); |
---|
| 473 | } |
---|
| 474 | |
---|
| 475 | function updateActivity(iid, pid) |
---|
| 476 | { |
---|
| 477 | var selectBox = document.getElementById("na_" + iid); |
---|
| 478 | var aid = selectBox.value; |
---|
| 479 | cExecute ("$this.bo_monitors.updateActivity", updateActivityResult, 'iid=' + iid + '&aid=' + aid + '&pid=' + pid); |
---|
| 480 | selectBox.parentNode.innerHTML = "<p id=\"na_" + iid + "\" class=\"ajax_message\"> (atualizando) </p>"; |
---|
| 481 | } |
---|
| 482 | |
---|
| 483 | function updateActivityResult(data) |
---|
| 484 | { |
---|
| 485 | if (handleError(data)) |
---|
| 486 | { |
---|
| 487 | var message = document.getElementById('na_' + data['iid']); |
---|
| 488 | message.parentNode.innerHTML = "<a href=\"\" onclick=\"clickActivity(this, " + data['pid'] + ", " + data['aid'] + ", " + data['iid'] + "); return false;\">" + data['name'] + "</a>"; |
---|
| 489 | } |
---|
| 490 | } |
---|
| 491 | |
---|
| 492 | function clickStatus(link, iid, pid, selected) |
---|
| 493 | { |
---|
| 494 | var td = link.parentNode; |
---|
| 495 | td.innerHTML = constructSelectBox('np_' + iid, statusCorrelation, selected); |
---|
| 496 | td.innerHTML += "<button onclick=\"updateStatus(" + iid + ", " + pid + "); return false;\" class=\"ok\">OK</button>"; |
---|
| 497 | } |
---|
| 498 | |
---|
| 499 | function updateStatus(iid, pid) |
---|
| 500 | { |
---|
| 501 | var selectBox = document.getElementById('np_' + iid); |
---|
| 502 | cExecute ("$this.bo_monitors.updateStatus", updateStatusResult, 'iid=' + iid + '&pid=' + pid + '&ns=' + selectBox.value); |
---|
| 503 | selectBox.parentNode.innerHTML = "<p id=\"np_" + iid + "\" class=\"ajax_message\"> (atualizando) </p>"; |
---|
| 504 | } |
---|
| 505 | |
---|
| 506 | function updateStatusResult(data) |
---|
| 507 | { |
---|
| 508 | if (handleError(data)) |
---|
| 509 | { |
---|
| 510 | var message = document.getElementById('np_' + data['iid']); |
---|
| 511 | if (data['ns'] == 'aborted') |
---|
| 512 | message.parentNode.parentNode.remove(); |
---|
| 513 | else |
---|
| 514 | message.parentNode.innerHTML = "<a href=\"\" onclick=\"clickStatus(this, " + data['iid'] + ", " + data['pid'] + ", '" + data['ns'] + "'); return false;\">" + statusQuickTranslation[data['ns']] + "</a>"; |
---|
| 515 | } |
---|
| 516 | } |
---|
| 517 | |
---|
| 518 | function clickName(link, iid, pid) |
---|
| 519 | { |
---|
| 520 | var td = link.parentNode; |
---|
| 521 | if (link.innerHTML == " ") |
---|
| 522 | link.innerHTML = ""; |
---|
| 523 | td.innerHTML = '<input type="text" value="' + link.innerHTML + '" id="nn_' + iid + '"/>'; |
---|
| 524 | td.innerHTML += "<button onclick=\"updateName(" + iid + ", " + pid + "); return false;\" class=\"ok\">OK</button>"; |
---|
| 525 | td.childNodes[0].focus(); |
---|
| 526 | td.childNodes[0].select(); |
---|
| 527 | } |
---|
| 528 | |
---|
| 529 | function updateName(iid, pid) |
---|
| 530 | { |
---|
| 531 | var text = document.getElementById("nn_" + iid); |
---|
| 532 | cExecute ("$this.bo_monitors.updateName", updateNameResult, 'iid=' + iid + '&pid=' + pid + '&nn=' + escape(text.value)); |
---|
| 533 | text.parentNode.innerHTML = "<p id=\"nn_" + iid + "\" class=\"ajax_message\"> (atualizando) </p>"; |
---|
| 534 | } |
---|
| 535 | |
---|
| 536 | function updateNameResult(data) |
---|
| 537 | { |
---|
| 538 | if (handleError(data)) |
---|
| 539 | { |
---|
| 540 | var message = document.getElementById('nn_' + data['iid']); |
---|
| 541 | if (data['nn'] == "") |
---|
| 542 | data['nn'] = " "; |
---|
| 543 | message.parentNode.innerHTML = "<a href=\"\" onclick=\"clickName(this, " + data['iid'] + ", " + data['pid'] + "); return false;\">" + data['nn'] + "</a>"; |
---|
| 544 | } |
---|
| 545 | } |
---|
| 546 | |
---|
| 547 | function editProperties(iid, pid) |
---|
| 548 | { |
---|
| 549 | var border_id = create_border("Propriedades - ID: " + iid); |
---|
| 550 | elem = $("content_id_" + border_id); |
---|
| 551 | loadProperties(iid, pid, elem); |
---|
| 552 | } |
---|
| 553 | |
---|
| 554 | function monitorPaginateInstances(p_page) |
---|
| 555 | { |
---|
| 556 | if (workflowMonitorCurrentList == 'active') |
---|
| 557 | callInstanceList(workflowMonitorInstancesParams['pid'], workflowMonitorInstancesParams['str'], p_page, workflowMonitorInstancesParams['filters']); |
---|
| 558 | else |
---|
| 559 | callCompletedInstanceList(workflowMonitorInstancesParams['pid'], workflowMonitorInstancesParams['str'], p_page, workflowMonitorInstancesParams['filters']); |
---|
| 560 | } |
---|
| 561 | |
---|
| 562 | function monitorSortInstances(sort) |
---|
| 563 | { |
---|
| 564 | if (workflowMonitorCurrentList == 'active') |
---|
| 565 | callInstanceList(workflowMonitorInstancesParams['pid'], sort, null, workflowMonitorInstancesParams['filters']); |
---|
| 566 | else |
---|
| 567 | callCompletedInstanceList(workflowMonitorInstancesParams['pid'], sort, null, workflowMonitorInstancesParams['filters']); |
---|
| 568 | } |
---|
| 569 | |
---|
| 570 | function loadInstances(pid) |
---|
| 571 | { |
---|
| 572 | for (var i = 0; i < filters.length; i++) |
---|
| 573 | filters[i] = null; |
---|
| 574 | filters = new Array(); |
---|
| 575 | callInstanceList(pid, null, 0); |
---|
| 576 | } |
---|
| 577 | |
---|
| 578 | function loadCompletedInstances(pid) |
---|
| 579 | { |
---|
| 580 | for (var i = 0; i < filters.length; i++) |
---|
| 581 | filters[i] = null; |
---|
| 582 | filters = new Array(); |
---|
| 583 | callCompletedInstanceList(pid, null, 0); |
---|
| 584 | } |
---|
| 585 | |
---|
| 586 | function loadInconsistentInstances(pid) |
---|
| 587 | { |
---|
| 588 | cExecute('$this.bo_monitors.loadInconsistentInstances', resultInconsistentInstances, 'pid=' + pid); |
---|
| 589 | } |
---|
| 590 | |
---|
| 591 | function resultInconsistentInstances(data) |
---|
| 592 | { |
---|
| 593 | var instances = data['instances']; |
---|
| 594 | var names = data['names']; |
---|
| 595 | var divInstance = $('divInstance'); |
---|
| 596 | var content = ''; |
---|
| 597 | |
---|
| 598 | content += '<h2>Instâncias Inconsistentes</h2>'; |
---|
| 599 | |
---|
| 600 | for (var i = 0; i < instances.length; i++) |
---|
| 601 | { |
---|
| 602 | content += '<br/><br/><h2 style="text-align: left;">' + instances[i]['name'] + '</h2>'; |
---|
| 603 | content += '<p style="text-align: left;">' + instances[i]['description'] + '</p>'; |
---|
| 604 | var instanceList = instances[i]['items']; |
---|
| 605 | if (instanceList.length == 0) |
---|
| 606 | { |
---|
| 607 | content += '<p style="font-weight: bold; font-size: 120%;">Nenhuma ocorrência encontrada.</p>'; |
---|
| 608 | continue; |
---|
| 609 | } |
---|
| 610 | content += '<table width="100%" align="center" border="1" class="content_table" id="instancesTable" style="clear: both;">'; |
---|
| 611 | content += '<tr><th>ID</th><th>Atividade</th><th>Identificador</th><th>Pri.</th><th>Usuário</th><th>Status</th></tr>'; |
---|
| 612 | for (var j = 0; j < instanceList.length; j++) |
---|
| 613 | { |
---|
| 614 | if (!instanceList[j]['wf_instance_name']) |
---|
| 615 | instanceList[j]['wf_instance_name'] = ''; |
---|
| 616 | content += '<tr>'; |
---|
| 617 | content += '<td>' + instanceList[j]['wf_instance_id'] + '</td>'; |
---|
| 618 | content += '<td>' + instanceList[j]['wf_activity_name'] + '</td>'; |
---|
| 619 | content += '<td>' + instanceList[j]['wf_instance_name'] + '</td>'; |
---|
| 620 | content += '<td>' + instanceList[j]['wf_priority'] + '</td>'; |
---|
| 621 | content += '<td>' + names[instanceList[j]['wf_user']] + '</td>'; |
---|
| 622 | content += '<td>' + statusQuickTranslation[instanceList[j]['wf_status']] + '</td>'; |
---|
| 623 | content += '</tr>'; |
---|
| 624 | } |
---|
| 625 | content += '</table>'; |
---|
| 626 | } |
---|
| 627 | |
---|
| 628 | divInstance.innerHTML = content; |
---|
| 629 | } |
---|