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) {
- /*var users = [{login: 'Aragorn', pwd:'arwena', email:"aragorn@lotr.com"},
- {login: 'Gimli', pwd:'gloin', email:"gimli@lotr.com"},
- {login: 'Gandalf', pwd:'barlog', email:"gandalf@lotr.com"},
- {login: 'Legolas', pwd:'tauriel', email:"legolas@lotr.com"}];
- this.getUserByLogin = function (user) {
- for(var i = 0; i < users.length; i++){
- if(users[i].login === user){
- return users[i];
- }
- }
- return false;
- };
- this.save = function (user) {
- users.push(user);
- };
- this.delete = function (user) {
- var i = users.indexOf(user);
- users.splice(i,1);
- };
- this.list = function () {
- return users;
- };
- this.getLength = function () {
- return users.length;
- };*/
- return $resource("api/users");
- });
- app.factory('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;
- };*/
- return $resource("api/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){
- /*var u=Users.getUserByLogin(user.login);
- 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 (user) {
- Users.delete({username:user});
- $location.path('/register');
- }
- });
- app.controller('registrationCtrl', function($scope, $location, $routeParams, Users) {
- $scope.isRegProper = iRP;
- $scope.acc='0';
- $scope.message='bad data!';
- $scope.registrationAuth = function(){
- Users.save({username : $scope.user});
- /*Bad Data Validation*/
- /*$http.post('/api/regAuth',
- {
- username: $scope.user.login,
- password: $scope.user.pwd,
- email: $scope.user.email
- }).then($scope.successCallback, $scope.errorCallback);
- $scope.successCallback = function () {
- $location.path('/login');
- };
- $scope.errorCallback = function () {
- iRP = 0;
- $location.path('/register');
- };*/
- };
- $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