Changeset 17782
- Timestamp:
- 07/24/08 09:21:44 (4 months ago)
- Files:
-
- trunk/core/src/net/project/schedule/mvc/handler/main/LinkTasksHandler.java (modified) (2 diffs)
- trunk/core/src/net/project/schedule/mvc/handler/main/PercentageChangeHandler.java (modified) (2 diffs)
- trunk/core/src/net/project/schedule/mvc/handler/main/ShareHandler.java (modified) (2 diffs)
- trunk/core/src/net/project/schedule/mvc/handler/main/TaskDownHandler.java (modified) (2 diffs)
- trunk/core/src/net/project/schedule/mvc/handler/main/TaskUpHandler.java (modified) (2 diffs)
- trunk/core/src/net/project/schedule/mvc/handler/main/UnlinkTasksHandler.java (modified) (2 diffs)
- trunk/core/web/jsp/schedule/Main.jsp (modified) (3 diffs)
- trunk/core/web/src/components/gridView.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/core/src/net/project/schedule/mvc/handler/main/LinkTasksHandler.java
r16593 r17782 25 25 import javax.servlet.http.HttpServletResponse; 26 26 27 import org.apache.commons.lang.StringUtils; 28 27 29 import net.project.base.property.PropertyProvider; 28 30 import net.project.database.DatabaseUtils; … … 47 49 48 50 String idList[] = request.getParameterValues("selected"); 49 51 if(null == idList){ 52 idList = StringUtils.split((String) request.getParameter("selectedIds"), ','); 53 } 50 54 //Check to make sure there aren't any shared tasks 51 55 Map tasks = schedule.getEntryMap(); trunk/core/src/net/project/schedule/mvc/handler/main/PercentageChangeHandler.java
r16593 r17782 29 29 import javax.servlet.http.HttpServletRequest; 30 30 import javax.servlet.http.HttpServletResponse; 31 32 import org.apache.commons.lang.StringUtils; 31 33 32 34 import net.project.base.Module; … … 71 73 //Change the percentage complete 72 74 String idList[] = request.getParameterValues("selected"); 75 if(null == idList){ 76 idList = StringUtils.split((String) request.getParameter("selectedIds"), ','); 77 } 73 78 String percentageString = request.getParameter("percentage"); 74 79 //try to get rid of % if accidently there trunk/core/src/net/project/schedule/mvc/handler/main/ShareHandler.java
r17673 r17782 27 27 import javax.servlet.http.HttpServletRequest; 28 28 import javax.servlet.http.HttpServletResponse; 29 30 import org.apache.commons.lang.StringUtils; 29 31 30 32 import net.project.base.Module; … … 119 121 passThru(model, "selected"); 120 122 Object selected = model.get("selected"); 123 if(null == selected){ 124 selected = StringUtils.split((String) request.getParameter("selectedIds"), ','); 125 } 121 126 List idList; 122 127 if(selected instanceof String[]) trunk/core/src/net/project/schedule/mvc/handler/main/TaskDownHandler.java
r16593 r17782 23 23 import javax.servlet.http.HttpServletRequest; 24 24 import javax.servlet.http.HttpServletResponse; 25 26 import org.apache.commons.lang.StringUtils; 25 27 26 28 import net.project.database.DatabaseUtils; … … 55 57 56 58 String idList[] = request.getParameterValues("selected"); 59 if(null == idList){ 60 idList = StringUtils.split((String) request.getParameter("selectedIds"), ','); 61 } 57 62 TaskListUtils.demoteTasks(idList, schedule); 58 63 trunk/core/src/net/project/schedule/mvc/handler/main/TaskUpHandler.java
r16593 r17782 31 31 import javax.servlet.http.HttpServletRequest; 32 32 import javax.servlet.http.HttpServletResponse; 33 34 import org.apache.commons.lang.StringUtils; 33 35 34 36 import net.project.database.DatabaseUtils; … … 69 71 70 72 String idList[] = request.getParameterValues("selected"); 73 if(null == idList){ 74 idList = StringUtils.split((String) request.getParameter("selectedIds"), ','); 75 } 71 76 TaskListUtils.promoteTasks(idList, schedule.getID()); 72 77 trunk/core/src/net/project/schedule/mvc/handler/main/UnlinkTasksHandler.java
r16593 r17782 29 29 import javax.servlet.http.HttpServletRequest; 30 30 import javax.servlet.http.HttpServletResponse; 31 32 import org.apache.commons.lang.StringUtils; 31 33 32 34 import net.project.schedule.TaskDependency; … … 77 79 78 80 String idList[] = request.getParameterValues("selected"); 79 81 if(null == idList){ 82 idList = StringUtils.split((String) request.getParameter("selectedIds"), ','); 83 } 84 80 85 if (idList.length > 0) { 81 86 TaskDependency.unlinkTasks(idList, schedule); trunk/core/web/jsp/schedule/Main.jsp
r17780 r17782 300 300 menuItems[menuItems.length] = addCaptureWorkMenuItem(grid); 301 301 menuItems[menuItems.length] = addDeleteTaskMenuItem(grid); 302 menuItems[menuItems.length] = addLinkTaskMenuItem(grid); 303 menuItems[menuItems.length] = addModifyTaskMenuItem(grid); 304 menuItems[menuItems.length] = addMoveTaskDownMenuItem(grid); 305 menuItems[menuItems.length] = addMoveTaskUpMenuItem(grid); 302 306 menuItems[menuItems.length] = addNotifyTaskMenuItem(grid); 307 menuItems[menuItems.length] = addShareTaskMenuItem(grid); 308 menuItems[menuItems.length] = addUnLinkTaskMenuItem(grid); 309 menuItems[menuItems.length] = addUpdatePercentageWorkMenuItem(grid); 310 menuItems[menuItems.length] = addViewTaskPropertiesMenuItem(grid); 303 311 grid.addRowContextMenu(menuItems); 304 312 } … … 422 430 } 423 431 432 function addLinkTaskMenuItem(grid){ 433 var item = {}; 434 item.text = '<display:get name="all.global.toolbar.schedule.linktasks" />'; 435 item.handler = function (){ 436 var ids = grid.getSelectedRowIdsOnlyFromGrid(); 437 if(ids != -1){ 438 theForm.selectedIds.value = ids; 439 theForm.theAction.value = '/MainProcessing/LinkTasks'; 440 theForm.action.value = "<%=Action.MODIFY%>"; 441 theForm.target = "_self"; 442 theForm.submit(); 443 } else{ 444 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.multipleselectionrequired.error.message" />'; 445 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 446 } 447 }; // eo handler 448 return item; 449 } 450 451 function addModifyTaskMenuItem(grid){ 452 var item = {}; 453 item.text = '<display:get name="all.global.toolbar.standard.modify" />'; 454 item.handler = function (){ 455 var id = grid.getSelectedRowIdFromGrid(); 456 switch (id){ 457 case -1: 458 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.noselection.error.message" />'; 459 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 460 break; 461 case -2: 462 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.multiselection.error.message" />'; 463 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 464 break; 465 default: 466 var link = "<%=baseUrl%>/servlet/ScheduleController/TaskEdit?action=<%=Action.VIEW %>" 467 +"&id="+id 468 +"&module=<%=Module.SCHEDULE%>"; 469 self.location = link; 470 } // eo switch 471 } // eo handler 472 return item; 473 } 474 475 function addMoveTaskDownMenuItem(grid){ 476 var item = {}; 477 item.text = '<display:get name="all.global.toolbar.schedule.taskdown" />'; 478 item.handler = function (){ 479 var id = grid.getSelectedNonLastRowIdFromGrid(); 480 switch (id){ 481 case -1: 482 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.noselection.error.message" />'; 483 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 484 break; 485 case -2: 486 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.multiselection.error.message" />'; 487 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 488 break; 489 case -3: 490 var errorMessage = '<display:get name="prm.schedule.main.taskatbottomoflist.error.message" />'; 491 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 492 break; 493 default: 494 theForm.selectedIds.value = id; 495 theForm.theAction.value = "/MainProcessing/TaskDown"; 496 theForm.action.value = "<%=Action.MODIFY%>"; 497 theForm.target = "_self"; 498 theForm.submit(); 499 } // eo switch 500 } // eo handler 501 return item; 502 } 503 504 function addMoveTaskUpMenuItem(grid){ 505 var item = {}; 506 item.text = '<display:get name="all.global.toolbar.schedule.taskup" />'; 507 item.handler = function (){ 508 var id = grid.getSelectedNonFirstRowIdFromGrid(); 509 switch (id){ 510 case -1: 511 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.noselection.error.message" />'; 512 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 513 break; 514 case -2: 515 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.multiselection.error.message" />'; 516 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 517 break; 518 case -3: 519 var errorMessage = '<display:get name="prm.schedule.main.taskattopoflist.error.message" />'; 520 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 521 break; 522 default: 523 theForm.selectedIds.value = id; 524 theForm.theAction.value = "/MainProcessing/TaskUp"; 525 theForm.action.value = "<%=Action.MODIFY%>"; 526 theForm.target = "_self"; 527 theForm.submit(); 528 } // eo switch 529 } // eo handler 530 return item; 531 } 532 424 533 function addNotifyTaskMenuItem(grid){ 425 534 var item = {}; 426 535 item.text = '<display:get name="all.global.toolbar.standard.notify" />'; 427 536 item.handler = function (){ 428 var id = flatView.getSelectedRowIdFromGrid();537 var id = grid.getSelectedRowIdFromGrid(); 429 538 switch (id){ 430 539 case -1: 431 540 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.noselection.error.message" />'; 432 541 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 542 break; 433 543 case -2: 434 544 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.multiselection.error.message" />'; 435 545 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 546 break; 436 547 default: 437 548 var link = "<%=baseUrl%>/notification/CreateSubscription1.jsp?action=<%=Action.MODIFY %>" … … 440 551 var notify_win = openwin_notification(link); 441 552 notify_win.focus(); 553 } // eo switch 554 } // eo handler 555 return item; 556 } 557 558 function addShareTaskMenuItem(grid){ 559 var item = {}; 560 item.text = '<display:get name="all.global.toolbar.standard.share" />'; 561 item.handler = function (){ 562 var ids = grid.getSelectedRowIdsFromGrid(); 563 if(ids != -1){ 564 theForm.selectedIds.value = ids; 565 theForm.theAction.value = "/MainProcessing/Share"; 566 theForm.action.value = "<%=Action.SHARE%>"; 567 theForm.submit(); 568 } else{ 569 extAlert('Error', '<display:get name="prm.global.javascript.verifyselection.noselection.error.message" />', Ext.MessageBox.ERROR); 570 } 571 }; // eo handler 572 return item; 573 } 574 575 function addUnLinkTaskMenuItem(grid){ 576 var item = {}; 577 item.text = '<display:get name="all.global.toolbar.schedule.unlinktasks" />'; 578 item.handler = function (){ 579 var ids = grid.getSelectedRowIdsOnlyFromGrid(); 580 if(ids != -1){ 581 theForm.selectedIds.value = ids; 582 theForm.theAction.value = "/MainProcessing/UnlinkTasks"; 583 theForm.action.value = "<%=Action.MODIFY%>"; 584 theForm.target = "_self"; 585 theForm.submit(); 586 } else{ 587 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.multipleselectionrequired.error.message" />'; 588 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 589 } 590 }; // eo handler 591 return item; 592 } 593 594 function addUpdatePercentageWorkMenuItem(grid){ 595 var item = {}; 596 item.text = '<display:get name="all.global.toolbar.schedule.percentage" />'; 597 item.handler = function (){ 598 var ids = grid.getSelectedRowIdsFromGrid(); 599 var objectIds = ''; 600 if(ids != -1){ 601 var alertMessage = '<%=PropertyProvider.get("prm.schedule.taskview.resource.notallowedforimportedtask.message")%>'; 602 var showAlertMessage = false; 603 604 for (var i = 0; i < ids.length; i++) { 605 objectIds+= '&objectID=' + ids[i]; 606 if(true == isExternalTask(ids[i]) ){ 607 alertMessage = alertMessage + grid.getRecordById(ids[i]).get('name') + '\n'; 608 showAlertMessage = true; 609 } 610 } 611 if(true == showAlertMessage){ 612 extAlert('Error', alertMessage , Ext.MessageBox.ERROR); 613 return; 614 } 615 theForm.selectedIds.value = ids; 616 percentageWindow = openwin_dialog('percentage', '<%=baseUrl+"/schedule/PercentComplete.jsp?module="+Module.SCHEDULE+"&action="+Action.MODIFY%>', 175, 450); 617 } else{ 618 extAlert('Error', '<display:get name="prm.global.javascript.verifyselection.noselection.error.message" />', Ext.MessageBox.ERROR); 619 } 620 }; // eo handler 621 return item; 622 } 623 624 function addViewTaskPropertiesMenuItem(grid){ 625 var item = {}; 626 item.text = '<display:get name="prm.schedule.main.properties.tooltip" />'; 627 item.handler = function (){ 628 var id = grid.getSelectedRowIdFromGrid(); 629 switch (id){ 630 case -1: 631 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.noselection.error.message" />'; 632 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 633 break; 634 case -2: 635 var errorMessage = '<display:get name="prm.global.javascript.verifyselection.multiselection.error.message" />'; 636 extAlert('Error', errorMessage , Ext.MessageBox.ERROR); 637 break; 638 default: 639 var link = "<%=baseUrl%>/servlet/ScheduleController/TaskView?action=<%=Action.VIEW %>" 640 +"&id="+id 641 +"&module=<%=Module.SCHEDULE%>"; 642 self.location = link; 442 643 } // eo switch 443 644 } // eo handler trunk/core/web/src/components/gridView.js
r17750 r17782 140 140 items: menuItems 141 141 }); 142 contextMenu.show At(event.getXY());142 contextMenu.show(_grid); 143 143 } 144 144 } … … 447 447 }; 448 448 449 GridView.prototype.getSelectedNonLastRowIdFromGrid = function getSelectedNonLastRowIdFromGrid(){ 450 var selectionModel = this.getSelectionModel(); 451 var rowCount = selectionModel.getCount(); 452 453 // First, test at least one row was selected 454 if(rowCount == 0){ 455 return -1; 456 } 457 458 // Now, test only one row was selected 459 if(rowCount > 1){ 460 return -2; 461 } 462 463 // Test it's not the last record. 464 if(selectionModel.hasNext()){ 465 return selectionModel.getSelected().id; 466 } else{ 467 return -3; 468 } 469 }; 470 471 GridView.prototype.getSelectedNonFirstRowIdFromGrid = function getSelectedNonFirstRowIdFromGrid(){ 472 var selectionModel = this.getSelectionModel(); 473 var rowCount = selectionModel.getCount(); 474 475 // First, test at least one row was selected 476 if(rowCount == 0){ 477 return -1; 478 } 479 480 // Now, test only one row was selected 481 if(rowCount > 1){ 482 return -2; 483 } 484 485 // Test it's not the first record. 486 if(selectionModel.hasPrevious()){ 487 return selectionModel.getSelected().id; 488 } else{ 489 return -3; 490 } 491 }; 492 449 493 /** 450 494 * Returns an array of IDs related to the rows the user has selected in the Grid. … … 473 517 return ids; 474 518 }; 519 520 GridView.prototype.getSelectedRowIdsOnlyFromGrid = function getSelectedRowIdOnlyFromGrid(){ 521 var selectionModel = this.getSelectionModel(); 522 var rowCount = selectionModel.getCount(); 523 524 // Test at least two rows were selected 525 if(rowCount <= 1){ 526 return -1; 527 } 528 529 var selectedRows = selectionModel.getSelections(); 530 var ids = new Array(); 531 for(var i = 0; i < selectedRows.length; i++){ 532 ids[ids.length] = selectedRows[i].id; 533 } 534 535 return ids; 536 };
