--- /dev/null
+(function() {
+ "use strict";
+
+ angular
+ .module("nero.app.dashboard")
+ .factory("schedulerService", schedulerService);
+
+ schedulerService.$inject = ["$http", "$q", "$filter" , "errorHandlerService"];
+
+ function schedulerService($http, $q, $filter, errorHandlerService) {
+ return {
+ getStudentSchedule: getStudentSchedule,
+ getTeacherSchedule: getTeacherSchedule,
+ getChildren: getChildren,
+ getUserInfos: getUserInfos
+ };
+
+ // Get student scheduler events
+ function getStudentSchedule(userId, date){
+ var config = {};
+ config.params = {
+ cmd: "getStudentSchedule",
+ studentId: userId,
+ date: date
+ };
+
+ return $http.get(actionURLAjax, config)
+ .then(getStudentScheduleComplete)
+ ["catch"](getStudentScheduleFailed);
+
+ function getStudentScheduleComplete(response) {
+ if (response.data.success) {
+ return response.data;
+ }
+
+ // If success variable is false or undefined then throw an error
+ var message = $filter("translate")("nero.dashboard.services.scheduler.toastr-get-student-schedule-errorMessage");
+ var error = errorHandlerService.buildErrorObject(response, message);
+ return ($q.reject(error));
+ }
+
+ function getStudentScheduleFailed(error) {
+ // If message is undefined then throw unknown error. Otherwise, use expected error message.
+ if (!angular.isObject(error.data) || !error.data.message) {
+ var message = $filter("translate")("nero.dashboard.services.scheduler.toastr-get-student-schedule-errorMessage");
+ return ($q.reject(message));
+ }
+
+ return ($q.reject(error.data.message));
+ }
+ }
+
+ // Get teacher scheduler events
+ function getTeacherSchedule(userId, date){
+ var config = {};
+ config.params = {
+ cmd: "getTeacherSchedule",
+ teacherId: userId,
+ date: date
+ };
+
+ return $http.get(actionURLAjax, config)
+ .then(getTeacherScheduleComplete)
+ ["catch"](getTeacherScheduleFailed);
+
+ function getTeacherScheduleComplete(response) {
+ if (response.data.success) {
+ return response.data;
+ }
+
+ // If success variable is false or undefined then throw an error
+ var message = $filter("translate")("nero.dashboard.services.scheduler.toastr-get-teacher-schedule-errorMessage");
+ var error = errorHandlerService.buildErrorObject(response, message);
+ return ($q.reject(error));
+ }
+
+ function getTeacherScheduleFailed(error) {
+ // If message is undefined then throw unknown error. Otherwise, use expected error message.
+ if (!angular.isObject(error.data) || !error.data.message) {
+ var message = $filter("translate")("nero.dashboard.services.scheduler.toastr-get-teacher-schedule-errorMessage");
+ return ($q.reject(message));
+ }
+
+ return ($q.reject(error.data.message));
+ }
+ }
+
+
+ // Get parent's children list
+ function getChildren(userId){
+ var config = {};
+ config.params = {
+ cmd: "getChildren",
+ parentId: userId
+ };
+
+ return $http.get(actionURLAjax, config)
+ .then(getChildrenComplete)
+ ["catch"](getChildrenFailed);
+
+ function getChildrenComplete(response) {
+ if (response.data.success) {
+ return response.data;
+ }
+
+ // If success variable is false or undefined then throw an error
+ var message = $filter("translate")("nero.dashboard.services.scheduler.toastr-get-children-errorMessage");
+ var error = errorHandlerService.buildErrorObject(response, message);
+ return ($q.reject(error));
+ }
+
+ function getChildrenFailed(error) {
+ // If message is undefined then throw unknown error. Otherwise, use expected error message.
+ if (!angular.isObject(error.data) || !error.data.message) {
+ var message = $filter("translate")("nero.dashboard.services.scheduler.toastr-get-children-errorMessage");
+ return ($q.reject(message));
+ }
+
+ return ($q.reject(error.data.message));
+ }
+ }
+
+ // Get parent's children list
+ function getUserInfos(){
+ var config = {};
+ config.params = {
+ cmd: "getUserInfos"
+ };
+
+ return $http.get(actionURLAjax, config)
+ .then(getUserInfosComplete)
+ ["catch"](getUserInfosFailed);
+
+ function getUserInfosComplete(response) {
+ if (response.data.success) {
+ return response.data;
+ }
+
+ // If success variable is false or undefined then throw an error
+ var message = $filter("translate")("nero.dashboard.services.scheduler.toastr-get-user-infos-errorMessage");
+ var error = errorHandlerService.buildErrorObject(response, message);
+ return ($q.reject(error));
+ }
+
+ function getUserInfosFailed(error) {
+ // If message is undefined then throw unknown error. Otherwise, use expected error message.
+ if (!angular.isObject(error.data) || !error.data.message) {
+ var message = $filter("translate")("nero.dashboard.services.scheduler.toastr-get-user-infos-errorMessage");
+ return ($q.reject(message));
+ }
+
+ return ($q.reject(error.data.message));
+ }
+ }
+
+
+ }
+})();