Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var app = angular.module('view', ['ngRoute','ngResource']);
  2. app.factory('Users',function ($resource) {
  3.     return $resource("api/users/:username");
  4. });
  5. app.factory('Projects',function ($resource) {
  6.     return $resource("api/projects");
  7. });
  8. app.config(['$qProvider', function ($qProvider) {
  9.     $qProvider.errorOnUnhandledRejections(false);
  10. }]);
  11. var iRP = 1;
  12. app.config(function($routeProvider){
  13.   $routeProvider
  14.       .when('/login', {
  15.           templateUrl:"login/login.html",
  16.           controller:'loginCtrl'})
  17.       .when('/user/:username',{
  18.           templateUrl:'userPanel/userPanel.html',
  19.           controller:'userPanelCtrl'})
  20.       .when('/user/:username/projects',{
  21.           templateUrl:'projects/projects.html',
  22.           controller:'projectsCtrl'})
  23.       .when('/',{
  24.           templateUrl:'registration/registration.html',
  25.           controller:'registrationCtrl'})
  26.       .otherwise({
  27.           redirectTo: '/'});
  28. });
  29. app.controller('loginCtrl', function($scope, $location,Users){
  30.     $scope.isProper = 1;
  31.     $scope.message='bad data!';
  32.     $scope.authenticate = function(user){
  33.         var u = Users.get({username : $scope.user.login});
  34.         if(u.pwd == $scope.user.pwd){
  35.             $location.path('/user/'+user.login);
  36.         }
  37.         else{
  38.             $scope.isProper=0;
  39.             $location.path('/login');
  40.         }
  41.     };
  42. });
  43. app.controller('projectsCtrl', function($scope,$routeParams, $location, Projects){
  44.     $scope.login=$routeParams.username;
  45.     $scope.p=Projects.query({username : $scope.login});;
  46.     $scope.redirectToData = function(){
  47.         $location.path('/user/'+$routeParams.username);
  48.     };
  49.     $scope.np = new Projects();
  50.     $scope.fetchAllProjects=function () {
  51.         $scope.p = Projects.query({username : $scope.login});
  52.     };
  53.     $scope.addProject = function () {
  54.         $scope.np.owner=$routeParams.username;
  55.         $scope.np.$save(function () {
  56.             $scope.fetchAllProjects();
  57.         });
  58.         $scope.np={};
  59.     };
  60.     $scope.deleteProject = function (project) {
  61.         var project = Projects.get({name:project.name},function () {
  62.             project.$delete(function () {
  63.                $scope.fetchAllProjects();
  64.             });
  65.         });
  66.     };
  67. });
  68. app.controller('userPanelCtrl', function($scope, $routeParams, $location, Users) {
  69.     $scope.user=Users.get({username : $routeParams.username});
  70.  
  71.     $scope.user.reppwd=$scope.user.pwd;
  72.     $scope.redirectToProjects = function () {
  73.         $location.path('/user/' + $routeParams.username + '/projects');
  74.     };
  75.     $scope.deleteUser = function () {
  76.         $scope.user.$delete(function () {
  77.             $location.path('/register');
  78.         });
  79.     };
  80. });
  81. app.controller('registrationCtrl', function($scope, $location, $routeParams, Users) {
  82.     $scope.isRegProper = iRP;
  83.     $scope.acc='0';
  84.     $scope.message='bad data!';
  85.     var user = new Users($scope.user);
  86.     $scope.registrationAuth = function(){
  87.         user.$save(function () {
  88.             $location.path('/login');
  89.         });
  90.     };
  91.     $scope.redirect = function(){
  92.         $location.path('/login');
  93.   };
  94.  
  95. });
  96. app.directive("passwordVerify", function() {
  97.   return {
  98.     require: "ngModel",
  99.     scope: {
  100.       passwordVerify: '='
  101.     },
  102.     link: function(scope, element, attrs, ctrl) {
  103.       scope.$watch(function() {
  104.         var combined;
  105.  
  106.         if (scope.passwordVerify || ctrl.$viewValue) {
  107.           combined = scope.passwordVerify + '_' + ctrl.$viewValue;
  108.         }
  109.         return combined;
  110.       }, function(value) {
  111.         if (value) {
  112.           ctrl.$parsers.unshift(function(viewValue) {
  113.             var origin = scope.passwordVerify;
  114.             if (origin !== viewValue) {
  115.               ctrl.$setValidity("passwordVerify", false);
  116.               return undefined;
  117.             } else {
  118.               ctrl.$setValidity("passwordVerify", true);
  119.               return viewValue;
  120.             }
  121.           });
  122.         }
  123.       });
  124.     }
  125.   };
  126. });
  127. app.directive('checkRequired', function(){
  128.   return {
  129.     require: 'ngModel',
  130.     link: function (scope, element, attrs, ngModel) {
  131.       ngModel.$validators.checkRequired = function (modelValue, viewValue) {
  132.         var value = modelValue || viewValue;
  133.         var match = scope.$eval(attrs.ngTrueValue) || true;
  134.         return value && match === value;
  135.       };
  136.     }
  137.   };
  138. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement