2015-06-29 16:23:14 +00:00
|
|
|
angular.module('SeHub')
|
|
|
|
.controller('classController', ['$scope', '$routeParams', '$cookies', '$cookieStore', '$window', '$location', '$mdToast', '$mdDialog', 'apiService', '$rootScope', function ($scope, $routeParams, $cookies, $cookieStore, $window, $location, $mdToast, $mdDialog, apiService ,$rootScope)
|
|
|
|
{
|
|
|
|
var token = $cookies['com.sehub.www'];
|
2015-06-29 18:01:30 +00:00
|
|
|
var classId = $routeParams.classId;
|
|
|
|
$scope.project = {};
|
|
|
|
$scope.project.courseName = $routeParams.className;
|
2015-06-29 16:23:14 +00:00
|
|
|
$scope.projectsEmpty = true;
|
|
|
|
$scope.isCreateProjectClicked = false;
|
|
|
|
$scope.submitNewCourseClicked = false;
|
|
|
|
$scope.loadingData = true;
|
|
|
|
$scope.isInCourse = false;
|
2015-06-29 18:01:30 +00:00
|
|
|
|
2015-06-29 16:23:14 +00:00
|
|
|
|
|
|
|
$scope.displayProjects = function()
|
|
|
|
{
|
|
|
|
apiService.getProjectsByCourse(token, classId).success(function(data) // Get all the campuses
|
|
|
|
{
|
|
|
|
$scope.loadingData = false;
|
|
|
|
$scope.projects = data;
|
|
|
|
if($scope.projects != null && $scope.projects.length > 0)
|
|
|
|
{
|
|
|
|
$scope.projectsEmpty = false;
|
|
|
|
}
|
|
|
|
init(); // Executing the function to initialize projects display
|
|
|
|
console.log("project created! not rly!! " + classId);
|
|
|
|
}).error(function(err)
|
|
|
|
{
|
|
|
|
console.log("Error: " + err);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
$scope.joinCourse = function()
|
|
|
|
{
|
|
|
|
apiService.joinCourse(token, classId).success(function(data)
|
|
|
|
{
|
|
|
|
$scope.isInCourse = true;
|
|
|
|
$mdDialog.show($mdDialog.alert().title('Joined Course').content('You have successfully joined course.')
|
|
|
|
.ariaLabel('Join course alert dialog').ok('Lets Start!').targetEvent())
|
|
|
|
.then(function() {
|
|
|
|
$location.path('/class/' + classId); // TODO TODO TODO
|
|
|
|
}); // Pop-up alert
|
|
|
|
}).error(function(err)
|
|
|
|
{
|
|
|
|
$mdDialog.show($mdDialog.alert().title('Error Joining Course').content(err.message + '.')
|
|
|
|
.ariaLabel('Join course alert dialog').ok('Try Again!').targetEvent()); // Pop-up alert
|
|
|
|
// .then(function() {
|
|
|
|
// // $location.path('/newCourse'); // TODO TODO TODO
|
|
|
|
// });
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
$scope.createProjectClicked = function()
|
|
|
|
{
|
|
|
|
// console.log("project created! is it ?!???! " + classId);
|
|
|
|
$scope.isCreateProjectClicked = !$scope.isCreateProjectClicked;
|
|
|
|
}
|
|
|
|
|
|
|
|
$scope.submitNewProject = function()
|
|
|
|
{
|
|
|
|
loadingData = true;
|
|
|
|
// debugger;
|
|
|
|
var intClassId = parseInt(classId);
|
|
|
|
// console.log($scope);
|
|
|
|
var jsonNewProj =
|
|
|
|
{
|
|
|
|
'projectName': $scope.project.projectName,
|
|
|
|
'courseId': intClassId,
|
|
|
|
'gitRepository': $scope.project.repoOwner + '/' + $scope.project.gitRepoName
|
|
|
|
};
|
|
|
|
console.log(jsonNewProj);
|
|
|
|
|
|
|
|
if($scope.project.logoUrl)
|
|
|
|
jsonNewProj.logo_url = $scope.project.logoUrl;
|
|
|
|
|
|
|
|
|
2015-07-02 18:24:01 +00:00
|
|
|
apiService.createProject(token, jsonNewProj).success(function(data)
|
2015-06-29 16:23:14 +00:00
|
|
|
{
|
|
|
|
loadingData = false;
|
|
|
|
projectId = data.id;
|
|
|
|
$mdDialog.show($mdDialog.alert().title('Project Created').content('You have successfully created project.')
|
|
|
|
.ariaLabel('Project created alert dialog').ok('Great!').targetEvent())
|
|
|
|
.then(function() {
|
|
|
|
$location.path('/project/' + projectId); // TODO TODO TODO
|
|
|
|
}); // Pop-up alert
|
|
|
|
|
|
|
|
}).error(function(err)
|
|
|
|
{
|
|
|
|
console.log("Error: " + err.message);
|
|
|
|
$mdDialog.show($mdDialog.alert().title('Error Creating Project').content('You have failed Creating the project.')
|
|
|
|
.ariaLabel('Create project alert dialog').ok('Try Again!').targetEvent()); // Pop-up alert
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
$scope.goToProject = function(projectId)
|
|
|
|
{
|
|
|
|
console.log("projects only from classID: " + projectId)
|
|
|
|
$location.path('/project/' + projectId);
|
|
|
|
}
|
|
|
|
|
|
|
|
var init = function()
|
|
|
|
{
|
|
|
|
$scope.arrayHolder = [];
|
|
|
|
var tempArr = [];
|
|
|
|
var sizeOfSmallArrays = 3;
|
|
|
|
for (var i = 0 ; i < $scope.projects.length ; i++) {
|
|
|
|
if(i % sizeOfSmallArrays !== 0){
|
|
|
|
tempArr.push($scope.projects[i]);
|
|
|
|
}else{
|
|
|
|
if(i !== 0){
|
|
|
|
$scope.arrayHolder.push(tempArr);
|
|
|
|
tempArr = [];
|
|
|
|
tempArr.push($scope.projects[i]);
|
|
|
|
}else{
|
|
|
|
tempArr.push($scope.projects[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
$scope.arrayHolder.push(tempArr);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Running...
|
|
|
|
$scope.displayProjects(); // Displaying all projects related to user
|
|
|
|
|
|
|
|
|
|
|
|
}]);
|