From ed658461899a2c958994bf335a24999feabc318b Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Thu, 22 Jan 2009 23:32:19 +0100 Subject: [PATCH] improved design, additional texts, base template - add style classes to output table - add Debian and AGPL logos - use a base template for common template code - add proper styles for output table --- .../public/images/agplv3-88x31.png | Bin 0 -> 2252 bytes .../public/images/openlogo-100.jpg | Bin 0 -> 8420 bytes .../public/stylesheets/style.css | 31 +++- ddportfolioservice/templates/base.mako | 45 +++++ ddportfolioservice/templates/showform.mako | 166 +++++++++--------- ddportfolioservice/templates/showurls.mako | 81 ++++----- 6 files changed, 196 insertions(+), 127 deletions(-) create mode 100644 ddportfolioservice/public/images/agplv3-88x31.png create mode 100644 ddportfolioservice/public/images/openlogo-100.jpg create mode 100644 ddportfolioservice/templates/base.mako diff --git a/ddportfolioservice/public/images/agplv3-88x31.png b/ddportfolioservice/public/images/agplv3-88x31.png new file mode 100644 index 0000000000000000000000000000000000000000..1035191fcb6d9dfd7e47ffccf66cebce7cd7c450 GIT binary patch literal 2252 zcmV;-2s8JIP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L00Jif00Jigz7kXj00007bV*G`2iO7# z6(2BsqY%UZ00>M;L_t(&-tC%uj8)YY#(%&aAG|X1P{0PLfdWdEnKN3aKnM{*tECE( zqP5aW*^ShirkH9heTfv)h^B^OvuKo}2wET1N+|)Ppq58xUulC3MFc_Y04nm3r-Rc! z{0`kYo^$8k0TUstJzlq8ej*|3-}`N z8(@-oJJ85=2Z3A`!2O#THq*7cy@784^}uT2jf`uW1C_u<0WfbD_>D7wYM?u?6qY3ZE%t62((IWpm}@SMXrT5VYYd@$3?C>0q{X!r8u}LwgZ?ckNv*R zEdp*dZ|@hG{K|m4fLn4Y{M%lO7i$f`IAD&8Twn9H78n53nYVeG^9s--aoxM-?cBgK zcbT^h`u_an0WVqJUT>Z;=SXQTUGH*LGJou1~HAOx{jX?YX@V(&t zhrmeD&n5vD(%d#+Y69Fzz&C-Bmbar>02iAaCYraYE^^-irT~94Zw;b{(BrDJl7Nfc zJYZUp^TYAj`_BiykOr`M+o-atkUa%V0G>(t-M?#mD$p)5RtF3-Z~Fvn3s>p>sAM?Q z^0qt7;vxT*0hbm5?qu^e*+p&?@CQ-KB8?3IJ_}+b=-`V6J&v?;J|<9^w}UQnOVu{71srfM@TDTb{Vy;|n>NWs?uMY`oG+dZ zm9=Tf$|4sexb7Kb{~Ry|=D^mc#(F!Qvq-RUd^C~uVi$DF+i6jTHdS%BebpNkI92sdopP0AD6G^R`B6eJsE}YX1w*kJabG5)& zdG5Rd3GG;I=pxq%7^LsRUF2%b+Y{oiq?pvoMQ(^XC>m)nQUO->9-OlFsk%|M|`6VXQl zlhg%15UXX4SX!0q{QXbJd7jb=()1F~F??c#i=3x+KBFeDa!mjfAE4 z>fY9?YH2S|s*%P#O$qSdY9fAL#C^8ZMt{o8TTKa4Ca%);mTs{RxWe+bwUkiGNjxd` z_53O&r?K+J83N@3dE*PJW#eLhE-+cg1)_;oqL)FUkFmgTjV+U&+FJLt3V1*wc=te9 zD#p4V568Gl*HUfu2w;Nc?Zu|7(<15;jR;%5MyyVu-a(0=pUR^B3i-DB+^kUUAPu7r z@Lk|_d2@wY&T`e_-9#lrb#6OwrREOQaTD-EKK-sP%Q{9~q8EIf-(DiHWl`toCOO4g z;3mueUz#k{nz_i$0=~_uX}f`{GU}S1(8WXCYh8lh#|~_l0zb*q9P!mfFMR? zl39ij0ZAM|84P2>92o?XFo=?X4N2by&v)*+_kDM*x7J&4t@p>Ptgg=9yQ=$FRlBP9 zuL|mcz5*Lho0ypZLc&78DfkCK(=y6uE(L@Jgj@;;+@Yg!5IB6?%u<8}tfVV|2%N8$ z0|4P3;Xj~ZXhiszu!)H2+CM~=0pb5@1%zPP6TXB15s{UeLVKj)|0~*m(giU!EaxY_H100HvEG| zc(opPReK81^!A1=esI3-?^?e#&mLv`qtS*fLcn=A|5q8^Rn39_)T};p5tacU5boQ5 zn?xp8%>UK|{h!!Y+x)u+R@w@;Tlml4*WdlI3DyF@N}sK^eT~G5D8154D(@)jh;I;=*(@y~ zA-!2aPHwZDoPvzRYWn;3Tlnv}kfgY{q?F`FDXEQ{q@<)atz=T0epiwC-+2J^29Obh z8{jM=v>>oz4lD?h$lWwXs&51m87 z*V~OnRg-PM56_`PbmgB{#HgJ}Ip=xuU3RG6mJYiSuOF2+-gkzL{xsS1Am?V)!w+3! z^SPvt-QT$O-r=`W^Qs%@<2-#+2cL-8w0v?SV`4!D5Eh2fu35z-x^AuRDukU{vTI-j zLA&JEYDXt+T0!vErv1B)ipOy9^<-n)&FGLrbE@lB0EnvTzUzQNWN-02X{Q(JHS!OH z{~5ua|AYYb0TLps@00;h0QX$7nd)8}c0D>j^sj&_uJ}#e6w-6?#}oMJu*#63xQAJB zarP(4j=+Z(V{Yw5nU2yC1ut>+L-BQ}5k}(JARSK*BiCkRh4K8u&iV5?Pc0A5^t$@_ zESjUo~(QRDEMkMUkX)`g5ppW=bket`$)jU+r5E&<2y4A!7-2dASPnlIdY)Aogs z3jq;(K3mf@%c8WHn5J;Mux4XQ_p!|iDpPz_3yl8E0%%>x1jR9;%a`RaqG#UTtv;F9 z7(THL74^`WMec~0iR|wcB!8UT9}5n1rIp!!Y@~dWy(K#ARhXDpbhhnDOHdKM7RT z2Ig}!hGL#5k5WZ;-1_EF44mS7zeK&a<-2zTWy^5E8GZa>V!Bcc!bllt@E;@Lx3gmJ29vF%khE8 z3RD9%{}NY0-RnBe;I;kWSzhDM@bb9!&fNuj%JWULh@zU!UvFIxRGi?WQ@$a-?!CxG z6)UQ@5>8L{__LLczwErKvAO-vD;fp8`UqOY&-g|kN*@(@DeSM&PSDLQ#JRqwi$bsZ zZhqc{UW?KX&gGh}PbWIeNsW5-`YB%3Kiphg{avG?86l7vnzbg(XdRwCR*;}|Ps&MZ z-%*)6zbq&L4$?E(&mo{R)bdf!t0NCT@s&5HI$Ta4G}E&*M;(>#)~jG= zV)WO&J|&GwpPgo0@VXcAL%I8q8fEl8*m~C7u~B>a%?vL7dS5*%hiO)vy95F6BAMTP zCFQM-M}BWm!O!LkFyA1+@t{_103*qHt~Xpcq!(R2q;lkuj)@g5M9;Cm9uqXg5ZoG! zYX=W_C!{6b^$yy`bNz5E;;Gd^a=)y&JlSPNO+KmNGJdL^(c6tK&|CjDRrE`0|IV-_^gs_9pVnP zuMYgtweq&si}X+OxApX~ClrKc8VdxoLqiSq)VVmSTM)N7;snTvq4zO1l+I6)S|x)b za`3b?S1e&7Dyf^$A4h#d`@lZ@aD3QNqw$rT>ou8!=1S97Fqx!Qi&&Pltn>1`S!1)8 z{Dr{xh%MG3h}KQW5arjUNoltis;O07Y=wz*zr%L^#+5IZ~DD@Hus{cA+%#NjbO4IUad*V7jEFS9h!(T^CTDMM+)KgMjOm zKK!*ix%!1+f8FxrW7r5^FK^7-hEyBf0evIIU!@gfLEZE4p!Zfg z6YpNtc9@wXOzG?7jDF)^V)qi9T-V(lnlj4hS?FS2Xl&7S0yVq$eyY@hfP6vPGHp?H zQUdMR)&S5C0rY4<=#9`mPH9H3odq_G-bUAYx{mY|i&3C2ou`w`6z(b`9cvQMgS%oS zb{xKl7`zUz362P;yr2nwWzG@aE9T0x4;J^9P=RD{gP{5 zt_^xdW88VEV%;rQu=a+;?*V8Ott0|-4IJb~pmMl!+@fbzL_*$P`?x=yWiC(4;*~+;b#w?uoj#p#=36fwI6-ClpbgY6b zbGLCap^`9L2mwy`ig{*{t3EIG%+UCj>O%GlQRHlBR`I~NPG1A1F@V6=oj^DnQNj}H zxYlZ!Mx~y^U%fUwHi*VC&j|OGl=LSY(5*?Wk1zVg{C;Qe{LoE$dE~5le&NMfGGa&1 zetAG?a}TI5e|)3E&vC_Jkhc~l|w6iY0BoR#s&v=oK`HB5(MjgWol{4?hM-)DoNBv|x zuj8yGI9%3u>SCffQ6~8Z9a!ZHwao}Z4ucLBF>NQgQSKg0H)OX#DZ(5Awks;Rt1=5c zy4m$DJJLk1(e3-lM@pj7oV>!iXO_7&F@nQ$?%n&}vgt<&UuN6hs^>Csr1*3BwG`(P$tAwojBznH=Q}_U(!`V9jvUle%pECF<%AY{7TP9{R#dlttqnrwH6@-jkxB6?ch z;7>`Za2@3z6S$~iSIxyXj5AlfK=-L`iNaT*r+_EAxNMFJPvgSS0gY#!Z2ZZ35?8CYiz*3s*HAj-lA%GT1ZSCUH!kA@zYmQI%{_k4gMRXB1fZZE%=%p^VHafnM z75w9T>jNr|hfkb`fR4SV0}WCw%UINNfvvmu6&6;|(bBo-l9uYay@OJMtFO8p<{jL* zL$jss=M8KlF_dEW+m~Lu9q>2SSW{lzU5UP27C!6zQ{71sWp9uOJMb31+>80ztbj8t ztIzqnm7jswJk9|$C9QxxI*qAc=fI{;J2Q;q1qP8`SFk?kSikJJdWWjPLJU&#Y%R_; zte8@bT0q$H5zoMYyyPbVd7;mI7F$_JL!(!f2!sUFnG_dP8>K&m@0{rmlXRwzQiWq; zJ0ovPDoU0wetRSN1)a&RIsyUaUYaFKiVz^}@rlNfWVw%?CKe;zl?RUE_LVm8?{hiN zIf%)fC$-U>+iICsgK@@1gDC5t2qPdR^ zJ522JCtM6>UHL3}xEuFJ2w&4?DuZAR*1iW9jbYD;Jx;1++zWKRKUaj=v#)vA1mQZ* z$r%F7mN>|I=iO}0#rN#qLGum$L14@e4uapjaUUIcx4_>` z^Yj-~A`eUn&VTvb%wB+idkIP1AYJFBiTPyM;Sc67a%p%qo!~oIeCG5kqek!v1Q7VX zzTEv;?u!#2Ddh()md0)WYJ8p(G|-wkA5g#=1P?tRFV2Ck(xVR{pf;|1ODZ9OUfUeG zAG3C*q{iNHs|qP44m7>Rm&f6gxrZJ=0Mxt6pnr3F(N#_?Bm_YJ53^ky;Q8O!uIT?~ zyZ;y1u1Xs0Z}$)-5qcA$7UJSt+Z9vwkDEb2)pW$nv>-yz&!3M&?QgbDZ_;{iRgree zbRo;CUZ7>*zoxzO+LuqV;?Z|AOfsm;n*0F4fXkk@$|HPn=|q?#`WXnw+2qDo>pB*I+t{#`C6EB4m9JPV^dK ziI^8VuS(Ntg-4Wxhq0c6(Y|*}P-gl3&FwJHZH54`YShOCdfmSIEV&~~1(p4==!D`3 zP#ExOUru7UZA=zx#*xr>;?r*+&m~g)KqtgC- zl={Z0*Vxj=;uPiFcYXVDeR{M0v?@cN<*lPexqNsfd#soimXJ4Vf9t$?k5%;m;q0a-#crkbHJPNM!eCg#ysZW61@1D#AU@HY7A;OdF{nd?PfnncH+`hYpv78)C76AwHF{?IDB*$*g9fj*a)HckfSIJUcvmtP8}W zY~R$0?y!ugs(SKO;1w^h^Is_2!9wcBmN<24>sKB~h`KUc98KPpU6V=1WB4db95UPi z6G8vV`z+hJ>%6%#s$#rM<4Z^owZUXu>k9%?Jau7B^7qzuYX3|~n?~%rU<=dq59x`OE}kfpXmfWaM)u~$}R$4{K_yiwlEXZ=O}`Q)>x#sYej zGJcLT&~vv(^+WQu<)~)jB-Pa*+zY*>=*TO@>1|lA9KHNcg5XT+NxmVf431CO2c-Ml z9Skg0_=R`(U)4xFb2w!=sfKq%HThe`@xOF#+$%d3{c(E?SeeLge(vsOWLQ#%wJ6DJ zzTKX^tO`G%F!*QbO*0O{MaN)JIOvaB3@+cnF>1TdItchmJFiG}G$^ApP`RNSTutOY zd)tR)2*1x`jz!*s0MTVG@jK?lWWC&$oUdo^oIBj9(zkW1+h`rro0&UZd3jrPHeXKO z3N`UlO4=XhWFPQo6vwi|OeHDg0Zd@>|3wHF7^SH*+1zjlu<)cXh(hshy`fF?Vp=7gbnO*-2gS27u z_ed9g?Y)^k*iE&66{YqnYTN#Z@%loxnVR+kPgOaaJ1$To9Q zC0~!^k2x673J8@U_(3k=Ku-W8T=!|ear8JDmx*!a7j5+SY>s`j-3et&EPnIaiAveM zJTR1{YQ357a(|#HsL!z1vP=c`ZNEkz0l`7Wx9O-_F=F=zn1HIRte(G#aTiRCk2N=C zOK%-`ofa8-=Dk9*l$e@H&1gT)Jw)yU-eBViUv&uc$z%qgI`uJO~+?(;LOMDWT z=@-tl9t3qulOH61;kXiVLe;~^xGss6Ha|%T2XMJ>{CkjU)IpN<^RUN8HJz8)R}3kw zSFaSm#;Vvav`t`BesOd1ew=bTa%g0!B)2{ZqZ(-dwyVf*(fvC-#@G* zduvi{v+JAf;R}W#X=}US02czfE$+D#tDSvxp|)-x_DR;oSe&^&t_)j;WKKRL%rUdV zt|)1)&D;06qTf%XCg)t=TL|b$(|DG(MLdUZOclPHPABL0U=JdBk*c&>+7PaIK_x#G z0%W}lYaQ$E{-3 z)cda&vL^;(1sai^zN-0}+V>(3hmcysQl+OW$}B^fwnne`CM@@JY?jioG1m~kB^+|g z>!Upr(zuM)GQM>F`O^V#NMc3q5WFPB&GsP;-iD!kUtHeVa%Dit_1qzS&A8xD3W%2-%5kl+j=JGir$;)LD83%w=fBkZm;I<8YW-o4F)5DYr&ULT9lkw0k51W^S3ng?80IS#=XeA}t{ zg*#SfJI-gv2WSl0O;06+t0?zpSnai~^#4AD6FQA5M38 zm07KW;W1dHn#+#o1dq521)pL532hLNZDw6ah)4CRg9RxjVvX3T+L)-&DJdWg z#1~-}^urlbLsh7cU%WNo5cExRb9vQh$3Sc^x&>Hga{R|o{3M~Jl*Ep-w0XoMHo;IJ>Cwpo4}qDyfQ86@0Zn#x9+3xs4LfY%!5PWlI+V>#D~a+c&rP4z zBPE1iqwbksFsqwTnXiN@W^P z;gI{o@hwc&2?ISoyffqrAFl8czcVcZ2_u=EOV*CPlcqfh(@T6Q!nAwI3_MmN5b!qg z^IkY=+2rcXW?D@;ReO83-+8R5L1G*!#uZ5T+B2PvLNB2TnA0fFJ3k=ck4V%!BZ!Of5g4fVPX?sXdiDJh zjhCehK +<%doc> +Template for the data input form. +Copyright (c) 2009 Jan Dittberner + +This file is part of DDPortfolio service. + +DDPortfolio service is free software: you can redistribute it and/or +modify it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +DDPortfolio service is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public +License along with this program. If not, see +. + + + + ${_('Debian Developer Portfolio Service')}${self.titleaddon()} + ${h.stylesheet_link('/stylesheets/style.css')} + + + +
+ ${self.body()} +
+ + + diff --git a/ddportfolioservice/templates/showform.mako b/ddportfolioservice/templates/showform.mako index ddbf79e..8aeae8b 100644 --- a/ddportfolioservice/templates/showform.mako +++ b/ddportfolioservice/templates/showform.mako @@ -1,5 +1,4 @@ - +<%inherit file="base.mako" /> <%doc> Template for the data input form. Copyright (c) 2009 Jan Dittberner @@ -20,87 +19,82 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - - - ${_('Debian Developer Portfolio')} - ${h.stylesheet_link('/stylesheets/style.css')} - - - ${h.form(h.url_for(action='urllist'), method='get')} -
- ${_('Debian Developer Portfolio')} -
-
- ${h.text('email', value=request.params.get('email', None))}
-
-
-
- ${h.text('name', value=request.params.get('name', None))}
-
-
-
- ${h.text('gpgfp', value=request.params.get('gpgfp', None))}
-
-
-
- ${h.text('username', - value=request.params.get('username', None))}
-
-
-
- ${h.text('nonddemail', - value=request.params.get('nonddemail', None))}
-
-
-
- ${h.text('aliothusername', - value=request.params.get('username', None))}
-
-
-
- ${_('HTML')} ${h.radio('mode', 'html', - checked=(request.params.get('mode', - 'html') == 'html'))} ${_('JSON')} ${h.radio('mode', - 'json', checked=(request.params.get('mode', 'html') == 'json'))}
- ${h.submit('submit', value=_('Build DD Portfolio URLs'))} -
-
- ${h.end_form()} - - +<%def name="titleaddon()"> + - ${_('Enter your personal information')} + +${h.form(h.url_for(action='urllist'), method='get')} +
+ ${_('Debian Developer Portfolio')} +
+
+ ${h.text('email', request.params.get('email', None), id='email')}
+
+
+
+ ${h.text('name', request.params.get('name', None), id='name')}
+
+
+
+ ${h.text('gpgfp', request.params.get('gpgfp', None), id='gpgfp')}
+
+
+
+ ${h.text('username', request.params.get('username', None), + id='username')}
+
+
+
+ ${h.text('nonddemail', request.params.get('nonddemail', None), + id='nonddemail')}
+
+
+
+ ${h.text('aliothusername', request.params.get('username', None), + id='aliothusername')}
+
+
+
+ ${_('HTML')} ${h.radio('mode', 'html', + checked=(request.params.get('mode', + 'html') == 'html'))} ${_('JSON')} ${h.radio('mode', + 'json', checked=(request.params.get('mode', 'html') == 'json'))}
+ ${h.submit('submit', value=_('Build DD Portfolio URLs'))} +
+
+${h.end_form()} diff --git a/ddportfolioservice/templates/showurls.mako b/ddportfolioservice/templates/showurls.mako index b272043..29f7f3a 100644 --- a/ddportfolioservice/templates/showurls.mako +++ b/ddportfolioservice/templates/showurls.mako @@ -1,5 +1,4 @@ - +<%inherit file="base.mako" /> <%doc> Template for the url output page. Copyright (c) 2009 Jan Dittberner @@ -20,41 +19,43 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - - - ${_('Debian Developer Portfolio')} - ${h.stylesheet_link('/stylesheets/style.css')} - - - % if c.urldata: -
- ${_('Debian Developer Portfolio')} - - - - - - % for row in c.urldata: - % if row[0] == 'section': - - % elif row[0] == 'error': - - - - - % else: - - - - - % endif - % endfor - -
${_('Usage')}${_('URL')}
${h.textile(row[4])}${_('Error during URL creation')}
- ${row[3].replace("\n", - '
')}
${h.textile(row[4])}${h.link_to(h.truncate(row[3], length=120), row[3])}
-
- % endif -

${h.link_to(_('Restart'), h.url_for(action='index'))}

- - +<%def name="titleaddon()"> + - ${_('Your personal links')} + +% if c.urldata: +
+ ${_('Debian Developer Portfolio')} + + + + + + % for row in c.urldata: + % if row[0] == 'section': + + <% urlclass = 'odd' %> + % elif row[0] == 'error': + + + + + % else: + + + + + <% + if urlclass == 'odd': + urlclass = 'even' + else: + urlclass = 'odd' + %> + % endif + % endfor + +
${_('Usage')}${_('URL')}
${h.textile(row[4])}${_('Error during URL creation:')} + ${row[3].replace("\n", + '
')}
${h.textile(row[4])}${h.link_to(h.truncate(row[3], length=120), row[3])}
+
+% endif +

${h.link_to(_('Restart'), h.url_for(action='index'))}