1 2<!DOCTYPE html> 3<html lang="en-US"> 4<head> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 7 <meta name="generator" content="frappe"> 8 9 10 <meta name="title" content="Login"><meta name="language" content="en-US"><meta property="og:type" content="article"><meta property="og:title" content="Login"><meta name="twitter:title" content="Login"><meta name="twitter:card" content="summary"><meta property="og:site_name" content="Wizfort"><meta property="og:url" content="https://wizfort.com/login"><meta property="og:locale" content="en_US"> 11 12 13 <title>Login</title> 14 15 16 <link rel="icon" type="image/png" href="/files/cslshoes89cb70.png"> 17 <link rel="apple-touch-icon" href="/files/cslshoes89cb70.png"> 18<link type="text/css" rel="stylesheet" href="/assets/frappe/dist/css/website.bundle.GD6PKXQI.css"> 19<link type="text/css" rel="stylesheet" href="/assets/erpnext/dist/css/erpnext-web.bundle.XAPV6OJR.css"> 20<link type="text/css" rel="stylesheet" href="/assets/webshop/dist/css/webshop-web.bundle.GQDT63VG.css"> 21<link type="text/css" rel="stylesheet" href="/assets/cslshoes_erp/css/csl_design_tokens.css?v=20260613a"> 22<link type="text/css" rel="stylesheet" href="/assets/cslshoes_erp/css/webshop_filters.css?v=4b435436"> 23<link type="text/css" rel="stylesheet" href="/assets/cslshoes_erp/css/csl_custom.css?v=20260517a"> 24<link type="text/css" rel="stylesheet" href="/assets/blog/css/blog.scss"> 25<link type="text/css" rel="stylesheet" href="/assets/frappe/dist/css/login.bundle.PUSGKFZL.css"> 26 27 28 29
29<script> 30 window.frappe = {}; 31 frappe.ready_events = []; 32 frappe.ready = function(fn) { 33 frappe.ready_events.push(fn); 34 } 35 window.dev_server = 0; 36 window.socketio_port = 9000; 37 window.show_language_picker = false; 38 </script>
38 39</head> 40<body frappe-session-status="logged-out" data-path="login" class=""> 41 42 <svg id="csl-icons" aria-hidden="true" style="position:absolute;width:0;height:0;overflow:hidden" xmlns="http://www.w3.org/2000/svg"> 43 <symbol viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" id="icon-assets"> 44 <path d="M3 6h17" stroke="var(--icon-stroke)" stroke-miterlimit="10"></path> 45 <path d="M20 19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6l3.4-3h10.2L20 6v13z" stroke="var(--icon-stroke)" stroke-miterlimit="10" stroke-linecap="square" stroke-linejoin="round"></path> 46 <path d="M15.582 10c0 2.29-1.8 4.09-4.091 4.09A4.051 4.051 0 0 1 7.4 10" stroke="var(--icon-stroke)" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"></path> 47 <circle cx="15.6" cy="10" r=".5" stroke="var(--icon-stroke)"></circle> 48 <circle cx="7.3" cy="10" r=".5" stroke="var(--icon-stroke)"></circle> 49 </symbol> 50 <symbol id="icon-delete" viewBox="0 0 32 32" fill="none"> 51 <path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M7 7v18.118c0 2.145 1.492 3.882 3.333 3.882h11.333c1.842 0 3.333-1.737 3.333-3.882v-18.118"></path> 52 <path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M5 7h22"></path> 53 <path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M10 7v-1c0-1.657 1.343-3 3-3h6c1.657 0 3 1.343 3 3v1"></path> 54 <path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M18.8 14.4v8.571"></path> 55 <path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M13.2 14.4v8.571"></path> 56 </symbol> 57 <symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="icon-down"> 58 <path d="M3 5.5l5 5 5-5" stroke="var(--icon-stroke)" stroke-linecap="round" stroke-linejoin="round"></path> 59 </symbol> 60 <symbol viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" id="icon-edit"> 61 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.6262 2.70711C11.0168 2.31658 11.6499 2.31658 12.0404 2.70711L13.2929 3.95956C13.6834 4.35008 13.6834 4.98325 13.2929 5.37377L6 12.6667L2 14L3.33333 10L10.6262 2.70711Z" stroke="var(--icon-stroke)" stroke-linecap="round" stroke-linejoin="round"/> 62 <line x1="9.79157" y1="3.92744" x2="12.0738" y2="6.2097" stroke="var(--icon-stroke)"/> 63 </symbol> 64 <symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="icon-heart"> 65 <path d="M7.606 3.799L8 4.302l.394-.503.106-.14c.048-.065.08-.108.129-.159a3.284 3.284 0 0 1 4.72 0c.424.434.655 1.245.65 2.278-.006 1.578-.685 2.931-1.728 4.159-1.05 1.234-2.439 2.308-3.814 3.328a.763.763 0 0 1-.914 0c-1.375-1.02-2.764-2.094-3.814-3.328C2.686 8.709 2.007 7.357 2 5.778c-.004-1.033.227-1.844.651-2.278a3.284 3.284 0 0 1 4.72 0c.05.05.081.094.129.158.028.038.061.083.106.14z" 66 stroke="var(--icon-stroke)"></path> 67 </symbol> 68 <symbol viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" id="icon-star"> 69 <path d="M11.5516 2.90849C11.735 2.53687 12.265 2.53687 12.4484 2.90849L14.8226 7.71919C14.8954 7.86677 15.0362 7.96905 15.1991 7.99271L20.508 8.76415C20.9181 8.82374 21.0818 9.32772 20.7851 9.61699L16.9435 13.3616C16.8257 13.4765 16.7719 13.642 16.7997 13.8042L17.7066 19.0916C17.7766 19.5001 17.3479 19.8116 16.9811 19.6187L12.2327 17.1223C12.087 17.0457 11.913 17.0457 11.7673 17.1223L7.01888 19.6187C6.65207 19.8116 6.22335 19.5001 6.29341 19.0916L7.20028 13.8042C7.2281 13.642 7.17433 13.4765 7.05648 13.3616L3.21491 9.61699C2.91815 9.32772 3.08191 8.82374 3.49202 8.76415L8.80094 7.99271C8.9638 7.96905 9.10458 7.86677 9.17741 7.71919L11.5516 2.90849Z" fill="var(--star-fill)" stroke="var(--star-fill)"/> 70 </symbol> 71 <symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="icon-tag"> 72 <path d="M12.6401 10.2571L10.107 12.7901C9.52125 13.3759 8.5718 13.3756 7.98601 12.7898L2.49654 7.30037C2.40278 7.2066 2.3501 7.07942 2.3501 6.94682L2.3501 3C2.3501 2.72386 2.57396 2.5 2.8501 2.5L6.79691 2.5C6.92952 2.5 7.0567 2.55268 7.15047 2.64645L12.6399 8.13591C13.2257 8.7217 13.2259 9.67131 12.6401 10.2571Z" stroke="var(--icon-stroke)" stroke-linecap="round" stroke-linejoin="round"/> 73 <path d="M6.08001 5.46157C6.08001 5.88642 5.7356 6.23082 5.31076 6.23082C4.88591 6.23082 4.5415 5.88642 4.5415 5.46157C4.5415 5.03673 4.88591 4.69232 5.31076 4.69232C5.7356 4.69232 6.08001 5.03673 6.08001 5.46157Z" stroke="var(--icon-stroke)" stroke-linecap="round" stroke-linejoin="round"/> 74 </symbol> 75 <!-- icon-list and icon-image-view: copied from apps/frappe/frappe/public/icons/timeless/icons.svg 76 for the /all-products toolbar view-toggle. Keep in sync on Frappe upgrades (ERP-025). --> 77 <symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="icon-list"> 78 <path fill-rule="evenodd" clip-rule="evenodd" d="M2.667 3.25a.75.75 0 0 0 0 1.5h.007a.75.75 0 0 0 0-1.5h-.007zm2.666.25a.5.5 0 0 0 0 1H14a.5.5 0 0 0 0-1H5.333zm0 4a.5.5 0 0 0 0 1H14a.5.5 0 0 0 0-1H5.333zm-.5 4.5a.5.5 0 0 1 .5-.5H14a.5.5 0 0 1 0 1H5.333a.5.5 0 0 1-.5-.5zM1.917 8a.75.75 0 0 1 .75-.75h.007a.75.75 0 0 1 0 1.5h-.007a.75.75 0 0 1-.75-.75zm.75 3.25a.75.75 0 0 0 0 1.5h.007a.75.75 0 0 0 0-1.5h-.007z" 79 fill="var(--icon-stroke)" stroke-width="0"></path> 80 </symbol> 81 <symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="icon-image-view"> 82 <path d="M2.5 3.5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h-3a1 1 0 0 1-1-1v-2zm0 7a1 1 0 0 1 1-1h3v3a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2zm7-7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3v-3zm0 6h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-3z"></path> 83 </symbol> 84</svg>
85 <a href="#main-content" class="skip-to-content" style="position:absolute;top:-40px;left:0;background:#1a1a1a;color:#fff;padding:8px 16px;z-index:10001;font-size:14px;text-decoration:none;transition:top 0.2s;" onfocus="this.style.top='0'" onblur="this.style.top='-40px'">Skip to main content</a> 86 87 88 89<main id="main-content"> 90 91 92 93 94 95 96 97 98 99 100 101<div id="page-login" data-path="login"> 102 103<div class="page-content-wrapper"> 104 <!-- breadcrumbs --> 105 <div class="page-breadcrumbs"> 106 107 108 109 </div> 110 111 112 <main class="container"> 113 <div class="page-header-wrapper"> 114 <div class="page-header"> 115 116 </div> 117 118 119 </div> 120 121 <div class="page_content"> 122 123<!-- login.html --> 124<div> 125 <noscript> 126 <div class="text-center my-5"> 127 <h4>Javascript is disabled on your browser</h4> 128 <p class="text-muted"> 129 You need to enable JavaScript for your app to work.<br>To enable it follow the instructions in the following link: <a href='https://enable-javascript.com/'>enable-javascript.com</a></p> 130 </div> 131 </noscript> 132 <section class='for-login'> 133 134<div class="page-card-head"> 135 <img class="app-logo" src="/files/Combinedcdcba3.png"> 136 137 <h4>Login to CSL Shoes ERP</h4> 138 139</div> 140 141 <div class="login-content page-card"> 142 <form class="form-signin form-login" role="form"> 143 144<div class="page-card-body"> 145 <div class="form-group"> 146 <label class="form-label sr-only" for="login_email">Email or Mobile or Username</label> 147 <div class="email-field"> 148 <input type="text" id="login_email" class="form-control" 149 placeholder="[email protected]" 150 required autofocus autocomplete="username"> 151 152 <svg class="field-icon email-icon" width="16" height="16" viewBox="0 0 16 16" fill="none" 153 xmlns="http://www.w3.org/2000/svg"> 154 <use class="es-lock" href="#es-line-email"></use> 155 </svg> 156 </div> 157 </div> 158 159 <div class="form-group"> 160 <label class="form-label sr-only" for="login_password">Password</label> 161 <div class="password-field"> 162 <input type="password" id="login_password" class="form-control" placeholder="â¢â¢â¢â¢â¢" 163 autocomplete="current-password" required> 164 165 <svg class="field-icon password-icon" width="16" height="16" viewBox="0 0 16 16" fill="none" 166 xmlns="http://www.w3.org/2000/svg"> 167 <use class="es-lock" href="#es-line-lock"></use> 168 </svg> 169 <span toggle="#login_password" class="toggle-password text-muted">Show</span> 170 </div> 171 </div> 172 173 174 <p class="forgot-password-message"> 175 <a href="#forgot">Forgot Password?</a> 176 </p> 177 178</div> 179 180<div class="page-card-actions"> 181 182 <button class="btn btn-sm btn-primary btn-block btn-login" type="submit"> 183 Login</button> 184 185 186</div> 187</form> 188 </div><div class="text-center sign-up-message"> 189 Don't have an account? 190 <a href="#signup">Sign up</a> 191 </div></section><section class='for-signup '> 192 193<div class="page-card-head"> 194 <img class="app-logo" src="/files/Combinedcdcba3.png"> 195 196 <h4>Create a CSL Shoes ERP Account</h4> 197 198</div> 199 200 <div class="login-content page-card"><form class="form-signin form-signup hide" role="form"> 201 <div class="page-card-body"> 202 <div class="form-group"> 203 <label class="form-label sr-only" for="signup_fullname">Full Name</label> 204 <input type="text" id="signup_fullname" class="form-control" placeholder="Jane Doe" 205 required autofocus autocomplete="name"> 206 </div> 207 <div class="form-group"> 208 <label class="form-label sr-only" for="signup_email">Email</label> 209 <input type="email" id="signup_email" class="form-control" 210 placeholder="[email protected]" required autocomplete="username"> 211 </div> 212 </div> 213 <div class="page-card-actions"> 214 <button class="btn btn-sm btn-primary btn-block btn-signup" 215 type="submit">Sign up</button> 216 217 <p class="text-center sign-up-message"> 218 <a href="#login" class="blue">Have an account? Login</a> 219 </p> 220 </div> 221</form></div> 222 223 </section> 224 225 <section class='for-forgot'> 226 227<div class="page-card-head"> 228 <img class="app-logo" src="/files/Combinedcdcba3.png"> 229 230 <h4>Forgot Password</h4> 231 232</div> 233 234 <div class="login-content page-card"> 235 <form class="form-signin form-forgot hide" role="form"> 236 <div class="page-card-body"> 237 <div class="email-field"> 238 <input type="email" id="forgot_email" class="form-control" 239 placeholder="Email Address" required autofocus autocomplete="username"> 240 <svg class="field-icon email-icon" width="16" height="16" viewB
240ox="0 0 16 16" fill="none" 241 xmlns="http://www.w3.org/2000/svg"> 242 <use class="es-lock" href="#es-line-email"></use> 243 </svg> 244 245 </div> 246 </div> 247 <div class="page-card-actions"> 248 <button class="btn btn-sm btn-primary btn-block btn-forgot" 249 type="submit">Reset Password</button> 250 <p class="text-center sign-up-message"> 251 <a href="#login">Back to Login</a> 252 </p> 253 </div> 254 255 </form> 256 </div> 257 </section> 258 259 <section class='for-login-with-email-link'> 260 261<div class="page-card-head"> 262 <img class="app-logo" src="/files/Combinedcdcba3.png"> 263 264 <h4>Login with Email Link</h4> 265 266</div> 267 268 <div class="login-content page-card"> 269 <form class="form-signin form-login-with-email-link hide" role="form"> 270 <div class="page-card-body"> 271 <div class="email-field"> 272 <input type="email" id="login_with_email_link_email" class="form-control" 273 placeholder="Email Address" required autofocus autocomplete="username"> 274 <svg class="field-icon email-icon" width="16" height="16" viewBox="0 0 16 16" fill="none" 275 xmlns="http://www.w3.org/2000/svg"> 276 <use class="es-lock" href="#es-line-email"></use> 277 </svg> 278 </div> 279 </div> 280 <div class="page-card-actions"> 281 <button class="btn btn-sm btn-primary btn-block btn-login-with-email-link" 282 type="submit">Send login link</button> 283 <p class="text-center sign-up-message"> 284 <a href="#login">Back to Login</a> 285 </p> 286 </div> 287 </form> 288 </div> 289 </section> 290</div> 291</div> 292 293 <div class="page-footer"></div> 294 </main> 295 296</div> 297 298</div> 299 300 301 302 </main><style> 303/* CSL Shoes Shared Footer */ 304.csl-footer { 305 background: #111; 306 color: #9ca3af; 307 padding: 60px 0 30px; 308 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 309} 310.csl-footer .container { 311 max-width: 1400px; 312 margin: 0 auto; 313 padding: 0 20px; 314} 315.csl-footer-grid { 316 display: grid; 317 grid-template-columns: 2fr 1fr 1fr 1fr 1.5fr; 318 gap: 40px; 319 margin-bottom: 40px; 320} 321.csl-footer-brand p { 322 font-size: 13px; 323 line-height: 1.6; 324 margin-bottom: 20px; 325 max-width: 280px; 326} 327.csl-footer-logo { 328 font-size: 20px; 329 font-weight: 700; 330 color: #fff; 331 margin-bottom: 12px; 332} 333.csl-footer-heading { 334 font-size: 13px; 335 font-weight: 600; 336 color: #fff; 337 text-transform: uppercase; 338 letter-spacing: 0.5px; 339 margin-bottom: 16px; 340} 341.csl-footer-links { list-style: none; padding: 0; margin: 0; } 342.csl-footer-links li { margin-bottom: 10px; } 343.csl-footer-links a { 344 font-size: 13px; 345 color: #9ca3af; 346 text-decoration: none; 347 transition: color 0.2s; 348} 349.csl-footer-links a:hover { color: #fff; } 350.csl-footer-contact p { 351 font-size: 13px; 352 margin-bottom: 6px; 353} 354.csl-footer-contact a { color: #fff; text-decoration: none; } 355.csl-footer-bottom { 356 padding-top: 30px; 357 border-top: 1px solid #374151; 358 display: flex; 359 align-items: center; 360 justify-content: space-between; 361} 362.csl-footer-copyright { 363 font-size: 12px; 364 color: #6b7280; 365} 366.csl-footer-payments { display: flex; gap: 10px; align-items: center; } 367.csl-footer-payments img { 368 height: 24px; 369 width: auto; 370 opacity: 0.6; 371 transition: opacity 0.2s; 372} 373.csl-footer-payments img:hover { opacity: 0.9; } 374 375/* Footer Responsive - Tablet */ 376@media (max-width: 1024px) { 377 .csl-footer-grid { grid-template-columns: repeat(2, 1fr); } 378} 379 380/* Footer Responsive - Mobile */ 381@media (max-width: 768px) { 382 .csl-footer { padding: 40px 0 20px; } 383 .csl-footer-grid { grid-template-columns: 1fr; gap: 24px; } 384 .csl-footer-brand p { font-size: 12px; } 385 .csl-footer-heading { font-size: 12px; margin-bottom: 12px; } 386 .csl-footer-links a { font-size: 12px; } 387 .csl-footer-bottom { flex-direction: column; gap: 12px; text-align: center; } 388 .csl-footer-payments { flex-wrap: wrap; justify-content: center; } 389} 390</style> 391 392<footer class="csl-footer" data-nosnippet> 393 <div class="container"> 394 <div class="csl-footer-grid"> 395 <div class="csl-footer-brand"> 396 <p class="csl-footer-logo">CSL Shoes</p> 397 <p>Premium leather footwear for the whole family since 2008. Genuine leather uppers, handcrafted quality, and exceptional customer service.</p> 398 <p class="csl-footer-entity" style="font-size:12px;line-height:1.6;color:#9ca3af;margin-bottom:16px;max-width:280px;">Retail purchases on this website are sold by CSL Retail LLC. Wholesale purchases are sold by The CSL Group, Inc â both operate from 3 Alpine Court, Unit W156, Chestnut Ridge, NY 10977.</p> 399 </div> 400 <div> 401 <div class="csl-footer-heading">Shop</div> 402 <ul class="csl-footer-links"> 403 <li><a href="/all-products">All Products</a></li> 404 <li><a href="/closure-type/Lace-Up/items">Oxfords</a></li> 405 <li><a href="/closure-type/Velcro/items">Boys' Shoes</a></li> 406 <li><a href="/closure-type/Slip-On/items">Loafers</a></li> 407 <li><a href="/all-products">New Arrivals</a></li> 408 </ul> 409 </div> 410 <div> 411 <div class="csl-footer-heading">Support</div> 412 <ul class="csl-footer-links"> 413 <li><a href="/size-guide">Size Guide</a></li> 414 <li><a href="/shipping">Shipping Info</a></li> 415 <li><a href="/returns">Returns</a></li> 416 <li><a href="/guides/leather-shoe-care">Shoe Care</a></li> 417 <li><a href="/help">FAQ</a></li> 418 <li><a href="/blog">Blog</a></li> 419 </ul> 420 </div> 421 <div> 422 <div class="csl-footer-heading">Company</div> 423 <ul class="csl-footer-links"> 424 <li><a href="/about">About Us</a></li> 425 <li><a href="/contact">Contact</a></li> 426 <li><a href="/privacy-policy">Privacy Policy</a></li> 427 <li><a href="/terms-of-service">Terms of Service</a></li> 428 </ul> 429 </div> 430 <div class="csl-footer-contact"> 431 <div class="csl-footer-heading">Contact Us</div> 432 <p><a href="/cdn-cgi/l/email-protection#4c25222a230c2f3f203f2423293f622f2321"><span class="__cf_email__" data-cfemail="92fbfcf4fdd2f1e1fee1fafdf7e1bcf1fdff">[email protected]</span></a></p> 433 <p>Mon - Fri: 9am - 6pm EST</p> 434 </div> 435 </div> 436 <div class="csl-footer-bottom"> 437 <p class="csl-footer-copyright">© 2026 CSL Shoes. All rights reserved.</p> 438 <div class="csl-footer-payments"> 439 <img src="/assets/cslshoes_erp/images/visa.svg" alt="Visa" width="40" height="24"> 440 <img src="/assets/cslshoes_erp/images/mastercard.svg" alt="Mastercard" width="40" height="24"> 441 <img src="/assets/cslshoes_erp/images/amex.svg" alt="American Express" width="40" height="24"> 442 </div> 443 </div> 444 </div> 445</footer> 446 447 <a href="https://wa.me/18456946700?text=Hi%2C%20I%20have%20a%20question%20about%20your%20shoes" 448 target="_blank" rel="noopener" 449 class="csl-whatsapp-widget" 450 aria-label="Chat with us on WhatsApp" 451 style="position:fixed;bottom:24px;right:24px;z-index:9998;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,0.15);transition:transform 0.2s;" 452 onmouseover="this.style.transform='scale(1.1)'" 453 onmouseout="this.style.transform='scale(1)'"> 454 <svg viewBox="0 0 24 24" width="28" height="28" fill="white"> 455 <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.
455198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/> 456 </svg> 457 </a>
vendor: 110 bytes, lines 457-458
457 458 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
458<script> 459 frappe.boot = { 460 "apps_data": { 461 "apps": [], 462 "default_path": "", 463 "is_desk_apps": 1 464 }, 465 "assets_json": { 466 "bank-reconciliation-tool.bundle.js": "/assets/erpnext/dist/js/bank-reconciliation-tool.bundle.3OD5XE4B.js", 467 "billing.bundle.js": "/assets/frappe/dist/js/billing.bundle.XJXMQXLI.js", 468 "bom_configurator.bundle.js": "/assets/erpnext/dist/js/bom_configurator.bundle.KVVOL5AV.js", 469 "bootstrap-4-web.bundle.js": "/assets/frappe/dist/js/bootstrap-4-web.bundle.OGQ7JEDG.js", 470 "build_events.bundle.js": "/assets/frappe/dist/js/build_events.bundle.BCX32TWL.js", 471 "calendar.bundle.js": "/assets/frappe/dist/js/calendar.bundle.4A4YITIU.js", 472 "controls.bundle.js": "/assets/frappe/dist/js/controls.bundle.GHTVO2AR.js", 473 "csl-web.bundle.js": "/assets/cslshoes_erp/dist/js/csl-web.bundle.SBA57Y6F.js", 474 "cslshoes_erp-web.bundle.js": "/assets/cslshoes_erp/dist/js/cslshoes_erp-web.bundle.VKBRYFDI.js", 475 "data_import_tools.bundle.js": "/assets/frappe/dist/js/data_import_tools.bundle.AIMRIHAY.js", 476 "desk.bundle.css": "/assets/frappe/dist/css/desk.bundle.E3JNXVFK.css", 477 "desk.bundle.js": "/assets/frappe/dist/js/desk.bundle.LRVAENER.js", 478 "dialog.bundle.js": "/assets/frappe/dist/js/dialog.bundle.4Y7AGZYX.js", 479 "email.bundle.css": "/assets/frappe/dist/css/email.bundle.FRP6ZWO5.css", 480 "erpnext-web.bundle.css": "/assets/erpnext/dist/css/erpnext-web.bundle.XAPV6OJR.css", 481 "erpnext.bundle.css": "/assets/erpnext/dist/css/erpnext.bundle.U3ZULTHY.css", 482 "erpnext.bundle.js": "/assets/erpnext/dist/js/erpnext.bundle.W4BKB7EY.js", 483 "erpnext_email.bundle.css": "/assets/erpnext/dist/css/erpnext_email.bundle.QDPP6JFP.css", 484 "file_uploader.bundle.js": "/assets/frappe/dist/js/file_uploader.bundle.NFWQ74RI.js", 485 "form.bundle.js": "/assets/frappe/dist/js/form.bundle.V6TJPRRA.js", 486 "form_builder.bundle.js": "/assets/frappe/dist/js/form_builder.bundle.TJDI53IC.js", 487 "frappe-web.bundle.js": "/assets/frappe/dist/js/frappe-web.bundle.6AGRRLFL.js", 488 "hierarchy-chart.bundle.js": "/assets/hrms/dist/js/hierarchy-chart.bundle.5E224PCR.js", 489 "hrms.bundle.css": "/assets/hrms/dist/css/hrms.bundle.2Y752HAB.css", 490 "hrms.bundle.js": "/assets/hrms/dist/js/hrms.bundle.QS2GRVNQ.js", 491 "interview.bundle.js": "/assets/hrms/dist/js/interview.bundle.C7CDEMYA.js",
492 "item-dashboard.bundle.js": "/assets/erpnext/dist/js/item-dashboard.bundle.7LUKZCYJ.js", 493 "kanban_board.bundle.js": "/assets/frappe/dist/js/kanban_board.bundle.WBHS2NSO.js", 494 "libs.bundle.js": "/assets/frappe/dist/js/libs.bundle.JEM3HUCP.js", 495 "list.bundle.js": "/assets/frappe/dist/js/list.bundle.C5NWOGPL.js", 496 "login.bundle.css": "/assets/frappe/dist/css/login.bundle.PUSGKFZL.css", 497 "logtypes.bundle.js": "/assets/frappe/dist/js/logtypes.bundle.WKQH7KBM.js", 498 "onboarding_tours.bundle.js": "/assets/frappe/dist/js/onboarding_tours.bundle.3QPQU5AO.js", 499 "performance.bundle.js": "/assets/hrms/dist/js/performance.bundle.63UL5NS7.js", 500 "photoswipe.bundle.js": "/assets/frappe/dist/js/photoswipe.bundle.YSXZQA64.js", 501 "point-of-sale.bundle.js": "/assets/erpnext/dist/js/point-of-sale.bundle.QTZY4HXK.js", 502 "print.bundle.css": "/assets/frappe/dist/css/print.bundle.TFESFRRQ.css", 503 "print_format.bundle.css": "/assets/frappe/dist/css/print_format.bundle.G3JSEXTM.css", 504 "print_format_builder.bundle.js": "/assets/frappe/dist/js/print_format_builder.bundle.EY2DZ4XK.js", 505 "report.bundle.css": "/assets/frappe/dist/css/report.bundle.YRLG53MK.css", 506 "report.bundle.js": "/assets/frappe/dist/js/report.bundle.YZUQRDTQ.js", 507 "rtl_desk.bundle.css": "/assets/frappe/dist/css-rtl/desk.bundle.GTUX6NUS.css", 508 "rtl_email.bundle.css": "/assets/frappe/dist/css-rtl/email.bundle.S6OLPJLO.css", 509 "rtl_erpnext-web.bundle.css": "/assets/erpnext/dist/css-rtl/erpnext-web.bundle.MY3OHIQG.css", 510 "rtl_erpnext.bundle.css": "/assets/erpnext/dist/css-rtl/erpnext.bundle.NFI4TDNU.css", 511 "rtl_erpnext_email.bundle.css": "/assets/erpnext/dist/css-rtl/erpnext_email.bundle.4SUQQPOC.css", 512 "rtl_hrms.bundle.css": "/assets/hrms/dist/css-rtl/hrms.bundle.2VFWZIH4.css", 513 "rtl_login.bundle.css": "/assets/frappe/dist/css-rtl/login.bundle.LAUNAKDN.css", 514 "rtl_print.bundle.css": "/assets/frappe/dist/css-rtl/print.bundle.46KW2M23.css", 515 "rtl_print_format.bundle.css": "/assets/frappe/dist/css-rtl/print_format.bundle.WRCRSWVB.css", 516 "rtl_report.bundle.css": "/assets/frappe/dist/css-rtl/report.bundle.J47TQ5QB.css", 517 "rtl_web_form.bundle.css": "/assets/frappe/dist/css-rtl/web_form.bundle.V6TATNAO.css", 518 "rtl_webshop-web.bundle.css": "/assets/webshop/dist/css-rtl/webshop-web.bundle.MXY3MF47.css", 519 "rtl_website.bundle.css": "/assets/frappe/dist/css-rtl/website.bundle.UYAJRC2H.css", 520 "sentry.bundle.js": "/assets/frappe/dist/js/sentry.bundle.AX44GVWW.js", 521 "syntax_highlighting.bundle.js": "/assets/frappe/dist/js/syntax_highlighting.bundle.YHGNRCUE.js", 522 "telemetry.bundle.js": "/assets/frappe/dist/js/telemetry.bundle.RXBBNH3H.js", 523 "user_onboarding.bundle.js": "/assets/frappe/dist/js/user_onboarding.bundle.RGMWXG2C.js", 524 "video_player.bundle.js": "/assets/frappe/dist/js/video_player.bundle.DUYYLSFO.js", 525 "web.bundle.js": "/assets/webshop/dist/js/web.bundle.WLOGYSZO.js", 526 "web_form.bundle.css": "/assets/frappe/dist/css/web_form.bundle.6KU4CLFY.css", 527 "web_form.bundle.js": "/assets/frappe/dist/js/web_form.bundle.ALVCCXE4.js", 528 "webshop-web.bundle.css": "/assets/webshop/dist/css/webshop-web.bundle.GQDT63VG.css", 529 "website.bundle.css": "/assets/frappe/dist/css/website.bundle.GD6PKXQI.css", 530 "workflow_builder.bundle.js": "/assets/frappe/dist/js/workflow_builder.bundle.O2QPXUEI.js" 531 }, 532 "is_fc_site": 0, 533 "lang": "en-US", 534 "sitename": "csl.local", 535 "sysdefaults": { 536 "currency": "USD", 537 "date_format": "mm/dd/yyyy", 538 "first_day_of_the_week": "Sunday", 539 "float_precision": 3, 540 "number_format": "#,###.##", 541 "time_format": "HH:mm:ss" 542 }, 543 "time_zone": { 544 "system": "America/New_York", 545 "user": "America/New_York" 546 } 547} 548 frappe.sys_defaults = frappe.boot.sysdefaults; 549 </script>
549 550 551
551<script type="text/javascript" src="/assets/cslshoes_erp/dist/js/csl-web.bundle.SBA57Y6F.js"></script>
551 552
553<script>// login.js 554// don't remove this line (used in test) 555 556window.disable_signup = false; 557window.show_footer_on_login = false; 558 559window.login = {}; 560 561window.verify = {}; 562 563login.bind_events = function () { 564 $(window).on("hashchange", function () { 565 login.route(); 566 }); 567 568 $(".form-login").on("submit", function (event) { 569 event.preventDefault(); 570 var args = {}; 571 args.cmd = "login"; 572 args.usr = ($("#login_email").val() || "").trim(); 573 args.pwd = $("#login_password").val(); 574 if (!args.usr || !args.pwd) { 575 576 frappe.msgprint("Both login and password required"); 577 return false; 578 } 579 login.call(args, null, "/login"); 580 return false; 581 }); 582 583 $(".form-signup").on("submit", function (event) { 584 event.preventDefault(); 585 var args = {}; 586 args.cmd = "frappe.core.doctype.user.user.sign_up"; 587 args.email = ($("#signup_email").val() || "").trim(); 588 args.redirect_to = frappe.utils.sanitise_redirect(frappe.utils.get_url_arg("redirect-to")); 589 args.full_name = frappe.utils.xss_sanitise(($("#signup_fullname").val() || "").trim()); 590 if (!args.email || !validate_email(args.email) || !args.full_name) { 591 login.set_status("Valid email and name required", 'red'); 592 return false; 593 } 594 login.call(args); 595 return false; 596 }); 597 598 $(".form-forgot").on("submit", function (event) { 599 event.preventDefault(); 600 var args = {}; 601 args.cmd = "frappe.core.doctype.user.user.reset_password"; 602 args.user = ($("#forgot_email").val() || "").trim(); 603 if (!args.user) { 604 login.set_status("Valid Login id required.", 'red'); 605 return false; 606 } 607 login.call(args); 608 return false; 609 }); 610 611 $(".form-login-with-email-link").on("submit", function (event) { 612 event.preventDefault(); 613 var args = {}; 614 args.cmd = "frappe.www.login.send_login_link"; 615 args.email = ($("#login_with_email_link_email").val() || "").trim(); 616 if (!args.email) { 617 login.set_status("Valid Login id required.", 'red'); 618 return false; 619 } 620 login.call(args).then(() => { 621 login.set_status("Login link sent to your email", 'blue'); 622 $("#login_with_email_link_email").val(""); 623 }).catch(() => { 624 login.set_status("Send login link", 'blue'); 625 }); 626 627 return false; 628 }); 629 630 $(".toggle-password").click(function () { 631 var input = $($(this).attr("toggle")); 632 if (input.attr("type") == "password") { 633 input.attr("type", "text"); 634 $(this).text("Hide") 635 } else { 636 input.attr("type", "password"); 637 $(this).text("Show") 638 } 639 }); 640 641 642} 643 644 645login.route = function () { 646 var route = window.location.hash.slice(1); 647 if (!route) route = "login"; 648 route = route.replaceAll("-", "_"); 649 login[route](); 650} 651 652login.reset_sections = function (hide) { 653 if (hide || hide === undefined) { 654 $("section.for-login").toggle(false); 655 $("section.for-email-login").toggle(false); 656 $("section.for-forgot").toggle(false); 657 $("section.for-login-with-email-link").toggle(false); 658 $("section.for-signup").toggle(false); 659 } 660 $('section:not(.signup-disabled) .indicator').each(function () { 661 $(this).removeClass().addClass('indicator').addClass('blue') 662 .text($(this).attr('data-text')); 663 }); 664} 665 666login.login = function () { 667 login.reset_sections(); 668 $(".for-login").toggle(true); 669} 670 671login.email = function () { 672 login.reset_sections(); 673 $(".for-email-login").toggle(true); 674 $("#login_email").focus(); 675} 676 677login.steptwo = function () { 678 login.reset_sections(); 679 $(".for-login").toggle(true); 680 $("#login_email").focus(); 681} 682 683login.forgot = function () { 684 login.reset_sections(); 685 if ($("#login_email").val()) { 686 $("#forgot_email").val($("#login_email").val()); 687 } 688 $(".for-forgot").toggle(true); 689 $("#forgot_email").focus(); 690} 691 692login.login_with_email_link = function () { 693 login.reset_sections(); 694 if ($("#login_email").val()) { 695 $("#login_with_email_link_email").val($("#login_email").val()); 696 } 697 $(".for-login-with-email-link").toggle(true); 698 $("#login_with_email_link_email").focus(); 699} 700 701login.signup = function () { 702 login.reset_sections(); 703 $(".for-signup").toggle(true); 704 $("#signup_fullname").focus(); 705} 706 707 708// Login 709login.call = function (args, callback, url="/") { 710 login.set_status("Verifying...", 'blue'); 711 712 return frappe.call({ 713 type: "POST", 714 url: url, 715 args: args, 716 callback: callback, 717 freeze: true, 718 statusCode: login.login_handlers 719 }); 720} 721 722login.set_status = function (message, color) { 723 $('section:visible .btn-primary').text(message) 724 if (color == "red") { 725 $('section:visible .page-card-body').addClass("invalid"); 726 } 727} 728 729login.set_invalid = function (message) { 730 $(".login-content.page-card").addClass('invalid-login'); 731 setTimeout(() => { 732 $(".login-content.page-card").removeClass('invalid-login'); 733 }, 500) 734 login.set_status(message, 'red'); 735 $("#login_password").focus(); 736} 737 738login.login_handlers = (function () { 739 var get_error_handler = function (default_message) { 740 return function (xhr, data) { 741 if (xhr.responseJSON) { 742 data = xhr.responseJSON; 743 } 744 745 var message = default_message; 746 if (data._server_messages) { 747 message = ($.map(JSON.parse(data._server_messages || '[]'), function (v) { 748 // temp fix for messages sent as dict 749 try { 750 return JSON.parse(v).message; 751 } catch (e) { 752 return v; 753 } 754 }) || []).join('<br>') || default_message; 755 } 756 757 login.set_invalid(default_message); 758 if (message !== default_message) { 759 login.reset_sections(false); 760 } 761 }; 762 } 763 764 var login_handlers = { 765 200: function (data) { 766 if (data.message == 'Logged In') { 767 login.set_status("Success", 'green'); 768 document.body.innerHTML = `<div class="centered splash"> 769 <img src="/files/cslshoes.png" 770 style="width: auto; max-width: 200px;"> 771</div>`; 772 window.location.href = frappe.utils.sanitise_redirect(frappe.utils.get_url_arg("redirect-to")) || data.home_page; 773 } else if (data.message == 'Password Reset') { 774 window.location.href = frappe.utils.sanitise_redirect(data.redirect_to); 775 } else if (data.message == "No App") { 776 login.set_status("Success", 'green'); 777 if (localStorage) { 778 var last_visited = 779 localStorage.getItem("last_visited") 780 || frappe.utils.sanitise_redirect(frappe.utils.get_url_arg("redirect-to")); 781 localStorage.removeItem("last_visited"); 782 } 783 784 if (data.redirect_to) { 785 window.location.href = frappe.utils.sanitise_redirect(data.redirect_to); 786 } 787 788 if (last_visited && last_visited != "/login") { 789 window.location.href = last_visited; 790 } else { 791 window.location.href = data.home_page; 792 } 793 } else if (window.location.hash === '#forgot') { 794 // Always show the same message regardless of whether the account 795 // exists or not, to prevent username enumeration (CWE-204). 796 login.set_status("Instructions Emailed", 'green'); 797 } else if (window.location.hash === '#signup') { 798 if (cint(data.message[0]) == 0) { 799 login.set_status(data.message[1], 'red'); 800 } else { 801 login.set_status("Success", 'green'); 802 frappe.msgprint(data.message[1]) 803 } 804 //login.set_status(__(data.message), 'green'); 805 } 806 807 //OTP verification 808 if (data.verification && data.message != 'Logged In') { 809 login.set_status("Success", 'green'); 810 811 document.cookie = "tmp_id=" + data.tmp_id; 812 813 if (data.verification.method == 'OTP App') { 814 continue_otp_app(data.verification.setup, data.verification.qrcode); 815 } else if (data.verification.method == 'SMS') { 816 continue_sms(data.verification.setup, data.verification.prompt); 817 } else if (data.verification.method == 'Email') { 818 continue_email(data.verification.setup, data.verification.prompt); 819 } 820 } 821 }, 822 401: get_error_handler("Invalid Login. Try again."), 823 417: get_error_handler("Oops! Something went wrong."), 824 429: get_error_handler("Too many requests. Please try again later."), 825 500: get_error_handler("Something went wrong."), 826 }; 827 828 return login_handlers; 829})(); 830 831frappe.ready(function () { 832 833 login.bind_events(); 834 if (window.show_footer_on_login) { 835 $("body .web-footer").show(); 836 } 837 838 $(".form-signup, .form-forgot, .form-login-with-email-link").removeClass("hide"); 839 $(document).trigger('login_rendered'); 840}); 841 842var verify_token = function (event) { 843 $(".form-verify").on("submit", function (eventx) { 844 eventx.preventDefault(); 845 var args = {}; 846 args.cmd = "login"; 847 args.otp = $("#login_token").val(); 848 args.tmp_id = frappe.get_cookie('tmp_id'); 849 if (!args.otp) { 850 851 frappe.msgprint("Login token required"); 852 return false;
853 } 854 login.call(args); 855 return false; 856 }); 857} 858 859var request_otp = function (r) { 860 $('.login-content').empty(); 861 $('.login-content:visible').append( 862 `<div id="twofactor_div"> 863 <form class="form-verify"> 864 <div class="page-card-head p-0"> 865 <span class="indicator blue" data-text="Verification">Verification</span> 866 </div> 867 <div id="otp_div"></div> 868 <input type="text" id="login_token" autocomplete="off" class="form-control" placeholder="Verification Code" required=""> 869 <button class="btn btn-sm btn-primary btn-block mt-3" id="verify_token">Verify</button> 870 </form> 871 </div>` 872 ); 873 // add event handler for submit button 874 verify_token(); 875 $("#login_token").get(0)?.focus(); 876} 877 878var continue_otp_app = function (setup, qrcode) { 879 request_otp(); 880 var qrcode_div = $('<div class="text-muted" style="padding-bottom: 15px;"></div>'); 881 882 if (setup) { 883 direction = $('<div>').attr('id', 'qr_info').text("Enter Code displayed in OTP App."); 884 qrcode_div.append(direction); 885 $('#otp_div').prepend(qrcode_div); 886 } else { 887 direction = $('<div>').attr('id', 'qr_info').text("OTP setup using OTP App was not completed. Please contact Administrator."); 888 qrcode_div.append(direction); 889 $('#otp_div').prepend(qrcode_div); 890 } 891} 892 893var continue_sms = function (setup, prompt) { 894 request_otp(); 895 var sms_div = $('<div class="text-muted" style="padding-bottom: 15px;"></div>'); 896 897 if (setup) { 898 sms_div.append(prompt) 899 $('#otp_div').prepend(sms_div); 900 } else { 901 direction = $('<div>').attr('id', 'qr_info').html(prompt || "SMS was not sent. Please contact Administrator."); 902 sms_div.append(direction); 903 $('#otp_div').prepend(sms_div) 904 } 905} 906 907var continue_email = function (setup, prompt) { 908 request_otp(); 909 var email_div = $('<div class="text-muted" style="padding-bottom: 15px;"></div>'); 910 911 if (setup) { 912 email_div.append(prompt) 913 $('#otp_div').prepend(email_div); 914 } else { 915 var direction = $('<div>').attr('id', 'qr_info').html(prompt || "Verification code email not sent. Please contact Administrator."); 916 email_div.append(direction); 917 $('#otp_div').prepend(email_div); 918 } 919} 920 921login.route();</script>
vendor: 1 bytes, line 921
921
922<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"02110bd8a9eb40e98c9fc92b32ecf849","r":1,"spa":2}' crossorigin="anonymous"></script>
922 923</body> 924</html>
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.