[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 /*+*********************************************************************************** 2 * The contents of this file are subject to the vtiger CRM Public License Version 1.0 3 * ("License"); You may not use this file except in compliance with the License 4 * The Original Code is: vtiger CRM Open Source 5 * The Initial Developer of the Original Code is vtiger. 6 * Portions created by vtiger are Copyright (C) vtiger. 7 * All Rights Reserved. 8 *************************************************************************************/ 9 10 Vtiger_Detail_Js("Project_Detail_Js",{},{ 11 12 detailViewRecentTicketsTabLabel : 'Trouble Tickets', 13 detailViewRecentTasksTabLabel : 'Project Tasks', 14 detailViewRecentMileStonesLabel : 'Project Milestones', 15 16 /** 17 * Function to register event for create related record 18 * in summary view widgets 19 */ 20 registerSummaryViewContainerEvents : function(summaryViewContainer){ 21 this._super(summaryViewContainer); 22 this.registerStatusChangeEventForWidget(); 23 this.registerEventForAddingModuleRelatedRecordFromSummaryWidget(); 24 }, 25 26 /** 27 * Function to get records according to ticket status 28 */ 29 registerStatusChangeEventForWidget : function(){ 30 var thisInstance = this; 31 jQuery('[name="ticketstatus"],[name="projecttaskstatus"],[name="projecttaskprogress"]').on('change',function(e){ 32 var picklistName = this.name; 33 var statusCondition = {}; 34 var params = {}; 35 var currentElement = jQuery(e.currentTarget); 36 var summaryWidgetContainer = currentElement.closest('.summaryWidgetContainer'); 37 var widgetDataContainer = summaryWidgetContainer.find('.widget_contents'); 38 var referenceModuleName = widgetDataContainer.find('[name="relatedModule"]').val(); 39 var recordId = thisInstance.getRecordId(); 40 var module = app.getModuleName(); 41 var selectedStatus = currentElement.find('option:selected').text(); 42 if(selectedStatus != "Select Status" && referenceModuleName == "HelpDesk"){ 43 statusCondition['vtiger_troubletickets.status'] = selectedStatus; 44 params['whereCondition'] = statusCondition; 45 } else if(selectedStatus != app.vtranslate('JS_LBL_SELECT_STATUS') && referenceModuleName == "ProjectTask" && picklistName == 'projecttaskstatus'){ 46 statusCondition['vtiger_projecttask.projecttaskstatus'] = selectedStatus; 47 params['whereCondition'] = statusCondition; 48 } 49 else if(selectedStatus != app.vtranslate('JS_LBL_SELECT_PROGRESS') && referenceModuleName == "ProjectTask" && picklistName == 'projecttaskprogress'){ 50 statusCondition['vtiger_projecttask.projecttaskprogress'] = selectedStatus; 51 params['whereCondition'] = statusCondition; 52 } 53 54 params['record'] = recordId; 55 params['view'] = 'Detail'; 56 params['module'] = module; 57 params['page'] = widgetDataContainer.find('[name="page"]').val(); 58 params['limit'] = widgetDataContainer.find('[name="pageLimit"]').val(); 59 params['relatedModule'] = referenceModuleName; 60 params['mode'] = 'showRelatedRecords'; 61 AppConnector.request(params).then( 62 function(data) { 63 widgetDataContainer.html(data); 64 } 65 ); 66 }) 67 }, 68 69 /** 70 * Function to add module related record from summary widget 71 */ 72 registerEventForAddingModuleRelatedRecordFromSummaryWidget : function(){ 73 var thisInstance = this; 74 jQuery('#createProjectMileStone,#createProjectTask').on('click',function(e){ 75 var currentElement = jQuery(e.currentTarget); 76 var summaryWidgetContainer = currentElement.closest('.summaryWidgetContainer'); 77 var widgetDataContainer = summaryWidgetContainer.find('.widget_contents'); 78 var referenceModuleName = widgetDataContainer.find('[name="relatedModule"]').val(); 79 var quickcreateUrl = currentElement.data('url'); 80 var parentId = thisInstance.getRecordId(); 81 var quickCreateParams = {}; 82 var relatedField = currentElement.data('parentRelatedField'); 83 var moduleName = currentElement.closest('.widget_header').find('[name="relatedModule"]').val(); 84 var relatedParams = {}; 85 relatedParams[relatedField] = parentId; 86 87 var postQuickCreateSave = function(data) { 88 thisInstance.postSummaryWidgetAddRecord(data,currentElement); 89 if(referenceModuleName == "ProjectTask"){ 90 thisInstance.loadModuleSummary(); 91 } 92 } 93 94 if(typeof relatedField != "undefined"){ 95 quickCreateParams['data'] = relatedParams; 96 } 97 quickCreateParams['noCache'] = true; 98 quickCreateParams['callbackFunction'] = postQuickCreateSave; 99 var progress = jQuery.progressIndicator(); 100 var headerInstance = new Vtiger_Header_Js(); 101 headerInstance.getQuickCreateForm(quickcreateUrl, moduleName,quickCreateParams).then(function(data){ 102 headerInstance.handleQuickCreateData(data,quickCreateParams); 103 progress.progressIndicator({'mode':'hide'}); 104 }); 105 }) 106 }, 107 108 /** 109 * Function to load module summary of Projects 110 */ 111 loadModuleSummary : function(){ 112 var summaryParams = {}; 113 summaryParams['module'] = app.getModuleName(); 114 summaryParams['view'] = "Detail"; 115 summaryParams['mode'] = "showModuleSummaryView"; 116 summaryParams['record'] = jQuery('#recordId').val(); 117 118 AppConnector.request(summaryParams).then( 119 function(data) { 120 jQuery('.summaryView').html(data); 121 } 122 ); 123 }, 124 125 registerEvents : function(){ 126 var detailContentsHolder = this.getContentHolder(); 127 var thisInstance = this; 128 this._super(); 129 130 detailContentsHolder.on('click','.moreRecentMilestones', function(){ 131 var recentMilestonesTab = thisInstance.getTabByLabel(thisInstance.detailViewRecentMileStonesLabel); 132 recentMilestonesTab.trigger('click'); 133 }); 134 135 detailContentsHolder.on('click','.moreRecentTickets', function(){ 136 var recentTicketsTab = thisInstance.getTabByLabel(thisInstance.detailViewRecentTicketsTabLabel); 137 recentTicketsTab.trigger('click'); 138 }); 139 140 detailContentsHolder.on('click','.moreRecentTasks', function(){ 141 var recentTasksTab = thisInstance.getTabByLabel(thisInstance.detailViewRecentTasksTabLabel); 142 recentTasksTab.trigger('click'); 143 }); 144 } 145 })
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |