Merge lp:~stuartmetcalfe/canonical-identity-provider/lp-brand-update into lp:canonical-identity-provider/release

Proposed by Stuart Metcalfe
Status: Merged
Approved by: Ricardo Kirkner
Approved revision: no longer in the source branch.
Merged at revision: 144
Proposed branch: lp:~stuartmetcalfe/canonical-identity-provider/lp-brand-update
Merge into: lp:canonical-identity-provider/release
Diff against target: 673 lines (+273/-271)
8 files modified
identityprovider/media/launchpad/styles.css (+189/-212)
identityprovider/templates/launchpad/base.html (+69/-40)
identityprovider/templates/launchpad/registration/login.html (+1/-1)
identityprovider/templates/ubuntu/base.html (+1/-1)
identityprovider/templates/ubuntu/registration/login.html (+1/-1)
identityprovider/templates/widgets/launchpad/logout-button.html (+8/-14)
identityprovider/templates/widgets/recaptcha.html (+2/-2)
identityprovider/views/ui.py (+2/-0)
To merge this branch: bzr merge lp:~stuartmetcalfe/canonical-identity-provider/lp-brand-update
Reviewer Review Type Date Requested Status
Ricardo Kirkner (community) Approve
Review via email: mp+60733@code.launchpad.net

Commit message

Changes the Launchpad branding to match the current site design and tweaks a few other little things along the way.

Description of the change

Changes the Launchpad branding to match the current site design and tweaks a few other little things along the way.

To post a comment you must log in.
Revision history for this message
Ricardo Kirkner (ricardokirkner) wrote :

LGTM. Nice css work

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'identityprovider/media/launchpad/favicon.png'
2Binary files identityprovider/media/launchpad/favicon.png 1970-01-01 00:00:00 +0000 and identityprovider/media/launchpad/favicon.png 2011-05-12 07:49:34 +0000 differ
3=== added file 'identityprovider/media/launchpad/icon-sprites.png'
4Binary files identityprovider/media/launchpad/icon-sprites.png 1970-01-01 00:00:00 +0000 and identityprovider/media/launchpad/icon-sprites.png 2011-05-12 07:49:34 +0000 differ
5=== added file 'identityprovider/media/launchpad/launchpad-logo-and-name.png'
6Binary files identityprovider/media/launchpad/launchpad-logo-and-name.png 1970-01-01 00:00:00 +0000 and identityprovider/media/launchpad/launchpad-logo-and-name.png 2011-05-12 07:49:34 +0000 differ
7=== modified file 'identityprovider/media/launchpad/styles.css'
8--- identityprovider/media/launchpad/styles.css 2010-11-16 11:00:25 +0000
9+++ identityprovider/media/launchpad/styles.css 2011-05-12 07:49:34 +0000
10@@ -1,65 +1,220 @@
11 /* Copyright 2010 Canonical Ltd. This software is licensed under the
12 GNU Affero General Public License version 3 (see the file LICENSE). */
13
14-html {
15- background: #fff;
16- color: #000;
17- font-family: UbuntuBeta, Ubuntu, "Bitstream Vera Sans", "DejaVu Sans", Tahoma, sans-serif;
18-} :link {
19- background: none;
20- color: #00c;
21-}
22-
23-img {
24- border: 0;
25-}
26-
27-html, body {
28- height: 100%;
29+a:link,
30+a:visited {
31+ color: #03A;
32+ text-decoration: none;
33+}
34+
35+a:hover {
36+ text-decoration: underline;
37+}
38+
39+body {
40+ font-family: "Ubuntu Beta", UbuntuBeta, Ubuntu, "Bitstream Vera Sans", "DejaVu Sans", Tahoma, sans-serif;
41+ font-size: 12px;
42+ line-height: 16px;
43+}
44+
45+h1 {
46+ font-size: 30px;
47+ line-height: 34px;
48+ font-weight: normal;
49+}
50+
51+h2 {
52+ margin-top: 16px;
53+ margin-bottom: 8px;
54+ font-size: 22px;
55+ font-weight: normal;
56+ line-height: 26px;
57+}
58+
59+/* Forms */
60+
61+label {
62+ font-weight: bold;
63+}
64+
65+label:after {
66+ content: ":";
67+}
68+
69+input[type="text"],
70+input[type="password"]
71+{
72+ width: 15em;
73+}
74+
75+input[type="button"],
76+input[type="submit"],
77+input[type="reset"],
78+input[type="file"]::-webkit-file-upload-button,
79+button {
80+ -webkit-box-align: center;
81+ text-align: center;
82+ cursor: default;
83+ color: buttontext;
84+ padding: 2px 6px 3px;
85+ border: 2px outset buttonface;
86+ background-color: buttonface;
87+ box-sizing: border-box;
88+}
89+
90+label.tooltip span.tooltip {
91+ display: none;
92+}
93+
94+form .formHelp {
95+ display: block;
96+ font-size: 80%;
97+ padding-left: 0.5em;
98+}
99+
100+.login-logout {
101+ position: absolute;
102+ top: 0.5em;
103+ right: 1.5em;
104+}
105+
106+/* Login/out controls */
107+
108+#logincontrol input[type="submit"] {
109+ font-size: 10px;
110 margin: 0;
111 padding: 0;
112 }
113
114-/* pushes footer down */
115-table.listing {
116+.sprite {
117+ padding: 0 0 0 18px;
118+ line-height: 18px;
119+}
120+
121+.person {
122+ background-image: url(/assets/identityprovider/launchpad/icon-sprites.png);
123+ background-repeat: no-repeat;
124+ background-position: 0 -1804px;
125+}
126+
127+#login-form {
128+ float: left;
129+ width: 50%;
130+}
131+
132+/* Layout */
133+
134+.top-portlet {
135+ border-bottom: 1px dotted #999;
136+ padding: 0 0 0.5em 0;
137+ margin: 0 0 1em;
138+}
139+
140+.yui-d0 {
141+ margin: 10px 20px;
142+}
143+
144+.yui-d0 {
145+ margin: auto 10px;
146+ width: auto;
147+}
148+
149+.yui-u.first {
150+ margin-top: 1.5em;
151+}
152+
153+#maincontent {
154+ margin: auto;
155+ width: 90%;
156+ max-width: 80em;
157+}
158+
159+.yui-main {
160+ width: 100%;
161+}
162+
163+#sidebar,
164+#lpinfo {
165+ margin-left: 50%;
166+}
167+
168+.footer .colophon {
169+ margin: 3em 3em 1em 3em;
170+ text-align: center;
171+}
172+
173+/* Errors */
174+
175+span.error {
176+ color: red
177+}
178+
179+.message {
180+ background: 5px 0.5em no-repeat;
181+ font-weight: bold;
182+ margin: auto;
183+ padding: 0.5em 1em 0.5em 30px;
184+}
185+
186+.error.message {
187+ color: #db1f22;
188+ background-color: #ffffff;
189+ border: 1px solid #db1f22;
190+}
191+
192+/* Specific cases */
193+
194+#lplogo {
195+ margin: 0 9em 1em 0;
196+}
197+
198+#forgotpw-link {
199+ line-height: 2em;
200+}
201+
202+p.returnto {
203+ font-size: 140%;
204+}
205+
206+/* Tables */
207+
208+table {
209+ border-spacing: 0;
210+}
211+
212+#visited-sites table.listing {
213+ border: 1px solid #d2d2d2;
214 margin: 0 0 10px 0;
215 width: 100%;
216- font-size: 90%;
217+ font-size: 100%;
218 }
219
220-table.listing, table.listing tbody, table.listing td.end-of-section {
221+table.listing th {
222 border-bottom: 1px solid #d2d2d2;
223+ border-left: 1px solid #d2d2d2;
224 }
225
226-table.listing thead, table.listing thead th, table.listing tfoot tr, table.listing tr.thead th {
227- border: 1px solid #d2d2d2;
228- background-color: #fff;
229+table.listing th:first-child {
230+ border-left: 0;
231 }
232
233 table.listing th, table.listing td {
234 padding: 0.25em;
235 }
236
237+#visited-sites table.listing td {
238+ background-color: #FF9;
239+}
240+
241 table.listing table tbody, table.listing table thead, table.listing table thead th, table.listing tfoot tr, table.listing table tfoot td, table.listing table td {
242 border: none;
243 }
244
245-thead {
246- vertical-align: bottom;
247-}
248-
249 th, td {
250+ text-align: left;
251 vertical-align: baseline;
252 }
253
254-th {
255- text-align: right;
256-}
257-
258-thead th, tr.thead th {
259- text-align: center;
260-}
261-
262 table.hover tbody tr:hover {
263 background-color: #e8e8e8;
264 }
265@@ -71,181 +226,3 @@
266 td.actions a {
267 margin-left: 1.5em;
268 }
269-
270-#nonfooter {
271- position: relative;
272- min-height: 100%;
273-}
274-* html #nonfooter {
275- height: 100%;
276-}
277-
278-#footer {
279- clear: both;
280- position: relative;
281- margin: -1em auto 0;
282- height: 3em;
283-}
284-
285-address, #footer {
286- font-size: 14px;
287- font-style: normal;
288- text-align: center;
289-}
290-
291-address {
292- background: #afdb1f;
293- border: solid #9bc11b;
294- border-width: 1px 0;
295- font-weight: bold;
296- margin: 0 0 24px;
297- padding: 4px 10px;
298-}
299-
300-#maincontent {
301- margin: 0 auto;
302- padding: 0 2em;
303- max-width: 60em;
304-}
305-
306-h1, h2 {
307- font-size: 1em;
308- color: #666;
309-}
310-
311-p.returnto {
312- font-size: 16px;
313- text-align: center;
314-}
315-
316-#rp {
317- width: 49%;
318- float: left;
319-}
320-
321-#auth {
322- background: #eee;
323- border: 1px solid #aaa;
324- padding: 1em 2%;
325- width: 100%;
326- float: right;
327-}
328-
329-#auth h2 {
330- margin: 0 0 0.25em;
331- padding: 0;
332-}
333-
334-#auth div {
335- margin: 0 0 1em;
336- width: 100%;
337-}
338-
339-#auth div div {
340- margin: 0;
341-}
342-
343-#auth input[type =
344-"text"], #auth input[type = "password"] {
345- display: block;
346- width: 300px;
347-}
348-
349-input[type =
350-"radio"] {
351- margin-left: 0;
352- margin-top: 0.5em;
353-}
354-
355-#auth input[type =
356-"submit"] {
357- margin-top: 1em;
358-}
359-
360-#auth label {
361- margin-bottom: 0.25em;
362-}
363-
364-form .formHelp {
365- display: block;
366-}
367-
368-button:hover {
369- cursor: pointer;
370-}
371-
372-code {
373- font-weight: bold;
374-}
375-
376-#lpinfo {
377- clear: both;
378- width: 50%;
379- margin-left: 25%;
380- padding-top: 20px;
381-}
382-
383-.message {
384- background: 5px 0.5em no-repeat;
385- font-weight: bold;
386- margin: auto;
387- padding: 0.5em 1em 0.5em 30px; /* 30px because the image has a pixel size */
388-}
389-
390-.error.message {
391- color: #db1f22;
392- background-color: #ffffff;
393- border: 1px solid #db1f22;
394-}
395-
396-span.tooltip {
397- display: none;
398-}
399-
400-div#user-info {
401- max-width: 60em;
402- padding: 0 2em;
403- margin: 20px auto;
404-}
405-
406-div#col1 {
407- float: left;
408- width: 45%;
409- margin-right: 10px;
410-}
411-
412-div#col2 {
413- float: left;
414- width: 45%
415-}
416-
417-span.error {
418- color: red
419-}
420-
421-#mainbar {
422- float: left;
423- margin-right: 50px;
424- width: 50%;
425-}
426-#sidebar {
427- margin-right: 20px;
428- float: left;
429- width: 35%;
430- display:block;
431-}
432-
433-label {
434- font-weight: bold;
435-}
436-label:after {
437- content: ":";
438-}
439-
440-#logout {
441- float:right;
442-}
443-
444-#captcha iframe {
445- display: block;
446-}
447
448=== modified file 'identityprovider/templates/launchpad/base.html'
449--- identityprovider/templates/launchpad/base.html 2010-11-15 23:22:19 +0000
450+++ identityprovider/templates/launchpad/base.html 2011-05-12 07:49:34 +0000
451@@ -10,49 +10,78 @@
452 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
453 <head>
454 <title>{% block title %}{% trans "Log in" %}{% endblock %}</title>
455+ <link rel="shortcut icon" href="/assets/identityprovider/launchpad/favicon.png" />
456 <link rel="stylesheet" type="text/css" href="/assets/identityprovider/launchpad/styles.css"/>
457 {% block extra_header %}{% endblock %}
458 </head>
459 <body>
460- <div id="nonfooter">
461- <address>
462- {% trans "Launchpad Login Service" %}
463- </address>
464- {% if user.is_authenticated %}
465- {% include "widgets/launchpad/logout-button.html" %}
466- {% endif %}
467-
468- {% if message %}
469- <div class="message {{ message_style }}{% if not user.is_authenticated %} notopbar{% endif %}">
470- <p>{{ message }}</p>
471- </div>
472- {% endif %}
473-
474- <div id="maincontent">
475- {% if readonly %}
476- <div class="message">
477- {% blocktrans %}We are currently in read-only mode. That means that at the moment you can't create new accounts, update your personal information, or request password reminders.{% endblocktrans %}
478- </div>
479- {% endif %}
480-
481- <div id="{% block content_id %}box{% endblock %}">
482- {% block text_title %}{% endblock %}
483- {% block content %}{% endblock %}
484- </div>
485- </div>
486- <div style="clear: both;">
487- &nbsp;
488- </div>
489- </div>
490-
491- <div id="footer">
492- {% blocktrans %}Problems logging in? Check our <a href="https://answers.launchpad.net/canonical-identity-provider">FAQs</a> or open a <a href="https://forms.canonical.com/lp-login-support/">new support case</a>.{% endblocktrans %}<br />
493- &copy;&nbsp;2004-2010&nbsp;<a href="http://canonical.com/">Canonical&nbsp;Ltd.</a><br />
494- {% blocktrans %}<a href="https://launchpad.net/canonical-identity-provider">Source code for this Single Sign On service</a> is licensed under the <a href="http://www.gnu.org/licenses/agpl-3.0.html">AGPL</a>.{% endblocktrans %}<br />
495- <small>
496- {% blocktrans %}Launchpad account management is provided by the <a href="https://login.ubuntu.com">Ubuntu Single Sign On service</a>{% endblocktrans %}
497- </small>
498- </div>
499-
500+ <body id="document">
501+ <div class="yui-d0">
502+ <div id="locationbar" class="login-logout">
503+ <div id="logincontrol">
504+ {% if user.is_authenticated %}
505+ {% include "widgets/launchpad/logout-button.html" %}
506+ {% else %}
507+ <a href="/+login">{% trans "Log in / Register" %}</a>
508+ {% endif %}
509+ </div>
510+ </div>
511+ </div>
512+
513+ <div id="maincontent" class="yui-main">
514+ <div class="yui-b" dir="ltr">
515+ <div>
516+ <div id="homepage" class="homepage">
517+ <div class="top-portlet">
518+ <img src="/assets/identityprovider/launchpad/launchpad-logo-and-name.png" alt="" id="lplogo" />
519+ </div>
520+ <div class="yui-g">
521+ <div class="yui-u first">
522+
523+ <div id="title">{% block text_title %}{% endblock %}</div>
524+
525+ <div id="content">
526+ {% if readonly %}
527+ <div class="message warning">
528+ {% blocktrans %}We are currently in read-only mode. That means that at the moment you can't create new accounts, update your personal information, or request password reminders.{% endblocktrans %}
529+ </div>
530+ {% endif %}
531+
532+ {% if message %}
533+ <div class="message {{ message_style }}{% if not user.is_authenticated %} notopbar{% endif %}">
534+ <p>{{ message }}</p>
535+ </div>
536+ {% endif %}
537+
538+ {% if readonly %}
539+ <div class="message">
540+ {% blocktrans %}We are currently in read-only mode. That means that at the moment you can't create new accounts, update your personal information, or request password reminders.{% endblocktrans %}
541+ </div>
542+ {% endif %}
543+
544+ <div id="{% block content_id %}box{% endblock %}">
545+ {% block content %}{% endblock %}
546+ </div>
547+
548+ </div>
549+ </div>
550+ </div>
551+ </div>
552+ </div>
553+ </div>
554+
555+ <div id="footer" class="footer">
556+ <div class="colophon">
557+ {% blocktrans %}&copy;&nbsp;2004-2011&nbsp;<a href="http://canonical.com/">Canonical&nbsp;Ltd.</a> &bull;
558+ <a href="https://launchpad.net/canonical-identity-provider">Get the code</a> &bull;
559+ <a href="https://answers.launchpad.net/canonical-identity-provider">FAQs</a> &bull;
560+ <a href="https://forms.canonical.com/lp-login-support/">Contact SSO Support</a>
561+ {% endblocktrans %}<br />
562+ <small>
563+ {% blocktrans %}Launchpad account management is provided by the <a href="https://login.ubuntu.com">Ubuntu Single Sign On service</a>{% endblocktrans %}
564+ </small>
565+ </div>
566+ </div>
567+ </div>
568 </body>
569 </html>
570
571=== modified file 'identityprovider/templates/launchpad/registration/login.html'
572--- identityprovider/templates/launchpad/registration/login.html 2010-07-12 19:11:15 +0000
573+++ identityprovider/templates/launchpad/registration/login.html 2011-05-12 07:49:34 +0000
574@@ -30,7 +30,7 @@
575 </div>
576 <form id="login-form" action="+login" method="post" name="loginform">
577 <p class="input-row{% if form.email.errors or form.non_field_errors %} haserrors{% endif %}">
578- <label class="formLabel" for="id_username">{% trans "Email address" %}</label>
579+ <label class="formLabel" for="id_email">{% trans "Email address" %}</label>
580 <br />
581 {{ form.email }}
582 {% if form.email.errors %}
583
584=== modified file 'identityprovider/templates/ubuntu/base.html'
585--- identityprovider/templates/ubuntu/base.html 2010-11-15 23:26:00 +0000
586+++ identityprovider/templates/ubuntu/base.html 2011-05-12 07:49:34 +0000
587@@ -87,7 +87,7 @@
588 <div id="footer-logo"><a href="{% if not embedded %}http://www.ubuntu.com{% endif %}"></a></div>
589
590 <div id="copyright">
591- <p>{% blocktrans %}&copy; 2009-2010 Canonical Ltd.
592+ <p>{% blocktrans %}&copy; 2009-2011 Canonical Ltd.
593 <a href="https://launchpad.net/canonical-identity-provider">Source code for this service</a> is licensed under the <a href="http://www.gnu.org/licenses/agpl-3.0.html">AGPL</a>.<br />
594 Ubuntu and Canonical are registered trademarks of Canonical Group Ltd.<br />
595 Please review our <a href="http://ubuntu.com/legal">Terms of Service</a> as well as our <a href="http://ubuntu.com/legal#privacy">Privacy Policy</a>.{% endblocktrans %}</p>
596
597=== modified file 'identityprovider/templates/ubuntu/registration/login.html'
598--- identityprovider/templates/ubuntu/registration/login.html 2010-09-18 05:38:59 +0000
599+++ identityprovider/templates/ubuntu/registration/login.html 2011-05-12 07:49:34 +0000
600@@ -37,7 +37,7 @@
601
602 <form id="login-form" action="+login" method="post" name="loginform">
603 <p class="input-row{% if form.email.errors or form.non_field_errors %} haserrors{% endif %}">
604- <label class="formLabel">{% trans "Email address" %}</label><br />
605+ <label class="formLabel" for="id_email">{% trans "Email address" %}</label><br />
606 {{ form.email }}
607 {% if form.email.errors %}
608 <span class="error">{{ form.email.errors|join:"" }}</span>
609
610=== modified file 'identityprovider/templates/widgets/launchpad/logout-button.html'
611--- identityprovider/templates/widgets/launchpad/logout-button.html 2010-07-12 19:11:15 +0000
612+++ identityprovider/templates/widgets/launchpad/logout-button.html 2011-05-12 07:49:34 +0000
613@@ -5,17 +5,11 @@
614
615 {% load i18n %}
616
617-<div id="user-info">
618- <div id="user-name">
619- {% blocktrans with user.displayname as displayname %}Logged in as <strong>{{ displayname }}</strong>{% endblocktrans %}
620- {% if token %}
621- {% if not readonly %}
622- <span class="separator">|</span>
623- <a href="./+edit" id="edit-link">{% trans "Edit" %}</a>
624- {% endif %}
625- {% endif %}
626- <span id="logout">
627- <button onclick="javascript:window.location.href='./+logout'">{% trans "Log Out" %}</button>
628- </span>
629- </div>
630-</div>
631+<form action="/+logout" method="post">
632+ <input type="hidden" name="loggingout" value="1" />
633+ {% if not readonly %}<a href="/+edit" class="sprite person">{% endif %}
634+ {% if user.username %}{{ user.username }}{% else %}{{ user.displayname }}{% endif %}
635+ {% if not readonly %}</a>{% endif %}
636+ &bull;
637+ <input type="submit" name="logout" value="Log Out" />
638+</form>
639
640=== modified file 'identityprovider/templates/widgets/recaptcha.html'
641--- identityprovider/templates/widgets/recaptcha.html 2010-06-14 13:01:09 +0000
642+++ identityprovider/templates/widgets/recaptcha.html 2011-05-12 07:49:34 +0000
643@@ -26,10 +26,10 @@
644 {% blocktrans %}It appears that our captcha service was unable to load on this page. This may be caused by a plugin on your browser. Please correct this and try again. If the problem persists, please contact <a href="https://forms.canonical.com/sso-support/">Ubuntu SSO support</a>{% endblocktrans %}
645 </p>
646 {% endifequal %}
647-<script type="text/javascript" src="https://api-secure.recaptcha.net/challenge?k={{ CAPTCHA_PUBLIC_KEY }}{{ captcha_error }}">
648+<script type="text/javascript" src="{{ CAPTCHA_API_URL_SECURE }}/challenge?k={{ CAPTCHA_PUBLIC_KEY }}{{ captcha_error }}">
649 </script>
650 <noscript>
651- <iframe src="https://api-secure.recaptcha.net/noscript?k={{ CAPTCHA_PUBLIC_KEY }}" height="300" width="500" frameborder="0">
652+ <iframe src="{{ CAPTCHA_API_URL_SECURE }}/noscript?k={{ CAPTCHA_PUBLIC_KEY }}" height="300" width="500" frameborder="0">
653 </iframe>
654 <textarea name="recaptcha_challenge_field" rows="3" cols="40">
655 </textarea>
656
657=== modified file 'identityprovider/views/ui.py'
658--- identityprovider/views/ui.py 2011-01-20 21:48:43 +0000
659+++ identityprovider/views/ui.py 2011-05-12 07:49:34 +0000
660@@ -413,6 +413,7 @@
661 context = {
662 'form': form,
663 'CAPTCHA_PUBLIC_KEY': settings.CAPTCHA_PUBLIC_KEY,
664+ 'CAPTCHA_API_URL_SECURE': settings.CAPTCHA_API_URL_SECURE,
665 # {{workflow}}
666 'old': old
667 }
668@@ -652,6 +653,7 @@
669 RequestContext(request, {
670 'form': form,
671 'CAPTCHA_PUBLIC_KEY': settings.CAPTCHA_PUBLIC_KEY,
672+ 'CAPTCHA_API_URL_SECURE': settings.CAPTCHA_API_URL_SECURE,
673 }))
674
675