Merge pull request #5230 from solgenomics/topic/open_pollinated
[sgn.git] / mason / site / toolbar / login.mas
blob7ce7eca99ba8de4ab51109ff9381f0e9ba1840c8
2 <span id="login_button_html_div" style="white-space:nowrap;width:200;float:right"><button class="btn btn-primary disabled" type="button" style="margin: 7px 7px 0px 0px">Login</button></span>
5 <script>
7   // Add URL paths to this array that should not have the login dialog shown
8   // when the config `require_login` is set
9   const PATHS_TO_NOT_REQUIRE_LOGIN = ["/user/reset_password_form"];
11   function update_login_button() { 
13     jQuery.ajax( { 
14       url: '/ajax/user/login_button_html',
15       error: function(r) { alert('An error occurred'); },
16       success: function(r) { 
17         if (r.error) { alert(r.error); }
18         else { 
19           jQuery('#login_button_html_div').html(r.html);
21           if (<% $c->config->{require_login} %> == 1 && !r.logged_in) {
22             if ( !PATHS_TO_NOT_REQUIRE_LOGIN.includes(window.location.pathname) ) {
23               jQuery('#site_login_dialog').modal({backdrop: 'static', keyboard: false});
24             }
25           }
26         }
27       }
28     });
29   }
30         
31   function logout() { 
32     var answer = confirm("Are you sure you want to log out?");
34     if (answer === true) { 
35       jQuery.ajax( { 
36         url: '/ajax/user/logout',
37         error: function(r) { alert('An error occurred'); },
38         success: function(r) { 
39           if (r.error) { alert(r.error); }
40           else { 
41             location.reload();
42           }
43         }
44       });
45     }
46   }
47   
48 jQuery(document).ready(function () {
50   update_login_button();
51    
52   jQuery(document).on('click', 'button[name="site_login_button"]', function(event) 
53   { 
54     jQuery('#site_login_dialog').modal("show");
55   });
56 });
57   
58 </script>