Commit ca6e98f8 authored by Evren Kutar's avatar Evren Kutar

list student controller routes

fake server list item edit
parent 2320c175
...@@ -21,7 +21,7 @@ app.config(['$routeProvider', function ($routeProvider) { ...@@ -21,7 +21,7 @@ app.config(['$routeProvider', function ($routeProvider) {
}] }]
} }
}) })
.when('/student_add', { .when('/s/add', {
templateUrl: 'components/student/student_add_template.html', templateUrl: 'components/student/student_add_template.html',
controller: 'StudentAddEditCtrl', controller: 'StudentAddEditCtrl',
resolve: { resolve: {
...@@ -36,6 +36,36 @@ app.config(['$routeProvider', function ($routeProvider) { ...@@ -36,6 +36,36 @@ app.config(['$routeProvider', function ($routeProvider) {
}] }]
} }
}) })
.when('/s/edit/:id', {
templateUrl: 'components/student/student_add_template.html',
controller: 'StudentAddEditCtrl',
resolve: {
loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('components/student/student_controller.js');
}],
loadMyService: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('zetalib/forms/form_service.js');
}],
loadMyService2: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('zetalib/general.js');
}]
}
})
.when('/students', {
templateUrl: 'components/student/student_list_template.html',
controller: 'StudentListCtrl',
resolve: {
loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('components/student/student_controller.js');
}],
loadMyService: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('zetalib/forms/form_service.js');
}],
loadMyService2: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('zetalib/general.js');
}]
}
})
.otherwise({redirectTo: '/dashboard'}); .otherwise({redirectTo: '/dashboard'});
}]).run(function ($rootScope, $location, $cookies) { }]).run(function ($rootScope, $location, $cookies) {
/** /**
......
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
var student = angular.module('zaerp.student.add', ['ngRoute', 'schemaForm', 'formService', 'general']); var student = angular.module('zaerp.student.add', ['ngRoute', 'schemaForm', 'formService', 'general']);
/** /**
* StudentAddCtrl * StudentAddEditCtrl
* to add student, provide form with form generator * to add or edit student, provide form with form generator
*/ */
student.controller('StudentAddEditCtrl', function($scope, $http, $log, Generator, $routeParams){ student.controller('StudentAddEditCtrl', function($scope, $http, $log, Generator, $routeParams){
...@@ -35,11 +35,22 @@ student.controller('StudentAddEditCtrl', function($scope, $http, $log, Generator ...@@ -35,11 +35,22 @@ student.controller('StudentAddEditCtrl', function($scope, $http, $log, Generator
} }
); );
}); });
$scope.onSubmit = function (form) { $scope.onSubmit = Generator.submit($scope);
$scope.$broadcast('schemaFormValidate'); //$scope.$broadcast('schemaFormValidate');
if (form.$valid) { //if (form.$valid) {
// todo: implement form diff here // todo: implement form diff here
$log.info($scope.initialModel, $scope.model); //Generator.submit($scope);
} //$log.info($scope.initialModel, $scope.model);
} //}
//}
});
/**
* Student List Controller
*/
student.controller('StudentListCtrl', function($scope, $http){
$http.get('http://127.0.0.1:3000/api/list_student').then(function(res){
$scope.students = res.data;
})
}); });
\ No newline at end of file
<table class="table table-bordered">
<thead>
<tr>
<th ng-repeat="(key,value) in students[0]">{{ key }}</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="student in students">
<td ng-repeat="(key,value) in student">{{value}}</td>
<td><a ng-href="#/s/edit/{{student.id}}">Edit</a></td>
</tr>
</tbody>
</table>
\ No newline at end of file
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
var form_generator = angular.module('formService', []); var form_generator = angular.module('formService', []);
form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL) { form_generator.factory('Generator', function ($http, $q, $log, $timeout, RESTURL) {
var generator = {}; var generator = {};
generator.generate = function (modelObject) { generator.generate = function (modelObject) {
return generator.group(modelObject); return generator.group(modelObject);
...@@ -54,12 +54,11 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL) { ...@@ -54,12 +54,11 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL) {
return deferred.promise; return deferred.promise;
} }
}; };
generator.submit = function (form, $scope, $log) { generator.submit = function ($scope) {
$scope.$broadcast('schemaFormValidate'); $scope.$broadcast('schemaFormValidate');
if (form.$valid) { //if ($scope.form.$valid) {
// todo: implement form diff here $http.post('http://127.0.0.1:3000/api/add_student', $scope.model).then(function(res){$log.info(res);});
$log.info($scope.model); //}
}
}; };
return generator; return generator;
}); });
\ No newline at end of file
...@@ -43,7 +43,48 @@ var form = new fake.Resource("add_student") ...@@ -43,7 +43,48 @@ var form = new fake.Resource("add_student")
} }
}); });
var student = new fake.Resource("list_student")
.add({'deleted': false,
'archived': false,
'auth_info': {'email': 'suuper@suup.com',
'password': '123',
'username': 'foo_user'},
'bio': 'Lorem impsum dolar sit amet falan filan',
'join_date': '2015-05-16T00:00:00Z',
'lectures': [{'attendance': [{'attended': false,
'date': '2015-05-09T00:00:00Z',
'hour': 2},
{'attended': true,
'date': '2015-05-10T00:00:00Z',
'hour': 4}],
'code': 'math101',
'credit': 4,
'exams': [
{'date': '2015-05-11T00:00:00Z', 'point': 65,
'type': 'Q'}],
'name': 'Introduction to Math',
'node_in_list_node': {'foo': 'FOOOO'}},
{'attendance': [{'attended': false,
'date': '2015-05-13T00:00:00Z',
'hour': 2},
{'attended': true,
'date': '2015-05-14T00:00:00Z',
'hour': 4}],
'code': 'rock101',
'credit': 10,
'exams': [
{'date': '2015-05-15T00:00:00Z', 'point': 65,
'type': 'Q'}],
'name': 'Introduction to Rocking',
'node_in_list_node': {'foo': 'FOOOO'}}],
'name': 'Jack',
'number': '20300344',
'pno': '2343243433',
'surname': 'Black',
'timestamp': null});
var server = new fake.Server() var server = new fake.Server()
.register(login) .register(login)
.register(form) .register(form)
.register(student)
.listen(3000); .listen(3000);
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment