PageSourceSearch

https://www.wfmca.org/frontend_assets/javascripts/login.js

js wfmca.org collected 2026-09-29 03:35:16 UTC 11,922 bytes, 313 lines download raw bytes

1 $('document').ready(function(){
2       $('#mobile_number').inputmask('(999)-999-9999'); 
3
4
5        $('#login-form').validate({
6        rules: {
7            email: {
8                required: true,
9                email: true,
10                remote: {
11                url: "auth/check_email_exists",
12                type: "post",
13                 data: {
14                    email: function() {
15                        return $('#logiemail').val(); // ✅ correct ID
16                    }
17                }
18            }
19            },
20            loginpassword: {
21                required: true,
22                // validpassword: true,
23
24                maxlength: 5
25            }
26        },
27        messages: {
28            email: {
29                remote: "Email is not registered with us."
30            }
31        },
32        submitHandler: function(form) {
33            // alert('login-entered')
34            // e.preventDefault() 
35            // Prevent form from submitting the default way
36            // The form won't be submitted because of the AJAX request
37            const userTimeZone = {'timezone' : Intl.DateTimeFormat().resolvedOptions().timeZone};
38            var formData = $(form).serialize();
39            var email = $('#logiemail').val();
40            var password = $('#logpassword').val();
41            //console.log(formData);
42            formData += '&' + $.param(userTimeZone);
43            $.ajax({
44                url: 'auth/logon',
45                method: 'POST',
46                data: {'email':email,'loginpassword':password},
47                // data: formData,
48                dataType: 'json',
49                beforeSend: function() {
50                    $('#loginsubmitbtn').attr('disabled', 'disabled');
51                },
52                complete: function() {
53                    $('#loginsubmitbtn').removeAttr('disabled', 'disabled');
54                },
55                success: function(data) {
56                  
57                    // Handle response
58                    if (data.success === 'error' && data.error) {
59                        $('#logsuccess_message').html("<span class='error'>" + data.message + "</span>");
60    
61                        if (data.email_error) {
62                            $('#email_error').html("<span class='error'>" + data.email_error + "</span>");
63                        } else {
64                            $('#email_error').html('');
65                        }
66    
67                        if (data.password_error) {
68                            $('#password_error').html("<span class='error'>" + data.password_error + "</span>");
69                        } else {
70                            $('#password_error').html('');
71                        }
72                    } else if (data.success === 'success' && !data.error) {
73                        $('#logsuccess_message').html(data.message);
74                        $('#email_error').html('');
75                        $('#mobile_number_error').html('');
76                        $('#password_error').html('');
77                        
78                        $('#loginform').html(); // Clear the login form if necessary
79                        $('#otp-btn-show').addClass('d-none');
80                        $('#login-btn-show').removeClass('d-none');
81                        $('#otp').removeClass('d-none');
82                        $('#logemail').attr('readonly', true);
83                        $('#logpassword').attr('readonly', true);
84    
85                        if(data.role_id == 2 || data.role_id == 6){
86                            // Redirect to my account page
87                            window.location.href = "request-meal";
88                        }else if(data.role_id == 3){
89                            // Redirect to my account page
90                            window.location.href = "deliver-meal";
91                        }
92                    }else if(data.success === 'redirect'){
93                        // window.locaton.href = 'sattvicadmin';
94                        // locaton.href = '../sattvicadmin/index/login_from_outside/'+data.email+'/'+data.logpassword;
95                        window.open('sattvicadmin/index/login_from_outside/'+data.email+'/'+data.logpassword);
96                    }
97                    
98                    $('#loginsubmitbtn').removeAttr('disabled'); // Re-enable the button
99                },
100                error: function() {
101                    $('#logsuccess_message').html("<span class='error'>An unexpected error occurred. Please try again.</span>");
102                    $('#loginsubmitbtn').removeAttr('disabled'); // Re-enable the button
103                }
104            });
105        }
106    });
107$('#forgot_password').validate({
108    
109        rules: {
110           
111            forgotpasswordemail: {
112                required: true,
113                email: true,
114                remote: {
115                url: "auth/check_email_exists",
116                type: "post",
117                 data: {
118                    email: function() {
119                        return $('#forgotpasswordemail').val(); // ✅ correct ID
120                    }
121                }
122            }
123            },
124          
125        },
126        messages: {
127            forgotpasswordemail: {
128                remote: "Email is not registered with us."
129            }
130        },
131        submitHandler: function(form, e) {
132            // e.preventDefault();
133            // form.submit();
134  
135            $.ajax({
136                url : 'auth/verify_email',
137                method : 'POST',
138                data : $(form).serialize(),
139                dataType : 'json',
140                beforeSend : function(){
141                    $('#forgotpasswordotpbtn').attr('disabled','disabled');
142                },
143                complete: function(){
144                    $('#forgotpasswordotpbtn').removeAttr('disabled','disabled');
145
146                },
147                success : function(data){
148                    if(data.success == 'error' && data.error == true){
149                      $('#otpsuccess_message').html("<span class='error'>"+data.message+"</span>");
150                        if(data.email_error != ''){
151                            $('#forgotpasswordemail_error').html("<span class='error'>"+data.email_error+"</span>");
152                        }else{
153                            $('#forgotpasswordemail_error').html('');
154                        }
155                       
156                       
157                       
158                    }else if(data.success == 'success' && data.error == false){
159                        $('#otpsuccess_message').html(data.message);
160                        $('#forgot_password').addClass('d-none');
161                        $('#verify_otp_form').removeClass('d-none');
162                        
163                        $('#otp').removeAttr('disabled')
164                        $('#checkotpemail').val(data.email);
165                        $('#forgotpasswordemail_error').html('');
166                      
167                        // $('#otp-btn-show').addClass('d-none');
168                        // $('#login-btn-show').removeClass('d-none');
169                        // $('#otp').removeClass('d-none');
170                        // $('#logemail').attr('readonly');
171                        // $('#logpassword').attr('readonly');
172
173                        // location.href = "myaccount";
174                    }
175                    $('#loginsubmitbtn').attr('disabled',false);
176
177                }
178
179            })
180        }
181    });
182    
183    
184    $('#verify_otp_form').validate({
185        rules: {
186           
187            verify_otp: {
188                required: true,
189               
190            },
191          
192        },
193        submitHandler: function(form) {
194            // form.preventDefault();
195            // form.submit();
196   
197            $.ajax({
198                url : 'auth/password_checkotp',
199                method : 'POST',
200                data : $(form).serialize(),
201                dataType : 'json',
202                beforeSend : function(){
203                    $('#resetotpbtn').attr('disabled','disabled');
204                },
205                complete: function(){
206                    $('#resetotpbtn').removeAttr('disabled','disabled');
207                },
208                success : function(data){
209                
210                  console.log(data)
211                    if(data.success == 'error' && data.error == true){
212                        $('#otpsuccess_message').html("<span class='error'>"+data.message+"</span>");
213                        if(data.email_error != ''){
214                            $('#email_error').html("<span class='error'>"+data.email_error+"</span>");
215                        }else{
216                            $('#email_error').html('');
217                        }
218                       
219                       
220                       
221                    }else if(data.success == 'success' && data.error == false){
222                        $('#otpsuccess_message').html(data.message);
223                        $('#verify_otp_form').addClass('d-none');
224                        $('#reset_password_form').removeClass('d-none');
225                        $('#new_passwordemail').val($('#checkotpemail').val());
226                        $('#email_error').html('');
227                        // location.href = "myaccount";
228                    }
229                    $('#loginsubmitbtn').attr('disabled',false);
230
231                }
232
233            })
234        }
235    })
236
237  $('#reset_password_form').validate({
238        rules: {
239           
240            new_password: {
241                required: true,
242               
243            },
244            new_confirm_password : {
245                required : true,
246                equalTo : '#forgot_new_confirm_password'
247            }
248          
249        },
250        submitHandler: function(form) {
251            // form.preventDefault();
252            // form.submit();
253   
254            $.ajax({
255                url : 'auth/new_password_save',
256                method : 'POST',
257                data : $(form).serialize(),
258                dataType : 'json',
259                beforeSend : function(){
260                    $('#resetotpbtn').attr('disabled','disabled');
261                },
262                complete: function(){
263
264                },
265                success : function(data){
266                
267                  console.log(data)
268                    if(data.success == 'error' && data.error == true){
269                        $('#otpsuccess_message').html("<span class='error'>"+data.message+"</span>");
270                        if(data.email_error != ''){
271                            $('#email_error').html("<span class='error'>"+data.email_error+"</span>");
272                        }else{
273                            $('#email_error').html('');
274                        }
275                       
276                       
277                       
278                    }else if(data.success == 'success' && data.error == false){
279                        alert(data.message)
280                        $('#otpsuccess_message').html(data.message);
281                        $('#verify_otp_form').addClass('d-none');
282                        $('#reset_password_form').removeClass('d-none');
283                        
284                        $('#email_error').html('');
285                        location.href = "/";
286                    }
287                    $('#loginsubmitbtn').attr('disabled',false);
288
289                }
290
291            })
292        }
293    })
294    
295
296   
297})
298   function togglePassword(button, inputId) {
299    const input = document.getElementById(inputId);
300    input.type = input.type === 'password' ? 'text' : 'password';
301    const icon = button.querySelector('i');
302    if (input.type === 'text') {
303      icon.classList.remove('ri-eye-line');
304      icon.classList.add('ri-eye-off-line');
305    } else {
306      icon.classList.remove('ri-eye-off-line');
307      icon.classList.add('ri-eye-line');
308    }
309  }
310
311    
312 
313    

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.