PageSourceSearch

https://yocktail.firebaseapp.com/js/signupCtrl.js

js yocktail.firebaseapp.com collected 2026-10-03 14:08:24 UTC 4,578 bytes, 103 lines download raw bytes

1yocktailApp.controller('SignupCtrl', function ($scope, $firebaseAuth, $firebase, $location, Cocktail, $window) {
2    $scope.loading = false;
3
4    $scope.$on('$viewContentLoaded', function(){
5        if(Cocktail.getUser() != ''){
6            $location.path('/profile');
7        }else{
8            // do nothing
9        }
10    });
11
12    // create authentication object
13    var firebaseObj = new Firebase("https://yocktail.firebaseio.com/");
14    var authObj = $firebaseAuth(firebaseObj);  
15
16    // creating a Firebase database Reference for users
17    var usersRef = new Firebase("https://yocktail.firebaseio.com/web/data/users");  
18
19    $scope.SignUp = function(){
20        $scope.loading = true;
21
22   		if (!$scope.regForm.$invalid) {
23            var name = $scope.user.name;
24	        var email = $scope.user.email;
25            var birthday = $scope.user.birthday;
26            var password = $scope.user.password;
27            var confirmedPassword = $scope.user.confirmedPassword;
28
29            if (name && email && birthday && password && confirmedPassword) {
30                if (password == confirmedPassword) {
31                    // PENDING TO DO: ALSO NEED TO CHECK IF USER'S BIRTHDAY IS VALID
32
33                    // create user in firebase
34                    authObj.$createUser({ email: email, password: password })
35                            .then(function(userData) {
36                                // do things if success
37
38                                // create user with full information for firebase
39                                var uid = userData.uid;
40                                var newUser = { name: name, email: email, birthday: birthday};
41                                //console.log("newUser");
42                                //console.log(newUser);
43                                usersRef.child(uid).set(newUser);
44
45                                // signup is not enough, need to signed in on firebase
46                                // Sign in:
47                                authObj.$authWithPassword({
48                                    email: email,
49                                    password: password
50                                })
51                                .then(function(userData) {
52                                    //Success callback
53                                    console.log("SignupCtrl user");
54                                    console.log(userData);
55                                    console.log('SignupCtrl Authentication successful with uid: ' + userData.uid);
56
57                                    // save the user's full information for local use
58                                    var uid = userData.uid;
59                                    var newUser2 = { uid: uid, name: name, email: email, birthday: birthday };
60                                    //console.log("newUser2");
61                                    //console.log(newUser2);
62                                    Cocktail.setUser("user", newUser2);
63
64                                    //$location.path('/profile/'+uid);
65                                    $scope.loading = false;
66
67                                    $window.location.reload();
68
69                                }, function(error) {
70                                    $scope.loading = false;
71
72                                    //Failure callback
73                                    $scope.regError = true;
74                                    $scope.regErrorMessage = "Sorry, failed to sign in. Please try again.";
75                                    console.log('SignupCtrl Authentication failure');
76                                });
77                            }, function(error) {
78                                // do things if failure
79
80                                $scope.loading = false;
81
82                                console.log(error);
83                                $scope.regError = true;
84                                $scope.regErrorMessage = error.message;
85                                console.log('SignupCtrl signup failure with error: ' + error.message);
86                            }
87                        );
88                }else{
89                    $scope.loading = false;
90
91                    $scope.regError = true;
92                    $scope.regErrorMessage = "The two passwords does not match.";
93                }
94            }else{
95                $scope.loading = false;
96
97                $scope.regError = true;
98                $scope.regErrorMessage = "Please fill out all the required information.";
99            }
100	    }
101    };
102
103});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.