##// END OF EJS Templates
rhodecode-toasts: added flash toast into pages that don't inherit from base.
marcink -
r1485:26f1df06 default
parent child Browse files
Show More
@@ -1,301 +1,301 b''
1 1 //LOGIN
2 2
3 3
4 4 .loginbox {
5 5 max-width: 65%;
6 6 margin: @pagepadding auto;
7 7 font-family: @text-light;
8 8 border: @border-thickness solid @grey5;
9 9 box-sizing: border-box;
10 10
11 11 @media (max-width:1200px) {
12 12 max-width: 85%;
13 13 }
14 14
15 15 @media (max-width:768px) {
16 16 max-width: 100%;
17 17 width: 100%;
18 18 margin: 0;
19 19 }
20 20
21 21 .title {
22 22 float: none;
23 23 }
24 24
25 25 .header {
26 26 width: 100%;
27 27 padding: 0 35px;
28 28 box-sizing: border-box;
29 29
30 30 .title {
31 31 padding: 0;
32 32 }
33 33 }
34 34
35 35 .loginwrapper {
36 36 float: left;
37 37 height: 100%;
38 38 width: 100%;
39 padding: 35px 55px 35px 0;
39 padding: 35px 55px 35px 35px;
40 40 background-color: white;
41 41 box-sizing: border-box;
42 42
43 43 @media (max-width:414px) {
44 44 padding: 35px;
45 45 }
46 46 }
47 47
48 48 .left-column {
49 49 float: left;
50 50 position: relative;
51 51 width: 50%;
52 52 height: 100%;
53 53
54 54 @media (max-width:414px) {
55 55 display:none;
56 56 }
57 57 }
58 58
59 59 .right-column {
60 60 float: right;
61 61 position: relative;
62 62 width: 50%;
63 63
64 64 @media (max-width:414px) {
65 65 width: 100%;
66 66 }
67 67 }
68 68
69 69 .sign-in-image {
70 70 display: block;
71 71 width: 65%;
72 72 margin: 5% auto;
73 73 }
74 74
75 75 .sign-in-title {
76 76 h1 {
77 77 margin: 0;
78 78 }
79 79
80 80 h4 {
81 81 margin: @padding*2 0;
82 82 }
83 83 }
84 84
85 85 .form {
86 86 label {
87 87 display: block;
88 88 }
89 89
90 90 input {
91 91 width: 100%;
92 92 margin: 0 10% @padding 0;
93 93 .box-sizing(border-box) ;
94 94
95 95 &[type="checkbox"] {
96 96 clear: both;
97 97 width: auto;
98 98 margin: 0 1em @padding 0;
99 99 }
100 100 }
101 101
102 102 .checkbox {
103 103 display: inline;
104 104 width: auto;
105 105 }
106 106
107 107 .sign-in {
108 108 clear: both;
109 109 width: 100%;
110 110 margin: @padding 0;
111 111 }
112 112 }
113 113 .register_message,
114 114 .activation_msg {
115 115 padding: 0 0 @padding;
116 116 }
117 117
118 118 .buttons,
119 119 .links {
120 120 padding: 0;
121 121 }
122 122
123 123 .buttons {
124 124 input {
125 125 margin-right: 0;
126 126 .box-sizing(border-box);
127 127 }
128 128
129 129 #sign_up, #send {
130 130 width: 100%;
131 131 }
132 132 }
133 133
134 134 .fields {
135 135 .field.field-compact {
136 136 margin-bottom: 0px;
137 137 }
138 138
139 139 .buttons {
140 140 margin: 0;
141 141 }
142 142
143 143 .field {
144 144 margin-bottom: 15px;
145 145
146 146 input {
147 147 width: 100%;
148 148 .box-sizing(border-box);
149 149 }
150 150
151 151 .input {
152 152 margin-left: 0;
153 153 }
154 154
155 155 .label {
156 156 padding-top: 0;
157 157 }
158 158 }
159 159 }
160 160
161 161 .checkbox {
162 162 margin: 0 0 @textmargin 0;
163 163
164 164 input[type="checkbox"] {
165 165 width: auto;
166 166 }
167 167
168 168 label {
169 169 padding: 0;
170 170 min-height: 0;
171 171 }
172 172 }
173 173
174 174 .activation_msg {
175 175 padding: @padding 0 0;
176 176 color: @grey4;
177 177 }
178 178
179 179 .links {
180 180 float: right;
181 181 margin: 0;
182 182 padding: 0;
183 183 line-height: 1;
184 184
185 185 p {
186 186 float: right;
187 187 margin: 0;
188 188 line-height: 1.5em;
189 189 }
190 190 }
191 191
192 192 p.help-block {
193 193 margin-left: 0;
194 194 }
195 195 }
196 196
197 197 .user-menu.submenu {
198 198 right: 0;
199 199 left: auto;
200 200 }
201 201 #quick_login {
202 202 left: auto;
203 203 right: 0;
204 204 padding: @menupadding;
205 205 z-index: 999;
206 206 overflow: hidden;
207 207 background-color: @grey6;
208 208 color: @grey2;
209 209
210 210 h4 {
211 211 margin-bottom: 12px;
212 212 }
213 213
214 214 .form {
215 215 width: auto;
216 216 }
217 217
218 218 label, .field {
219 219 margin-bottom: 0;
220 220 }
221 221
222 222 .label {
223 223 padding-top: 0;
224 224 }
225 225
226 226 input {
227 227 min-width: 215px;
228 228 margin: 8px 0 @padding;
229 229 }
230 230
231 231 input[type="submit"] {
232 232 &:extend(.btn-primary);
233 233 width:100%;
234 234 min-width: 0;
235 235 }
236 236
237 237 .forgot_password,
238 238 .buttons .register {
239 239 a {
240 240 color: @rcblue;
241 241
242 242 &:hover {
243 243 color: @rcdarkblue;
244 244 }
245 245 }
246 246 }
247 247
248 248 .buttons {
249 249 margin: 0;
250 250 }
251 251
252 252 .buttons a {
253 253 padding: 8px 0;
254 254 line-height: 1.4em;
255 255 color: @grey4;
256 256
257 257 &:hover {
258 258 color: @grey2;
259 259 }
260 260 }
261 261
262 262 #sign_in {
263 263 margin-bottom: 0
264 264 }
265 265
266 266 .big_gravatar {
267 267 float: left;
268 268 display: block;
269 269 margin-top: .5em;
270 270 }
271 271
272 272 .full_name,
273 273 .email {
274 274 margin: 0 0 0 65px;
275 275 }
276 276
277 277 .email {
278 278 font-family: @text-light;
279 279 }
280 280
281 281 ol.links {
282 282 clear:both;
283 283 margin: 0;
284 284 padding: @padding 0 0 0;
285 285
286 286 li {
287 287 border-top: @border-thickness solid @grey5;
288 288
289 289 input {
290 290 margin: @padding 0 0 0;
291 291 }
292 292 }
293 293 }
294 294 }
295 295 .submenu #quick_login li:hover {
296 296 background-color: transparent;
297 297 }
298 298
299 299 #quick_login_link:hover + #quick_login {
300 300 display: block;
301 301 }
@@ -1,87 +1,88 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="base/root.mako"/>
3 3
4 4 <%def name="title()">
5 5 ${_('Sign In')}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}
8 8 %endif
9 9 </%def>
10 10
11 11 <style>body{background-color:#eeeeee;}</style>
12 12 <div class="loginbox">
13 13 <div class="header">
14 14 <div id="header-inner" class="title">
15 15 <div id="logo">
16 16 <div class="logo-wrapper">
17 17 <a href="${h.url('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
18 18 </div>
19 19 %if c.rhodecode_name:
20 20 <div class="branding"> ${h.branding(c.rhodecode_name)}</div>
21 21 %endif
22 22 </div>
23 23 </div>
24 24 </div>
25 25
26 26 <div class="loginwrapper">
27 <rhodecode-toast id="notifications"></rhodecode-toast>
27 28 <div class="left-column">
28 29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
29 30 </div>
30 31 <%block name="above_login_button" />
31 32 <div id="login" class="right-column">
32 33 <!-- login -->
33 34 <div class="sign-in-title">
34 35 <h1>${_('Sign In')}</h1>
35 36 %if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')():
36 37 <h4>${h.link_to(_("Go to the registration page to create a new account."), request.route_path('register'))}</h4>
37 38 %endif
38 39 </div>
39 40 <div class="inner form">
40 41 ${h.form(request.route_path('login', _query={'came_from': came_from}), needs_csrf_token=False)}
41 42
42 43 <label for="username">${_('Username')}:</label>
43 44 ${h.text('username', class_='focus', value=defaults.get('username'))}
44 45 %if 'username' in errors:
45 46 <span class="error-message">${errors.get('username')}</span>
46 47 <br />
47 48 %endif
48 49
49 50 <label for="password">${_('Password')}:</label>
50 51 ${h.password('password', class_='focus')}
51 52 %if 'password' in errors:
52 53 <span class="error-message">${errors.get('password')}</span>
53 54 <br />
54 55 %endif
55 56
56 57 ${h.checkbox('remember', value=True, checked=defaults.get('remember'))}
57 58 <label class="checkbox" for="remember">${_('Remember me')}</label>
58 59
59 60 %if h.HasPermissionAny('hg.password_reset.enabled')():
60 61 <p class="links">
61 62 ${h.link_to(_('Forgot your password?'), h.route_path('reset_password'), class_='pwd_reset')}
62 63 </p>
63 64 %elif h.HasPermissionAny('hg.password_reset.hidden')():
64 65 <p class="help-block">
65 66 ${_('Password reset is disabled. Please contact ')}
66 67 % if c.visual.rhodecode_support_url:
67 68 <a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a>
68 69 ${_('or')}
69 70 % endif
70 71 ${_('an administrator if you need help.')}
71 72 </p>
72 73 %endif
73 74
74 75 ${h.submit('sign_in', _('Sign In'), class_="btn sign-in")}
75 76
76 77 ${h.end_form()}
77 78 <script type="text/javascript">
78 79 $(document).ready(function(){
79 80 $('#username').focus();
80 81 })
81 82 </script>
82 83 </div>
83 84 <!-- end login -->
84 85 <%block name="below_login_button" />
85 86 </div>
86 87 </div>
87 88 </div>
@@ -1,90 +1,91 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="base/root.mako"/>
3 3
4 4 <%def name="title()">
5 5 ${_('Reset Password')}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}
8 8 %endif
9 9 </%def>
10 10 <style>body{background-color:#eeeeee;}</style>
11 11
12 12 <div class="loginbox">
13 13 <div class="header">
14 14 <div id="header-inner" class="title">
15 15 <div id="logo">
16 16 <div class="logo-wrapper">
17 17 <a href="${h.url('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
18 18 </div>
19 19 %if c.rhodecode_name:
20 20 <div class="branding"> ${h.branding(c.rhodecode_name)}</div>
21 21 %endif
22 22 </div>
23 23 </div>
24 24 </div>
25 25
26 26 <div class="loginwrapper">
27 <rhodecode-toast id="notifications"></rhodecode-toast>
27 28 <div class="left-column">
28 29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
29 30 </div>
30 31
31 32 %if h.HasPermissionAny('hg.password_reset.disabled')():
32 33 <div class="right-column">
33 34 <p>
34 35 ${_('Password reset is disabled. Please contact ')}
35 36 % if c.visual.rhodecode_support_url:
36 37 <a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a>
37 38 ${_('or')}
38 39 % endif
39 40 ${_('an administrator if you need help.')}
40 41 </p>
41 42 </div>
42 43 %else:
43 44 <div id="register" class="right-column">
44 45 <!-- login -->
45 46 <div class="sign-in-title">
46 47 <h1>${_('Reset your Password')}</h1>
47 48 <h4>${h.link_to(_("Go to the login page to sign in."), request.route_path('login'))}</h4>
48 49 </div>
49 50 <div class="inner form">
50 51 ${h.form(request.route_path('reset_password'), needs_csrf_token=False)}
51 52 <label for="email">${_('Email Address')}:</label>
52 53 ${h.text('email', defaults.get('email'))}
53 54 %if 'email' in errors:
54 55 <span class="error-message">${errors.get('email')}</span>
55 56 <br />
56 57 %endif
57 58
58 59 %if captcha_active:
59 60 <div class="login-captcha">
60 61 <label for="email">${_('Captcha')}:</label>
61 62 ${h.hidden('recaptcha_field')}
62 63 <div id="recaptcha"></div>
63 64 %if 'recaptcha_field' in errors:
64 65 <span class="error-message">${errors.get('recaptcha_field')}</span>
65 66 <br />
66 67 %endif
67 68 </div>
68 69 %endif
69 70
70 71 ${h.submit('send', _('Send password reset email'), class_="btn sign-in")}
71 72 <div class="activation_msg">${_('Password reset link will be sent to matching email address')}</div>
72 73
73 74 ${h.end_form()}
74 75 </div>
75 76 </div>
76 77 %endif
77 78 </div>
78 79 </div>
79 80
80 81 %if captcha_active:
81 82 <script type="text/javascript" src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
82 83 %endif
83 84 <script type="text/javascript">
84 85 $(document).ready(function(){
85 86 $('#email').focus();
86 87 %if captcha_active:
87 88 Recaptcha.create("${captcha_public_key}", "recaptcha", {theme: "white"});
88 89 %endif
89 90 });
90 91 </script>
@@ -1,122 +1,123 b''
1 1 =## -*- coding: utf-8 -*-
2 2 <%inherit file="base/root.mako"/>
3 3
4 4 <%def name="title()">
5 5 ${_('Create an Account')}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}
8 8 %endif
9 9 </%def>
10 10 <style>body{background-color:#eeeeee;}</style>
11 11
12 12 <div class="loginbox">
13 13 <div class="header">
14 14 <div id="header-inner" class="title">
15 15 <div id="logo">
16 16 <div class="logo-wrapper">
17 17 <a href="${h.url('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
18 18 </div>
19 19 %if c.rhodecode_name:
20 20 <div class="branding"> ${h.branding(c.rhodecode_name)}</div>
21 21 %endif
22 22 </div>
23 23 </div>
24 24 </div>
25 25
26 26 <div class="loginwrapper">
27 <rhodecode-toast id="notifications"></rhodecode-toast>
27 28 <div class="left-column">
28 29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
29 30 </div>
30 31 <%block name="above_register_button" />
31 32 <div id="register" class="right-column">
32 33 <!-- login -->
33 34 <div class="sign-in-title">
34 35 <h1>${_('Create an account')}</h1>
35 36 <h4>${h.link_to(_("Go to the login page to sign in with an existing account."), request.route_path('login'))}</h4>
36 37 </div>
37 38 <div class="inner form">
38 39 ${h.form(request.route_path('register'), needs_csrf_token=False)}
39 40
40 41 <label for="username">${_('Username')}:</label>
41 42 ${h.text('username', defaults.get('username'))}
42 43 %if 'username' in errors:
43 44 <span class="error-message">${errors.get('username')}</span>
44 45 <br />
45 46 %endif
46 47
47 48 <label for="password">${_('Password')}:</label>
48 49 ${h.password('password', defaults.get('password'))}
49 50 %if 'password' in errors:
50 51 <span class="error-message">${errors.get('password')}</span>
51 52 <br />
52 53 %endif
53 54
54 55 <label for="password_confirmation">${_('Re-enter password')}:</label>
55 56 ${h.password('password_confirmation', defaults.get('password_confirmation'))}
56 57 %if 'password_confirmation' in errors:
57 58 <span class="error-message">${errors.get('password_confirmation')}</span>
58 59 <br />
59 60 %endif
60 61
61 62 <label for="firstname">${_('First Name')}:</label>
62 63 ${h.text('firstname', defaults.get('firstname'))}
63 64 %if 'firstname' in errors:
64 65 <span class="error-message">${errors.get('firstname')}</span>
65 66 <br />
66 67 %endif
67 68
68 69 <label for="lastname">${_('Last Name')}:</label>
69 70 ${h.text('lastname', defaults.get('lastname'))}
70 71 %if 'lastname' in errors:
71 72 <span class="error-message">${errors.get('lastname')}</span>
72 73 <br />
73 74 %endif
74 75
75 76 <label for="email">${_('Email')}:</label>
76 77 ${h.text('email', defaults.get('email'))}
77 78 %if 'email' in errors:
78 79 <span class="error-message">${errors.get('email')}</span>
79 80 <br />
80 81 %endif
81 82
82 83 %if captcha_active:
83 84 <div>
84 85 <label for="recaptcha">${_('Captcha')}:</label>
85 86 ${h.hidden('recaptcha_field')}
86 87 <div id="recaptcha"></div>
87 88 %if 'recaptcha_field' in errors:
88 89 <span class="error-message">${errors.get('recaptcha_field')}</span>
89 90 <br />
90 91 %endif
91 92 </div>
92 93 %endif
93 94
94 95 %if not auto_active:
95 96 <p class="activation_msg">
96 97 ${_('Account activation requires admin approval.')}
97 98 </p>
98 99 %endif
99 100 <p class="register_message">
100 101 ${register_message|n}
101 102 </p>
102 103
103 104 ${h.submit('sign_up',_('Create Account'),class_="btn sign-in")}
104 105
105 106 ${h.end_form()}
106 107 </div>
107 108 <%block name="below_register_button" />
108 109 </div>
109 110 </div>
110 111 </div>
111 112
112 113 %if captcha_active:
113 114 <script type="text/javascript" src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
114 115 %endif
115 116 <script type="text/javascript">
116 117 $(document).ready(function(){
117 118 $('#username').focus();
118 119 %if captcha_active:
119 120 Recaptcha.create("${captcha_public_key}", "recaptcha", {theme: "white"});
120 121 %endif
121 122 });
122 123 </script>
General Comments 0
You need to be logged in to leave comments. Login now