Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var app = angular.module('view', ['ngRoute','ngResource']);
- app.factory('Users',function ($resource) {
- return $resource("api/users/:username",{
- login : {url : 'api/users/login/:username/:password',
- method: POST,
- params: {username : '@username',
- password : '@password'}}
- });
- });
- app.service('Projects',function () {
- var projects= [{owner:"Aragorn",name:'Helms Jar', type:'private', access:'admin', coll:['Gimli','Legolas'], pwd:'pass'},
- {owner:"Aragorn",name:'Edoras', type:'private', access:'admin', coll:['Gimli','Legolas'], pwd:'pass'},
- {owner:"Aragorn",name:'Minas Tirith', type:'private', access:'admin', coll:['Gimli','Legolas'], pwd:'pass'},
- {owner:"Aragorn",name:'Moria', type:'private', access:'admin', coll:['Gimli','Legolas','Gandalf'], pwd:'pass'},
- {owner:"Aragorn",name:'Dead Path', type:'private', access:'admin', coll:['Gimli','Legolas','Gandalf'], pwd:'pass'},
- {owner:"Gandalf",name:'Rivendell', type:'private', access:'admin', coll:['Gimli','Legolas','Aragorn'], pwd:'pass'},
- {owner:"Gandalf",name:'Caradhras', type:'private', access:'admin', coll:['Gimli','Legolas','Aragorn'], pwd:'pass'},
- {owner:"Gandalf",name:'Dunland', type:'private', access:'admin', coll:['Aragorn'], pwd:'pass'},
- {owner:"Legolas",name:'Middle Earth', type:'private', access:'admin', coll:['Gimli'], pwd:'pass'},
- {owner:"Gimli",name:'Lorien', type:'private', access:'admin', coll:['Aragorn','Legolas'], pwd:'pass'},
- {owner:"Gimli",name:'Brandywine', type:'private', access:'admin', coll:['Aragorn','Legolas'], pwd:'pass'}];
- this.getUserProjects = function (user) {
- var projectsList=[];
- for (var i=0;i<projects.length;i++){
- if (projects[i].owner == user){
- projectsList.push(projects[i]);
- }
- else {
- for(var j = 0 ; j < projects[i].coll.length;j++){
- if (projects[i].coll[j] == user){
- projectsList.push(projects[i])
- }
- }
- }
- }
- return projectsList;
- };
- this.save = function (project) {
- projects.push(project);
- };
- this.delete = function (project) {
- var i = projects.indexOf(project);
- projects.splice(i,1);
- };
- this.getLength = function () {
- return projects.length;
- };
- this.list = function () {
- return projects;
- };
- });
- var iRP = 1;
- app.config(function($routeProvider){
- $routeProvider
- .when('/login', {
- templateUrl:"login/login.html",
- controller:'loginCtrl'})
- .when('/user/:username',{
- templateUrl:'userPanel/userPanel.html',
- controller:'userPanelCtrl'})
- .when('/user/:username/projects',{
- templateUrl:'projects/projects.html',
- controller:'projectsCtrl'})
- .when('/',{
- templateUrl:'registration/registration.html',
- controller:'registrationCtrl'})
- .otherwise({
- redirectTo: '/'});
- });
- app.controller('loginCtrl', function($scope, $location,Users){
- $scope.isProper = 1;
- $scope.message='bad data!';
- $scope.authenticate = function(user){
- Users.login({username : user.username, password: user.password});
- $location.path('/user/'+user.login);
- /*var u=Users.get({username:user.login});
- console.log(u);
- if(user.pwd == u.pwd){
- $location.path('/user/'+user.login);
- }
- else{
- $scope.isProper=0;
- $location.path('/login');
- }*/
- };
- });
- app.controller('projectsCtrl', function($scope,$routeParams, $location, Projects){
- $scope.login=$routeParams.username;
- $scope.p=Projects.getUserProjects($routeParams.username);
- $scope.redirectToData = function(){
- $location.path('/user/'+$routeParams.username);
- };
- $scope.addProject = function () {
- $scope.np.owner=$routeParams.username;
- Projects.save($scope.np);
- $scope.p.push($scope.np);
- $scope.np={};
- };
- $scope.deleteProject = function (project) {
- Projects.delete(project);
- $scope.p=Projects.getUserProjects($routeParams.username);
- }
- });
- app.controller('userPanelCtrl', function($scope, $routeParams, $location, Users) {
- $scope.user=Users.get({username:$routeParams.username});
- $scope.user.reppwd=$scope.user.pwd;
- $scope.redirectToProjects = function () {
- $location.path('/user/' + $routeParams.username + '/projects');
- }
- $scope.deleteUser = function () {
- $scope.user.$delete(function () {
- $location.path('/register');
- });
- };
- });
- app.controller('registrationCtrl', function($scope, $location, $routeParams, Users) {
- $scope.isRegProper = iRP;
- $scope.acc='0';
- $scope.message='bad data!';
- $scope.user = new Users();
- $scope.registrationAuth = function(){
- /*Bad Data Validation*/
- $scope.user.$save(function () {
- $location.path('/login');
- })
- };
- $scope.redirect = function(){
- $location.path('/login');
- };
- });
- app.directive("passwordVerify", function() {
- return {
- require: "ngModel",
- scope: {
- passwordVerify: '='
- },
- link: function(scope, element, attrs, ctrl) {
- scope.$watch(function() {
- var combined;
- if (scope.passwordVerify || ctrl.$viewValue) {
- combined = scope.passwordVerify + '_' + ctrl.$viewValue;
- }
- return combined;
- }, function(value) {
- if (value) {
- ctrl.$parsers.unshift(function(viewValue) {
- var origin = scope.passwordVerify;
- if (origin !== viewValue) {
- ctrl.$setValidity("passwordVerify", false);
- return undefined;
- } else {
- ctrl.$setValidity("passwordVerify", true);
- return viewValue;
- }
- });
- }
- });
- }
- };
- });
- app.directive('checkRequired', function(){
- return {
- require: 'ngModel',
- link: function (scope, element, attrs, ngModel) {
- ngModel.$validators.checkRequired = function (modelValue, viewValue) {
- var value = modelValue || viewValue;
- var match = scope.$eval(attrs.ngTrueValue) || true;
- return value && match === value;
- };
- }
- };
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement