Merge branch 'master' of https://github.com/sagidayan/SE-Hub into UI

This commit is contained in:
Matan Bar Yosef 2015-06-24 14:26:13 +03:00
commit 1b3aaea1ff
4 changed files with 149 additions and 161 deletions

View file

@ -1,141 +1,126 @@
angular.module('SeHub') angular.module('SeHub')
.controller('registerController', ['$scope', '$cookies', '$cookieStore', '$window', '$location', '$mdToast', '$mdDialog', 'apiService', '$rootScope', function ($scope, $cookies, $cookieStore, $window, $location, $mdToast, $mdDialog, apiService ,$rootScope) .controller('registerController', ['$scope', '$cookies', '$cookieStore', '$window', '$location', '$mdToast', '$mdDialog', 'apiService', '$rootScope', function($scope, $cookies, $cookieStore, $window, $location, $mdToast, $mdDialog, apiService, $rootScope) {
{ $scope.userHasNoName = false;
$scope.userHasNoName = false; $scope.campusChecked = false;
$scope.campusChecked = false; $scope.createCampusClicked = false;
$scope.createCampusClicked = false; $scope.isEmpty = true; // if the academic email line is empty
$scope.isEmpty = true; // if the academic email line is empty $scope.jsonCreateCampus = {
$scope.jsonCreateCampus = "title": "Create Campus",
{ "email": "email_ending",
"title": "Create Campus", "avatar": "self.avatar.url"
"email": "email_ending",
"avatar": "self.avatar.url"
}
$rootScope.seToken = $cookies['com.sehub.www'];
var token = $rootScope.seToken;
apiService.getUserByToken(token).success(function(data) // Get user token
{
$scope.user = data;
if(data.message == 'No User Found')
console.error("No User Found!");
console.log(data);
if($scope.user.name === ";")
{
$scope.user.name = "";
$scope.user.name = $scope.user.username;
$scope.userHasNoName = true;
} }
apiService.getAllCampuses($scope.user.seToken).success(function(data) // Get all the campuses $rootScope.seToken = $cookies['com.sehub.www'];
{ var token = $rootScope.seToken;
$scope.campuses = data;
}).error(function()
{
// TODO
});
});
$scope.dropdownClicked = function() apiService.getUserByToken(token).success(function(data) // Get user token
{ {
if($scope.campus){ $scope.user = data;
$scope.campusChecked = true;
$scope.campusObj = null; if (data.message == 'No User Found')
for (var i = $scope.campuses.length - 1; i >= 0; i--) { console.error("No User Found!");
if($scope.campuses[i].title == $scope.campus){ console.log(data);
$scope.campusObj = $scope.campuses[i];
console.log($scope.campusObj); // TODO REMOVE!! if ($scope.user.name === ";") {
$scope.user.name = "";
$scope.user.name = $scope.user.username;
$scope.userHasNoName = true;
} }
apiService.getAllCampuses(token).success(function(data) // Get all the campuses
{
$scope.campuses = data;
}).error(function() {
// TODO
});
});
$scope.dropdownClicked = function() {
if ($scope.campus) {
$scope.campusChecked = true;
$scope.campusObj = null;
for (var i = $scope.campuses.length - 1; i >= 0; i--) {
if ($scope.campuses[i].title == $scope.campus) {
$scope.campusObj = $scope.campuses[i];
console.log($scope.campusObj); // TODO REMOVE!!
}
};
};
};
$scope.submitClicked = function(ev) {
var emailValid = false;
if ($scope.user.AcMail != null) {
var fullMail = $scope.user.AcMail + $scope.campusObj.email_ending; // Holds the full academic email of the user
apiService.updateUser(token, $scope.user).success(function(data) {
}).error(function() {
// TODO Error
console.log("Error occured on updateUser");
});
console.log("Mail: " + fullMail);
apiService.sendValidationMail(token, fullMail).success(function(data) {
console.log("DONE - 200");
$mdDialog
.show($mdDialog.alert().title('E-mail Verification')
.content('A verification e-mail has been sent to your email address.')
.ariaLabel('Email verification alert dialog')
.ok('Got it!')
.targetEvent(ev))
.then(function() {
// TODO ADD- delete cookies and redirect only after pressed 'Got it'
$cookieStore.remove("com.sehub.www"); // Removing the cookies
$window.location.href = 'http://se-hub.appspot.com'; // Reference to 'welcome' page
}); // Pop-up alert for e-mail verification
}).error(function() {
$mdDialog.show($mdDialog.alert().title('Error - E-mail Verification').content('An error has occured in your e-mail address.')
.ariaLabel('Email verification error alert dialog').ok('Got it!').targetEvent(ev));
});
} else // TODO Fix when success to show mdDialog until 'Got it' clicked
{
$mdDialog.show($mdDialog.alert().title('Error - E-mail Verification').content('An error has occured in your e-mail address.')
.ariaLabel('Email verification error alert dialog').ok('Got it!').targetEvent(ev));
}; };
}; };
}; $scope.createCampus = function(ev) {
$scope.createCampusClicked = true;
$scope.submitClicked = function(ev) if (!$scope.isLecturer) // "!isLecturer" Means => I Am Lecturer; if i am a lecturer (when pressing -> getting last data value before pressing)
{
var emailValid = false;
var jsonUpdateUser =
{
"lecturerStat": "$scope.user.isLecturer",
"campName": "$scope.campusName"
}
if($scope.user.AcMail != null)
{
var fullMail = $scope.user.AcMail + $scope.campusObj.email_ending; // Holds the full academic email of the user
apiService.updateUser($scope.user.seToken, jsonUpdateUser).success(function(data)
{ {
if ($scope.user.campusMail != null) {
}).error(function() validateEmail($scope.user.campusMail); // Verify the email according to "xxx@name.suffix"
{ }
// TODO Error
console.log("Error occured on updateUser");
});
console.log("Mail: " + fullMail);
apiService.sendValidationMail($scope.user.seToken, fullMail).success(function(data)
{
console.log("DONE - 200");
$mdDialog.show($mdDialog.alert().title('E-mail Verification').content('A verification e-mail has been sent to your email address.')
.ariaLabel('Email verification alert dialog').ok('Got it!').targetEvent(ev)); // Pop-up alert for e-mail verification
// TODO ADD- delete cookies and redirect only after pressed 'Got it'
$cookieStore.remove("com.sehub.www"); // Removing the cookies
$window.location.href = 'http://se-hub.appspot.com'; // Reference to 'welcome' page
}).error(function()
{
$mdDialog.show($mdDialog.alert().title('Error - E-mail Verification').content('An error has occured in your e-mail address.')
.ariaLabel('Email verification error alert dialog').ok('Got it!').targetEvent(ev));
});
}
else // TODO Fix when success to show mdDialog until 'Got it' clicked
{
$mdDialog.show($mdDialog.alert().title('Error - E-mail Verification').content('An error has occured in your e-mail address.')
.ariaLabel('Email verification error alert dialog').ok('Got it!').targetEvent(ev));
};
};
$scope.createCampus = function(ev)
{
$scope.createCampusClicked = true;
if(!$scope.isLecturer) // "!isLecturer" Means => I Am Lecturer; if i am a lecturer (when pressing -> getting last data value before pressing)
{
if($scope.user.campusMail != null)
{
validateEmail($scope.user.campusMail); // Verify the email according to "xxx@name.suffix"
} }
} }
}
validateEmail = function(email) validateEmail = function(email) {
{ var result = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
var result = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; if (!result.test(email)) // TODO Fix when success to show mdDialog until 'Got it' clicked
if (!result.test(email)) // TODO Fix when success to show mdDialog until 'Got it' clicked
{
$mdDialog.show($mdDialog.alert().title('Error - E-mail Verification').content('An error has occured in your e-mail address.')
.ariaLabel('Email verification error alert dialog').ok('Got it!').targetEvent(email));
}
if(result.test(email)) // TODO Fix when success to show mdDialog until 'Got it' clicked
{
console.log("Im good");
apiService.sendValidationMail($scope.user.seToken, email).success(function(data)
{ {
console.log("DONE - 200"); $mdDialog.show($mdDialog.alert().title('Error - E-mail Verification').content('An error has occured in your e-mail address.')
$mdDialog.show($mdDialog.alert().title('E-mail Verification').content('A verification e-mail has been sent to your email address.') .ariaLabel('Email verification error alert dialog').ok('Got it!').targetEvent(email));
.ariaLabel('Email verification alert dialog').ok('Got it!').targetEvent(email)); // Pop-up alert for e-mail verification }
// TODO ADD delete cookies and redirect only after pressed 'Got it' if (result.test(email)) // TODO Fix when success to show mdDialog until 'Got it' clicked
$cookieStore.remove("com.sehub.www"); // Removing the cookies
$window.location.href = 'http://se-hub.appspot.com'; // Reference to 'welcome' page
}).error(function()
{ {
$mdDialog.show($mdDialog.alert().title('Error - E-mail Verification').content('An error has occured in your e-mail address or in the campus name.') console.log("Im good");
.ariaLabel('Email verification error alert dialog').ok('Got it!').targetEvent(email)); apiService.sendValidationMail(token, email).success(function(data) {
}); console.log("DONE - 200");
$mdDialog.show($mdDialog.alert().title('E-mail Verification').content('A verification e-mail has been sent to your email address.')
.ariaLabel('Email verification alert dialog').ok('Got it!').targetEvent(email)); // Pop-up alert for e-mail verification
// TODO ADD delete cookies and redirect only after pressed 'Got it'
$cookieStore.remove("com.sehub.www"); // Removing the cookies
$window.location.href = 'http://se-hub.appspot.com'; // Reference to 'welcome' page
}).error(function() {
$mdDialog.show($mdDialog.alert().title('Error - E-mail Verification').content('An error has occured in your e-mail address or in the campus name.')
.ariaLabel('Email verification error alert dialog').ok('Got it!').targetEvent(email));
});
}
} }
} }]);
}]);

View file

@ -7,7 +7,7 @@ angular.module('SeHub')
{ {
var taskName = name; var taskName = name;
console.log("task created! " + taskName); console.log("task created! " + taskName);
$window.location.href = 'http://localhost:8080/home#/tasks/new'; // Reference to 'newTask' page $location.path("/tasks/new"); // Reference to 'newTask' page
} }

View file

@ -37,7 +37,7 @@ service.factory('apiService', ['$http', function($http) {
var url = (DEBUG ? "http://localhost:8080" : "http://se-hub.appspot.com") + "/api/users/updateUser/" + token; var url = (DEBUG ? "http://localhost:8080" : "http://se-hub.appspot.com") + "/api/users/updateUser/" + token;
req = { req = {
method: "POST", method: "PUT",
url: url, url: url,
data: payLoad data: payLoad
}; };

View file

@ -1,6 +1,7 @@
<div layout-padding> <div layout-padding>
<div layout="row"> <div layout="row">
<div flex="20" layout-padding> <div flex="20" layout-padding>
<md-card layout-padding>
<h2> <h2>
<i class="fa fa-info-circle"></i> Task Info: <i class="fa fa-info-circle"></i> Task Info:
</h2> </h2>
@ -28,45 +29,47 @@
</datepicker> </datepicker>
</div> </div>
<div layout="row"> <div layout="row">
<div flex="60"></div> <div flex="60"></div>
<div> <div>
<md-button class="md-raised md-primary"><i class="fa fa-paper-plane"></i> Submit</md-button> <md-button class="md-raised md-primary"><i class="fa fa-paper-plane"></i> Submit</md-button>
</div> </div>
</div> </div>
</div> </div>
</md-card>
<div layout="column" layout-padding>
<md-card layout-padding>
<div>
<h2>
<i class="fa fa-cubes"></i> Add A component:
</h2>
</div>
<div>
Select Type:
<md-select placeholder="Component Type" ng-model="newComp.type">
<md-option ng-repeat="component in componentTypes" value="{{component.type}}">{{component.type}}</md-option>
</md-select>
</div>
<div>
<md-input-container>
<label>Label</label>
<input ng-model="newComp.label" required>
</md-input-container>
</div>
<div>
<md-switch ng-model="newComp.isMandatory" aria-label="Switch 1">
Mandatory?: {{ newComp.isMandatory}}
</md-switch>
</div>
<div layout="row">
<div flex="65"></div>
<md-button class="md-raised" ng-click="addComponent()"><i class="fa fa-plus"></i> Add To Task</md-button>
</div>
</md-card>
</div>
</div> </div>
<div layout="column" flex="30" layout-padding>
<div> <div flex="80" layout-padding>
<h2>
<i class="fa fa-cubes"></i> Add A component:
</h2>
</div>
<div>
Select Type:
<md-select placeholder="Component Type" ng-model="newComp.type">
<md-option ng-repeat="component in componentTypes" value="{{component.type}}">{{component.type}}</md-option>
</md-select>
</div>
<div>
<md-input-container>
<label>Label</label>
<input ng-model="newComp.label" required>
</md-input-container>
</div>
<div>
<md-switch ng-model="newComp.isMandatory" aria-label="Switch 1">
Mandatory?: {{ newComp.isMandatory}}
</md-switch>
</div>
<div layout="row">
<div flex="65"></div>
<md-button class="md-raised" ng-click="addComponent()"><i class="fa fa-plus"></i> Add To Task</md-button>
</div>
</div>
<div flex="50" layout-padding>
<!-- <md-card style="background-image: url('http://www.stationeryhq.com/content/images/thumbs/0000324_clipboard_500.png')"> <!-- <md-card style="background-image: url('http://www.stationeryhq.com/content/images/thumbs/0000324_clipboard_500.png')">
</md-card> --> </md-card> -->