This commit is contained in:
gayathri1990 2018-08-18 18:24:06 +05:30
commit a5f99036dc
7 changed files with 1324 additions and 2 deletions

View File

@ -222,7 +222,7 @@ class StatusUpdation_model extends CI_Model {
$results['preStatusDetails'] = false;
$results['message'] = 'No record found';
}
} else if ($reqDetailsFor == 'APPICATION_STATUS') {
} else if ($reqDetailsFor == 'CERTIFICATE_STATUS') {
$searchFor = 'A001';
$searchTableFor = APPLICATION_STATUS;
$this->db->select('t1.*, t4.Firstname, t5.ListName, t6.CertificateName');

View File

@ -105,7 +105,8 @@
"STUDYMATERIAL": "STUDY MATERIAL",
"ANSWERBOOKLET": "ANSWER BOOKLET",
"MARKCARD": "MARK CARD",
"CERTIFICATE" : "CERTIFICATE"
"CERTIFICATE" : "CERTIFICATE",
"APPLICATION": "APPLICATION"
}
},
"status": {

View File

@ -157,6 +157,10 @@ app.constant('JS_REQUIRES', {
* student Certification status updation
* */
'markcardStatusCtrl': 'assets/js/controllers/markcardStatusCtrl.js',
/*
* student Application status updation
* */
'applicationStatusCtrl': 'assets/js/controllers/applicationStatusCtrl.js',
/*
* student Certification status updation
* */

View File

@ -333,6 +333,15 @@ app.config(['$stateProvider', '$urlRouterProvider', '$controllerProvider', '$com
label: 'Certificate Status'
},
// resolve: loadSequence('wizardCtrl')
}).state('app.student.status.application', {
url: '/application',
templateUrl: "assets/views/status-update/application_status.html",
title: 'Application Status',
resolve: loadSequence('ui.select','spin', 'ui.mask', 'spin', 'ladda', 'angular-ladda', 'ngTable', 'applicationStatusCtrl'),
ncyBreadcrumb: {
label: 'Application Status'
},
// resolve: loadSequence('wizardCtrl')
}).state('app.status.application', {
url: '/application',
templateUrl: "assets/views/form_elements.html",

View File

@ -0,0 +1,610 @@
'use strict';
/*** controller for Wizard Form example***/
app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTableParams", "API_POINTS", "$http", "SweetAlert", "$state", 'md5', 'ipCookie', 'dateListDescService', function ($scope, toaster, $filter, ngTableParams, apiPoint, $http, SweetAlert, $state, md5, ipCookie ,dateListDescService) {
/**
* Application status update search / Document status update
* by : kdk
*/
$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
}
$scope.editId = -1;
$scope.setEditId = function (P) {
// alert(P);
$scope.statusUpdationId = -1;
$scope.editId = P;
}
$scope.cancel = function () {
$scope.editId = -1;
}
// get local client details
var localDetail = JSON.parse(localStorage.getItem('localObj'));
var localDetails = ipCookie('cookiechk');
const localUpdateStatus = 'APPLICATIONFORM_STATUS';
$scope.localTypeSuperAdmin = false;
$scope.localBranchDetails = '';
$scope.init = function () {
// var logcheck = JSON.parse(localStorage.getItem('localObj'));
// const LOCALTYPE = logcheck.localType;
// if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
// 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');
// }
// }
if (localDetail != null) {
if (localDetails.localType === 'R004') {
$scope.localTypeSuperAdmin = true;
$scope.getUniversityList();
$scope.getBranchList();
getCertificateDetailsList();
} else {
$scope.getUniversityList();
getCertificateDetailsList();
}
} else {
}
}
$scope.getBranchList = function () {
$scope.loader = true;
var empListreq = {
method: 'POST',
url: apiPoint.url + 'getBranchListDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: localDetails
}
};
$http(empListreq).then(function (response) {
if (response.data.branDetailstatus) {
$scope.loader = false;
$scope.branchList_data = response.data.branch_details;
} else {
}
});
}
$scope.searchData = {
'University': '',
'Course': '',
'Batch': '',
'Mobile': '',
'Name': ''
}
$scope.myStatusModel = {
'semYear': '',
'staus': '',
'dateOn': '',
'comment': '',
'certificatetype': '',
'certificateNumber': ''
}
// get university list while page is loading
$scope.universityData = '';
$scope.getUniversityList = function () {
var empListreq = {
method: 'POST',
url: apiPoint.url + 'getUniveCourseBratch/',
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.getUniveId = function (univ) {
let name = JSON.parse(univ);
$scope.searchData.University = name.UniversityID;
$scope.searchData.Course = '';
$scope.searchData.Batch = '';
$scope.courseData = name.Course;
$scope.batchData = name.Batch;
//call service for array list in desc order based on date
angular.forEach($scope.batchData,function (values,key) {
var parts = values.BatchDate.split("-");
values.givenDateObject=new Date(parts[2], parts[1] - 1, parts[0]);
});
$scope.batchData=dateListDescService.getOrderByList($scope.batchData);
// end
$scope.OpenWindowStatus = false;
$scope.getSearch();
};
$scope.getValueChange = function () {
$scope.getSearch();
}
$scope.searchResultDetails = '';
$scope.searchLoading = false;
$scope.searchResultLength = 0;
// get student list From the searching data
$scope.getSearch = function () {
$scope.OpenWindowStatus = false;
$scope.searchLoading = true;
var getSearchDetails = {
method: 'POST',
url: apiPoint.url + 'getSearchAutoDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: $scope.searchData,
requestDetails: localDetails
}
};
$http(getSearchDetails).then(function (response) {
if (response.data.searchResult) {
$scope.searchResultStatus = response.data.searchResult;
$scope.searchLoading = false;
let searchResultDetailsBef = response.data.search_result_details;
const filterAddSelect = searchResultDetailsBef.filter(val => {
val['Selected'] = false;
return val;
});
$scope.searchResultDetails = filterAddSelect;
$scope.searchResultLength = Object.keys($scope.searchResultDetails).length;
} else {
$scope.searchLoading = false;
}
});
}
// mobile number search functionlity
$scope.mySearchChangeFunc = function (val) {
// if (val > 0) {
// $scope.allSelectedHide = true;
// $scope.allSelected('undefined');
// $scope.OpenWindowStatus = false;
// } else {
// $scope.allSelected('undefined');
// $scope.allSelectedHide = false;
// }
}
// End: mobile number search functionlity
// select all or individual functionality
// var getAllSelected = function () {
// var selectedItems = $scope.searchResultDetails.filter(function (item) {
// return item.Selected;
// });
// return selectedItems.length === $scope.searchResultDetails.length;
// }
// 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();
angular.forEach($scope.searchResultDetails, function (item) {
item.Selected = false;
});
$scope.editId = -1;
$scope.statusUpdationId = value.UNI_ID;
value.Selected = true;
$scope.OpenWindowStatus = true;
$scope.openUpdateWind(value);
}
// unselect all the selected item
$scope.unSelect = function () {
angular.forEach($scope.searchResultDetails, function (item) {
item.Selected = false;
});
$scope.statusUpdationId = -1;
$scope.openUpdateWind();
}
// open popup window onselct checkbox clicked or close popup window all the clicked items unchecked
$scope.OpenWindowStatus = false;
$scope.openUpdateWind = function (p) {
alert(JSON.stringify(p));
var details = {
studId: p.StudentID,
courseId: p.CourseID
}
alert(JSON.stringify(details));
var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
if (item.Selected === true) { return true; }
});
if (ItemsSelected.length !== 0) {
const courseLocal = $scope.searchData.Course;
$scope.getApplicationFromDetails(courseLocal);
$scope.getStatusList();
$scope.OpenWindowStatus = true;
$scope.myStatusModel = {
'semYear': '',
'staus': '',
'dateOn': '',
'comment': '',
'certificatetype': '',
'certificateNumber': ''
}
} else {
$scope.OpenWindowStatus = false;
}
}
// get status list for this activity
$scope.getStatusList = function () {
var getStatusL = {
method: 'POST',
url: apiPoint.url + 'getStatusListForUpdate/',
headers: {
'Content-Type': 'application/json'
},
data: {
statusFor: 'studyMaterial',
data: localUpdateStatus,
reqBranch: localDetails.localBranchID
}
};
$http(getStatusL).then(function (response) {
if (response.data.statusList) {
$scope.statusDetailsList = response.data.statusList_details;
} else {
// $scope.searchLoading = false;
}
});
}
// get Sem/Year based on the course select
$scope.getSemYearList = function (courseID) {
$scope.semYearList = '';
if (courseID !== '' && courseID !== undefined) {
var getSemYear = {
method: 'POST',
url: apiPoint.url + 'getSemYearForCourse/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: courseID
}
};
$http(getSemYear).then(function (response) {
if (response.data.semYearResult) {
$scope.semYearList = response.data.semYear_result_details;
} else {
$scope.semYearList = '';
}
});
} else {
}
}
$scope.statusUpdate = {
submit: function (form, myStatusModel, localBranchDetails) {
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 {
// alert(localDetail.localBranchID);
// alert(localBranchDetails);
localDetails.localBranchID = localBranchDetails !== '' ? localBranchDetails : localDetails.localBranchID ;
localDetail.localBranchID = localBranchDetails !== '' ? localBranchDetails : localDetail.localBranchID ;
// alert(localDetail.localBranchID);
$scope.disableButton = true;
var studentForUpdate = [];
let formate = "dd-MM-yyyy";
$scope.myStatusModel.dateOn = $filter('date')(new Date($scope.myStatusModel.dateOn), formate);
var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
if (item.Selected === true) {
let getStudentID = new getStudentForUpdateDetails(item.StudentID, item.CourseID, item.BranchCode);
studentForUpdate.push(getStudentID);
return true;
}
});
function getStudentForUpdateDetails(id, courseId, dCode) {
this.StudentID = id;
this.CourseID = courseId;
this.BranchCode = dCode;
this.ListCode = $scope.myStatusModel.staus;
this.SDate = $scope.myStatusModel.dateOn;
this.Coursedetail = id;
this.Comments = $scope.myStatusModel.comment;
this.CertificateType = $scope.myStatusModel.certificatetype;
this.CertificateNumber = $scope.myStatusModel.certificateNumber;
}
var updateStudyMaterial = {
method: 'POST',
url: apiPoint.url + 'updateApplicationStatus/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: studentForUpdate,
requestDetails: localDetails
}
};
$http(updateStudyMaterial).then(function (response) {
if (response.data.addStatus) {
swal(" ","Updated successfully.", "success");
$scope.disableButton = false;
// for success state
angular.forEach($scope.searchResultDetails, function (item) {
item.Selected = false;
});
// $scope.OpenWindowStatus = false;
$scope.OpenWindowStatus = false;
} else {
swal(" ", 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;
}
});
}
},
reset: function (form) {
form.$setPristine(true);
$scope.myStatusModel = {
'semYear': '',
'staus': '',
'dateOn': '',
'comment': '',
'certificatetype': '',
'certificateNumber': ''
}
}
}
// check unchek for table values
$scope.prevStatusListForStudentCourse = '';
// get previous status details for the student
$scope.getPrevStatus = function (p) {
// alert(JSON.stringify(p));
$scope.prevStatusListForStudentCourseLoading = true;
$scope.prevStatusListForStudentCourseNoRecord = false;
$scope.prevStatusListForStudentCourse = '';
var getPrevStatus = {
method: 'POST',
url: apiPoint.url + 'getPrevStatusDetailsForStu/',
headers: {
'Content-Type': 'application/json'
},
data: {
statusFor: localUpdateStatus,
getDetailsFor: { "student": p.StudentID, "CourseID": p.CourseID },
data: localDetail
}
};
$http(getPrevStatus).then(function (response) {
if (response.data.preStatusDetails) {
$scope.prevStatusListForStudentCourseLoading = false;
$scope.prevStatusListForStudentCourse = response.data.preStatus_details_list;
$scope.prevNoRecordFound = false;
} else {
$scope.prevStatusListForStudentCourseLoading = false;
$scope.prevStatusListForStudentCourseNoRecord = true;
$scope.prevNoRecordFound = true;
}
});
}
}]);
/*modal controller
* */
app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log", "API_POINTS", "$http", function ($scope, $rootScope, $modal, $log,apiPoint,$http) {
//Tooltip for print button
$scope.dynamicTooltip = 'Student View';
// $scope.items = ['item1', 'item2', 'item3'];
$scope.open = function (studentDetails) {
// get student view details
var getcourse = {
method: 'POST',
url: apiPoint.url + 'getStudentBasicInfo/',
headers: {
'Content-Type': 'application/json'
},
data: {
requestedBy :studentDetails.MobileNumber,
requestedFrom: 3,
branchCode:JSON.parse(localStorage.getItem('localObj')).localBranchID
}
};
$http(getcourse).then(function (response) {
if (response.data.status == 200 && response.data.studentStatus== true) {
$scope.courseEditLoading = false;
// $scope.studentDetails = response.data.studentDetails;
$scope.studentDetails = response.data;
// $scope.courseDetails = response.data.courseDetails;
var modalInstance = $modal.open({
templateUrl: 'assets/views/student/studentDetailsModal.html',
controller: 'ModalInstanceCtrl',
// size: size,
resolve: {
items: function () {
return $scope.studentDetails;
}
}
});
modalInstance.result.then(function (selectedItem) {
$scope.selected = selectedItem;
}, function () {
$log.info('Modal dismissed at: ' + new Date());
});
} else {
swal("Failed!", "This student is not registerd", "warning");
$scope.courseEditLoading = false;
$scope.studentDetails = "";
$scope.courseDetails = "";
}
});
};
$scope.open1 = function (values,type) {
var modalInstance1 = $modal.open({
templateUrl: 'assets/views/student/studentPaymentModal.html',
controller: 'ModalInstanceCtrl1',
// size: size,
resolve: {
items1: function () {
var myvalues =
{
"values":values,
"type":type
};
return myvalues;
}
}
});
modalInstance1.result.then(function (selectedItem) {
$scope.selected = selectedItem;
}, function () {
$log.info('Modal dismissed at: ' + new Date());
});
};
$scope.printStudentDetails = function (details) {
$rootScope.pdfItems = details;
var printInstance = $modal.open({
templateUrl: 'assets/views/student/studentPdf.html',
controller: 'studentModalDemoCtrl',
});
};
// generate pdf for student view
$scope.export = function(getName) {
kendo.drawing.drawDOM($("#exportthis")).then(function(group) {
kendo.drawing.pdf.saveAs(group, getName+".pdf");
});
}
}]);
// Please note that $modalInstance represents a modal window (instance) dependency.
// It is not the same as the $modal service used above.
app.controller('ModalInstanceCtrl', ["$scope", "$modalInstance", "items","WordsService", function ($scope, $modalInstance, items,WordsService) {
$scope.items = items;
$scope.selected = {
item: $scope.items[0]
};
$scope.ok = function () {
$modalInstance.close($scope.selected.item);
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
}]);
app.controller('ModalInstanceCtrl1', ["$scope", "$modalInstance", "items1","WordsService", function ($scope, $modalInstance, items1,WordsService) {
$scope.items1 = items1.values;
$scope.selectedtype = items1.type;
$scope.ok = function () {
$modalInstance.close($scope.selected.item);
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
}]);
app.filter('unique', function() {
return function(collection, primaryKey, secondaryKey) { //optional secondary key
var output = [],
keys = [];
angular.forEach(collection, function(item) {
var key;
secondaryKey === undefined ? key = item[primaryKey] : key = item[primaryKey][secondaryKey];
if(keys.indexOf(key) === -1) {
keys.push(key);
output.push(item);
}
});
return output;
};
});

View File

@ -208,6 +208,11 @@
Certificate
</a>
</li>
<!--<li ui-sref-active="active">
<a ui-sref="app.student.status.application" translate="sidebar.nav.student.status.APPLICATION" ng-click="checkSuperAdmin()">
Application
</a>
</li>-->
</ul>
</li>
</ul>

View File

@ -0,0 +1,693 @@
<!-- start: PAGE TITLE -->
<section id="page-title">
<div class="row">
<div class="col-sm-8">
<h1 class="mainTitle" translate="sidebar.nav.student.status.APPLICATION">{{ mainTitle }}</h1>
<span class="mainDescription">Update application status.</span>
</div>
<div ncy-breadcrumb></div>
</div>
</section>
<!-- end: PAGE TITLE -->
<!-- start: STUDY MATERIAL STATUS -->
<div class="container-fluid container-fullw bg-white">
<div class="row">
<div class="col-md-12">
<!-- /// controller: 'UserCtrl' - localtion: assets/js/controllers/userCtrl.js /// -->
<div ng-controller="applicationStatusCtrl">
<!-- start: STATUS -->
<div class="container" ng-init="init()">
<div class="row">
<!--<pre>{{searchData | json }}</pre> -->
<div class="col-md-4">
<label for="form-field-select-2">
University
</label>
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="university" ng-model="myModelCourseAdd"
ng-change="getUniveId(myModelCourseAdd)">
<option value="" disabled selected>Select University</option>
<option ng-repeat="item in universityData" value="{{item}}">{{item.UniversityName}}</option>
</select>
</div>
<div class="col-md-4">
<label for="form-field-select-2">
Batch
</label>
<select class="form-control" tabindex="3" class="cs-select cs-skin-elastic" name="batch" ng-model="searchData.Batch" ng-change="getValueChange()">
<option value="" selected>Select Batch</option>
<option ng-repeat="itemBatch in batchData" value="{{itemBatch.BatchCode}}">{{itemBatch.BatchName}}</option>
</select>
</div>
<div class="col-md-4">
<div class="col-md-12">
<div class="col-md-12">
<label for="form-field-select-2">
Course
</label>
</div>
<div class="col-md-12">
<select ui-select2 class="form-control" tabindex="2" class="cs-select cs-skin-elastic" name="course" ng-model="searchData.Course" ng-change="getValueChange()">
<option value="" selected>Select Course</option>
<option ng-repeat="itemCourse in courseData" value="{{itemCourse.CourseID}}">{{itemCourse.CourseName}}<span ng-show="itemCourse.CourseCode != ''">(<strong>{{itemCourse.CourseCode}}</strong>)</span></option>
</select>
</div>
</div>
</div>
</div>
</div>
<div>
<div class="container">
<div class="row">
</div>
</div>
</div>
<!--<pre> {{ searchResultDetails | json }}</pre>-->
<div>
<!--// student search result-->
<div ng-if="searchLoading === true">
<!--search loading start-->
<div style="padding: auto 0; color: #007AFF; font-weight: bold; text-align:center;
margin-top: 25px;">
<h4 style="color: inherit">fetching...</h4>
</div>
<!--search loading end-->
</div>
<div ng-if="searchLoading === false">
<div class="col-md-12" ng-if="searchResultStatus == false" style="min-height: 281px;">
<p style="color: red;" align="center"><strong><h4 class="text-center">No
records found... </h4></strong></p>
</div>
<div class="col-md-12" ng-if="searchResultStatus == true">
<div class="col-md-12" ng-if="searchResultLength === 0" style="min-height: 281px;">
<p style="color: red;" align="center"><strong><h4 class="text-center">No
records found... </h4></strong></p>
</div>
<div class="table-responsive" ng-if="searchResultLength > 0">
<!--// search-->
<div class="container">
<div class="row">
<div class="col-md-3">
<label for="form-field-select-2">
Mobile Number/Name
</label>
<script>
$(function () {
$("#search").focus();
});
</script>
<style>
.sort-icon {
font-size: 9px;
margin-left: 5px;
}
th {
cursor: pointer;
}
</style>
<input class="form-control" type="text" ng-change="mySearchChangeFunc(search.MobileNumber)" ng-model="search"
id="search" autofocus tabindex="1" placeholder="Search Mobile/Name" /><br><br>
</div>
</div>
</div>
<table class="table table-hover" ng-controller="studentModalDemoCtrl">
<thead>
<tr>
<th>
<!--<input type="checkbox" ng-hide="allSelectedHide" ng-model="allSelected" ng-change="openUpdateWind()" ng-model-options="{getterSetter: true}"
/>-->
</th>
<th ng-click="sort('Firstname')">First Name
<span class="glyphicon sort-icon" ng-show="sortKey=='Firstname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th ng-click="sort('Lastname')">Last Name
<span class="glyphicon sort-icon" ng-show="sortKey=='Lastname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th ng-click="sort('MobileNumber')">MobileNumber
<span class="glyphicon sort-icon" ng-show="sortKey=='MobileNumber'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th ng-click="sort('EmailID')">Email ID
<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th ng-click="sort('CourseName')">Course
<span class="glyphicon sort-icon" ng-show="sortKey=='CourseName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
</tr>
</thead>
<tbody dir-paginate="p in searchResultDetails|filter:search:strict|orderBy:sortKey:reverse|itemsPerPage:10">
<tr>
<td>
<label>
<!--<input type="checkbox" ng-model="p.Selected" ng-click="setOneSelect(p)" />-->
<span> <i tooltip="STATUS UPDATE" class="ti-slice" ng-click="setOneSelect(p)" ></i> </span>
<!--{{p.StudentID}}-->
</label>
</td>
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Firstname}}</a></td>
<td>{{p.Lastname}}</td>
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.MobileNumber}}</a></td>
<td>{{p.EmailID}}</td>
<td>{{p.CourseName}}(<strong>{{p.CourseCode}}</strong>)</td>
<td class="center">
<span> <i tooltip="STATUS DETAILS" class="glyphicon glyphicon-list-alt" ng-click="setEditId(p.UNI_ID)"></i> </span>
</td>
</tr>
<tr ng-show="editId ===p.UNI_ID" ng-if="editId === p.UNI_ID">
<!--<td><pre>{{p.StudentID}}</pre></td>-->
<td colspan="7">
<div class="container" style="background-color: rgb(248, 248, 248);
border-radius: 6px;padding: 22px;" ng-init="getPrevStatus(p)">
<div ng-if="prevStatusListForStudentCourseLoading" class="text-center">
<h3>Fetching ...</h3>
</div>
<div ng-if="!prevStatusListForStudentCourseLoading">
<div ng-if="!prevNoRecordFound">
<table class="table">
<thead style="background-color: cadetblue">
<th>Status</th>
<th>Comments</th>
<th>Document Name</th>
<th>Date</th>
<th>Updated By</th>
</thead>
<tbody ng-repeat="s in prevStatusListForStudentCourse">
<td>{{s.ListName}}</td>
<td><span style="white-space:pre-wrap;">{{s.Comments}}</span></td>
<td>{{s.CertificateName}}</td>
<td>{{s.AppDate}}</td>
<td>{{s.Firstname}}</td>
</tbody>
</table>
</div>
<div ng-if="prevNoRecordFound">
<p style="color: red;" align="center"><strong><h4 class="text-center">No
Status Details Exist ... </h4></strong></p>
</div>
<div class="pull-right">
<button type="reset" class="btn btn-warning btn-sm" tabindex="20" ng-click="cancel()">
Cancel
</button>
</div>
</div>
</div>
</td>
</tr>
<tr ng-show="statusUpdationId ===p.UNI_ID" ng-if="statusUpdationId === p.UNI_ID">
<td colspan="7">
<div ng-if="OpenWindowStatus">
<div ng-if="!localTypeSuperAdmin"><form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, myStatusModel , localBranchDetails)" method="post">
<style>
#cancel_button {
margin-top: 1px;
margin-right: 2px;
position: absolute;
top: 0;
right: 0;
}
</style>
<div class="container">
<div class="row">
<div class="col-md-3">
</div>
<div class="col-md-6">
<fieldset style="background-color: #eaeaea;">
<legend>
Update Status
</legend>
<div>
<a id="cancel_button" ng-click="unSelect()" tooltip="Close">
<span class="glyphicon glyphicon-remove-circle"></span>
</a>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.certificatetype.$dirty && Form.certificatetype.$invalid, 'has-success':Form.certificatetype.$valid}">
<label for="form-field-select-2">
Certificate Type <span class="symbol required"></span>
</label>
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="certificatetype" ng-model="myStatusModel.certificatetype"
required>
<option value="" disabled selected>Select Certificate Type</option>
<option ng-repeat="itemCerf in certificateData" value="{{itemCerf.CertificationID}}">{{itemCerf.CertificateName}}</option>
</select>
<span class="error text-small block" ng-if="Form.certificatetype.$dirty && Form.certificatetype.$error.required">Certificate Type is Required</span>
</div>
<div class="col-md-6 form-group" ng-class="{'has-error':Form.certificateNumber.$dirty && Form.certificateNumber.$invalid }">
<label>
Certificate Number
</label>
<input type="text" name="certificateNumber" tabindex="5" placeholder="Enter Document Number" class="form-control" ng-model="myStatusModel.certificateNumber"
/>
<span class="error text-small block" ng-if="Form.certificateNumber.$dirty && Form.certificateNumber.$error.required">Certificate Number is Required </span>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid, 'has-success':Form.status.$valid}">
<label for="form-field-select-2">
Status <span class="symbol required"></span>
</label>
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="status" ng-model="myStatusModel.staus"
required>
<option value="" disabled selected>Select Status</option>
<option ng-repeat="itemStatus in statusDetailsList" value="{{itemStatus.ListCode}}">{{itemStatus.ListName}}</option>
</select>
<span class="error text-small block" ng-if="Form.status.$dirty && Form.status.$error.required">Status is Required</span>
</div>
<div data-ng-controller="DatepickerDemoCtrl">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.dateofstaus.$dirty && Form.dateofstaus.$invalid, 'has-success':Form.dateofstaus.$valid}">
<label>
Date <span
class="symbol required"></span>
</label>
<input type="text" tabindex="6" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myStatusModel.dateOn"
is-open="startOpen" ng-init="startOpen = false" name="dateofstaus"
datepicker-options="dateOptions" placeholder="Select Date " close-text="Close"
required="required" ng-change="getMaxEndDate(myModel.startDate)"
/>
<span class="error text-small block" ng-if="Form.dateofstaus.$dirty && Form.dateofstaus.$invalid" ng-hide="Form.dateofstaus.$error.maxlength">Date is required.</span>
<span class="error text-small block" ng-if="Form.dateofstaus.$error.maxlength">Enter a Valid Date</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.description.$dirty && Form.description.$invalid}">
<label>
Comments
</label>
<textarea type="text" placeholder="Enter Comments" tabindex="7" class="form-control" name="description" ng-model="myStatusModel.comment"
/>
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="pull-right">
<button type="submit" ng-disabled="disableButton" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-wide btn-success"
data-style="zoom-in">
<i class="fa fa-circle-o-notch fa-spin" ng-if="disableButton" style="font-size:14px"></i> Submit
</button>
<button type="reset" tabindex="9" class="btn btn-warning btn-wide" tabindex="9" ng-click="statusUpdate.reset(Form)">
Reset
</button>
</div>
</div>
</div>
</fieldset>
</div>
<div class="col-md-3">
</div>
</div>
</div>
</form></div>
<div ng-if="localTypeSuperAdmin"><form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, myStatusModel , localBranchDetails)" method="post">
<style>
#cancel_button {
margin-top: 1px;
margin-right: 2px;
position: absolute;
top: 0;
right: 0;
}
</style>
<div class="container">
<div class="row">
<div class="col-md-3">
</div>
<div class="col-md-6">
<fieldset style="background-color: #eaeaea;">
<legend>
Update Status
</legend>
<div>
<a id="cancel_button" ng-click="unSelect()" tooltip="Close">
<span class="glyphicon glyphicon-remove-circle"></span>
</a>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.certificatetype.$dirty && Form.certificatetype.$invalid, 'has-success':Form.certificatetype.$valid}">
<label for="form-field-select-2">
Certificate Type <span class="symbol required"></span>
</label>
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="certificatetype" ng-model="myStatusModel.certificatetype"
required>
<option value="" disabled selected>Select Certificate Type</option>
<option ng-repeat="itemCerf in certificateData" value="{{itemCerf.CertificationID}}">{{itemCerf.CertificateName}}</option>
</select>
<span class="error text-small block" ng-if="Form.certificatetype.$dirty && Form.certificatetype.$error.required">Certificate Type is Required</span>
</div>
<div class="col-md-6 form-group" ng-class="{'has-error':Form.certificateNumber.$dirty && Form.certificateNumber.$invalid }">
<label>
Certificate Number
</label>
<input type="text" name="certificateNumber" tabindex="5" placeholder="Enter Document Number" class="form-control" ng-model="myStatusModel.certificateNumber"
/>
<span class="error text-small block" ng-if="Form.certificateNumber.$dirty && Form.certificateNumber.$error.required">Certificate Number is Required </span>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid, 'has-success':Form.status.$valid}">
<label for="form-field-select-2">
Status <span class="symbol required"></span>
</label>
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="status" ng-model="myStatusModel.staus"
required>
<option value="" disabled selected>Select Status</option>
<option ng-repeat="itemStatus in statusDetailsList" value="{{itemStatus.ListCode}}">{{itemStatus.ListName}}</option>
</select>
<span class="error text-small block" ng-if="Form.status.$dirty && Form.status.$error.required">Status is Required</span>
</div>
<div data-ng-controller="DatepickerDemoCtrl">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.dateofstaus.$dirty && Form.dateofstaus.$invalid, 'has-success':Form.dateofstaus.$valid}">
<label>
Date <span
class="symbol required"></span>
</label>
<input type="text" tabindex="6" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myStatusModel.dateOn"
is-open="startOpen" ng-init="startOpen = false" name="dateofstaus"
datepicker-options="dateOptions" placeholder="Select Date " close-text="Close"
required="required" ng-change="getMaxEndDate(myModel.startDate)"
/>
<span class="error text-small block" ng-if="Form.dateofstaus.$dirty && Form.dateofstaus.$invalid" ng-hide="Form.dateofstaus.$error.maxlength">Date is required.</span>
<span class="error text-small block" ng-if="Form.dateofstaus.$error.maxlength">Enter a Valid Date</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.description.$dirty && Form.description.$invalid}">
<label>
Comments
</label>
<textarea type="text" placeholder="Enter Comments" tabindex="7" class="form-control" name="description" ng-model="myStatusModel.comment"
/>
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="pull-right">
<button type="submit" ng-disabled="disableButton" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-wide btn-success"
data-style="zoom-in">
<i class="fa fa-circle-o-notch fa-spin" ng-if="disableButton" style="font-size:14px"></i> Submit
</button>
<button type="reset" tabindex="9" class="btn btn-warning btn-wide" tabindex="9" ng-click="statusUpdate.reset(Form)">
Reset
</button>
</div>
</div>
</div>
</fieldset>
</div>
<div class="col-md-3">
</div>
</div>
</div>
</form></div>
</div>
</td>
</tr>
</tbody>
</table>
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
</dir-pagination-controls>
</div>
</div>
<!--<div ng-if="OpenWindowStatus">
<div ng-if="!localTypeSuperAdmin"><form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, myStatusModel , localBranchDetails)" method="post">
<style>
#cancel_button {
margin-top: 1px;
margin-right: 2px;
position: absolute;
top: 0;
right: 0;
}
</style>
<div class="container">
<div class="row">
<div class="col-md-3">
</div>
<div class="col-md-6">
<fieldset style="background-color: #eaeaea;">
<legend>
Update Status
</legend>
<div>
<a id="cancel_button" ng-click="unSelect()" tooltip="Close">
<span class="glyphicon glyphicon-remove-circle"></span>
</a>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.certificatetype.$dirty && Form.certificatetype.$invalid, 'has-success':Form.certificatetype.$valid}">
<label for="form-field-select-2">
Document Type <span class="symbol required"></span>
</label>
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="certificatetype" ng-model="myStatusModel.certificatetype"
required>
<option value="" disabled selected>Select Document Type</option>
<option ng-repeat="itemCerf in certificateData" value="{{itemCerf.CertificationID}}">{{itemCerf.CertificateName}}</option>
</select>
<span class="error text-small block" ng-if="Form.certificatetype.$dirty && Form.certificatetype.$error.required">Document Type is Required</span>
</div>
<div class="col-md-6 form-group" ng-class="{'has-error':Form.certificateNumber.$dirty && Form.certificateNumber.$invalid }">
<label>
Document Number
</label>
<input type="text" name="certificateNumber" tabindex="5" placeholder="Enter Document Number" class="form-control" ng-model="myStatusModel.certificateNumber"
/>
<span class="error text-small block" ng-if="Form.certificateNumber.$dirty && Form.certificateNumber.$error.required">Document Number is Required </span>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid, 'has-success':Form.status.$valid}">
<label for="form-field-select-2">
Status <span class="symbol required"></span>
</label>
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="status" ng-model="myStatusModel.staus"
required>
<option value="" disabled selected>Select Status</option>
<option ng-repeat="itemStatus in statusDetailsList" value="{{itemStatus.ListCode}}">{{itemStatus.ListName}}</option>
</select>
<span class="error text-small block" ng-if="Form.status.$dirty && Form.status.$error.required">Status is Required</span>
</div>
<div data-ng-controller="DatepickerDemoCtrl">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.dateofstaus.$dirty && Form.dateofstaus.$invalid, 'has-success':Form.dateofstaus.$valid}">
<label>
Date <span
class="symbol required"></span>
</label>
<input type="text" tabindex="6" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myStatusModel.dateOn"
is-open="startOpen" ng-init="startOpen = false" name="dateofstaus"
datepicker-options="dateOptions" placeholder="Select Date " close-text="Close"
required="required" ng-change="getMaxEndDate(myModel.startDate)"
/>
<span class="error text-small block" ng-if="Form.dateofstaus.$dirty && Form.dateofstaus.$invalid" ng-hide="Form.dateofstaus.$error.maxlength">Date is required.</span>
<span class="error text-small block" ng-if="Form.dateofstaus.$error.maxlength">Enter a Valid Date</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.description.$dirty && Form.description.$invalid}">
<label>
Comments
</label>
<textarea type="text" placeholder="Enter Comments" tabindex="7" class="form-control" name="description" ng-model="myStatusModel.comment"
/>
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="pull-right">
<button type="submit" ng-disabled="disableButton" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-wide btn-success"
data-style="zoom-in">
<i class="fa fa-circle-o-notch fa-spin" ng-if="disableButton" style="font-size:14px"></i> Submit
</button>
<button type="reset" tabindex="9" class="btn btn-warning btn-wide" tabindex="9" ng-click="statusUpdate.reset(Form)">
Reset
</button>
</div>
</div>
</div>
</fieldset>
</div>
<div class="col-md-3">
</div>
</div>
</div>
</form></div>
<div ng-if="localTypeSuperAdmin"><form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, myStatusModel , localBranchDetails)" method="post">
<style>
#cancel_button {
margin-top: 1px;
margin-right: 2px;
position: absolute;
top: 0;
right: 0;
}
</style>
<div class="container">
<div class="row">
<div class="col-md-3">
</div>
<div class="col-md-6">
<fieldset style="background-color: #eaeaea;">
<legend>
Update Status
</legend>
<div>
<a id="cancel_button" ng-click="unSelect()" tooltip="Close">
<span class="glyphicon glyphicon-remove-circle"></span>
</a>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.certificatetype.$dirty && Form.certificatetype.$invalid, 'has-success':Form.certificatetype.$valid}">
<label for="form-field-select-2">
Document Type <span class="symbol required"></span>
</label>
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="certificatetype" ng-model="myStatusModel.certificatetype"
required>
<option value="" disabled selected>Select Document Type</option>
<option ng-repeat="itemCerf in certificateData" value="{{itemCerf.CertificationID}}">{{itemCerf.CertificateName}}</option>
</select>
<span class="error text-small block" ng-if="Form.certificatetype.$dirty && Form.certificatetype.$error.required">Document Type is Required</span>
</div>
<div class="col-md-6 form-group" ng-class="{'has-error':Form.certificateNumber.$dirty && Form.certificateNumber.$invalid }">
<label>
Document Number
</label>
<input type="text" name="certificateNumber" tabindex="5" placeholder="Enter Document Number" class="form-control" ng-model="myStatusModel.certificateNumber"
/>
<span class="error text-small block" ng-if="Form.certificateNumber.$dirty && Form.certificateNumber.$error.required">Document Number is Required </span>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid, 'has-success':Form.status.$valid}">
<label for="form-field-select-2">
Status <span class="symbol required"></span>
</label>
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="status" ng-model="myStatusModel.staus"
required>
<option value="" disabled selected>Select Status</option>
<option ng-repeat="itemStatus in statusDetailsList" value="{{itemStatus.ListCode}}">{{itemStatus.ListName}}</option>
</select>
<span class="error text-small block" ng-if="Form.status.$dirty && Form.status.$error.required">Status is Required</span>
</div>
<div data-ng-controller="DatepickerDemoCtrl">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.dateofstaus.$dirty && Form.dateofstaus.$invalid, 'has-success':Form.dateofstaus.$valid}">
<label>
Date <span
class="symbol required"></span>
</label>
<input type="text" tabindex="6" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myStatusModel.dateOn"
is-open="startOpen" ng-init="startOpen = false" name="dateofstaus"
datepicker-options="dateOptions" placeholder="Select Date " close-text="Close"
required="required" ng-change="getMaxEndDate(myModel.startDate)"
/>
<span class="error text-small block" ng-if="Form.dateofstaus.$dirty && Form.dateofstaus.$invalid" ng-hide="Form.dateofstaus.$error.maxlength">Date is required.</span>
<span class="error text-small block" ng-if="Form.dateofstaus.$error.maxlength">Enter a Valid Date</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group" ng-class="{'has-error':Form.description.$dirty && Form.description.$invalid}">
<label>
Comments
</label>
<textarea type="text" placeholder="Enter Comments" tabindex="7" class="form-control" name="description" ng-model="myStatusModel.comment"
/>
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="pull-right">
<button type="submit" ng-disabled="disableButton" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-wide btn-success"
data-style="zoom-in">
<i class="fa fa-circle-o-notch fa-spin" ng-if="disableButton" style="font-size:14px"></i> Submit
</button>
<button type="reset" tabindex="9" class="btn btn-warning btn-wide" tabindex="9" ng-click="statusUpdate.reset(Form)">
Reset
</button>
</div>
</div>
</div>
</fieldset>
</div>
<div class="col-md-3">
</div>
</div>
</div>
</form></div>
</div>-->
</div>
</div>
</div>
</div>
</div>
</div>
<!-- end: STUDY MATERIAL STATUS -->
<section id="page-title">
<div class="row">
<div class="col-sm-8">
<!--<h1 class="mainTitle" translate="sidebar.nav.student.status.STUDYMATERIAL">{{ mainTitle }}</h1>
<span class="mainDescription"></span>-->
</div>
<!--<div ncy-breadcrumb></div>-->
</div>
</section>