Skip to content

Commit

Permalink
Front API Integration (#110)
Browse files Browse the repository at this point in the history
Migrated Index & Show Views

Integrated Courses Correlatives New

Integrated Students Courses View
  • Loading branch information
MatiasMercado committed Feb 5, 2017
1 parent 092c171 commit fc098b3
Show file tree
Hide file tree
Showing 24 changed files with 510 additions and 270 deletions.
10 changes: 7 additions & 3 deletions app/scripts/controllers/admins/AdminsIndexCtrl.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
'use strict';

define(['paw', 'services/Admins'], function(paw) {
paw.controller('AdminsIndexCtrl', ['$routeParams', 'Admins',
function($routeParams, Admins) {
define(['paw','services/Admins','services/Paths'], function(paw) {
paw.controller('AdminsIndexCtrl', ['$routeParams', 'Admins', '$log', 'Paths', function($routeParams, Admins, $log, Paths) {

var _this = this;
this.filter = {
Expand All @@ -17,6 +16,11 @@ define(['paw', 'services/Admins'], function(paw) {

Admins.getList().then(function(admins) {
_this.admins = admins;
}, function(response) {
$log.info('Response status: ' + response.status);
if (response.status === 404) {
Paths.get().notFound().go();
}
});
}]);
});
29 changes: 9 additions & 20 deletions app/scripts/controllers/admins/AdminsShowCtrl.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,17 @@
'use strict';

define(['paw'], function(paw) {
paw.controller('AdminsShowCtrl', ['$routeParams', function($routeParams) {
define(['paw','services/Admins','services/Paths'], function(paw) {
paw.controller('AdminsShowCtrl', ['$routeParams', 'Admins', '$log', 'Paths', function($routeParams, Admins, $log, Paths) {
var _this = this;
var dni = $routeParams.adminDni; // For future Service calls

this.admin = {
firstName: 'Matías',
lastName: 'Mercado',
email: 'mmercado@itba.edu.ar',
genre: 'Masculino',
dni: '38917403',
birthday: '1995-05-04',
address: {
country: 'Argentina',
city: 'Buenos Aires',
neighborhood: 'Almagro',
number: '682',
street: 'Corrientes',
floor: '2',
door: 'A',
telephone: '1544683390',
zipCode: '1100'
Admins.get(dni).then(function(admin) {
_this.admin = admin;
}, function(response) {
$log.info('Response status: ' + response.status);
if (response.status === 404) {
Paths.get().notFound().go();
}
};
});
}]);
});
54 changes: 19 additions & 35 deletions app/scripts/controllers/courses/CoursesCorrelativesNewCtrl.js
Original file line number Diff line number Diff line change
@@ -1,41 +1,9 @@
'use strict';

define(['paw'], function(paw) {
paw.controller('CoursesCorrelativesNewCtrl', ['$routeParams', function($routeParams) {
define(['paw','services/Courses','services/Paths', 'controllers/modals/AddCorrelativeController'], function(paw) {
paw.controller('CoursesCorrelativesNewCtrl', ['$routeParams', 'Courses', '$log', 'Paths', function($routeParams, Courses, $log, Paths) {
var _this = this;

this.course = {
courseId: '72.03',
credits: 3,
name: 'Introducción a Informática',
semester: 1,
availableCorrelatives: [
{
courseId: '72.03',
credits: 3,
name: 'Introducción a Informática',
semester: 1
},
{
courseId: '94.21',
credits: 6,
name: 'Formacion General I',
semester: 5
},
{
courseId: '72.03',
credits: 3,
name: 'Introducción a Informática',
semester: 1
},
{
courseId: '94.21',
credits: 6,
name: 'Formacion General I',
semester: 5
}
]
};
var courseId = $routeParams.courseId;

this.filter = {
id: $routeParams.id,
Expand All @@ -45,5 +13,21 @@ define(['paw'], function(paw) {
this.filter = {};
};

Courses.get(courseId).then(function(course) {
_this.course = course;
_this.course.all('correlatives').customGET('available').then(function(correlatives) {
_this.course.availableCorrelatives = correlatives;
});
}, function(response) {
$log.info('Response status: ' + response.status);
if (response.status === 404) {
Paths.get().notFound().go();
}
});

this.getCoursePath = function(courseId) {
return Paths.get().courses({courseId: courseId}).path;
};

}]);
});
26 changes: 11 additions & 15 deletions app/scripts/controllers/courses/CoursesIndexCtrl.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use strict';
define(['paw'], function(paw) {
paw.controller('CoursesIndexCtrl', ['$routeParams', function($routeParams) {

define(['paw','services/Courses','services/Paths'], function(paw) {
paw.controller('CoursesIndexCtrl', ['$routeParams', 'Courses', '$log', 'Paths', function($routeParams, Courses, $log, Paths) {
var _this = this;
this.filter = {
courseId: $routeParams.courseId,
Expand All @@ -9,19 +10,14 @@ define(['paw'], function(paw) {
this.resetSearch = function() {
this.filter = {};
};
this.courses = [
{
courseId: '72.03',
credits: 3,
name: 'Introducción a Informática',
semester: 1
},
{
courseId: '94.21',
credits: 6,
name: 'Formacion General I',
semester: 5

Courses.getList().then(function(courses) {
_this.courses = courses;
}, function(response) {
$log.info('Response status: ' + response.status);
if (response.status === 404) {
Paths.get().notFound().go();
}
];
});
}]);
});
67 changes: 27 additions & 40 deletions app/scripts/controllers/courses/CoursesShowCtrl.js
Original file line number Diff line number Diff line change
@@ -1,53 +1,40 @@
'use strict';

define(['paw'], function(paw) {
paw.controller('CoursesShowCtrl', ['$routeParams', function($routeParams) {
define(['paw','services/Courses','services/Paths', 'controllers/modals/DeleteCorrelativeController'], function(paw) {
paw.controller('CoursesShowCtrl', ['$routeParams', 'Courses', '$log', 'Paths', function($routeParams, Courses, $log, Paths) {
var _this = this;
var courseId = $routeParams.courseId; // For future Service calls
var courseId = $routeParams.courseId;

this.formatDate = function(finalExamDate) {
var date = finalExamDate.split('T')[0];
var time = finalExamDate.split('T')[1];
return date.split('-')[2] + '/' + date.split('-')[1] + '/' + date.split('-')[0] + ' ' + time;
};

this.course = {
courseId: '93.42',
credits: 6,
name: 'Física II',
semester: 3,
correlatives: [
{
'courseId': '93.41',
'credits': 6,
'name': 'Física I',
'semester': 2
},
{
'courseId': '93.17',
'credits': 6,
'name': 'Matemática I',
'semester': 1
}
],
finalInscriptions: [
{
id: '1',
courseId: '93.42',
vacancy: '12',
maxVacancy: '50',
finalExamDate: '2017-01-20T18:45',
state: 'OPEN'
},
{
id: '2',
courseId: '93.42',
vacancy: '6',
maxVacancy: '50',
finalExamDate: '2017-02-15T14:00',
state: 'CLOSED'
}
]
this.getCorrelativePath = function(correlativeId) {
return Paths.get().courses({courseId: correlativeId}).path;
};
this.getFinalInscriptionPath = function(finalInscriptionId) {
return Paths.get().courses({courseId: courseId}).finals({inscriptionId: finalInscriptionId}).path;
};

Courses.get(courseId).then(function(course) {
_this.course = course;
_this.course.getList('correlatives').then(function(correlatives) {
_this.course.correlatives = correlatives;
});
_this.course.getList('finalInscriptions').then(function(finalInscriptions) {
_this.course.finalInscriptions = finalInscriptions;
});
}, function(response) {
$log.info('Response status: ' + response.status);
if (response.status === 404) {
Paths.get().notFound().go();
}
});

// this.getFinalInscriptionPath = function(finalInscriptionId) {
// return Paths.get().courses({courseId: courseId}).path;
// };
}]);
});
70 changes: 70 additions & 0 deletions app/scripts/controllers/modals/AddCorrelativeController.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
'use strict';

define(['paw', 'services/modalFactory', 'services/Courses', 'services/flashMessages'], function(paw) {
paw.controller('AddCorrelativeController',
['modalFactory', '$log', 'Courses', '$route', 'flashMessages',
function (modalFactory, $log, Courses, $route, flashMessages) {
var modalTemplateUrl = 'views/modals/add_correlative.html';
var onSuccess = function(result) {
Courses.addCorrelative(result.courseId, result.correlativeId)
.then(function(response) {
flashMessages.setSuccess('i18nAddCorrelativeSuccess');
$route.reload();
}, function(response) {
flashMessages.setError('i18nFormErrors');
$log.warn('[ERROR] - Response: ' + JSON.stringify(response));
$route.reload();
});
};

var onFailure = function(msg) {
$log.info(msg);
};

this.open = function (size, courseId, courseName, correlativeId, correlativeName) {
var resolve = getResolve(courseId, courseName, correlativeId, correlativeName);
modalFactory.create(size, 'AddCorrelativeModalInstanceController', modalTemplateUrl, resolve, onSuccess, onFailure);
};
}]);

paw.controller('AddCorrelativeModalInstanceController',
function($uibModalInstance, courseId, courseName, correlativeId, correlativeName) {
this.courseId = courseId;
this.courseName = courseName;
this.correlativeId = correlativeId;
this.correlativeName = correlativeName;

var _this = this;

this.ok = function () {
$uibModalInstance.close({
courseId: courseId,
courseName: courseName,
correlativeId: correlativeId,
correlativeName: correlativeName
});
};

this.cancel = function () {
$uibModalInstance.dismiss('Add correlative modal dismissed at: ' + new Date());
};
});

function getResolve(courseId, courseName, correlativeId, correlativeName) {
return {
courseId: function () {
return courseId;
},
courseName: function () {
return courseName;
},
correlativeId: function () {
return correlativeId;
},
correlativeName: function () {
return correlativeName;
}
};
};
}
);
70 changes: 70 additions & 0 deletions app/scripts/controllers/modals/DeleteCorrelativeController.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
'use strict';

define(['paw', 'services/modalFactory', 'services/Courses', 'services/flashMessages'], function(paw) {
paw.controller('DeleteCorrelativeController',
['modalFactory', '$log', 'Courses', '$route', 'flashMessages',
function (modalFactory, $log, Courses, $route, flashMessages) {
var modalTemplateUrl = 'views/modals/delete_correlative.html';
var onSuccess = function(result) {
Courses.deleteCorrelative(result.courseId, result.correlativeId)
.then(function(response) {
flashMessages.setSuccess('i18nDeleteCorrelativeSuccess');
$route.reload();
}, function(response) {
flashMessages.setError('i18nFormErrors');
$log.warn('[ERROR] - Response: ' + JSON.stringify(response));
$route.reload();
});
};

var onFailure = function(msg) {
$log.info(msg);
};

this.open = function (size, courseId, courseName, correlativeId, correlativeName) {
var resolve = getResolve(courseId, courseName, correlativeId, correlativeName);
modalFactory.create(size, 'DeleteCorrelativeModalInstanceController', modalTemplateUrl, resolve, onSuccess, onFailure);
};
}]);

paw.controller('DeleteCorrelativeModalInstanceController',
function($uibModalInstance, courseId, courseName, correlativeId, correlativeName) {
this.courseId = courseId;
this.courseName = courseName;
this.correlativeId = correlativeId;
this.correlativeName = correlativeName;

var _this = this;

this.ok = function () {
$uibModalInstance.close({
courseId: courseId,
courseName: courseName,
correlativeId: correlativeId,
correlativeName: correlativeName
});
};

this.cancel = function () {
$uibModalInstance.dismiss('Delete correlative modal dismissed at: ' + new Date());
};
});

function getResolve(courseId, courseName, correlativeId, correlativeName) {
return {
courseId: function () {
return courseId;
},
courseName: function () {
return courseName;
},
correlativeId: function () {
return correlativeId;
},
correlativeName: function () {
return correlativeName;
}
};
};
}
);
Loading

0 comments on commit fc098b3

Please sign in to comment.