##// END OF EJS Templates
ui: make branding consistent in all pages.
ergo -
r3198:1b6c1c2c stable
parent child Browse files
Show More
@@ -1,90 +1,90 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="base/root.mako"/>
2 <%inherit file="base/root.mako"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Sign In')}
5 ${_('Sign In')}
6 %if c.rhodecode_name:
6 %if c.rhodecode_name:
7 &middot; ${h.branding(c.rhodecode_name)}
7 &middot; ${h.branding(c.rhodecode_name)}
8 %endif
8 %endif
9 </%def>
9 </%def>
10
10
11 <style>body{background-color:#eeeeee;}</style>
11 <style>body{background-color:#eeeeee;}</style>
12 <div class="loginbox">
12 <div class="loginbox">
13 <div class="header">
13 <div class="header">
14 <div id="header-inner" class="title">
14 <div id="header-inner" class="title">
15 <div id="logo">
15 <div id="logo">
16 <div class="logo-wrapper">
16 <div class="logo-wrapper">
17 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
17 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
18 </div>
18 </div>
19 %if c.rhodecode_name:
19 %if c.rhodecode_name:
20 <div class="branding"> ${h.branding(c.rhodecode_name)}</div>
20 <div class="branding">- ${h.branding(c.rhodecode_name)}</div>
21 %endif
21 %endif
22 </div>
22 </div>
23 </div>
23 </div>
24 </div>
24 </div>
25
25
26 <div class="loginwrapper">
26 <div class="loginwrapper">
27 <rhodecode-toast id="notifications"></rhodecode-toast>
27 <rhodecode-toast id="notifications"></rhodecode-toast>
28 <div class="left-column">
28 <div class="left-column">
29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
30 </div>
30 </div>
31 <%block name="above_login_button" />
31 <%block name="above_login_button" />
32 <div id="login" class="right-column">
32 <div id="login" class="right-column">
33 <!-- login -->
33 <!-- login -->
34 <div class="sign-in-title">
34 <div class="sign-in-title">
35 <h1>${_('Sign In')}</h1>
35 <h1>${_('Sign In')}</h1>
36 %if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')():
36 %if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')():
37 <h4>${h.link_to(_("Go to the registration page to create a new account."), request.route_path('register'))}</h4>
37 <h4>${h.link_to(_("Go to the registration page to create a new account."), request.route_path('register'))}</h4>
38 %endif
38 %endif
39 </div>
39 </div>
40 <div class="inner form">
40 <div class="inner form">
41 ${h.form(request.route_path('login', _query={'came_from': c.came_from}), needs_csrf_token=False)}
41 ${h.form(request.route_path('login', _query={'came_from': c.came_from}), needs_csrf_token=False)}
42
42
43 <label for="username">${_('Username')}:</label>
43 <label for="username">${_('Username')}:</label>
44 ${h.text('username', class_='focus', value=defaults.get('username'))}
44 ${h.text('username', class_='focus', value=defaults.get('username'))}
45 %if 'username' in errors:
45 %if 'username' in errors:
46 <span class="error-message">${errors.get('username')}</span>
46 <span class="error-message">${errors.get('username')}</span>
47 <br />
47 <br />
48 %endif
48 %endif
49
49
50 <label for="password">${_('Password')}:</label>
50 <label for="password">${_('Password')}:</label>
51 ${h.password('password', class_='focus')}
51 ${h.password('password', class_='focus')}
52 %if 'password' in errors:
52 %if 'password' in errors:
53 <span class="error-message">${errors.get('password')}</span>
53 <span class="error-message">${errors.get('password')}</span>
54 <br />
54 <br />
55 %endif
55 %endif
56
56
57 ${h.checkbox('remember', value=True, checked=defaults.get('remember'))}
57 ${h.checkbox('remember', value=True, checked=defaults.get('remember'))}
58 <label class="checkbox" for="remember">${_('Remember me')}</label>
58 <label class="checkbox" for="remember">${_('Remember me')}</label>
59
59
60 %if h.HasPermissionAny('hg.password_reset.enabled')():
60 %if h.HasPermissionAny('hg.password_reset.enabled')():
61 <p class="links">
61 <p class="links">
62 ${h.link_to(_('Forgot your password?'), h.route_path('reset_password'), class_='pwd_reset')}
62 ${h.link_to(_('Forgot your password?'), h.route_path('reset_password'), class_='pwd_reset')}
63 </p>
63 </p>
64 %elif h.HasPermissionAny('hg.password_reset.hidden')():
64 %elif h.HasPermissionAny('hg.password_reset.hidden')():
65 <p class="help-block">
65 <p class="help-block">
66 ${_('Password reset is disabled. Please contact ')}
66 ${_('Password reset is disabled. Please contact ')}
67 % if c.visual.rhodecode_support_url:
67 % if c.visual.rhodecode_support_url:
68 <a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a>
68 <a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a>
69 ${_('or')}
69 ${_('or')}
70 % endif
70 % endif
71 ${_('an administrator if you need help.')}
71 ${_('an administrator if you need help.')}
72 </p>
72 </p>
73 %endif
73 %endif
74
74
75 ${h.submit('sign_in', _('Sign In'), class_="btn sign-in")}
75 ${h.submit('sign_in', _('Sign In'), class_="btn sign-in")}
76 <p class="help-block pull-right">
76 <p class="help-block pull-right">
77 RhodeCode ${c.rhodecode_edition}
77 RhodeCode ${c.rhodecode_edition}
78 </p>
78 </p>
79 ${h.end_form()}
79 ${h.end_form()}
80 <script type="text/javascript">
80 <script type="text/javascript">
81 $(document).ready(function(){
81 $(document).ready(function(){
82 $('#username').focus();
82 $('#username').focus();
83 })
83 })
84 </script>
84 </script>
85 </div>
85 </div>
86 <!-- end login -->
86 <!-- end login -->
87 <%block name="below_login_button" />
87 <%block name="below_login_button" />
88 </div>
88 </div>
89 </div>
89 </div>
90 </div>
90 </div>
@@ -1,101 +1,101 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="base/root.mako"/>
2 <%inherit file="base/root.mako"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Reset Password')}
5 ${_('Reset Password')}
6 %if c.rhodecode_name:
6 %if c.rhodecode_name:
7 &middot; ${h.branding(c.rhodecode_name)}
7 &middot; ${h.branding(c.rhodecode_name)}
8 %endif
8 %endif
9 </%def>
9 </%def>
10 <style>body{background-color:#eeeeee;}</style>
10 <style>body{background-color:#eeeeee;}</style>
11
11
12 <div class="loginbox">
12 <div class="loginbox">
13 <div class="header">
13 <div class="header">
14 <div id="header-inner" class="title">
14 <div id="header-inner" class="title">
15 <div id="logo">
15 <div id="logo">
16 <div class="logo-wrapper">
16 <div class="logo-wrapper">
17 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
17 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
18 </div>
18 </div>
19 %if c.rhodecode_name:
19 %if c.rhodecode_name:
20 <div class="branding"> ${h.branding(c.rhodecode_name)}</div>
20 <div class="branding">- ${h.branding(c.rhodecode_name)}</div>
21 %endif
21 %endif
22 </div>
22 </div>
23 </div>
23 </div>
24 </div>
24 </div>
25
25
26 <div class="loginwrapper">
26 <div class="loginwrapper">
27 <rhodecode-toast id="notifications"></rhodecode-toast>
27 <rhodecode-toast id="notifications"></rhodecode-toast>
28 <div class="left-column">
28 <div class="left-column">
29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
30 </div>
30 </div>
31
31
32 %if h.HasPermissionAny('hg.password_reset.disabled')():
32 %if h.HasPermissionAny('hg.password_reset.disabled')():
33 <div class="right-column">
33 <div class="right-column">
34 <p>
34 <p>
35 ${_('Password reset is disabled. Please contact ')}
35 ${_('Password reset is disabled. Please contact ')}
36 % if c.visual.rhodecode_support_url:
36 % if c.visual.rhodecode_support_url:
37 <a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a>
37 <a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a>
38 ${_('or')}
38 ${_('or')}
39 % endif
39 % endif
40 ${_('an administrator if you need help.')}
40 ${_('an administrator if you need help.')}
41 </p>
41 </p>
42 </div>
42 </div>
43 %else:
43 %else:
44 <div id="register" class="right-column">
44 <div id="register" class="right-column">
45 <!-- login -->
45 <!-- login -->
46 <div class="sign-in-title">
46 <div class="sign-in-title">
47 <h1>${_('Reset your Password')}</h1>
47 <h1>${_('Reset your Password')}</h1>
48 <h4>${h.link_to(_("Go to the login page to sign in."), request.route_path('login'))}</h4>
48 <h4>${h.link_to(_("Go to the login page to sign in."), request.route_path('login'))}</h4>
49 </div>
49 </div>
50 <div class="inner form">
50 <div class="inner form">
51 ${h.form(request.route_path('reset_password'), needs_csrf_token=False)}
51 ${h.form(request.route_path('reset_password'), needs_csrf_token=False)}
52 <label for="email">${_('Email Address')}:</label>
52 <label for="email">${_('Email Address')}:</label>
53 ${h.text('email', defaults.get('email'))}
53 ${h.text('email', defaults.get('email'))}
54 %if 'email' in errors:
54 %if 'email' in errors:
55 <span class="error-message">${errors.get('email')}</span>
55 <span class="error-message">${errors.get('email')}</span>
56 <br />
56 <br />
57 %endif
57 %endif
58 <p class="help-block">${_('Password reset link will be sent to matching email address')}</p>
58 <p class="help-block">${_('Password reset link will be sent to matching email address')}</p>
59
59
60 %if captcha_active:
60 %if captcha_active:
61 <div class="login-captcha">
61 <div class="login-captcha">
62 <label for="email">${_('Captcha')}:</label>
62 <label for="email">${_('Captcha')}:</label>
63 ${h.hidden('recaptcha_field')}
63 ${h.hidden('recaptcha_field')}
64 <div id="recaptcha"></div>
64 <div id="recaptcha"></div>
65
65
66 %if 'recaptcha_field' in errors:
66 %if 'recaptcha_field' in errors:
67 <span class="error-message">${errors.get('recaptcha_field')}</span>
67 <span class="error-message">${errors.get('recaptcha_field')}</span>
68 <br />
68 <br />
69 %endif
69 %endif
70 </div>
70 </div>
71 %endif
71 %endif
72
72
73 ${h.submit('send', _('Send password reset email'), class_="btn sign-in")}
73 ${h.submit('send', _('Send password reset email'), class_="btn sign-in")}
74 <p class="help-block pull-right">
74 <p class="help-block pull-right">
75 RhodeCode ${c.rhodecode_edition}
75 RhodeCode ${c.rhodecode_edition}
76 </p>
76 </p>
77
77
78 ${h.end_form()}
78 ${h.end_form()}
79 </div>
79 </div>
80 </div>
80 </div>
81 %endif
81 %endif
82 </div>
82 </div>
83 </div>
83 </div>
84
84
85 <script type="text/javascript">
85 <script type="text/javascript">
86 $(document).ready(function(){
86 $(document).ready(function(){
87 $('#email').focus();
87 $('#email').focus();
88 });
88 });
89 </script>
89 </script>
90
90
91 % if captcha_active:
91 % if captcha_active:
92 <script type="text/javascript">
92 <script type="text/javascript">
93 var onloadCallback = function() {
93 var onloadCallback = function() {
94 grecaptcha.render('recaptcha', {
94 grecaptcha.render('recaptcha', {
95 'sitekey' : "${captcha_public_key}"
95 'sitekey' : "${captcha_public_key}"
96 });
96 });
97 };
97 };
98 </script>
98 </script>
99 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
99 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
100 % endif
100 % endif
101
101
@@ -1,147 +1,147 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="base/root.mako"/>
2 <%inherit file="base/root.mako"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Create an Account')}
5 ${_('Create an Account')}
6 %if c.rhodecode_name:
6 %if c.rhodecode_name:
7 &middot; ${h.branding(c.rhodecode_name)}
7 &middot; ${h.branding(c.rhodecode_name)}
8 %endif
8 %endif
9 </%def>
9 </%def>
10 <style>body{background-color:#eeeeee;}</style>
10 <style>body{background-color:#eeeeee;}</style>
11
11
12 <div class="loginbox">
12 <div class="loginbox">
13 <div class="header">
13 <div class="header">
14 <div id="header-inner" class="title">
14 <div id="header-inner" class="title">
15 <div id="logo">
15 <div id="logo">
16 <div class="logo-wrapper">
16 <div class="logo-wrapper">
17 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
17 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
18 </div>
18 </div>
19 %if c.rhodecode_name:
19 %if c.rhodecode_name:
20 <div class="branding"> ${h.branding(c.rhodecode_name)}</div>
20 <div class="branding">- ${h.branding(c.rhodecode_name)}</div>
21 %endif
21 %endif
22 </div>
22 </div>
23 </div>
23 </div>
24 </div>
24 </div>
25
25
26 <div class="loginwrapper">
26 <div class="loginwrapper">
27 <rhodecode-toast id="notifications"></rhodecode-toast>
27 <rhodecode-toast id="notifications"></rhodecode-toast>
28 <div class="left-column">
28 <div class="left-column">
29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
30 </div>
30 </div>
31 <%block name="above_register_button" />
31 <%block name="above_register_button" />
32 <div id="register" class="right-column">
32 <div id="register" class="right-column">
33 <!-- login -->
33 <!-- login -->
34 <div class="sign-in-title">
34 <div class="sign-in-title">
35 % if social_auth_provider:
35 % if social_auth_provider:
36 <h1>${_('Create an account linked with {}').format(social_auth_provider)}</h1>
36 <h1>${_('Create an account linked with {}').format(social_auth_provider)}</h1>
37 % else:
37 % else:
38 <h1>${_('Create an account')}</h1>
38 <h1>${_('Create an account')}</h1>
39 % endif
39 % endif
40
40
41 <h4>${h.link_to(_("Go to the login page to sign in with an existing account."), request.route_path('login'))}</h4>
41 <h4>${h.link_to(_("Go to the login page to sign in with an existing account."), request.route_path('login'))}</h4>
42 </div>
42 </div>
43 <div class="inner form">
43 <div class="inner form">
44 ${h.form(request.route_path('register'), needs_csrf_token=False)}
44 ${h.form(request.route_path('register'), needs_csrf_token=False)}
45
45
46 <label for="username">${_('Username')}:</label>
46 <label for="username">${_('Username')}:</label>
47 ${h.text('username', defaults.get('username'))}
47 ${h.text('username', defaults.get('username'))}
48 %if 'username' in errors:
48 %if 'username' in errors:
49 <span class="error-message">${errors.get('username')}</span>
49 <span class="error-message">${errors.get('username')}</span>
50 <br />
50 <br />
51 %endif
51 %endif
52
52
53 % if social_auth_provider:
53 % if social_auth_provider:
54 ## hide password prompts for social auth
54 ## hide password prompts for social auth
55 <div style="display: none">
55 <div style="display: none">
56 % endif
56 % endif
57
57
58 <label for="password">${_('Password')}:</label>
58 <label for="password">${_('Password')}:</label>
59 ${h.password('password', defaults.get('password'))}
59 ${h.password('password', defaults.get('password'))}
60 %if 'password' in errors:
60 %if 'password' in errors:
61 <span class="error-message">${errors.get('password')}</span>
61 <span class="error-message">${errors.get('password')}</span>
62 <br />
62 <br />
63 %endif
63 %endif
64
64
65 <label for="password_confirmation">${_('Re-enter password')}:</label>
65 <label for="password_confirmation">${_('Re-enter password')}:</label>
66 ${h.password('password_confirmation', defaults.get('password_confirmation'))}
66 ${h.password('password_confirmation', defaults.get('password_confirmation'))}
67 %if 'password_confirmation' in errors:
67 %if 'password_confirmation' in errors:
68 <span class="error-message">${errors.get('password_confirmation')}</span>
68 <span class="error-message">${errors.get('password_confirmation')}</span>
69 <br />
69 <br />
70 %endif
70 %endif
71
71
72 % if social_auth_provider:
72 % if social_auth_provider:
73 ## hide password prompts for social auth
73 ## hide password prompts for social auth
74 </div>
74 </div>
75 % endif
75 % endif
76
76
77 <label for="firstname">${_('First Name')}:</label>
77 <label for="firstname">${_('First Name')}:</label>
78 ${h.text('firstname', defaults.get('firstname'))}
78 ${h.text('firstname', defaults.get('firstname'))}
79 %if 'firstname' in errors:
79 %if 'firstname' in errors:
80 <span class="error-message">${errors.get('firstname')}</span>
80 <span class="error-message">${errors.get('firstname')}</span>
81 <br />
81 <br />
82 %endif
82 %endif
83
83
84 <label for="lastname">${_('Last Name')}:</label>
84 <label for="lastname">${_('Last Name')}:</label>
85 ${h.text('lastname', defaults.get('lastname'))}
85 ${h.text('lastname', defaults.get('lastname'))}
86 %if 'lastname' in errors:
86 %if 'lastname' in errors:
87 <span class="error-message">${errors.get('lastname')}</span>
87 <span class="error-message">${errors.get('lastname')}</span>
88 <br />
88 <br />
89 %endif
89 %endif
90
90
91 <label for="email">${_('Email')}:</label>
91 <label for="email">${_('Email')}:</label>
92 ${h.text('email', defaults.get('email'))}
92 ${h.text('email', defaults.get('email'))}
93 %if 'email' in errors:
93 %if 'email' in errors:
94 <span class="error-message">${errors.get('email')}</span>
94 <span class="error-message">${errors.get('email')}</span>
95 <br />
95 <br />
96 %endif
96 %endif
97
97
98 %if captcha_active:
98 %if captcha_active:
99 <div>
99 <div>
100 <label for="recaptcha">${_('Captcha')}:</label>
100 <label for="recaptcha">${_('Captcha')}:</label>
101 ${h.hidden('recaptcha_field')}
101 ${h.hidden('recaptcha_field')}
102 <div id="recaptcha"></div>
102 <div id="recaptcha"></div>
103 %if 'recaptcha_field' in errors:
103 %if 'recaptcha_field' in errors:
104 <span class="error-message">${errors.get('recaptcha_field')}</span>
104 <span class="error-message">${errors.get('recaptcha_field')}</span>
105 <br />
105 <br />
106 %endif
106 %endif
107 </div>
107 </div>
108 %endif
108 %endif
109
109
110 %if not auto_active:
110 %if not auto_active:
111 <p class="activation_msg">
111 <p class="activation_msg">
112 ${_('Account activation requires admin approval.')}
112 ${_('Account activation requires admin approval.')}
113 </p>
113 </p>
114 %endif
114 %endif
115 <p class="register_message">
115 <p class="register_message">
116 ${register_message|n}
116 ${register_message|n}
117 </p>
117 </p>
118
118
119 ${h.submit('sign_up',_('Create Account'),class_="btn sign-in")}
119 ${h.submit('sign_up',_('Create Account'),class_="btn sign-in")}
120 <p class="help-block pull-right">
120 <p class="help-block pull-right">
121 RhodeCode ${c.rhodecode_edition}
121 RhodeCode ${c.rhodecode_edition}
122 </p>
122 </p>
123 ${h.end_form()}
123 ${h.end_form()}
124 </div>
124 </div>
125 <%block name="below_register_button" />
125 <%block name="below_register_button" />
126 </div>
126 </div>
127 </div>
127 </div>
128 </div>
128 </div>
129
129
130
130
131 <script type="text/javascript">
131 <script type="text/javascript">
132 $(document).ready(function(){
132 $(document).ready(function(){
133 $('#username').focus();
133 $('#username').focus();
134 });
134 });
135 </script>
135 </script>
136
136
137 % if captcha_active:
137 % if captcha_active:
138 <script type="text/javascript">
138 <script type="text/javascript">
139 var onloadCallback = function() {
139 var onloadCallback = function() {
140 grecaptcha.render('recaptcha', {
140 grecaptcha.render('recaptcha', {
141 'sitekey' : "${captcha_public_key}"
141 'sitekey' : "${captcha_public_key}"
142 });
142 });
143 };
143 };
144 </script>
144 </script>
145 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
145 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
146 % endif
146 % endif
147
147
General Comments 0
You need to be logged in to leave comments. Login now