'use strict'; /** * controllers for ng-table * Simple table with sorting and filtering on AngularJS */ app.controller('sessionMasterCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state" , "dateListDescService", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state, dateListDescService) { $scope.myModel = { "sessionName": "", "switchsetting": true }; /* * edit session details * created by kms * */ $scope.editId = -1; $scope.editModel = { "editDate": "", "editSessionName": "", }; $scope.setEditId = function (p) { $scope.editId = p.SessionID; $scope.editModel.editSessionName = p.SessionName; $scope.editModel.editDate = p.SessionDate; $scope.viewId = -1; $scope.splitUnivertyToArray = p.UniversityID.split(','); $scope.editUniverSity = []; angular.forEach($scope.splitUnivertyToArray, function (values, keys) { $scope.editUniverSity.push(values); }) $scope.viewUniversity = { list: $scope.editUniverSity, } }; /* * cancel edit div * created by kms * */ $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 session details * @params myModel * created by kms * */ $scope.sessionForm = { submit: function (form, myModel,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].$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; var addSession = { method: 'POST', url: apiPoint.url + 'addSessionMasterDetails/', headers: { 'Content-Type': 'application/json' }, data: { sessionName: myModel.sessionName, sessionDate: $filter('date')(new Date(myModel.date), 'dd-MM-yyyy'), universityName: myModel.universityName, status: myModel.switchsetting, createdBy: JSON.parse(localStorage.getItem('localObj')).localUserID, branchCode:JSON.parse(localStorage.getItem('localObj')).localBranchID } }; $http(addSession).then(function (response) { if (response.data.status==200 && response.data.sessionStatus) { $scope.ldloading1[loading.replace('-', '_')] = false; swal("", response.data.message, "success"); $state.go($state.current, {}, {reload: true}); } else { $scope.ldloading1[loading.replace('-', '_')] = false; swal("", response.data.message, "error"); } }); } }, reset: function (form) { $scope.myModel = { "sessionName": "", "switchsetting": true }; form.$setPristine(true); } }; /* * update the session details * created by kms * */ $scope.updateSession = function (myModel,university, form, loading,editModel) { 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 { $scope.ldloading = {}; $scope.ldloading[loading.replace('-', '_')] = true; var update = { method: 'POST', url: apiPoint.url + 'updateSessionMasterDetails/', headers: { 'Content-Type': 'application/json' }, data: { sessionID: myModel.SessionID, sessionDate: editModel.editDate, sessionName: editModel.editSessionName, status: myModel.IsActive, university: university.list, updatedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, branchCode:JSON.parse(localStorage.getItem('localObj')).localBranchID } }; $http(update).then(function (response) { if (response.data.status==200 && response.data.sessionStatus) { $scope.ldloading[loading.replace('-', '_')] = false; $scope.editId = -1; $scope.init(); swal("", response.data.message, "success"); } else { $scope.ldloading[loading.replace('-', '_')] = false; swal("", response.data.message, "error"); } }); } }; /* *get session details when page loading * * created by kms * */ $scope.loader=''; $scope.emptyData=''; $rootScope.init = function () { var logcheck = JSON.parse(localStorage.getItem('localObj')); const LOCALTYPE = logcheck.localType; if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' || LOCALTYPE == 'R002' || LOCALTYPE == 'R005')) { console.log("if"); }else { if(logcheck != null && LOCALTYPE !='R001') { console.log("else if"); $state.go('app.dashboard'); } else { console.log("else else"); //ipCookie.remove('cookiechk'); window.localStorage.clear(); $state.go('login.signin'); } } $scope.universityList = []; var getSession = { method: 'POST', url: apiPoint.url + 'getSessionMasterDetails/', headers: { 'Content-Type': 'application/json' }, data: { requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, branchCode:JSON.parse(localStorage.getItem('localObj')).localBranchID } }; $http(getSession).then(function (response) { if (response.data.status==200 && response.data.sessionStatus) { $scope.emptyData=true; $scope.loader=true; $scope.data = response.data.details; angular.forEach($scope.data,function (value,key) { var parts = value.SessionDate.split("-"); // console.log(new Date(parts[2], parts[1] - 1, parts[0])); value.givenDateObject=new Date(parts[2], parts[1] - 1, parts[0]); }); // call service for order by date in desc $scope.data=dateListDescService.getOrderByList($scope.data); } else { $scope.emptyData=false; $scope.loader=true; } angular.forEach(response.data.universityDetails, function (values, keys) { $scope.arrayData = { UniversityName: values.UniversityName, UniversityID: values.UniversityID }; $scope.universityList.push($scope.arrayData); }) }); }; /* * get date format * created by kms * */ $scope.getDateFormat = function (modelDate,type) { if(type=='1'){ $scope.myModel.sessionName=$filter('date')(new Date(modelDate), 'MMM-yyyy'); } else{ $scope.editModel.editSessionName=$filter('date')(new Date(modelDate), 'MMM-yyyy'); $scope.editModel.editDate=$filter('date')(new Date(modelDate), 'dd-MM-yyyy'); } } }]);