diff --git a/Apollo/api/application/config/routes.php b/Apollo/api/application/config/routes.php index f328d093..f1bf37e9 100755 --- a/Apollo/api/application/config/routes.php +++ b/Apollo/api/application/config/routes.php @@ -93,7 +93,8 @@ $route['getRecentLeadDetails'] = 'Call_Tracking_Controller/getRecentLeadDetails' $route['getRecentCloseDetails'] = 'Call_Tracking_Controller/getRecentCloseDetails'; $route['getRecentPendingDetails'] = 'Call_Tracking_Controller/getRecentPendingDetails'; $route['callAsImportantFlag'] = 'Call_Tracking_Controller/callAsImportantFlag'; -$route['updateTrackingLeadDetails'] = 'Call_Tracking_Controller/updateTrackingLeadDetails'; +$route['getTrackingLeadDetails2'] = 'Call_Tracking_Controller/getTrackingLeadDetails2'; +$route['updateFollowupDetails2'] = 'Call_Tracking_Controller/updateFollowupDetails2'; // auto call track $route['autoAddlead'] = 'Call_Tracking_Controller/autoAddlead'; $route['autoTrackingDetails'] = 'Call_Tracking_Controller/autoTrackingDetails'; diff --git a/Apollo/api/application/controllers/Call_Tracking_Controller.php b/Apollo/api/application/controllers/Call_Tracking_Controller.php index 07f2012c..0245de74 100755 --- a/Apollo/api/application/controllers/Call_Tracking_Controller.php +++ b/Apollo/api/application/controllers/Call_Tracking_Controller.php @@ -587,10 +587,48 @@ public function getstaffCountDetails_post() /* * End of call tracking */ -public function updateTrackingLeadDetails_post(){ -$details = $this->post(); -print_r($details); -die(); -} +public function updateFollowupDetails2_post() +{ + $now = new DateTime(); + $now->setTimezone(new DateTimezone('Asia/Kolkata')); + $student = $this->post('student'); + + foreach($student as $index =>$student){ + + if($this->post('status') == '' || $this->post('status') == NULL){ + $status = $student['StatusCode']; + }else{ + $status = $this->post('status'); + } + $update_followup_details['TrackingID'] = $student['TrackingID']; + $update_followup_details['UpdatedBy'] = $this->post('createdBy'); + $update_followup_details['StatusCode'] = $status; + $update_followup_details['AssignedTo'] = $this->post('assignedTo'); + $update_followup_details['UpdatedOn'] = $now->format('Y-m-d H:i:s'); + $update_followup_details['CreatedBranch'] = $this->post('branchId'); + + // followup details for insert + $followup_details['TrackingID'] = $student['TrackingID']; + $followup_details['FollowupOn'] = $this->post('date'); + $followup_details['CreatedBy'] = $this->post('createdBy'); + $followup_details['FollowupComments'] = $this->post('comments'); + $followup_details['CreatedOn'] = $now->format('Y-m-d H:i:s'); + $followup_details['StatusName'] = $status; + $followup_details['AssignedStaff'] = $this->post('assignedTo'); + $leadDetails['leadDetails'] = $this->Calltracking_model->updateFollowupDetails2($update_followup_details,$followup_details); + } + + if (sizeof($leadDetails)>0) + { + $leadDetails['status'] = REST_Controller::HTTP_OK; + // Set the response and exit + $this->response($leadDetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code + } + else { + // Set the response and exit + $this->response(['message' => 'Something went wrong.please try again!','status' => REST_Controller::HTTP_NOT_FOUND], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code + } + + } } \ No newline at end of file diff --git a/Apollo/api/application/models/Calltracking_model.php b/Apollo/api/application/models/Calltracking_model.php index c33d82d4..39f4d658 100755 --- a/Apollo/api/application/models/Calltracking_model.php +++ b/Apollo/api/application/models/Calltracking_model.php @@ -1014,6 +1014,35 @@ $msg='Dear '.$name.', Thank you for enquiring with Apollo Distance Education Col } + public function updateFollowupDetails2($updateDetails=null,$insertDetails=null) + { + + $deactivateStatus['IsActive']=false; + $this->db->where('TrackingID',$updateDetails['TrackingID']); + $this->db->update(LEAD_TRACKING_FOLLOWUP, $deactivateStatus); + if($this->db->affected_rows() > '0') { + $this->db->insert(LEAD_TRACKING_FOLLOWUP, $insertDetails); + // this if for insert follow up details + if ($this->db->affected_rows() == '1') { + $this->db->where('TrackingID', $updateDetails['TrackingID']); + $upateStatus = $this->db->update(LEAD_TRACKING, $updateDetails); + $result['leadStatus'] = true; + $result['message'] = "details updated"; + } else { + $result['leadStatus'] = false; + $result['message'] = "Something went wrong.please try again"; + } + } + else{ + $activateStatus['IsActive']=true; + $this->db->where('TrackingID',$updateDetails['TrackingID']); + $this->db->update(LEAD_TRACKING_FOLLOWUP, $activateStatus); + $result['leadStatus'] = false; + $result['message'] = "Something went wrong.please try again"; + } + + return $result; + } // public function getStatusName($statusArr){ // $arr = implode(',', $statusArr); // echo $arr; diff --git a/Apollo/assets/js/controllers/callTrackingCtrl.js b/Apollo/assets/js/controllers/callTrackingCtrl.js index 9e660b11..3d89d0e1 100755 --- a/Apollo/assets/js/controllers/callTrackingCtrl.js +++ b/Apollo/assets/js/controllers/callTrackingCtrl.js @@ -3,7 +3,7 @@ * controllers for ng-table * Simple table with sorting and filtering on AngularJS */ -app.controller('callTrackingCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$sessionStorage", "$http", "$state", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $sessionStorage, $http, $state) { +app.controller('callTrackingCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$sessionStorage", "$http", "$state","$modal", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $sessionStorage, $http, $state,$modal) { sessionStorage.setItem('searchName',''); sessionStorage.setItem('searchMobile',''); $scope.userType=JSON.parse(sessionStorage.getItem('localObj')).localType; @@ -104,7 +104,6 @@ app.controller('callTrackingCtrl', ["$scope","$rootScope","toaster", "$filter", } - /* * make a search date array */ @@ -359,7 +358,103 @@ if(checkresult != -1) }; } }; + $scope.trackForm2 = { + submit: function (form, myModel,loading,selectedStudents) { + // console.log(form); + // console.log(myModel); + // console.log(selectedStudents); + + if(isNaN(myModel.date)){ + $scope.nextFollowupDate = myModel.date; + } + else{ + $scope.getdate=new Date(myModel.date).toDateString(); + + $scope.nextFollowupDate = $filter('date')(new Date($scope.getdate), 'dd-MM-yyyy'); + } + + var firstError = null; + if (form.$invalid) { + + var field = null, firstError = null; + for (field in form) { + if (field[0] != '$') { + if (firstError === null && !form[field].$valid) { + firstError = form[field].$name; + } + if (form[field].$pristine) { + form[field].$dirty = true; + } + } + } + angular.element('.ng-invalid[name=' + firstError + ']').focus(); + // swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error"); + } else { + + $scope.ldloading1 = {}; + + $scope.ldloading1[loading.replace('-', '_')] = true; + /* hide this fun after branch level changes + if($scope.userType !='R004'){ + $scope.updateBranchID = JSON.parse(sessionStorage.getItem('localObj')).localBranchID; + $scope.updateAssignTo = myModel.assignedTo; + + } + else{ + $scope.updateBranchID = myModel.branch.BranchCode; + $scope.updateAssignTo = myModel.assignedTo; + + }*/ + + var updateFollowupDetails2 = { + method: 'POST', + url: apiPoint.url + 'updateFollowupDetails2/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + student:selectedStudents, + date: $scope.nextFollowupDate, + assignedTo: myModel.assignedTo, + status: myModel.status, + comments:myModel.comments, + createdBy: JSON.parse(sessionStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(sessionStorage.getItem('localObj')).localBranchID + + } + }; + $http(updateFollowupDetails2).then(function (response) { + if (response.data.status==200 && response.data.leadDetails.leadStatus == true) { + $rootScope.modalInstance.close(); + swal(" ", response.data.leadDetails.message, "success"); + $state.go($state.current, {}, { reload: true }); + } else { + + swal(" ", response.data.leadDetails.message, "error"); + } + }); + + + } + }, + reset: function (form) { + + $scope.myModel = angular.copy($scope.master); + form.$setPristine(true); + $scope.myModel = { + "studentName": "", + "mobileNumber": "", + "universityName": "", + "courseName": "", + "activity": "", + "assignedTo": "", + "status": "", + "referedBy": '', + "comments":'' + }; + } + }; /* * get student exist or not for add lead details @@ -719,6 +814,8 @@ $scope.GetstaffwiseDetails($scope.tod); $scope.$watch(function () { $scope.filteredItems = $scope.$eval(" data |filter:search2| filter:search3| filter:search4| filter:search5"); + // $scope.filteredItems = $scope.$eval(" data | filter:search3 "); + // console.log($scope.filteredItems); }); /** * Auto Call Tracking Sriram @@ -734,6 +831,8 @@ $scope.GetstaffwiseDetails($scope.tod); var len2 = $scope.data.length; var len = $scope.filteredItems.length; console.log("len2",len2); + console.log("len filter",len); + console.log($scope.filteredItems); var i = 0; for(i=0;i -
+
@@ -11,12 +11,9 @@
-
- + Followup date is required.
-
-
+ -
- - - Status is required +
+ + + +
+ -
+ -
+ -
+ +
+
-
- - - Assigned to is required +
+
+ + +
-
+
@@ -132,10 +129,10 @@ Submit -
diff --git a/Apollo/assets/views/callTrackingDetails.html b/Apollo/assets/views/callTrackingDetails.html index c3cfc360..cdbff8b0 100755 --- a/Apollo/assets/views/callTrackingDetails.html +++ b/Apollo/assets/views/callTrackingDetails.html @@ -99,7 +99,7 @@
- +
@@ -164,7 +164,6 @@
-