587 lines
19 KiB
JavaScript
587 lines
19 KiB
JavaScript
'use strict';
|
|
/**
|
|
* controllers for ng-table
|
|
* Simple table with sorting and filtering on AngularJS
|
|
*/
|
|
|
|
app.controller('subjectCtrl', ["$scope", "$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state",'ipCookie', function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state,ipCookie) {
|
|
$scope.myModel = {
|
|
|
|
"university": "",
|
|
"course": "",
|
|
"batch": "",
|
|
"comments":"",
|
|
"switchsetting": true,
|
|
|
|
};
|
|
|
|
|
|
$rootScope.updateMoreItems = [];
|
|
$scope.editId = -1;
|
|
$rootScope.setEditId = function (pid,p) {
|
|
|
|
|
|
$rootScope.updateMoreItems=[];
|
|
// find index for fees type drop down list
|
|
|
|
angular.forEach(p.feesStructures, function(value, key){
|
|
$rootScope.updateMoreItems.push({
|
|
"ID":value.ID,
|
|
"Semester":value.Semester,
|
|
"SubjectCode":value.SubjectCode,
|
|
"SubjectName": value. SubjectName,
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
$scope.editId = pid;
|
|
};
|
|
|
|
|
|
$scope.viewId=-1;
|
|
$scope.setEditI = function (pid,p) {
|
|
$scope.editId=-1;
|
|
$scope.init();
|
|
$scope.viewId=p.ID;
|
|
$scope.editId = pid;
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
* cancel edit div
|
|
*
|
|
* */
|
|
$scope.cancel = function () {
|
|
$scope.init();
|
|
$scope.editId = -1;
|
|
|
|
};
|
|
|
|
// sorting function for table params
|
|
$scope.sort = function(keyname){
|
|
$scope.sortKey = keyname; //set the sortKey to the param passed
|
|
$scope.reverse = !$scope.reverse; //if true make it false and vice versa
|
|
}
|
|
|
|
/*
|
|
* Submit,update and reset Subject details
|
|
* @params myModel
|
|
*
|
|
* */
|
|
$scope.subjectFORM = {
|
|
submit: function (form, myModel,semYearModel,loading,addMoreItems) {
|
|
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;
|
|
$rootScope.addMoreItems.push({
|
|
|
|
|
|
Semester: semYearModel. Semester,
|
|
SubjectCode:semYearModel.SubjectCode,
|
|
SubjectName:semYearModel.SubjectName
|
|
});
|
|
|
|
|
|
var addSubject = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'addSubjectDetails/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
university:myModel.university,
|
|
course:myModel.course,
|
|
batch:myModel.batch,
|
|
semFeesAmounts:$rootScope.addMoreItems,
|
|
Comment:myModel.Comment,
|
|
createdBy: JSON.parse(localStorage.getItem('localObj')).localUserID
|
|
}
|
|
};
|
|
|
|
$http(addSubject).then(function (response) {
|
|
if (response.data.status==200 && response.data.SubjectStatus) {
|
|
|
|
// $scope.ldloading1[loading.replace('-', '_')] = false;
|
|
swal("Success!", response.data.message, "success");
|
|
$state.go($state.current, {}, {reload: true});
|
|
|
|
} else {
|
|
$rootScope.addMoreItems.splice($rootScope.addMoreItems.length-1);
|
|
// $scope.ldloading1[loading.replace('-', '_')] = false;
|
|
swal("Failed!", response.data.message, "error");
|
|
}
|
|
});
|
|
|
|
|
|
}
|
|
},
|
|
reset: function (form) {
|
|
$rootScope.addMoreItems = [];
|
|
|
|
$scope.myModel = angular.copy($scope.master);
|
|
form.$setPristine(true);
|
|
$scope.myModel = {
|
|
|
|
"university": "",
|
|
"course": "",
|
|
"batch": "",
|
|
"comments":"",
|
|
"switchsetting": true,
|
|
|
|
};
|
|
$scope.myModelSemYear = {
|
|
"Semester":"",
|
|
"SubjectCode":"",
|
|
"SubjectName":"",
|
|
};
|
|
|
|
|
|
$rootScope.myModelSemYear1 = {
|
|
"Semester":"",
|
|
"SubjectCode":"",
|
|
"SubjectName":"",
|
|
};
|
|
}
|
|
};
|
|
|
|
|
|
|
|
$rootScope.addMoreItems = [];
|
|
|
|
|
|
$scope.myModelSemYear = {
|
|
"Semester":"",
|
|
"SubjectCode":"",
|
|
"SubjectName":"",
|
|
};
|
|
|
|
$rootScope.addMoreFeesItems = function (model,form) {
|
|
|
|
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].$stop_name;
|
|
}
|
|
|
|
if (form[field].$pristine) {
|
|
form[field].$dirty = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
|
}
|
|
|
|
|
|
|
|
|
|
else {
|
|
$rootScope.addMoreItems.push({
|
|
|
|
Semester: model.Semester,
|
|
SubjectCode:model.SubjectCode,
|
|
SubjectName:model.SubjectName
|
|
});
|
|
|
|
|
|
$scope.myModelSemYear.Semester="";
|
|
$scope.myModelSemYear.SubjectCode="";
|
|
$scope.myModelSemYear.SubjectName="";
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
// //alert('Duplicate Semester: ' + checkDuplicateInObject('Semester', $rootScope.addMoreItems));
|
|
// alert('Duplicate SubjectCode: ' + checkDuplicateInObject('SubjectCode', $rootScope.addMoreItems));
|
|
// //alert('DuplicateSubjectName: ' + checkDuplicateInObject('SubjectName', $rootScope.addMoreItems));
|
|
|
|
|
|
// //
|
|
|
|
|
|
// if(checkDuplicateInObject('SubjectCode', $rootScope.addMoreItems) === false) {
|
|
// $scope.myModelSemYear.SubjectCode="";
|
|
|
|
// }else{
|
|
// $rootScope.addMoreItems.push({
|
|
|
|
// Semester: model.Semester,
|
|
// SubjectCode:model.SubjectCode,
|
|
// SubjectName:model.SubjectName
|
|
// });
|
|
|
|
// }
|
|
|
|
// $scope.myModelSemYear.SubjectCode="";
|
|
// $scope.myModelSemYear.Semester="";
|
|
// $scope.myModelSemYear.SubjectName="";
|
|
|
|
// function checkDuplicateInObject(propertyName, inputArray) {
|
|
// var seenDuplicate = true,
|
|
// testObject = {};
|
|
|
|
// inputArray.map(function(item) {
|
|
// var itemPropertyName = item[propertyName];
|
|
// if (itemPropertyName in testObject) {
|
|
// testObject[itemPropertyName].duplicate = true;
|
|
// item.duplicate = true;
|
|
// seenDuplicate = false;
|
|
// }
|
|
// else {
|
|
// testObject[itemPropertyName] = item;
|
|
// delete item.duplicate;
|
|
// }
|
|
// });
|
|
|
|
// return seenDuplicate;
|
|
// }
|
|
|
|
|
|
// function checkDuplicateInObject(propertyName, inputArray) {
|
|
// // alert(JSON.stringify(inputArray));
|
|
// var seenDuplicate = false;
|
|
// $rootScope.testObject = {};
|
|
|
|
// // alert(propertyName);
|
|
// // if(inputArray.length === 0) {
|
|
// // return $rootScope.seenDuplicate = true;
|
|
|
|
// // } else{
|
|
// inputArray.map(function(item) {
|
|
// alert(JSON.stringify(item));
|
|
// $rootScope.itemPropertyName = item[propertyName];
|
|
// if ($rootScope.itemPropertyName in $rootScope.testObject) {
|
|
// $rootScope.testObject[$rootScope.itemPropertyName].duplicate = true;
|
|
// item.duplicate = true;
|
|
// seenDuplicate = true;
|
|
// alert('kd');
|
|
// }
|
|
// else {
|
|
// $rootScope.testObject[$rootScope.itemPropertyName] = item;
|
|
// delete item.duplicate;
|
|
// }
|
|
// // alert(JSON.stringify($rootScope.testObject));
|
|
// });
|
|
// // }
|
|
|
|
|
|
// return seenDuplicate;
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///***updateupdateMoreItems */
|
|
$rootScope.updateMoreItems = [];
|
|
|
|
$rootScope.myModelSemYear1 = {
|
|
"Semester":"",
|
|
"SubjectCode":"",
|
|
"SubjectName":"",
|
|
};
|
|
$rootScope.updateMoreFeesItems = function (model,form) {
|
|
|
|
|
|
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].$stop_name;
|
|
}
|
|
|
|
if (form[field].$pristine) {
|
|
form[field].$dirty = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
|
}
|
|
|
|
|
|
|
|
|
|
else {
|
|
|
|
$rootScope.updateMoreItems.push({
|
|
|
|
ID:"",
|
|
Semester: model.Semester,
|
|
SubjectCode:model.SubjectCode,
|
|
SubjectName:model.SubjectName
|
|
|
|
});
|
|
|
|
|
|
}
|
|
$scope.myModelSemYear1.ID="";
|
|
$scope.myModelSemYear1.Semester="";
|
|
$scope.myModelSemYear1.SubjectCode="";
|
|
$scope.myModelSemYear1.SubjectName="";
|
|
}
|
|
|
|
////*****update subject details */
|
|
$scope.updateSubject = function (myModel, form,semYear, loading) {
|
|
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].$stop_name;
|
|
}
|
|
|
|
if (form[field].$pristine) {
|
|
form[field].$dirty = true;
|
|
}
|
|
}
|
|
}
|
|
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
|
} else {
|
|
if(semYear. Semester!="" || semYear.SubjectCode!=""|| semYear. SubjectName!=""){
|
|
$rootScope.updateMoreItems.push({
|
|
ID:"",
|
|
Semester:semYear. Semester,
|
|
SubjectCode:semYear.SubjectCode,
|
|
SubjectName: semYear. SubjectName,
|
|
|
|
|
|
});
|
|
}
|
|
|
|
$scope.ldloading = {};
|
|
|
|
$scope.ldloading[loading.replace('-', '_')] = true;
|
|
|
|
|
|
var update = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'updateSubjectDetails/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
|
|
data: {
|
|
|
|
semFeesAmounts:$rootScope.updateMoreItems,
|
|
Comments:myModel.Comments,
|
|
updateID: myModel.ID,
|
|
updatedBy: JSON.parse(localStorage.getItem('localObj')).localUserID
|
|
}
|
|
};
|
|
$http(update).then(function (response) {
|
|
if (response.data.status==200 && response.data.SubjectStatus) {
|
|
$scope.ldloading[loading.replace('-', '_')] = false;
|
|
$rootScope.updateMoreItems=[];
|
|
$rootScope.myModelSemYear1.ID="";
|
|
$rootScope.myModelSemYear1.Semester="";
|
|
$rootScope.myModelSemYear1.SubjectCode="";
|
|
$rootScope.myModelSemYear1.SubjectName="";
|
|
|
|
|
|
|
|
$scope.init();
|
|
$rootScope.updateMoreItems.splice( $rootScope.updateMoreItems.length-1);
|
|
swal("Success!", response.data.message, "success");
|
|
|
|
$scope.editId = -1;
|
|
|
|
|
|
} else {
|
|
$scope.ldloading[loading.replace('-', '_')] = false;
|
|
$scope.init();
|
|
swal("Failed!", response.data.message, "error");
|
|
$rootScope.updateMoreItems.splice( $rootScope.updateMoreItems.length-1);
|
|
// $rootScope.addMoreItems.splice($rootScope.addMoreItems.length-1);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/////**********/// */
|
|
var localDetail = JSON.parse(localStorage.getItem('localObj'));
|
|
var localDetails = ipCookie('cookiechk');
|
|
|
|
$scope.init = function () {
|
|
$scope.getUniversityList();
|
|
}
|
|
//GET UNIVERSITY dETAILS
|
|
|
|
$scope.universityData = '';
|
|
$scope.getUniversityList = function () {
|
|
var empListreq = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'getUniversity/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
data: localDetails
|
|
}
|
|
};
|
|
$http(empListreq).then(function (response) {
|
|
if (response.data.univList) {
|
|
$scope.universityData = response.data.university_details;
|
|
} else {
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
$scope.getUniversityList();
|
|
|
|
|
|
|
|
|
|
//GET COURSE&BATCH
|
|
|
|
$scope.courseLoading = false;
|
|
$scope.onSlecetUnivAdd = function () {
|
|
$scope.courseDataAdd = '';
|
|
$scope.batchDataAdd = '';
|
|
$scope.myModel.course = '';
|
|
$scope.myModel.batch = '';
|
|
$scope.courseLoading = true;
|
|
var univListreq = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'getCourseBatch/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
data: $scope.myModel.university
|
|
}
|
|
};
|
|
$http(univListreq).then(function (response) {
|
|
if (response.data.courseStatus) {
|
|
$scope.courseLoading = false;
|
|
$scope.courseDataAdd = response.data.course_details;
|
|
$scope.batchDataAdd = response.data.batch_details;
|
|
} else {
|
|
$scope.courseLoading = false;
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
$scope.loader='';
|
|
|
|
$rootScope.emptyData='';
|
|
|
|
|
|
$scope.init = function () {
|
|
|
|
$scope.loader='';
|
|
|
|
var getsubject = {
|
|
method: 'POST',
|
|
url: apiPoint.url + 'getSubjectDetails/',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID
|
|
}
|
|
};
|
|
|
|
$http(getsubject).then(function (response) {
|
|
if (response.data.status==200 && response.data.SubjectStatus) {
|
|
|
|
$scope.emptyData=true;
|
|
$scope.loader=true;
|
|
|
|
$scope.data = response.data.details;
|
|
//alert(JSON.stringify( $scope.data ));
|
|
///
|
|
// $scope.setModel = {
|
|
// "feesType": $scope.data[0],
|
|
|
|
|
|
// };
|
|
// //alert(JSON.stringify( $scope.data[0] ));
|
|
// // $scope.setTotalAmount=$scope.data[0].PayableFees;
|
|
|
|
|
|
// $rootScope.updateMoreItems=[];
|
|
|
|
// if($scope.data[0].feesStructures != '')
|
|
// // alert(JSON.stringify($scope.data[0].feesStructures))
|
|
|
|
// {
|
|
// $scope.myModelSemYear1.ID=$scope.data[0].feesStructures[$scope.data[0].feesStructures.length-1].ID;
|
|
// //alert(JSON.stringify( $scope.myModelSemYear1.ID ));
|
|
// $rootScope.myModelSemYear1.Semester=$scope.data[0].feesStructures[$scope.data[0].feesStructures.length-1].Semester;
|
|
// //alert(JSON.stringify( $scope.myModelSemYear1.Semester ));
|
|
// $rootScope.myModelSemYear1.SubjectCode=$scope.data[0].feesStructures[$scope.data[0].feesStructures.length-1].SubjectCode;
|
|
// //alert(JSON.stringify( $scope.myModelSemYear1.SubjectCode ));
|
|
// $rootScope.myModelSemYear1.SubjectName=$scope.data[0].feesStructures[$scope.data[0].feesStructures.length-1].SubjectName;
|
|
// //alert(JSON.stringify( $scope.myModelSemYear1.SubjectName ));
|
|
|
|
// for(var i=0; i < $scope.data[0].feesStructures.length-1; i++){
|
|
// $rootScope.updateMoreItems.push($scope.data[0].feesStructures[i]);
|
|
// }
|
|
// }
|
|
// // alert(JSON.stringify( $scope.data[0].feesStructures[i] ));
|
|
|
|
////////////
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
$scope.emptyData=false;
|
|
$scope.loader=true;
|
|
$scope.data = response.data.details;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}]);
|