From 29200ae84ce93380edcf42b325dda1a2106c2cde Mon Sep 17 00:00:00 2001 From: ApexLiu Date: Wed, 15 Nov 2017 02:18:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=97=A0=E4=BE=A7=E8=BE=B9?= =?UTF-8?q?=E6=A0=8F=E5=AF=BC=E8=88=AA=E9=A1=B5=E9=9D=A2=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/www/teleport/static/css/error.css | 1 - .../www/teleport/static/css/maintenance.css | 1 - server/www/teleport/static/css/single.css | 2 +- .../teleport/static/js/user/reset-password.js | 66 ++ server/www/teleport/static/less/error.less | 100 --- .../www/teleport/static/less/maintenance.less | 186 ------ server/www/teleport/static/less/single.less | 616 ++++++++++-------- server/www/teleport/static/less/style.less | 3 - .../teleport/view/audit/record-sftp-cmd.mako | 22 +- .../teleport/view/audit/record-ssh-cmd.mako | 22 +- server/www/teleport/view/audit/replay.mako | 59 +- server/www/teleport/view/auth/login.mako | 2 +- server/www/teleport/view/error/error.mako | 28 +- .../teleport/view/maintenance/install.mako | 24 +- server/www/teleport/view/page_login_base.mako | 2 +- .../teleport/view/page_maintenance_base.mako | 69 -- .../teleport/view/page_no_sidebar_base.mako | 104 --- .../www/teleport/view/page_single_base.mako | 25 +- .../teleport/view/user/reset-password.mako | 109 ++-- .../webroot/app/base/database/create.py | 34 +- .../www/teleport/webroot/app/model/record.py | 6 + server/www/teleport/webroot/app/model/user.py | 6 +- 22 files changed, 582 insertions(+), 905 deletions(-) delete mode 100644 server/www/teleport/static/css/error.css delete mode 100644 server/www/teleport/static/css/maintenance.css create mode 100644 server/www/teleport/static/js/user/reset-password.js delete mode 100644 server/www/teleport/static/less/error.less delete mode 100644 server/www/teleport/static/less/maintenance.less delete mode 100644 server/www/teleport/view/page_maintenance_base.mako delete mode 100644 server/www/teleport/view/page_no_sidebar_base.mako diff --git a/server/www/teleport/static/css/error.css b/server/www/teleport/static/css/error.css deleted file mode 100644 index 51a9402..0000000 --- a/server/www/teleport/static/css/error.css +++ /dev/null @@ -1 +0,0 @@ -@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}hr.hr-sm{margin-top:5px;margin-bottom:5px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}body{padding:0;margin:0}.container{min-width:460px}#page-header{height:36px;margin-bottom:10px;border:none;background-color:#2a2a2a;color:#fff}#page-header .title{line-height:36px;font-size:18px}#page-header .logo{margin-top:5px;display:inline-block;width:93px;height:30px;background:url(../img/site-logo-small.png) no-repeat}#page-content{margin-bottom:54px}#page-footer nav.navbar{min-height:24px;height:24px;line-height:24px;background-color:#cdcdcd;font-size:12px;color:#6d6d6d}#page-footer nav.navbar .container{height:24px}#page-footer nav.navbar p{margin:0 auto;text-align:center}.error-box{width:100%;padding-left:20px;margin:30px auto}.error-box .error-icon-box{z-index:-1;position:absolute;min-height:194px;overflow:hidden}.error-box .error-icon-box .fa{margin-top:20px;font-size:164px;color:#ff6500}.error-box .error-message-box{min-height:328px;min-width:300px;border:1px solid #fff;background-color:rgba(255,255,255,0.76);box-shadow:2px 2px 3px rgba(0,0,0,0.3);padding:15px 15px 15px 30px;margin-left:123px}.error-box .error-message-box .title{font-size:180%;margin:15px 0}.error-box .error-message-box hr{border-top:1px solid #d3d3d3;border-bottom:1px solid #fff}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}/*# sourceMappingURL=error.css.map */ \ No newline at end of file diff --git a/server/www/teleport/static/css/maintenance.css b/server/www/teleport/static/css/maintenance.css deleted file mode 100644 index 9ac57b7..0000000 --- a/server/www/teleport/static/css/maintenance.css +++ /dev/null @@ -1 +0,0 @@ -@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}hr.hr-sm{margin-top:5px;margin-bottom:5px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}body{padding:0;margin:0}#page-header nav.navbar{height:70px;margin-bottom:0;border:none;background-color:#192e4b;color:#fff}#page-header nav li{display:inline-block;float:left}#page-content{padding-top:70px;padding-bottom:50px}#page-footer nav.navbar{min-height:24px;height:24px;line-height:24px;background-color:#c1c1c1;border-top:1px solid #7b7b7b;font-size:12px;color:#4e4e4e}#page-footer nav.navbar .container{height:24px}#page-footer nav.navbar p{margin:0 auto;text-align:center}.content-box{margin-top:20px;background-color:#fff;padding:20px;box-shadow:1px 1px 1px rgba(0,0,0,0.3)}.content-box .welcome-message .fa{display:block;color:#ff272a;font-size:18px;float:left}.content-box .welcome-message span{display:block;line-height:18px;padding-left:23px}.content-box .table{width:auto;margin-left:20px}.content-box .table td{border-top:1px dotted #ddd;padding:5px}.content-box .table td.key{text-align:right}.content-box .table td.value{text-align:left;font-weight:bold}.content-box .table tr:first-child td{border-top:none}.content-box table.form{width:auto;margin-left:20px}.content-box table.form td{padding:5px;line-height:1.42857143;vertical-align:middle}.content-box table.form td.key{text-align:right}.content-box table.form td label{margin-bottom:0}.content-box table.form td .form-control{height:30px;padding:5px 10px;font-size:inherit;line-height:inherit}h1 .fa-spin{color:#aaa}h1{font-size:180%}h2{font-size:140%}.op_box{display:block;padding:5px;border-radius:3px;margin:5px 0}.op_error{background-color:#cc3632;border:1px solid #9c2a26;color:#fff}.op_wait{background:rgba(255,255,255,0.3)}.steps-detail{display:none;margin:10px;padding:10px;border:1px solid #b4b4b4;background-color:#dcdcdc}.steps-detail p{padding-left:5px;margin:2px 0 2px 1px}.steps-detail p.error{color:#fff;margin:2px 0 2px 0;background-color:#cc3632;border:1px solid #9c2a26}.alert.alert-warning{color:#6a542d;border:1px solid #e2cab4;background-color:#ffe4cb}.error{color:#cc3632}/*# sourceMappingURL=maintenance.css.map */ \ No newline at end of file diff --git a/server/www/teleport/static/css/single.css b/server/www/teleport/static/css/single.css index 038c3bb..5247cf0 100644 --- a/server/www/teleport/static/css/single.css +++ b/server/www/teleport/static/css/single.css @@ -1 +1 @@ -@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}hr.hr-sm{margin-top:5px;margin-bottom:5px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}.table{margin-bottom:10px}.table>thead>tr>th{vertical-align:middle;border-bottom:2px solid #ddd}.table.table-info-list{width:auto}.table.table-info-list td{border-top:1px dotted #ddd;padding:5px 5px;vertical-align:top}.table.table-info-list td.key{text-align:right;width:1px;white-space:nowrap}.table.table-info-list td.value{text-align:left;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;color:#767676}.table.table-info-list td .error{color:#cc3632;font-weight:bold}.table.table-info-list.table-info-list-lite{width:100%}.table.table-info-list.table-info-list-lite td{padding:5px 5px}.table.table-info-list.table-info-list-lite td.value{font-weight:normal}.table.table-info-list tr:first-child td{border-top:none}.table.table-config-list{width:100%}.table.table-config-list td{border:none;padding:5px}.table.table-config-list td.title{text-align:left;font-size:110%;font-weight:bolder}.table.table-config-list td.key{width:1px;white-space:nowrap;text-align:right;padding-right:15px}.table.table-config-list td.value{text-align:left}.table.table-config-list td.value input{width:4em;padding:0 5px;text-align:right}.table.table-config-list td.value .unit{margin-left:5px}.table.table-config-list td.value .desc{color:#999;margin-left:15px;display:inline-block}.table>thead>tr>th{padding:5px 5px;outline:none;white-space:nowrap;font-weight:normal;text-align:center;background-color:#ededed}.table>tbody>tr>td{padding:5px;text-align:center;vertical-align:middle}.table>tbody>tr>td .nowrap{white-space:nowrap}.table-data td.loading{text-align:left;padding:20px}.table-data .btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.table.table-data thead .sorting,.table.table-data thead .sorting_asc,.table.table-data thead .sorting_desc{cursor:pointer}.table.table-data thead .sorting:after,.table.table-data thead .sorting_asc:after,.table.table-data thead .sorting_desc:after{bottom:4px;padding-left:5px;display:inline-block;font-family:'FontAwesome';opacity:.8}.table.table-data thead .sorting:after{opacity:.2;content:"\f0dc"}.table.table-data thead .sorting_asc:after{content:"\f0de"}.table.table-data thead .sorting_desc:after{content:"\f0dd"}.host-name{font-size:16px}.host-name-desc{cursor:pointer}.host-ip{font-size:12px;color:#999;display:inline-block;white-space:nowrap;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;overflow:hidden;text-overflow:ellipsis}.td-ip-list{padding-right:20px;padding-left:5px}.td-ip-show-more{font-size:14px;width:12px;float:right;display:block}.td-ip-item{min-width:12em;width:12em;height:18px;padding:2px 4px;margin:1px 0;color:#333;text-align:center;white-space:nowrap;border-radius:9px;line-height:11px;font-size:11px;background:#dfdfdf !important}.td-ip-item span{display:inline-block;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;font-size:11px;font-weight:400}.td-ip-item a{display:inline-block;width:14px;float:right;font-size:14px}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}.page-header-fixed{padding-top:48px}.header{border:none;box-shadow:0 0 3px rgba(0,0,0,0.5);min-height:48px;height:48px;top:0;width:100%;position:fixed;z-index:999}.header .top-navbar{min-height:48px;height:48px;line-height:48px;background-color:#3a3a3a;color:#ccc}.header .top-navbar a{color:#d5d5d5}.header .top-navbar a:hover{color:#5a8fee}.header .top-navbar .brand{float:left;display:inline-block;padding:12px 0;margin:0}.header .top-navbar .brand .site-logo{display:block;width:86px;height:24px;background:url(../img/site-logo-small.png) no-repeat}.header .top-navbar .title-container{float:left;display:inline-block;margin:0;padding:0;margin-left:20px}.header .top-navbar .title-container .title{font-size:16px}.header .top-navbar .breadcrumb-container{float:left;display:inline-block;margin:0;padding:0}.header .top-navbar .breadcrumb-container .breadcrumb{background-color:#3a3a3a;height:48px;margin:0;border-radius:0;border:none;padding:0 0 0 20px;font-size:16px;color:#ccc}.header .top-navbar .breadcrumb-container .breadcrumb>li+li:before{font-size:18px;padding:0 5px;color:#555;content:'|'}.header .top-navbar .breadcrumb-container .breadcrumb .title{font-size:18px}.header .top-navbar .breadcrumb-container .breadcrumb .sub-title{font-size:14px;color:#b3b3b3}.header .top-navbar .status-container{float:right}.page-content{margin-top:10px;margin-bottom:44px}.footer{width:100%;height:24px;line-height:24px;background-color:#d5d5d5;border-top:1px solid #a2a2a2;border-bottom:1px solid #efefef;z-index:998;text-align:center;font-size:12px}.footer.footer-fixed-bottom{bottom:0;position:fixed}.row-sm .col-sm-1,.row-sm .col-sm-2,.row-sm .col-sm-3,.row-sm .col-sm-4,.row-sm .col-sm-5,.row-sm .col-sm-6,.row-sm .col-sm-7,.row-sm .col-sm-8,.row-sm .col-sm-9,.row-sm .col-sm-10,.row-sm .col-sm-11{padding-right:5px;padding-left:5px}.content{margin-top:15px;margin-bottom:20px;background-color:#fff;border-radius:5px;padding:10px}.content:last-child{margin-bottom:54px}.table-host{width:100%;border-top:10px solid #b3cfe7;border-bottom:1px solid #b3cfe7}.table-host .cell-host-id{border-left:1px solid #e7e7e7;padding:5px;text-align:center;width:168px;vertical-align:middle}.table-host .cell-host-id .host-id{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;font-size:13px;color:#999;display:inline-block}.table-host .cell-host-id .host-name{display:block;width:168px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px;margin:auto;margin-bottom:10px}.table-host .cell-host-id .td-ip-item{width:10em;height:18px;padding:2px 4px;margin:1px auto;color:#333;text-align:center;white-space:nowrap;border-radius:9px;line-height:11px;font-size:11px;background:#dfdfdf !important}.table-host .cell-host-id .td-ip-item span{display:inline-block;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;font-size:11px;font-weight:400}.table-host .cell-host-id .actions{margin-top:20px}.table-host .cell-host-id .actions a{margin-left:5px;margin-right:5px}.table-host .cell-host-id .actions a:first-child{margin-left:0}.table-host .cell-host-id .actions a:last-child{margin-right:0}.table-host .cell-detail{border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;vertical-align:top}.table-host .cell-detail tr{border-top:1px solid #e7e7e7}.table-host .cell-detail tr:last-child{border-bottom:1px solid #e7e7e7}.table-host .cell-detail .row-host-info{background-color:#ececed}.table-host .cell-detail.host-offline{background-color:#ffcecc;text-align:center;vertical-align:middle}.table-host .cell-detail.host-offline .host-offline-msg{color:#802506;font-size:24px}.table-host .cell-log td{border:1px solid #e7e7e7}.table-host .cell-log td .host-log{font-size:12px;outline:none;width:100%;height:120px;overflow-y:auto;resize:none;border:none;padding:5px}.table-host .cell-log td .host-log div{margin-bottom:3px}.table-host .cell-log td .host-log div .datetime{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}.log-box{margin-top:15px}.log-box .log-list{margin-top:5px;border:1px solid #e7e7e7;font-size:12px;outline:none;width:100%;max-height:480px;overflow-y:auto;resize:none;padding:5px}.log-box .log-list div{margin-bottom:3px}.log-box .log-list div:hover{background-color:#f3f3f3}.log-box .log-list div .log-dt{padding:0 3px;padding-top:2px;padding-bottom:1px;margin-right:3px;background-color:#f57523;color:#fff;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}.log-box .log-list div .log-hid{padding:0 3px;margin-right:3px;background-color:#348fe2;color:#fff}.log-box .log-list div .log-hname{padding:0 3px;margin-right:3px;background-color:#348fe2;color:#fff}.page-nav{height:30px;line-height:30px}.page-nav .breadcrumb{padding:0;margin:0;border-radius:0;background-color:transparent}.page-nav .pagination{margin:0 0}.page-nav .btn{margin-top:-3px}#gritter-notice-wrapper{z-index:9999}.gritter-bottom,.gritter-item,.gritter-top{background:rgba(0,0,0,0.8) !important}.gritter-top{border-top-left-radius:3px;border-top-right-radius:3px}.gritter-bottom{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.gritter-close,.gritter-light .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%}.gritter-close:before,.gritter-light .gritter-close:before{content:'\f00d' !important;font-family:FontAwesome !important;font-size:9px !important;width:16px !important;height:16px !important;line-height:16px !important;color:#fff !important;text-indent:0 !important;position:absolute !important;text-align:center !important;right:0 !important;top:0 !important}.gritter-title{font-size:13px !important;line-height:16px !important;padding-bottom:5px !important;font-weight:400 !important;color:#fff !important;text-shadow:none !important}.gritter-item{color:#aaa !important;font-size:13px !important;padding:2px 15px 5px !important}.gritter-error .gritter-bottom,.gritter-error .gritter-item,.gritter-error .gritter-top{background:rgba(123,32,32,0.9) !important}.gritter-error .gritter-title{color:#fff !important}.gritter-error .gritter-item{color:#ddd !important}.gritter-error .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%;background:#e33b3b !important}.gritter-success .gritter-bottom,.gritter-success .gritter-item,.gritter-success .gritter-top{background:rgba(1,65,16,0.9) !important}.gritter-success .gritter-title{color:#ddd !important}.gritter-success .gritter-item{color:#ccc !important}.gritter-success .gritter-close{background:#0eb320 !important}#gritter-notice-wrapper{width:320px;max-width:480px}/*# sourceMappingURL=single.css.map */ \ No newline at end of file +@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}hr.hr-sm{margin-top:5px;margin-bottom:5px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}.table{margin-bottom:10px}.table>thead>tr>th{vertical-align:middle;border-bottom:2px solid #ddd}.table.table-info-list{width:auto}.table.table-info-list td{border-top:1px dotted #ddd;padding:5px 5px;vertical-align:top}.table.table-info-list td.key{text-align:right;width:1px;white-space:nowrap}.table.table-info-list td.value{text-align:left;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;color:#767676}.table.table-info-list td .error{color:#cc3632;font-weight:bold}.table.table-info-list.table-info-list-lite{width:100%}.table.table-info-list.table-info-list-lite td{padding:5px 5px}.table.table-info-list.table-info-list-lite td.value{font-weight:normal}.table.table-info-list tr:first-child td{border-top:none}.table.table-config-list{width:100%}.table.table-config-list td{border:none;padding:5px}.table.table-config-list td.title{text-align:left;font-size:110%;font-weight:bolder}.table.table-config-list td.key{width:1px;white-space:nowrap;text-align:right;padding-right:15px}.table.table-config-list td.value{text-align:left}.table.table-config-list td.value input{width:4em;padding:0 5px;text-align:right}.table.table-config-list td.value .unit{margin-left:5px}.table.table-config-list td.value .desc{color:#999;margin-left:15px;display:inline-block}.table>thead>tr>th{padding:5px 5px;outline:none;white-space:nowrap;font-weight:normal;text-align:center;background-color:#ededed}.table>tbody>tr>td{padding:5px;text-align:center;vertical-align:middle}.table>tbody>tr>td .nowrap{white-space:nowrap}.table-data td.loading{text-align:left;padding:20px}.table-data .btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.table.table-data thead .sorting,.table.table-data thead .sorting_asc,.table.table-data thead .sorting_desc{cursor:pointer}.table.table-data thead .sorting:after,.table.table-data thead .sorting_asc:after,.table.table-data thead .sorting_desc:after{bottom:4px;padding-left:5px;display:inline-block;font-family:'FontAwesome';opacity:.8}.table.table-data thead .sorting:after{opacity:.2;content:"\f0dc"}.table.table-data thead .sorting_asc:after{content:"\f0de"}.table.table-data thead .sorting_desc:after{content:"\f0dd"}.host-name{font-size:16px}.host-name-desc{cursor:pointer}.host-ip{font-size:12px;color:#999;display:inline-block;white-space:nowrap;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;overflow:hidden;text-overflow:ellipsis}.td-ip-list{padding-right:20px;padding-left:5px}.td-ip-show-more{font-size:14px;width:12px;float:right;display:block}.td-ip-item{min-width:12em;width:12em;height:18px;padding:2px 4px;margin:1px 0;color:#333;text-align:center;white-space:nowrap;border-radius:9px;line-height:11px;font-size:11px;background:#dfdfdf !important}.td-ip-item span{display:inline-block;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;font-size:11px;font-weight:400}.td-ip-item a{display:inline-block;width:14px;float:right;font-size:14px}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}body{padding:0;margin:0}#page-content{margin-bottom:44px}#page-footer nav.navbar{min-height:24px;height:24px;line-height:24px;background-color:#cdcdcd;font-size:12px;color:#6d6d6d}#page-footer nav.navbar .container{height:24px}#page-footer nav.navbar p{margin:0 auto;text-align:center}.page-header{box-shadow:0 0 3px rgba(0,0,0,0.5);min-height:48px;top:0;width:100%;height:48px;margin:0 0 10px;border:none;background-color:#2a2a2a}.page-header .top-navbar{min-height:48px;height:48px;line-height:47px;background-color:#3a3a3a;color:#ccc}.page-header .top-navbar a{color:#d5d5d5}.page-header .top-navbar a:hover{color:#5a8fee}.page-header .top-navbar .brand{float:left;display:inline-block;padding:12px 0;margin:0}.page-header .top-navbar .brand .site-logo{display:block;width:86px;height:24px;background:url(../img/site-logo-small.png) no-repeat}.page-header .top-navbar .breadcrumb-container{float:left;display:inline-block;margin:0;padding:0}.page-header .top-navbar .breadcrumb-container .breadcrumb{background-color:#3a3a3a;margin:0;border-radius:0;border:none;padding:0 0 0 20px;font-size:16px;color:#ccc}.page-header .top-navbar .breadcrumb-container .breadcrumb>li+li:before{font-size:18px;padding:0 5px;color:#555;content:'|'}.page-header .top-navbar .breadcrumb-container .breadcrumb>li.title{font-size:18px}.page-header .top-navbar .breadcrumb-container .breadcrumb>li.sub-title{font-size:14px;color:#b3b3b3;line-height:47px}.page-header .top-navbar .status-container{float:right}.info-box{width:100%;margin:30px auto}.info-box .info-icon-box{z-index:-1;position:absolute;min-height:194px;overflow:hidden}.info-box .info-icon-box .fa{margin-top:30px;font-size:164px}.info-box .info-message-box{min-height:328px;border:1px solid #fff;background-color:rgba(255,255,255,0.76);box-shadow:2px 2px 3px rgba(0,0,0,0.3);padding:15px 20px 35px 30px;margin-left:98.4px}.info-box .info-message-box .title{font-size:180%;margin:15px 0}.info-box .info-message-box hr{margin:10px 0 20px;border-top:none;border-bottom:1px dashed #d3d3d3}.content-box{background-color:#fff;padding:20px;box-shadow:1px 1px 1px rgba(0,0,0,0.3)}.content-box .welcome-message .fa{display:block;color:#ff272a;font-size:18px;float:left}.content-box .welcome-message span{display:block;line-height:18px;padding-left:23px}.content-box .table{width:auto;margin-left:20px}.content-box .table td{border-top:1px dotted #ddd;padding:5px}.content-box .table td.key{text-align:right}.content-box .table td.value{text-align:left;font-weight:bold}.content-box .table tr:first-child td{border-top:none}.content-box table.form{width:auto;margin-left:20px}.content-box table.form td{padding:5px;line-height:1.42857143;vertical-align:middle}.content-box table.form td.key{text-align:right}.content-box table.form td label{margin-bottom:0}.content-box table.form td .form-control{height:30px;padding:5px 10px;font-size:inherit;line-height:inherit}.content-box h1 .fa-spin{color:#aaa}.content-box h1{font-size:180%}.content-box h2{font-size:140%}.content-box .op_box{display:block;padding:5px;border-radius:3px;margin:5px 0}.content-box .op_error{background-color:#cc3632;border:1px solid #9c2a26;color:#fff}.content-box .op_wait{background:rgba(255,255,255,0.3)}.content-box .steps-detail{display:none;margin:10px;padding:10px;border:1px solid #b4b4b4;background-color:#dcdcdc}.content-box .steps-detail p{padding-left:5px;margin:2px 0 2px 1px}.content-box .steps-detail p.error{color:#fff;margin:2px 0 2px 0;background-color:#cc3632;border:1px solid #9c2a26}.content-box .alert.alert-warning{color:#6a542d;border:1px solid #e2cab4;background-color:#ffe4cb}.content-box .error{color:#cc3632}#gritter-notice-wrapper{z-index:9999}.gritter-bottom,.gritter-item,.gritter-top{background:rgba(0,0,0,0.8) !important}.gritter-top{border-top-left-radius:3px;border-top-right-radius:3px}.gritter-bottom{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.gritter-close,.gritter-light .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%}.gritter-close:before,.gritter-light .gritter-close:before{content:'\f00d' !important;font-family:FontAwesome !important;font-size:9px !important;width:16px !important;height:16px !important;line-height:16px !important;color:#fff !important;text-indent:0 !important;position:absolute !important;text-align:center !important;right:0 !important;top:0 !important}.gritter-title{font-size:13px !important;line-height:16px !important;padding-bottom:5px !important;font-weight:400 !important;color:#fff !important;text-shadow:none !important}.gritter-item{color:#aaa !important;font-size:13px !important;padding:2px 15px 5px !important}.gritter-error .gritter-bottom,.gritter-error .gritter-item,.gritter-error .gritter-top{background:rgba(123,32,32,0.9) !important}.gritter-error .gritter-title{color:#fff !important}.gritter-error .gritter-item{color:#ddd !important}.gritter-error .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%;background:#e33b3b !important}.gritter-success .gritter-bottom,.gritter-success .gritter-item,.gritter-success .gritter-top{background:rgba(1,65,16,0.9) !important}.gritter-success .gritter-title{color:#ddd !important}.gritter-success .gritter-item{color:#ccc !important}.gritter-success .gritter-close{background:#0eb320 !important}#gritter-notice-wrapper{width:320px;max-width:480px}/*# sourceMappingURL=single.css.map */ \ No newline at end of file diff --git a/server/www/teleport/static/js/user/reset-password.js b/server/www/teleport/static/js/user/reset-password.js new file mode 100644 index 0000000..81fe3c4 --- /dev/null +++ b/server/www/teleport/static/js/user/reset-password.js @@ -0,0 +1,66 @@ +"use strict"; + +$app.on_init = function (cb_stack) { + $app.dom = { + title: $('#title'), + icon_bg: $('#icon-bg'), + + err_area: $('#error-area'), + err_message: $('#err-message'), + err_actions: $('#err-actions'), + + find_password_area: $('#find-my-password'), + username: $('#username'), + email: $('#email'), + captcha_image: $('#captcha-image'), + captcha: $('#captcha'), + btn_send_email: $('#btn-send-email'), + send_result:$('#send-result'), + + password_area: $('#password-area') + }; + + $app.dom.captcha_image.click(function () { + $(this).attr('src', '/auth/captcha?h=28&rnd=' + Math.random()); + $app.dom.captcha.focus().val(''); + }); + + $app.dom.btn_send_email.click(function() { + $app.on_send_email(); + }); + + $app.options.mode = 3; + + if ($app.options.mode === 1) { + // show 'find-my-password' page + $app.dom.title.text('重置密码'); + $app.dom.icon_bg.addClass('fa fa-search-plus').css('color', '#4366de'); + $app.dom.captcha_image.attr('src', '/auth/captcha?h=28&rnd=' + Math.random()); + $app.dom.find_password_area.show(); + $app.dom.username.focus(); + } else if ($app.options.mode === 2) { + // show 'password-expired' page + $app.dom.icon_bg.addClass('fa fa-warning').css('color', '#ff6242'); + if ($app.options.code === TPE_NOT_EXISTS) { + $app.dom.title.text('链接无效'); + $app.dom.err_message.html('当前使用的密码重置链接无效,可能已经因过期而被清除!密码重置链接仅在24小时内有效,请及时设置您的新密码!'); + } else if ($app.options.code === TPE_EXPIRED) { + $app.dom.title.text('链接已过期'); + $app.dom.err_message.html('当前使用的密码重置链接已经过期!密码重置链接仅在24小时内有效,请及时设置您的新密码!'); + } else { + $app.dom.title.text('更新密码'); + } + $app.dom.err_area.show(); + } else if ($app.options.mode === 3) { + // show 'set-new-password' page + $app.dom.title.text('重置密码'); + $app.dom.icon_bg.addClass('fa fa-info-circle').css('color', '#357a3c'); + $app.dom.password_area.show(); + } + + cb_stack.exec(); +}; + +$app.on_send_email = function() { + +}; diff --git a/server/www/teleport/static/less/error.less b/server/www/teleport/static/less/error.less deleted file mode 100644 index 9373dbd..0000000 --- a/server/www/teleport/static/less/error.less +++ /dev/null @@ -1,100 +0,0 @@ -@charset "utf-8"; - -@import "_color"; -@import "_base"; - -@header-height: 36px; -@footer-height: 24px; - -body { - padding: 0; - margin: 0; -} - -.container { - min-width: 460px; -} - -#page-header { - height: @header-height; - margin-bottom: 10px; - border: none; - background-color: #2a2a2a; - color: #fff; - .title { - line-height: @header-height; - font-size: 18px; - } - .logo { - margin-top: 5px; - display: inline-block; - width: 93px; - height: 30px; - background: url(../img/site-logo-small.png) no-repeat; - } -} - -#page-content { - margin-bottom: @footer-height+30px; -} - -#page-footer { - nav.navbar { - min-height: @footer-height; - height: @footer-height; - line-height: @footer-height; - //background-color: rgba(0, 0, 0, 0.6); - background-color: #cdcdcd; - font-size: 12px; - color: #6d6d6d; - .container { - height: @footer-height; - } - p { - margin: 0 auto; - text-align: center; - } - } -} - -.error-box { - @error-icon-size: 164px; - width: 100%; - padding-left:20px; - margin: 30px auto; - - .error-icon-box { - z-index: -1; - position: absolute; - min-height: @error-icon-size+30px; - overflow: hidden; - .fa { - margin-top: 20px; - font-size: @error-icon-size; - color: rgb(255, 101, 0); - } - } - - .error-message-box { - min-height: @error-icon-size*2; - min-width: 300px; - border: 1px solid #fff; - background-color: rgba(255, 255, 255, 0.76); - box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.3); - padding: 15px 15px 15px 30px; - margin-left: @error-icon-size*0.75; - - .title { - font-size: 180%; - //font-weight:bold; - margin: 15px 0; - } - - hr { - border-top: 1px solid #d3d3d3; - border-bottom: 1px solid #fff; - } - } -} - -@import "_overwrite_bootstrap"; diff --git a/server/www/teleport/static/less/maintenance.less b/server/www/teleport/static/less/maintenance.less deleted file mode 100644 index 1ee4669..0000000 --- a/server/www/teleport/static/less/maintenance.less +++ /dev/null @@ -1,186 +0,0 @@ -@charset "utf-8"; - -@import "_color"; -@import "_base"; -@import "_overwrite_bootstrap"; - -body { - padding: 0; - margin: 0; - //overflow: hidden; -} - -#page-header { - nav.navbar { - height: 70px; - margin-bottom: 0; - border: none; - //background-color: rgba(0, 0, 0, 0.6); - background-color: #192e4b; - color: #fff; - } - & nav li { - display: inline-block; - float: left; - } -} - -#page-content { - padding-top: 70px; - padding-bottom: 50px; -} - -#page-footer { - nav.navbar { - min-height: 24px; - height: 24px; - line-height: 24px; - background-color: #c1c1c1; - border-top: 1px solid #7b7b7b; - font-size: 12px; - color: #4e4e4e; - .container { - height: 24px; - } - p { - margin: 0 auto; - text-align: center; - } - } -} - -.content-box { - margin-top: 20px; - background-color: #fff; - padding: 20px; - box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - - .welcome-message { - @welcome-icon-size: 18px; - - .fa { - display: block; - color: #ff272a; - font-size: @welcome-icon-size; - float: left; - } - span { - display: block; - line-height: @welcome-icon-size; - padding-left: @welcome-icon-size+5; - } - } - - .table { - width: auto; - margin-left: 20px; - - td { - border-top: 1px dotted #ddd; - padding: 5px; - &.key { - text-align: right; - } - &.value { - text-align: left; - font-weight: bold; - } - } - - tr:first-child { - td { - border-top: none; - } - } - } - - table.form { - width: auto; - margin-left: 20px; - - & td { - padding: 5px; - line-height: 1.42857143; - vertical-align: middle; - &.key { - text-align: right; - } - - label { - margin-bottom: 0; - } - .form-control { - height: 30px; - padding: 5px 10px; - font-size: inherit; - line-height: inherit; - } - } - } -} - -h1 .fa-spin { - color: #aaa; -} - -h1 { - font-size: 180%; -} - -h2 { - font-size: 140%; -} - -.op_box { - display: block; - padding: 5px; - border-radius: 3px; - //text-align: center; - //margin: 5px 20px 10px 20px; - margin: 5px 0; -} - -.op_error { - //background: rgba(255, 5, 0, 0.5); - background-color: #cc3632; - border: 1px solid #9c2a26; - color: #fff; -} - -.op_wait { - background: rgba(255, 255, 255, 0.3); -} - -.steps-detail { - display: none; - margin: 10px; - padding: 10px; - border: 1px solid #b4b4b4; - background-color: #dcdcdc; - p { - padding-left: 5px; - margin: 2px 0 2px 1px; - &.error { - color: #ffffff; - margin: 2px 0 2px 0; - background-color: #cc3632; - border: 1px solid #9c2a26; - } - } -} - -.alert { - &.alert-warning { - color: #6a542d; - border: 1px solid #e2cab4; - background-color: #ffe4cb; - //padding: 15px; - //color: #000000; - //margin-bottom: 10px; - } -} - -.error { - color:#cc3632; -} - diff --git a/server/www/teleport/static/less/single.less b/server/www/teleport/static/less/single.less index 0dce2bc..b288115 100644 --- a/server/www/teleport/static/less/single.less +++ b/server/www/teleport/static/less/single.less @@ -5,118 +5,349 @@ @import "_table"; @import "_overwrite_bootstrap"; -@top-navbar-height: 48px; -@top-toolbar-height: 36px; -@left-view-width: 220px; +@header-height: 48px; @footer-height: 24px; -@header-height: @top-navbar-height; // + @top-toolbar-height; +body { + padding: 0; + margin: 0; +} + +//.container { +// min-width: 640px; +//} + +#page-content { + margin-bottom: @footer-height+20px; +} + +#page-footer { + nav.navbar { + min-height: @footer-height; + height: @footer-height; + line-height: @footer-height; + //background-color: rgba(0, 0, 0, 0.6); + background-color: #cdcdcd; + font-size: 12px; + color: #6d6d6d; + .container { + height: @footer-height; + } + p { + margin: 0 auto; + text-align: center; + } + } +} + +//@header-height: @top-navbar-height; // + @top-toolbar-height; // 顶部状态栏 -.page-header-fixed { - padding-top: @header-height; +//.page-header-fixed { +//padding-top: @header-height; +//} + +.page-header { + //border: none; + box-shadow: 0 0 3px rgba(0, 0, 0, .5); + min-height: @header-height; + //height: @header-height; + top: 0; + width: 100%; + //position: fixed; + //z-index: 999; + + height: @header-height; + margin: 0 0 10px; + border: none; + background-color: #2a2a2a; + //color: #fff; + //.title { + // line-height: @header-height; + // font-size: 18px; + //} + //.logo { + // margin-top: 5px; + // display: inline-block; + // width: 93px; + // height: 30px; + // background: url(../img/site-logo-small.png) no-repeat; + //} + + //.container-fluid { + // padding-left:0; + //} + + .top-navbar { + min-height: @header-height; + height: @header-height; + line-height: @header-height - 1px; + //margin: 0; + //padding:0; + background-color: @top-navbar-bg; + color: @top-navbar-color; + //overflow: hidden; + + a { + color: #d5d5d5; + + &:hover { + color: #5a8fee; + } + } + + .brand { + float: left; + display: inline-block; + padding: (@header-height - 24)/2px 0; + margin: 0; + + .site-logo { + display: block; + width: 86px; + height: 24px; + background: url(../img/site-logo-small.png) no-repeat; + } + } + + //.title-container { + // float: left; + // display: inline-block; + // margin: 0; + // padding: 0; + // margin-left: 20px; + // + // .title { + // font-size: 16px; + // } + //} + .breadcrumb-container { + float: left; + display: inline-block; + //padding-top: 6px; + margin: 0; + padding: 0; + + .breadcrumb { + background-color: @top-navbar-bg; + //height: @top-navbar-height; + margin: 0; + border-radius: 0; + border: none; + padding: 0 0 0 20px; + font-size: 16px; + color: @top-navbar-color; + + & > li + li:before { + font-size: 18px; + padding: 0 5px; + color: #555; + content: '|'; + //content: "\f105"; + //font-family: 'FontAwesome'; + } + + & > li.title { + font-size: 18px; + } + + & > li.sub-title { + font-size: 14px; + color: darken(@top-navbar-color, 10%); + line-height: @header-height - 1px; + } + } + } + // Status + .status-container { + float: right; + } + + } } -.header { - border: none; - box-shadow: 0 0 3px rgba(0, 0, 0, .5); - min-height: @header-height; - height: @header-height; - top: 0; - width: 100%; - position: fixed; - z-index: 999; +// for error/reset-password page +.info-box { + @error-icon-size: 164px; + width: 100%; + //padding-left:20px; + margin: 30px auto; - //.container-fluid { - // padding-left:0; - //} - .top-navbar { - min-height: @top-navbar-height; - height: @top-navbar-height; - line-height: @top-navbar-height; - //margin: 0; - //padding:0; - background-color: @top-navbar-bg; - color: @top-navbar-color; - //overflow: hidden; + .info-icon-box { + z-index: -1; + position: absolute; + min-height: @error-icon-size+30px; + overflow: hidden; + .fa { + margin-top: 30px; + font-size: @error-icon-size; + //color: rgb(255, 101, 0); + } + } - a { - color: #d5d5d5; + .info-message-box { + min-height: @error-icon-size*2; + //min-width: 300px; + border: 1px solid #fff; + background-color: rgba(255, 255, 255, 0.76); + box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.3); + padding: 15px 20px 35px 30px; + margin-left: @error-icon-size*0.6; - &:hover { - color: #5a8fee; - } - } + .title { + font-size: 180%; + //font-weight:bold; + margin: 15px 0; + } - .brand { - float: left; - display: inline-block; - padding: 12px 0; - margin: 0; - - .site-logo { - display: block; - width: 86px; - height: 24px; - background: url(../img/site-logo-small.png) no-repeat; - } - } - - .title-container { - float: left; - display: inline-block; - margin: 0; - padding: 0; - margin-left: 20px; - - .title { - font-size: 16px; - } - } - .breadcrumb-container { - float: left; - display: inline-block; - //padding-top: 6px; - margin: 0; - padding: 0; - - .breadcrumb { - background-color: @top-navbar-bg; - height: @top-navbar-height; - margin: 0; - border-radius: 0; - border: none; - padding: 0 0 0 20px; - font-size: 16px; - color: @top-navbar-color; - - & > li + li:before { - font-size: 18px; - padding: 0 5px; - color: #555; - //content: "\f105"; - content: '|'; - //font-family: 'FontAwesome'; - } - - .title { - font-size: 18px; - } - - .sub-title { - font-size: 14px; - color: darken(@top-navbar-color, 10%); - } - } - } - // Status - .status-container { - float: right; - } - - } + hr { + //border-top: 1px solid #d3d3d3; + //border-bottom: 1px solid #fff; + margin:10px 0 20px; + border-top: none; + border-bottom: 1px dashed #d3d3d3; + } + } } +// for maintenance page +.content-box { + //margin-top: 20px; + background-color: #fff; + padding: 20px; + box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); + + .welcome-message { + @welcome-icon-size: 18px; + + .fa { + display: block; + color: #ff272a; + font-size: @welcome-icon-size; + float: left; + } + span { + display: block; + line-height: @welcome-icon-size; + padding-left: @welcome-icon-size+5; + } + } + + .table { + width: auto; + margin-left: 20px; + + td { + border-top: 1px dotted #ddd; + padding: 5px; + &.key { + text-align: right; + } + &.value { + text-align: left; + font-weight: bold; + } + } + + tr:first-child { + td { + border-top: none; + } + } + } + + table.form { + width: auto; + margin-left: 20px; + + & td { + padding: 5px; + line-height: 1.42857143; + vertical-align: middle; + &.key { + text-align: right; + } + + label { + margin-bottom: 0; + } + .form-control { + height: 30px; + padding: 5px 10px; + font-size: inherit; + line-height: inherit; + } + } + } + + h1 .fa-spin { + color: #aaa; + } + + h1 { + font-size: 180%; + } + + h2 { + font-size: 140%; + } + + .op_box { + display: block; + padding: 5px; + border-radius: 3px; + //text-align: center; + //margin: 5px 20px 10px 20px; + margin: 5px 0; + } + + .op_error { + //background: rgba(255, 5, 0, 0.5); + background-color: #cc3632; + border: 1px solid #9c2a26; + color: #fff; + } + + .op_wait { + background: rgba(255, 255, 255, 0.3); + } + + .steps-detail { + display: none; + margin: 10px; + padding: 10px; + border: 1px solid #b4b4b4; + background-color: #dcdcdc; + p { + padding-left: 5px; + margin: 2px 0 2px 1px; + &.error { + color: #ffffff; + margin: 2px 0 2px 0; + background-color: #cc3632; + border: 1px solid #9c2a26; + } + } + } + + .alert { + &.alert-warning { + color: #6a542d; + border: 1px solid #e2cab4; + background-color: #ffe4cb; + //padding: 15px; + //color: #000000; + //margin-bottom: 10px; + } + } + + .error { + color: #cc3632; + } + +} + +/* .page-content { margin-top: 10px; margin-bottom: 20px+@footer-height; @@ -173,188 +404,6 @@ } } -.table-host { - //margin-bottom: 20px; - width: 100%; - //border-bottom: 2px solid #e7e7e7; - //border: 1px solid #b3cfe7; - border-top: 10px solid #b3cfe7; - border-bottom: 1px solid #b3cfe7; - - .cell-host-id { - border-left: 1px solid #e7e7e7; - padding: 5px; - text-align: center; - width: 168px; - vertical-align: middle; - - .host-id { - font-family: @font-family-mono; - font-size: 13px; - color: #999; - display: inline-block; - } - - .host-name { - display: block; - // line-height: 14px; - width: 168px; - text-align: center; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 16px; - margin: auto; - margin-bottom: 10px; - } - - .td-ip-item { - //min-width: 12em; - width: 10em; - height: 18px; - padding: 2px 4px; - margin: 1px auto; - - color: #333; - text-align: center; - white-space: nowrap; - border-radius: 9px; - line-height: 11px; - font-size: 11px; - background: #dfdfdf !important; - - span { - display: inline-block; - font-family: @font-family-mono; - font-size: 11px; - font-weight: 400; - } - } - - .actions { - margin-top: 20px; - a { - margin-left: 5px; - margin-right: 5px; - - &:first-child { - margin-left: 0; - } - &:last-child { - margin-right: 0; - } - } - } - } - - .cell-detail { - border-left: 1px solid #e7e7e7; - border-right: 1px solid #e7e7e7; - //border-right: 1px solid #e7e7e7; - vertical-align: top; - - tr { - border-top: 1px solid #e7e7e7; - - &:last-child { - border-bottom: 1px solid #e7e7e7; - } - } - - .row-host-info { - background-color: #ececed; - } - - &.host-offline { - background-color: #ffcecc; - text-align: center; - vertical-align: middle; - - .host-offline-msg { - color: #802506; - font-size: 24px; - } - } - } - - .cell-log { - //display: none; - td { - border: 1px solid #e7e7e7; - - .host-log { - font-size: 12px; - outline: none; - width: 100%; - height: 120px; - overflow-y: auto; - resize: none; - border: none; - padding: 5px; - - div { - margin-bottom: 3px; - .datetime { - font-family: @font-family-mono; - } - } - - } - } - } -} - -.log-box { - margin-top: 15px; - - .log-list { - margin-top: 5px; - border: 1px solid #e7e7e7; - font-size: 12px; - outline: none; - width: 100%; - //height: 480px; - max-height: 480px; - overflow-y: auto; - resize: none; - //border: none; - padding: 5px; - - div { - margin-bottom: 3px; - - &:hover { - background-color: #f3f3f3; - } - - .log-dt { - //padding:1px 3px 2px 3px; - padding: 0 3px; - padding-top: 2px; - padding-bottom: 1px; - margin-right: 3px; - background-color: @color-bg-warning; - color: @color-text-on-dark-bg; - font-family: @font-family-mono; - } - - .log-hid { - padding: 0 3px; - margin-right: 3px; - background-color: @color-bg-primary; - color: @color-text-on-dark-bg; - } - .log-hname { - padding: 0 3px; - margin-right: 3px; - background-color: @color-bg-primary; - color: @color-text-on-dark-bg; - } - } - - } -} - .page-nav { height: 30px; line-height: 30px; @@ -375,5 +424,6 @@ } } -@import "_overwrite_gritter"; +*/ +@import "_overwrite_gritter"; diff --git a/server/www/teleport/static/less/style.less b/server/www/teleport/static/less/style.less index 86dc725..f3f4ca4 100644 --- a/server/www/teleport/static/less/style.less +++ b/server/www/teleport/static/less/style.less @@ -1088,7 +1088,4 @@ i.upload-button { } } -//@import "_role"; -//@import "_table"; -//@import "_overwrite_bootstrap"; @import "_overwrite_gritter"; diff --git a/server/www/teleport/view/audit/record-sftp-cmd.mako b/server/www/teleport/view/audit/record-sftp-cmd.mako index a7876d7..ef73d30 100644 --- a/server/www/teleport/view/audit/record-sftp-cmd.mako +++ b/server/www/teleport/view/audit/record-sftp-cmd.mako @@ -2,16 +2,9 @@ page_title_ = 'SFTP操作记录' %> -<%inherit file="../page_no_sidebar_base.mako"/> +<%inherit file="../page_single_base.mako"/> -<%block name="extend_js"> - - -<%block name="breadcrumb"> - +<%block name="extend_js_file"> <%block name="extend_css"> @@ -66,6 +59,17 @@ +<%block name="page_header"> +
+ +
+ +
他悄悄地来,又悄悄地走,挥一挥衣袖,没有留下任何操作~~~~ diff --git a/server/www/teleport/view/audit/record-ssh-cmd.mako b/server/www/teleport/view/audit/record-ssh-cmd.mako index 1e74ee5..3d6686b 100644 --- a/server/www/teleport/view/audit/record-ssh-cmd.mako +++ b/server/www/teleport/view/audit/record-ssh-cmd.mako @@ -2,16 +2,9 @@ page_title_ = 'SSH操作记录' %> -<%inherit file="../page_no_sidebar_base.mako"/> +<%inherit file="../page_single_base.mako"/> -<%block name="extend_js"> - - -<%block name="breadcrumb"> - +<%block name="extend_js_file"> <%block name="extend_css"> @@ -61,6 +54,17 @@ +<%block name="page_header"> +
+ +
+ +
他悄悄地来,又悄悄地走,挥一挥衣袖,没有留下任何操作~~~~ diff --git a/server/www/teleport/view/audit/replay.mako b/server/www/teleport/view/audit/replay.mako index 6310ccc..4b4912b 100644 --- a/server/www/teleport/view/audit/replay.mako +++ b/server/www/teleport/view/audit/replay.mako @@ -2,49 +2,65 @@ page_title_ = '录像回放' %> -<%inherit file="../page_no_sidebar_base.mako"/> +<%inherit file="../page_single_base.mako"/> -<%block name="extend_js"> +<%block name="extend_js_file"> -<%block name="extend_css"> +<%block name="extend_css_file"> + +<%block name="embed_css"> -<%block name="breadcrumb"> - +<%block name="page_header"> +
+ +
@@ -59,15 +75,14 @@
-## 跳过无操作时间
正在获取数据 总时长:未知
- -
+ +
diff --git a/server/www/teleport/view/auth/login.mako b/server/www/teleport/view/auth/login.mako index 28f6d2a..2098317 100644 --- a/server/www/teleport/view/auth/login.mako +++ b/server/www/teleport/view/auth/login.mako @@ -3,7 +3,7 @@ %> <%inherit file="../page_login_base.mako"/> -<%block name="extend_js"> +<%block name="extend_js_file"> diff --git a/server/www/teleport/view/error/error.mako b/server/www/teleport/view/error/error.mako index bf89ac6..6d59f48 100644 --- a/server/www/teleport/view/error/error.mako +++ b/server/www/teleport/view/error/error.mako @@ -4,21 +4,24 @@ %> <%inherit file="../page_single_base.mako"/> -<%block name="header_title"> - - - -<%block name="extend_css_file"> - +<%block name="page_header"> +
+
+ +
-
-
- +
+
+
-
+

@@ -33,14 +36,15 @@ var err_info = {}; err_info['err_' + TPE_PRIVILEGE] = ['权限不足', '您没有访问权限!

如果您确定应该具有此访问权限,请联系系统管理员!

或者您可以选择访问起始页面。']; - err_info['err_' + TPE_HTTP_404_NOT_FOUND] = ['404 NOT FOUND', '您访问的页面不存在!请向系统管理员汇报此问题!

或者您可以选择访问起始页面。']; - err_info['err_unknown'] = ['未知错误', '发生未知错误,错误编号:'+ $app.options.err_code+'。

请联系系统管理员进行处理!']; + err_info['err_' + TPE_HTTP_404_NOT_FOUND] = ['404 NOT FOUND', '您访问的地址不存在!请向系统管理员汇报此问题!

或者您可以选择访问起始页面。']; + err_info['err_unknown'] = ['未知错误', '发生未知错误,错误编号:' + $app.options.err_code + '。

请联系系统管理员进行处理!']; var err_index = 'err_' + $app.options.err_code; if (!err_info.hasOwnProperty(err_index)) { err_index = 'err_unknown'; } + $('#page-title').html(err_info[err_index][0]); $('#title').html(err_info[err_index][0]); $('#content').html(err_info[err_index][1]); diff --git a/server/www/teleport/view/maintenance/install.mako b/server/www/teleport/view/maintenance/install.mako index f5c1be6..b293455 100644 --- a/server/www/teleport/view/maintenance/install.mako +++ b/server/www/teleport/view/maintenance/install.mako @@ -25,16 +25,28 @@ +## <%block name="page_header"> +## +## + <%block name="page_header"> -