diff --git a/Apollo/api/application/controllers/StatusUpdation_Controller.php b/Apollo/api/application/controllers/StatusUpdation_Controller.php index c2a32aea..316c1c50 100644 --- a/Apollo/api/application/controllers/StatusUpdation_Controller.php +++ b/Apollo/api/application/controllers/StatusUpdation_Controller.php @@ -273,6 +273,8 @@ class StatusUpdation_Controller extends REST_Controller { 'Comments' => $reqData[$i]['Comments'], 'CreatedBy' => $reqDetails['localUserID'], 'CreatedOn' => $dateTime, + 'CertificationType' => $reqData[$i]['CertificateType'], + 'CertificationNo' =>$reqData[$i]['CertificateNumber'], ); } diff --git a/Apollo/api/application/controllers/Student_Controller.php b/Apollo/api/application/controllers/Student_Controller.php index 1843e41f..e43813e6 100755 --- a/Apollo/api/application/controllers/Student_Controller.php +++ b/Apollo/api/application/controllers/Student_Controller.php @@ -156,6 +156,7 @@ class Student_Controller extends REST_Controller { $req['IsActive'] = $data['IsActive']; $req['BranchID'] = $data['BranchID']; $req['EnrollmentID'] = $data['EnrollmentID']; + $req['DeactiveComments'] = $data['IsActive'] == 1 ? '': $data['DeactiveComments']; $req['UpdatedBy'] = $updatedBy; $date = date('Y-m-d H:i:s'); $req['UpdatedOn'] = $date; @@ -217,6 +218,8 @@ class Student_Controller extends REST_Controller { $req['ReferredBy'] = $data['ReferredBy']; $req['ReferersMobileNumber'] = $data['ReferersMobileNumber']; $req['ProfilePicPath'] = $data['ProfilePicPath']; + $req['Comments'] = $data['Comments']; + $req['DeactiveComments'] = $data['IsActive'] == 1 ? '': $data['DeactiveComments']; $req['IsActive'] = $data['IsActive']; @@ -277,6 +280,8 @@ class Student_Controller extends REST_Controller { $req['ReferredBy'] = $data['ReferredBy']; $req['ReferersMobileNumber'] = $data['ReferersMobileNumber']; $req['ProfilePicPath'] = $data['ProfilePicPath']; + $req['Comments'] = $data['Comments']; + $req['DeactiveComments'] = $data['IsActive'] == 1 ? '': $data['DeactiveComments']; $req['IsActive'] = $data['IsActive']; @@ -415,8 +420,11 @@ class Student_Controller extends REST_Controller { $req['ReferersMobileNumber'] = $data['referredmobilenumber']; $req['PreQualification'] = $data['prequalification']; $req['IsActive'] = $data['switchsetting']; + $req['Comments'] = $data['Comments']; $req['BranchCode'] = $createdBranch; + $req['DeactiveComments'] = $data['switchsetting'] == 1 ? '': $data['DeactiveComments']; + $req['CreatedBy'] = $createdBy; $date = date('Y-m-d H:i:s'); $req['CreatedOn'] = $date; @@ -484,8 +492,11 @@ class Student_Controller extends REST_Controller { $req['ReferersMobileNumber'] = $data['referredmobilenumber']; $req['PreQualification'] = $data['prequalification']; $req['IsActive'] = $data['switchsetting']; + $req['Comments'] = $data['Comments']; $req['BranchCode'] = $createdBranch; + $req['DeactiveComments'] = $data['switchsetting'] == 1 ? '': $data['DeactiveComments']; + $req['CreatedBy'] = $createdBy; $date = date('Y-m-d H:i:s'); $req['CreatedOn'] = $date; diff --git a/Apollo/api/application/models/StatusUpdation_model.php b/Apollo/api/application/models/StatusUpdation_model.php index 8d024479..6cea1732 100644 --- a/Apollo/api/application/models/StatusUpdation_model.php +++ b/Apollo/api/application/models/StatusUpdation_model.php @@ -57,6 +57,15 @@ class StatusUpdation_model extends CI_Model public function update_applicationStatus($arr) { $this->db->insert_batch(APPLICATION_STATUS, $arr); if ($this->db->affected_rows() >= 1) { + if($this->get_ListCode_status($arr[0]['ListCode'])){ + $dateToMsg = $arr[0]['AppDate']; + $statuToMsg = $this->get_status_name_ListCode($arr[0]['ListCode']); + $cerNamtToMsg = $this->get_certificate_name($arr[0]['CertificationType']); + $mesg = "Status Update : $cerNamtToMsg - $statuToMsg $dateToMsg."; + $this->smssend($arr, $mesg); + } + $result['addStatus'] = true; + $result['message'] = "Successfully Certification Status Updated"; $result['addStatus'] = true; $result['message'] = "Successfully Application Status Updated"; } else { @@ -161,7 +170,7 @@ class StatusUpdation_model extends CI_Model } else if ( $reqDetailsFor == 'APPICATION_STATUS' ) { $searchFor = 'A001'; $searchTableFor = APPLICATION_STATUS; - $this->db->select('t1.*, t4.Firstname, t5.ListName'); + $this->db->select('t1.*, t4.Firstname, t5.ListName, t6.CertificateName'); $this->db->from(''. $searchTableFor . ' as t1'); $this->db->where('t1.StudentID', $reqDetails['student']); // $this->db->join('' . COURSE_FEES . ' as t2', 't2.ID = t1.CourseID', 'LEFT'); @@ -169,6 +178,7 @@ class StatusUpdation_model extends CI_Model $this->db->join('' . LOGIN . ' as t3', 't3.ID = t1.CreatedBy', 'LEFT'); $this->db->join('' . STAFF . ' as t4', 't4.StaffID = t3.StaffID', 'LEFT'); $this->db->join('' . PICK_LIST_DETAILS . ' as t5', 't5.ListCode = t1.ListCode', 'LEFT'); + $this->db->join('' . CERTIFICATION . ' as t6', 't6.CertificationID = t1.CertificationType', 'LEFT'); $this->db->order_by('t1.CreatedOn', 'DESC'); $statusDetails = $this->db->get(); $prevStatusDetails = $statusDetails->result(); diff --git a/Apollo/assets/js/controllers/answerBookletStatusCtrl.js b/Apollo/assets/js/controllers/answerBookletStatusCtrl.js index e0b19cf8..09b34259 100644 --- a/Apollo/assets/js/controllers/answerBookletStatusCtrl.js +++ b/Apollo/assets/js/controllers/answerBookletStatusCtrl.js @@ -269,6 +269,7 @@ app.controller('answerBookletStatusCtrl', ["$scope", "toaster", "$filter", "ngTa 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.disableButton = true; var studentForUpdate = []; let formate = "dd-MM-yyyy"; $scope.myStatusModel.dateOn = $filter('date')(new Date($scope.myStatusModel.dateOn), formate); @@ -305,11 +306,13 @@ app.controller('answerBookletStatusCtrl', ["$scope", "toaster", "$filter", "ngTa $http(updateStudyMaterial).then(function (response) { if (response.data.addStatus) { swal("Success!", response.data.message, "success"); + $scope.disableButton = false; // for success state $scope.allSelected('undefined'); $scope.OpenWindowStatus = false; } else { swal("Failed!", response.data.message, "error"); + $scope.disableButton = false; } }); } diff --git a/Apollo/assets/js/controllers/applicationStatusCtrl.js b/Apollo/assets/js/controllers/applicationStatusCtrl.js index 061036c7..f3edca82 100644 --- a/Apollo/assets/js/controllers/applicationStatusCtrl.js +++ b/Apollo/assets/js/controllers/applicationStatusCtrl.js @@ -30,7 +30,29 @@ app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTabl $scope.init = function () { $scope.getUniversityList(); + getCertificateDetailsList(); } + + var getCertificateDetailsList = function() { + var getCerfreg = { + method: 'POST', + url: apiPoint.url + 'getCertificateList/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + data: localDetails + } + }; + $http(getCerfreg).then(function (response) { + if (response.data.certificateStatus) { + $scope.certificateData = response.data.certificate_details; + // alert(JSON.stringify($scope.certificateData)); + } else { + } + }); + } + $scope.searchData = { 'University': '', @@ -44,7 +66,9 @@ app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTabl 'semYear': '', 'staus': '', 'dateOn': '', - 'comment': '' + 'comment': '', + 'certificatetype': '', + 'certificateNumber': '' } $scope.universityData = ''; @@ -136,29 +160,41 @@ app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTabl // select all or individual functionality - var getAllSelected = function () { - var selectedItems = $scope.searchResultDetails.filter(function (item) { - return item.Selected; - }); + // var getAllSelected = function () { + // var selectedItems = $scope.searchResultDetails.filter(function (item) { + // return item.Selected; + // }); - return selectedItems.length === $scope.searchResultDetails.length; - } + // return selectedItems.length === $scope.searchResultDetails.length; + // } - var setAllSelected = function (value) { + // var setAllSelected = function (value) { + // angular.forEach($scope.searchResultDetails, function (item) { + // item.Selected = value; + // }); + // } + + // $scope.allSelected = function (value) { + // if (value !== undefined) { + // return setAllSelected(value); + // } else { + // return getAllSelected(); + // } + // } + + // End: select all or individual functionality + + // Select one row in a table once + $scope.setOneSelect = function (value) { + // alert(value.Selected); angular.forEach($scope.searchResultDetails, function (item) { item.Selected = value; }); + value.Selected = true; + $scope.OpenWindowStatus = true; + $scope.openUpdateWind(); } - $scope.allSelected = function (value) { - if (value !== undefined) { - return setAllSelected(value); - } else { - return getAllSelected(); - } - } - - // End: select all or individual functionality // open popup window onselct checkbox @@ -177,7 +213,9 @@ app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTabl 'semYear': '', 'staus': '', 'dateOn': '', - 'comment': '' + 'comment': '', + 'certificatetype': '', + 'certificateNumber': '' } } else { $scope.OpenWindowStatus = false; @@ -269,6 +307,7 @@ app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTabl 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.disableButton = true; var studentForUpdate = []; let formate = "dd-MM-yyyy"; $scope.myStatusModel.dateOn = $filter('date')(new Date($scope.myStatusModel.dateOn), formate); @@ -287,6 +326,8 @@ app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTabl this.SDate = $scope.myStatusModel.dateOn; this.Coursedetail = id; this.Comments = $scope.myStatusModel.comment; + this.CertificateType = $scope.myStatusModel.certificatetype; + this.CertificateNumber = $scope.myStatusModel.certificateNumber; } // alert(JSON.stringify($scope.myStatusModel)); // alert(JSON.stringify(studentForUpdate)); @@ -305,11 +346,22 @@ app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTabl $http(updateStudyMaterial).then(function (response) { if (response.data.addStatus) { swal("Success!", response.data.message, "success"); + $scope.disableButton = false; // for success state - $scope.allSelected('undefined'); + angular.forEach($scope.searchResultDetails, function (item) { + item.Selected = false; + }); + // $scope.OpenWindowStatus = false; $scope.OpenWindowStatus = false; } else { swal("Failed!", response.data.message, "error"); + $scope.disableButton = false; + // for success state + angular.forEach($scope.searchResultDetails, function (item) { + item.Selected = false; + }); + // $scope.OpenWindowStatus = false; + $scope.OpenWindowStatus = false; } }); } @@ -320,7 +372,9 @@ app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTabl 'semYear': '', 'staus': '', 'dateOn': '', - 'comment': '' + 'comment': '', + 'certificatetype': '', + 'certificateNumber': '' } } } diff --git a/Apollo/assets/js/controllers/certificationStatusCtrl.js b/Apollo/assets/js/controllers/certificationStatusCtrl.js index 859f50d7..b6541735 100644 --- a/Apollo/assets/js/controllers/certificationStatusCtrl.js +++ b/Apollo/assets/js/controllers/certificationStatusCtrl.js @@ -311,6 +311,7 @@ app.controller('certificationStatusCtrl', ["$scope", "toaster", "$filter", "ngTa 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.disableButton = true; var studentForUpdate = []; let formate = "dd-MM-yyyy"; $scope.myStatusModel.dateOn = $filter('date')(new Date($scope.myStatusModel.dateOn), formate); @@ -350,6 +351,7 @@ app.controller('certificationStatusCtrl', ["$scope", "toaster", "$filter", "ngTa $http(updateCertificateStatus).then(function (response) { if (response.data.addStatus) { swal("Success!", response.data.message, "success"); + $scope.disableButton = false; // for success state // $scope.allSelected('undefined'); angular.forEach($scope.searchResultDetails, function (item) { @@ -358,6 +360,7 @@ app.controller('certificationStatusCtrl', ["$scope", "toaster", "$filter", "ngTa $scope.OpenWindowStatus = false; } else { swal("Failed!", response.data.message, "error"); + $scope.disableButton = false; } }); } diff --git a/Apollo/assets/js/controllers/studentCtrl.js b/Apollo/assets/js/controllers/studentCtrl.js index f96eedfa..e76892ce 100755 --- a/Apollo/assets/js/controllers/studentCtrl.js +++ b/Apollo/assets/js/controllers/studentCtrl.js @@ -35,6 +35,8 @@ app.controller('studentCtrl', ["$scope", "toaster", "$filter", "ngTableParams", 'referredby': '', 'referredmobilenumber': '', 'switchsetting': true, + 'DeactiveComments': '', + 'Comments': '' }; $scope.myModelCourse = { @@ -483,8 +485,8 @@ app.controller('studentCtrl', ["$scope", "toaster", "$filter", "ngTableParams", $scope.files.length = 0; $scope.stepsModel.length = 0; } - - $scope.getChangeDate = function() { + + $scope.getChangeDate = function() { var formate = "dd-MM-yyyy"; $scope.myModel.dateofbirth = $filter('date')(new Date($scope.myModel.dateofbirth), formate); @@ -508,11 +510,10 @@ app.controller('studentCtrl', ["$scope", "toaster", "$filter", "ngTableParams", } 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 { + } else { $scope.disableButton = true; var formate = "dd-MM-yyyy"; $scope.myModel.switchsetting = $scope.myModel.switchsetting === true ? 1 : 0; - //$scope.myModel.dateofbirth = $filter('date')(new Date($scope.myModel.dateofbirth), formate); $scope.myModelCourseAdd.dateofjoining = $filter('date')(new Date($scope.myModelCourseAdd.dateofjoining), formate); var idStuProof = $scope.files[0]; @@ -591,6 +592,8 @@ app.controller('studentCtrl', ["$scope", "toaster", "$filter", "ngTableParams", 'dateofjoining': '', 'role': '', 'switchsetting': true, + 'DeactiveComments': '', + 'Comments': '' }; }, resetCourse: function (form) { form.$setPristine(true); diff --git a/Apollo/assets/js/controllers/studyMaterialStatusCtrl.js b/Apollo/assets/js/controllers/studyMaterialStatusCtrl.js index 7e765d3a..3c0521d2 100755 --- a/Apollo/assets/js/controllers/studyMaterialStatusCtrl.js +++ b/Apollo/assets/js/controllers/studyMaterialStatusCtrl.js @@ -268,6 +268,7 @@ app.controller('studyMaterialStatusCtrl', ["$scope", "toaster", "$filter", "ngTa 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.disableButton = true; var studentForUpdate = []; let formate = "dd-MM-yyyy"; $scope.myStatusModel.dateOn = $filter('date')(new Date($scope.myStatusModel.dateOn), formate); @@ -304,11 +305,13 @@ app.controller('studyMaterialStatusCtrl', ["$scope", "toaster", "$filter", "ngTa $http(updateStudyMaterial).then(function (response) { if (response.data.addStatus) { swal("Success!", response.data.message, "success"); + $scope.disableButton = false; // for success state $scope.allSelected('undefined'); $scope.OpenWindowStatus = false; } else { swal("Failed!", response.data.message, "error"); + $scope.disableButton = false; } }); } diff --git a/Apollo/assets/views/daybook/daybook.html b/Apollo/assets/views/daybook/daybook.html index a7982a29..879e660e 100644 --- a/Apollo/assets/views/daybook/daybook.html +++ b/Apollo/assets/views/daybook/daybook.html @@ -157,7 +157,7 @@ - Comments Should Less than 100 Charactes. + Comments Should be Less than 100 Charactes. Invalid Comments @@ -256,7 +256,7 @@ - Comments Should Less than 100 Characters. + Comments Should be Less than 100 Characters. Invalid Comments diff --git a/Apollo/assets/views/daybook/daybookadmin.html b/Apollo/assets/views/daybook/daybookadmin.html index 265e1988..31bd9b73 100644 --- a/Apollo/assets/views/daybook/daybookadmin.html +++ b/Apollo/assets/views/daybook/daybookadmin.html @@ -220,7 +220,7 @@ - Comments Should Less than 100 Characters. + Comments Should be Less than 100 Characters. Invalid Comments diff --git a/Apollo/assets/views/daybook/daybooksuperadmin.html b/Apollo/assets/views/daybook/daybooksuperadmin.html index d2361c21..95709c01 100644 --- a/Apollo/assets/views/daybook/daybooksuperadmin.html +++ b/Apollo/assets/views/daybook/daybooksuperadmin.html @@ -217,7 +217,7 @@ - Comments Should Less than 100 Characters. + Comments Should be Less than 100 Characters. Invalid Comments diff --git a/Apollo/assets/views/status-update/answer_booklet_status.html b/Apollo/assets/views/status-update/answer_booklet_status.html index 6c075f81..ca0f05c4 100644 --- a/Apollo/assets/views/status-update/answer_booklet_status.html +++ b/Apollo/assets/views/status-update/answer_booklet_status.html @@ -288,8 +288,8 @@
| First Name - - | -Last Name - - | MobileNumber | -Email ID - + | Student Name + + | +Father Name + + | +Status + + | +Comments + | Details | @@ -64,10 +67,12 @@
|---|---|---|---|---|---|---|---|---|
| {{p.Firstname}} | -{{p.Lastname}} | {{p.MobileNumber}} | -{{p.EmailID}} | +{{p.Firstname}} {{p.Lastname}} | +{{p.Fathername}} | +ACTIVE + DEACTIVE | +{{p.Comments}} |
@@ -117,6 +122,59 @@
+
+
+
+
+
+
+
+ ng-model="myModel.emailId" required>
Email is required.
Please, enter a valid email address.
@@ -377,6 +435,14 @@
Refer's Mobile Number is required.
Enter a Valid Phone Number
+
+
+ Comments Should be Less than 100 Characters.
+
+
@@ -396,50 +462,14 @@
-
+
+
+
+ Comments Should be Less than 100 Characters.
+ De-Active Comments is required
|