j0h

opto_commission

j0h
Jul 18th, 2025
468
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 6.94 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  5.     <meta charset="UTF-8">
  6.     <meta http-equiv="Content-Language" content="en">
  7.     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  8.     <meta name="apple-mobile-web-app-capable" content="yes">
  9.     <meta name="mobile-web-app-capable" content="yes">
  10.     <meta name="format-detection" content="telephone=no">
  11.  
  12.     <title>Create Account</title>
  13.     <link href="/manage/public/static/images/favicon.ico" rel="shortcut icon">
  14.  
  15.     <link href="/auth-static/css/bootstrap.min.css" rel="stylesheet">
  16.     <link href="/auth-static/css/font-awesome.min.css" rel="stylesheet">
  17.     <link href="/auth-static/css/keyboard-basic.min.css" rel="stylesheet">
  18.     <link href="/auth-static/css/EpicKeyboard.min.css" rel="stylesheet">
  19.     <link href="/login/login.css" rel="stylesheet">
  20.     <link href="/commissioning/commission.css" rel="stylesheet">
  21.  
  22.     <script src="/auth-static/js/jquery-3.2.1.min.js"></script>
  23.     <script src="/auth-static/js/jquery.keyboard-1.26.26.min.js"></script>
  24.     <script src="/auth-static/js/EpicKeyboard.js"></script>
  25.     <script>
  26.       var checkCommissionedTimer;
  27.  
  28.       function getParameterByName(name, url) {
  29.         if (!url) url = window.location.href;
  30.         name = name.replace(/[\[\]]/g, "\\$&");
  31.         var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
  32.            results = regex.exec(url);
  33.         if (!results) return null;
  34.         if (!results[2]) return '';
  35.         return results[2].replace(/\+/g, " ");
  36.       }
  37.  
  38.       function showLoginSpinner() {
  39.         $('#submitBtn').html('<i class="fa fa-sign-in"></i>&nbsp;Creating account&hellip;').attr('disabled', 'disabled');
  40.         $('input').attr('readonly', 'readonly');
  41.       }
  42.  
  43.       function hideLoginSpinner() {
  44.         $('#submitBtn').html('<i class="fa fa-sign-in"></i>&nbsp;Create Account').removeAttr('disabled');
  45.         $('input').removeAttr('readonly');
  46.       }
  47.  
  48.       function isPasswordConfirmed() {
  49.         var n = $('#pwd').val();
  50.         var c = $('#confirmPwd').val();
  51.         return n != "" && n == c;
  52.       }
  53.  
  54.       function validateInput() {
  55.         showLoginSpinner();
  56.         var validPwd, valid = isValidInputLength('uname');
  57.         $('#uname-container').toggleClass('has-error', !valid);
  58.  
  59.         validPwd = isValidInputLength('pwd');
  60.         if(!validPwd)
  61.           valid = false;
  62.         $('#pwd-container').toggleClass('has-error', !validPwd);
  63.  
  64.         validPwd = isPasswordConfirmed();
  65.         if(!validPwd)
  66.           valid = false;
  67.         $('#pwd-confirm-container').toggleClass('has-error', !validPwd);
  68.  
  69.         $('#warning').toggle(!valid);
  70.         if(!valid)
  71.           hideLoginSpinner();
  72.         else
  73.           clearTimeout(checkCommissionedTimer);
  74.  
  75.         return valid;
  76.       }
  77.  
  78.       function checkEnterSubmit(e) {
  79.         if(e.keyCode == 13) {
  80.           document.getElementById('submitBtn').click();
  81.         }
  82.       }
  83.  
  84.       function isValidInputLength(id) {
  85.         var len = document.getElementById(id).value.length;
  86.         return len >= 1 && len <= 128;
  87.       }
  88.  
  89.       function checkCommissioned() {
  90.         $.ajax("/auth/access/user/commission/status").done(function(isCommissioned) {
  91.           if(isCommissioned == 'true')
  92.             window.location.href = "/";
  93.         });
  94.       }
  95.     </script>
  96.   </head>
  97.   <body>
  98.     <div class="ctr-col">
  99.       <div class="jumbotron">
  100.         <h1>Create an Account</h1>
  101.         <p class="no-bottom-margin start-prompt">First, let's create your <em>administrator</em> account. Please set your credentials below.</p>
  102.       </div>
  103.       <div class="side-pad">
  104.         <div class="alert alert-warning">
  105.           <p>
  106.             <i class="fa fa-exclamation-triangle fa-lg"></i>&nbsp;
  107.             <strong>Warning:</strong> The account you create here is the first and only <em>Administrator</em>
  108.             account until you add more accounts. Your account password is not recoverable. If you can no
  109.             longer access this device as an <em>Administrator</em> you will be unable to configure the device or
  110.             adjust user accounts. See documentation for more information.
  111.           </p>
  112.         </div>
  113.       </div>
  114.       <div class="box">
  115.  
  116.         <div id="warning" class="alert alert-danger" style="display: none">
  117.             <i class="fa fa-exclamation-triangle"></i>&nbsp;
  118.             Please fix the errors below and resubmit.
  119.         </div>
  120.         <form id="form" action="/auth/access/user/commission/form" method="post" enctype="application/x-www-form-urlencoded" onsubmit="return validateInput()">
  121.           <input type="hidden" name="csrf" value="wyhYGujph7xj5XiJKQ6QNDfGy2yAt9Xh">
  122.           <div id="uname-container" class="form-group">
  123.             <label class="control-label" for="uname">Username</label>
  124.             <input id="uname" name="uname" type="text" class="form-control">
  125.             <div class="input-err-msg">Username must be between 1 and 128 characters in length.</div>
  126.           </div>
  127.           <div id="pwd-container" class="form-group">
  128.             <label class="control-label" for="pwd">Password</label>
  129.             <input id="pwd" name="pwd" type="password" class="form-control">
  130.             <div class="input-err-msg">Password must be between 1 and 128 characters in length.</div>
  131.           </div>
  132.           <div id="pwd-confirm-container" class="form-group">
  133.             <label class="control-label" for="confirmPwd">Confirm Password</label>
  134.             <input id="confirmPwd" name="confirmPwd" type="password" class="form-control" onkeypress="checkEnterSubmit(event)">
  135.             <div class="input-err-msg">Must match <em>Password</em> above.</div>
  136.           </div>
  137.           <div class="align-right signin-btns">
  138.             <button id="submitBtn" type="submit" class="btn btn-primary"><i class="fa fa-sign-in"></i>&nbsp;Create Account</button>
  139.           </div>
  140.         </form>
  141.       </div>
  142.       <div class="copyright">
  143.           &copy; Opto&nbsp;22 2017-2022. All rights reserved.<br>
  144.           <em>groov</em> RIO is a registered trademark of Opto&nbsp;22.
  145.       </div>
  146.     </div>
  147.  
  148.     <script>
  149.       $(document).ready(function() {
  150.         if(getParameterByName("invalid"))
  151.           $("#warning").removeAttr("style");
  152.  
  153.         if(/Groov-(Internal|External)-Browser/.test(navigator.userAgent)) {
  154.           var nameInput = document.getElementById('uname');
  155.           NxtioKeyboard.attachAlphabetKeyboard(nameInput , 'Username');
  156.  
  157.           var pwdInput = document.getElementById('pwd');
  158.           NxtioKeyboard.attachAlphabetKeyboard(pwdInput , 'Password');
  159.  
  160.           var confirmPwdInput = document.getElementById('confirmPwd');
  161.           NxtioKeyboard.attachAlphabetKeyboard(confirmPwdInput , 'Confirm Password');
  162.         }
  163.       });
  164.  
  165.       checkCommissioned();
  166.       checkCommissionedTimer = window.setInterval(checkCommissioned, 3000);
  167.     </script>
  168.   </body>
  169. </html>
  170.  
Advertisement
Add Comment
Please, Sign In to add comment