From d812dda07401d5a0937b805efe3f3ca8195515e9 Mon Sep 17 00:00:00 2001 From: Ilya Shakhat Date: Thu, 8 May 2014 19:02:21 +0400 Subject: [PATCH] Added DriverLog report and top menu Top menu allows to switch between core functionality and driverlog report. The report loads data via JSONP from stackalytics.com/driverlog/ Change-Id: Ib9f58de7297b7899e718215dfd0c5e9dd2965daf --- dashboard/reports.py | 7 + .../static/css/fonts/ostackportal_moon.eot | Bin 0 -> 23028 bytes .../static/css/fonts/ostackportal_moon.svg | 100 ++++++ .../static/css/fonts/ostackportal_moon.ttf | Bin 0 -> 22824 bytes .../static/css/fonts/ostackportal_moon.woff | Bin 0 -> 16492 bytes dashboard/static/css/moonfonts.css | 298 ++++++++++++++++++ dashboard/static/css/style.css | 76 ++++- dashboard/templates/layout.html | 17 +- dashboard/templates/reports/base_report.html | 2 + dashboard/templates/reports/driverlog.html | 74 +++++ 10 files changed, 568 insertions(+), 6 deletions(-) create mode 100644 dashboard/static/css/fonts/ostackportal_moon.eot create mode 100644 dashboard/static/css/fonts/ostackportal_moon.svg create mode 100644 dashboard/static/css/fonts/ostackportal_moon.ttf create mode 100644 dashboard/static/css/fonts/ostackportal_moon.woff create mode 100644 dashboard/static/css/moonfonts.css create mode 100644 dashboard/templates/reports/driverlog.html diff --git a/dashboard/reports.py b/dashboard/reports.py index fe312c684..12bff532c 100644 --- a/dashboard/reports.py +++ b/dashboard/reports.py @@ -270,3 +270,10 @@ def get_single_plus_two_reviews_report(records, **kwargs): 'project': review['project']}) return response + + +@blueprint.route('/driverlog') +@decorators.templated() +@decorators.exception_handler() +def driverlog(): + pass diff --git a/dashboard/static/css/fonts/ostackportal_moon.eot b/dashboard/static/css/fonts/ostackportal_moon.eot new file mode 100644 index 0000000000000000000000000000000000000000..c20464e4e21389f5efea2b2845ed361a18d6d72f GIT binary patch literal 23028 zcmcJ136vYhd1hBP`T!bepaC=*=iunUU{1_|!3@tCkQ7OY;w4ceMe5+lv_##cWJxPZ zmJL}ON3kVY5%V_oQ&t|^c~(}EWhL3X_!gAsc>TPJV@rwSIQ#6$#<7(+>%@+e-8h5h zet$JE197OsOD~SD>gu}dum7(8*%3h)#GeVG@cIuE9%q!Yd;jaxDX;fAIkPl(?lVCs z2`7bj33mzC3CD$7gj2Y?li%Gc920KC-AUng6f%U%h3kbA!rj8H$ayDH62c**+=;R` z@jL}#Qm6_Oc=GmYL`LeEE;I#6nAmqhELt~53k@J=?C`Tc>Q(n6nCE-7lbQXcs_F@60~i;r*Qv&aNmF9 zZFk*!b4z_d5Dua~cJHkxk6-t%fBXGif^g_J@cc`+U3c#(;S{@G5Ds5~`@-$l-FE%x zUmW`y?(ahWGpA0z>n`*YpCcMQ7bKs+9v5Um5I-WmjFb;~A^VX~V}8ol^I_=r>pu-a z_`wmWbrxT#CE#vlktkn*E_{Kh#W>ofnTiWOVI9JNpy8Q_w89ULoNb>yi!_w^fxzSJ z?BAq)of7;3E=*v^73Q^gX#k$t^;GHGP7~3qmb4_c1Vso5f?urpnNxK93?VC=MLkV^ zVXY<;&InM9s&i6pgEXl+eUcT&t%0DA^6eR@uuRfa{UR23^ZhC0;gf$4#IJP}V=GTNz14prVK)rxa$ zdWM>-FvfmVT3?PRO1ZwpDXkj_D>B8Tc&0kn-#+AQuA;Bg>o@0%_ug}8{~g(pTsWK_ zNLZP$9M2Vl&O|Q6M3J#t|6DcGYP9fM{+t#GhqXX7q)D>k^J$vjm#tNYqVdt{RQeCm zBx7HeQ{{<_ZYAtssj+?{s^mx4Atj5_R&+Br9y#H#W9!lfzhk{ob*${hRw4 zs~@EH(qo%TF((z?rVr0HO4;f0Vbe_6iEuEV&-zo7v-1@t6bvdf6w#utwOo+}63I;1 zZ<-N}X{H_C_O(D*mrsj6pHJkMtqCVzh)c3h3?>WlzNvo8=f?_v7pyOuGlws*tx?D25i?_=zxwAAv}fkw-R@eIXWz%^@~IX1DUp8cp6Nrv~G zd0oHWcm94!2_+G?4S)ewzK=~MYSd+ZBTm&eusJqcm1YN~2Bs>2M?lP+G>Zs9(d@vS zSepV6BFT^dpmcq+5k>e?&fWKWcRSk~a~YrR*M0ffnQ=QeIh^y$s-`NwP$1~bVt&0< z_ebL~J({)xSa?-a`t}|^J}m(XvSV|lSh0`^g>tEkE=8irU@&c`0;&~H>TfVV&j9db z>ENdxITDEHqNqO*%bL-`2+cR3O3shX<`I=OSz^Jy@{q0DiFlyWsAeRrb3k_Hs~I&M z4@#OI)WX?hTw}88mqW>fMYI5LumS^P!o0Bi{PWE)wJQ^cX{Ra0CalmrI@qz!EMltj zX4BYy$t)(qjD-_LGnP+=7z-uyvA<%0WWly-^-X>3=x^P#jlFk?UH+zQls4*++OeNo8D0oAFS+{rr020v*EU+29K{iXZ$%ZE=TvT z-$!pSe-dC!0jOfyfFqqs3D7!&xx;27z@1}Nrp}3pH-*EY;O@f*NDs-XX(z)$F;ULwR~^47c>eiwcU}D8jTeUuF`f@cj-5EDslH&a zSeYDCl%cJA`ufK5k#KG>l^V@Rk@;Qvri**W7#IEx^GMT3vq%`6&mjhgAIHSlQfq$R z0}OMVic(ep4aGPh5iAWT14;$|0m~2**xDUJLG)zh2Oz5%QjVaJrjq|Su~=zuCF=^o zQAOeA&wp_L{ttfs=5EL)!i7?QobL}=59?|$7?kCp9#oWIK=;W3KaixRDUt-7FNzXl zN+=eT6;V|~l0RtpwP-9J2>0a+kw`w@7gjagWK6|gqmnA^RM98P zlBBABpAYy~mIJ!3sCrPB6+IYI2y>$cx*YE>6+oBlxaJR1)}UXD+vzaxaC~rhB#{^y z9*n<1E~(W!Od9U;H+Wqj2a>o4(WpvjgE2|Mz+~PdO_P1p86^Z#=QpEqf7~hM45N^D zOp!@G$)^Q^s!t)J!f7DpMfPD*P)+B9nCaw;p>VF`#Ql~T)%->zsLGg4Nm2bMs`wPI zO^J!1Rq4ncS&~J6ESZWJ#bP;TRYrzwYjkKRW;sqiVq_AQ8qfo1MM9ujiHs4+JB}3_ z8XC3i;gO0JD;J9f_{|3Kso+gcgD-hX_>Az1@Dt%I%L7IM9;*;We8TJm*py8G!a6`_ zgae`y?_)N=G0f;cVQ|o-M3C^#-XzMwNlJ~NOq{L|w;>}=I~Rb=0F_n(CBe8%OwX~J z=aJ4qM-{L&wo~tu@+=0H30bOOlE4wwiW^vB z3b+znP~0-5U9y?TnZZ;x8&&~;GFCUH(Sj%{XaQDP_3Nsx8oDaVs^M2uBOFmBHEe{G zXdo1nfFmMU4cTXc#3)jvR2fb6&CSi_5)WGOVo0Bs_@b zQgM|90PPYW1R&4hLEI;4s_OGcf&p2JTXu+`M@)~84aeB?=!7cytzDofgT9~@rWpmii*hhzU?P38_}7}9&KbmHWd|{X;thHXblft-ir-G! zfp9eJUJ8t0sL^~T6^!K4NgXwy4|>p0u`rDJG@Wll%&#gl_WO^a9Y2kHd2wY9j+q1H zVzA0*{u5YCiG8TOy*qYkfntogd z-pJ^gzEaelnx0Naobo{Qe_inUzlNC&OHwEqw^AWVG(sW${Y;D4hH3ZIKi&_x~rGbN>i`fsMQ06ot=T_(ZJELr54EHV8*C4~|-KY^hjxX6>59 zE_51x_^S&Gzxwe%WXh(glaKx(+j^n1AT}O-^r!AmufFtYY=>trd^h=Qsty>X*9(3zl`bZq3xdj#M@uD3Gam#1yfdsrlfPZ(8(%;t0WT5c}Xiq z1U*Yg(y7luoNRd?@xNW@e7UVJD%s)bTyeu_D&~x57AOLG@I{aw&Bt1e2GlnA{SxNy zpEBc4EH%2Jn42EXDqmy*#d$MdM1#Hbf^=QOpcz*JJ}as{Taocs?F*#`7!A}EP?PcC zf~Sr(c|G2h{o5}EzE)}GM&UmQ|4I05;meqVjyzGTgLlj^a9|_QWB?)%hxAeRM32pk zgdWwKAIo44=Dl7w*eA_a>yReN7sv_M)QOJ zyHn92E@`^5;TJB!zIEZtzpDEh6uypCUlA8Mrw&e@RFHF!0I+<-&l}*SDpe5@YLzK= zVvZ#sG}sB;fv(XHTBR;Sg=hs2A@8eHY!-?%Fklt%VTgh|r>v+NYO5J&sXR?41Oh`s zDKP(tkOnUo;T_ ziyPK8NwEq;slp|f9U2=ublD{ZY52{?&>dC#NV2|ub3yfs;Ybz=BflQ>8~vspQk~SU z%l2l6%vdFq-Eqo{K}}7T1NmdK9u&{^^GK)swU>Hs*mp^>@#6E(W8>>`ARdisvJS!S$v@Dd(RhHTKI!xOb@}cWAv*e= zcNbBI!kUs#mQH=_#pikPw_EruFXdIxSWwNF6^!JwS*SJ*Luub1%x3eEpcOOK1;sGJ z+WK>|h`(}f7OB}gP8x5!8O|4qrdcQy!mP0x4j^97f1=5Yx-DM7EEe+NW|PNTZ?|lVm-5Oah6bFl8jaf_%`{{F9U(g&Rm0A} zP{JQGO|AX&x5ywcz+<2Efb@WHHPLu5Ht~ebu@Cg*(*qSQ8M1h39h+Qzv`(B^&ycy3 zT%v5ypsW+8>XRroMK#0~h|aA0h>4%u;(k6(ADFY^?ES@3saQIAs(ErDCzf*hhGFD(2p&nx?6$3hLc1o~GKUCi<}Vqr^efS1M9%R1$J3il!zKBBh?Em0)wLadXB5A9<)q#=-!~vEsPeUzr zcvB)r#BVs#qWiu0*w~=qZZYs-M+~RjZ?G4QR8$YAop>|uKxc?ZHG)1}l%Z}kb z%?rI~433S(S&{MpSbK6)3fV*Zg_y4a97p{l%{Hf1=k(CybJp}wMm7*f`~fv&!t;tr zOG{qAALd<18vXs~_q}h}@8$o^4jFxYnV|a`FK{pKvui_jDN9X0riXbQuY109{vrK^ z`wUp8P>}UDi@Heti}iplq{m(x7A)A3edQ1v1C;sMtX$?-p8%T`)=tEg9de&>pJ9jC zM@~@U3HFiImb~pabomXJ*N(ITucu?fk>UCvuvtvIssf|OW|_mJGOII{LEdXMU_(9@Oyw)7 z<4x9Vxy=?j*>szGSp!BmJZ=6>s*+CynYove+sziw)f8SoHvv$;0klK?oSmfZLdcJ? zS*t=?$}Wf!$V%K0-dx7iwx~AsvunT%=4+U)xh=a5aRKI*W`i$ZFFdZc-vGT`FYFZ# zpnc-Ui3KNCoU_)Ta8Q?G6Y<;ETX_J9oT;#cn7*zNCb# zLh`JT%v*-C6iS+bfSC+R4+gzh$Zc#qv1e>-&xwuQ5RL^+w$NJ()y5W*)&4}HznVn( zP`lNsDI_*RcGS<>53$j`H*DH)7~A*A=Wa<Y8L1}t{%LUA-XL^Nr0?hWsWbi#|J)fc zGog(B^O-yDIXypr`kp&xVD*8;CakYbX+O(teg!Q^@<~t|y5h)HfD?Vh2H}|& zk2l*bCcsDuz`!=a=J)={fNk1y-)wn%#haJ7FeK~{F2&rOyEBXDCUBpPiVXcQw@1vv zz_FRhrmU9hWs5aQeL&iZZs@K_kpvFr&F+Q~`G(yD(<7;% z`(iK^(E&03sBIkkD0}gvAA@7TOPFSXaCJjEi!CBSM-&pG(6RyR#nd4NWW-fNe0F(E zZ2a@f|GfM&>Ia{u=3cK;h0pE%Q1U4RsWk!&dT>Vv|K`qEb4XFkEJcM4+ zQ~?=H!s5p9vw1EDBMMvZK0Ni#d*6xQ)Zx3g4t7lL-B4;#>b*aI`F-zu`RDgiURNM9 zeD^tpm=5W6?ZSufty^A0rOxfj(9U{3U*9>@4c{Frjiu9LrC2vy+qd>|ZviU!<=z5R zkmjh1)8j&BwWljIELJgVmaVR}SD$&c`KhC8ZM*H*D=hQ3&qLKN2*DMY?bSVJ;IHKX z2Tg-!a_uuojr1o?bT=;b#LM&yf@l$c2b;->ab^TNr^SD5FX+8elGtj3d1y+Y-Ec^2 zh=}6@2RZt%1`j9~0W&cJ%MIFZ)Nk-y9XdyFGbQXi&%CUGomd%$V7XS8)U{C6wefeu zLm$3l%a%Jne5e~PxJ!*iR%k3Pbm?(7Tsy(b3%w<&22ogSxJ!!-R#+r#*DXq6cYQGn z*q6sKj>#TY2*g>fgBEe?vqzR|#K3U*-2mYNQ3fwV0zc&v2cQVxY>E9*D+b z{(%FBuN+Gb7vK&ww6&Td`Bn6Vk|nFM>*DQ2EfO)c{)-wLGqX3o<47g$^ksBCsw*rr zl8+G9cv4VwBTh*g&&63nQM?0zPJC(sJ1HtA>_7aP;Vbv&3Nh?6vH#|d#dI$lL=oaswqL$-nnPbPFoEsS~TQKBu$^D+6&iRA_^uHx1pFni@=> zw+6DfGd`c-eHdo8OuR;{2kh${*;>StV*`*erTC^#|GIklX2;old6h!WXcp$y*AsBY z(In`Q{64YqmN|rOc?t`}s5XO1$42o0jP2~rp8|Aya8g4!2p!&!Fff=zs?s=2nivMG zBjhY%ktz)a6Y|uk5d^?)GAGS*=aR}A%;Y8WYAQX~-YUI{*H-T}vbHI&!EUqixww$s zIy45&J0>mI2x9cm!;cM-BM{rM1CAL!@hu)d(u>^)+ew9Ogap|7)_ za|is`xj39H{qlzJ|1tx&^bU>&xq_=&z^4a+R>^b8gP&f=d1GK)0~J2u47_0!>CnTc zxsyt=l~my{p`3pB5O?`GgU49Q!w=u5z~e)sl=dLd%Gp<>AA^?STtS%> zVI3)7<$6cBYeDZgPU`cH7GRdE%;r6frt~AXriJ{zvAs8K(k;shJPq98zrmkOCjC#7 zPZB+dlBXT}pk~{4;QD~32OeV|BsaV0rknPT!DmEzn&-cPias4cEjm5$`9qpp3+Nik zpd_8RkZ>xXB@x{(!}9^olFaG$Hpf+F=LijJR1qTA1eZmYKe7da2d83Gyu~v&x|vvuOIGfCxisYoRwQH@q=;Y-vX@d5 zC8Ct2iPTFS`Y8Q6#*={NPhe(;neQ^H6`4eBv&>qAT)Wx;B^cG+lkA(>11C;zWxo#9 zRIB@l!pwASBJovr@$A)G`rXD?X^rI$@AoB0SN8~i#1iZsSZhOssu|=JD-81)Im=1* zRAK|8)@RB6t|~(P0h^i%CW6p0x#b~`_uC+PuHZ=Xen>9D6}-Gon(UhB5Y0*!N={5q zOi$vjN_G<)5l?+Wm7)hSH=rO6_H0-p>j{1o5Y_i8C$0giO^~!s^WYa$WTRXFS=88p zTFYw_$rGEz3ZxP>RRP*%)*=FyM%Ra4Zmr=;Zguo%=v9puU#WkY8b9&dLwQ zm==zNwNNHkioq{U6wNF=&J{frQduM&4L~iV`T}4afCS)(D8hr!pDa|8MjwnSS~wi> zqXQ8?)1ro-1$i%Fy$LGNl8ag-5eg+tomx;?+?mK`r^*TDQ-kXF45YxHKAP`Lv}-Di%vKgE){8G6OQLg+Fe=3g!o!tcC*MVr29l4wcNGh#3kDk21~= zz;O|tmcBqJ8n^+Ea0g=&3|J8@#`XB6I47VIwAZ|>)0n{Fi!=^{MDn>bWWOGsh4fBS z!anTV^XV&?W7fmP_fUAZ_Jy)`m{dgWQU_mf9UGms zvxGEoQ;9|iW*3TJ?<^6t9+je6Mq+W6V)%uv4m<`r zYStd~;L$3uj$GIS%IbKRfN$e|BeStuY_077O>(8kPVE@-MKfhPJGcGPfq_f6&t>g$ zCh8m7F_k4&%bu#wX0x;PDf{1Kcw3YAM}yoye2QOA7Lw%@Q>oDS!5#HTe)Ib2 zWM()U4rhlmNje}EsqZ*A9!kMGHf%>UI8ugRVhUV1c%8g*cy%Z^)Z;=^-K&>c)jbHa z(1VczE>?pQq4NinE(=fww7Nei2VfNdERa@?G?|?4x47OLYygh&NkFkMyTHAAvRr2| z8LQc9wYD8UHR^teeKMh>vsj`A7DvJ&pB2oA8gSpiE}pvUx-G31Yv2*lvqopV$j?b2 zFS}W2$N4e5*G*Q7>nW^yb+hfC(XtXjsW`~mLR7i#5ysN2$0$mNI(#gpSb0m= z>5|IznYSed%Y{%Z2O@||s8AkE+-COWQaC=jY9CzHI+ta$ESF80LR?KKUMU8RYRg?@ z3xL1{chOxU_;y=#m6~J*1j`817`6f;)f?I$xIw(-=%Pn_Xrh$>}*1`n21>={Q|`e%PU8dEJNVKBD&#z*#D z_JNx>GPd#N4_xMKpWBdRB2Jk6Nx0Bo2nRz_IMV*u%+)(9F#PYldS?3C?L*KoZNGN< z$k#QTfK08Qzo>uz2XET6=_Wc)bJHf+xDz-E6ASz_91+3G7oDQxrZ1mg!y8=6}Ykbx-`4GFIKj}8of7Z z>SIOh7MKmq+FD+rtK;s5fOycv2H2MKZ~$v{+lx)NiM(gA4Ft$$LIm{a6sJdXu(#ic z9unEufbk8CxK@Y)Ri@a?Gru`NmyI@$q|P8zr-3pjou5atTUL%%d%8PC!TuhDfcNRY-0Fsf)jDA z#wWzw?ffZ+D~@-BwqgtA!u@0=8q4s1`oY5Jo;*P)UWzIrvcrrGsRP|E5YGJ)>j z4w_(p;^pPlp6M>f8GhScJ?1rvHCa3UUi?9zZ-Oj#)n#0n=jT+Tqvl&N7Zg2z!w$pi zxs|>3_}y1KUE$+rE34{0dCvIH{{I_4F^*CL*7`bLOCzu%hdgq$$T6G@<+?$;j2CEl zZ(Jx(m8MEK3507+bt=q(z=)%&VC!a!t5F9xct?vs)9*>Et1>IZT&~vRZWL|u!eQ(z zzakK~Jc#p$fq*uz1z>4oPzmfh>yS~-EEH$y#1*li31GqH2?yqrC zUS90-;N6fdQf8Rkab*G*un8xME3&Ub{*0L9V%=7mDc6hW9vqHf<2Rw>00n8a#3ocF z%?5-Pq1|ebR~w}*gC%4_OKdbDxiom4-n_K1%2X$+M5Qu3U&`b%U=|UrLytmrlGx*d z{4_|nL!x?zIOAYZnSrPb_Zi= zV`Ksvr6CBb?a`ZgVnoBBNaBCVbIJnw1|eK>8<5@#c*9Qtc7Jrfxg;+2rY@sqj0^Kd z{6GihNk5f>9?tU}q8aJ|`Bk4Gx$8BAp^?WDz0!wvw6s9r>Am&`PD9N$NIJ=m^lxE0 zNf{-!nx4*q9CgG3xO!y6YI`5bLGUYxz&%a)Bb>nL_zw$zj(Nq7BL%eMoptv}vou*- z$EGJH2^C9(Yq&yz_9G}|kE#GHJSoKuu6Q7B5NsZF?JU07(WtGmr^x1UOQoO6?~}MH_{}B9_hsrP*02m`TT=x`-l~ z-PODt3gw`3kAmZO(*5iwq|c`F!V=?pTJ(c!c*)QWH8ZYc&+PV&l*34ZiaU1cuN+^` zCbn!(nB~DyJ2^5`Hm&VjC)kGL|8ckbH99e`gd$Phu5X+#7UwtC?LaINLL%M>0RyTW zio^n|&-7>nj+PKV*i5Wa?vIkr{@9hr&=VN`%LDO0Pr5HE0a=_NV}SCv*N`@uPS^YV zaXT4;+R5@`y5Mn+KGPo>LOin)sbDB+<83@Dcq}Rc@bK^hc%~MIR@izt`XxjRcwEKR zCg2l(ZOt}^Ob&7j?IszW$oM1)4Zt3xNW#DLkib_G=uumsOehGNAPI@H-;(}bdIqtE zupO{y!&AA^QDPCa&3m$>=LDZ8w~DT~5r!SebBQNTll%ahz;)s?y9!D;67|Q5$*@li zD1}{mwlAx)jD&VFj)x;9W9Z-GYWHIKCM#5ARWqXd-civ~H zh`06kwEcnSn%;a09l0(H$w^?UjhE%%03oyMWqX#vb_)lu!otGR(hKfCRoG20FkxZA zEi5#a8cR}ZVd1Rsg8Q2l7I|T5X<>mawUOLdLdC22N(Q%1HIrjjMFutm)&j1=-!=(> z_=KhlG{vA_YKVv)A2Pyh`QSRM5cTCTV2sFV2rZv#KHIA2mHqg5?dQJv}1bZOG# zkV%ihQN%7EPkR0l0HJNpRC!lq??+p`Gl9mU@RH__>Q>^p9b_{Cv|m! z1iy@Zdc)j~kB5`7p!m{DqJkG8yc;=BC1&S$l*>EjXA`IJ{N1XqDdJ0zW-`;0qmT%U^MEyn5W{W*K#rTTEu-VJ~}y_Y4Gzh?rV|Pa^rMJYdrT_geCdW9X@xQ2W!F) zZYMvPPX2A2*95|Y;t8j#Xq@EW13Haic%$0P95SD8hO-<=vPwxQIc36B!)%}gEgL<6 zOK!78BP30eYL3*_0qjmFn@ z-`SS<1FY>P2=g5urO64rqzM{Cdi}^u6mD33WMr*Mliu4)D!}Us2FkXijX*wbWg{w% z%&C3lsOZ~v?P#d-r`K$KECVS4?{B*9s%`%4`n`jA<3>0nin-OeqZB8lC|)Jh0Z}4+ zw9FVUHldf;l{-{=D-*o}1`k(2-jiFq+8C@ibbNi@@f+#^^{Cq|Fy<&(CpMj@ck_{^ zYiB8u8~TZ>c>?h7?4gBHgBjWwPdasCD7F4xdCiU>febv%*J7~O*0bj?@OxwSTq*s>V^Zj@vF(c{y4j+cYHKX_Y2fBIbdjh z%d&$~FcJ;8y9c&iS*u;SZJ-;n(?Q#^{F;HBG$qkU5D0k{C&wY(;Y`_V2U~Vw#*sS5 zzpWYppJ`3`aQL(~Eeie4!!T@HR(UF$n-MDoqQ{G;tEqfdg<1i}*pH*V PJ^1stD+9;9+2{WPl2?hE literal 0 HcmV?d00001 diff --git a/dashboard/static/css/fonts/ostackportal_moon.svg b/dashboard/static/css/fonts/ostackportal_moon.svg new file mode 100644 index 000000000..9aa247ad0 --- /dev/null +++ b/dashboard/static/css/fonts/ostackportal_moon.svg @@ -0,0 +1,100 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/static/css/fonts/ostackportal_moon.ttf b/dashboard/static/css/fonts/ostackportal_moon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..729905490657d6cd03ff180411d8dd7e3372f151 GIT binary patch literal 22824 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 literal 0 HcmV?d00001 diff --git a/dashboard/static/css/moonfonts.css b/dashboard/static/css/moonfonts.css new file mode 100644 index 000000000..8bf5ab8c9 --- /dev/null +++ b/dashboard/static/css/moonfonts.css @@ -0,0 +1,298 @@ +@font-face { + font-family: 'ostackportal_moon'; + src:url('fonts/ostackportal_moon.eot'); + src:url('fonts/ostackportal_moon.eot?#iefix') format('embedded-opentype'), + url('fonts/ostackportal_moon.woff') format('woff'), + url('fonts/ostackportal_moon.ttf') format('truetype'), + url('fonts/ostackportal_moon.svg#ostackportal_moon') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="icon-"], [class*=" icon-"] { + /*color: #A9B7B9;*/ + color: #6C7B8D; + text-shadow: 1px 1px 0 rgba(255,255,255,0.6); + font-family: 'ostackportal_moon'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-home:before { + content: "\e61a"; +} +.icon-newspaper:before { + content: "\e64f"; +} +.icon-pencil:before { + content: "\e61b"; +} +.icon-image:before { + content: "\e61c"; +} +.icon-camera:before { + content: "\e61d"; +} +.icon-headphones:before { + content: "\e61e"; +} +.icon-play:before { + content: "\e61f"; +} +.icon-film:before { + content: "\e620"; +} +.icon-camera2:before { + content: "\e621"; +} +.icon-bullhorn:before { + content: "\e650"; +} +.icon-feed2:before { + content: "\e641"; +} +.icon-book:before { + content: "\e651"; +} +.icon-books:before { + content: "\e622"; +} +.icon-library:before { + content: "\e642"; +} +.icon-file:before { + content: "\e623"; +} +.icon-stack:before { + content: "\e619"; +} +.icon-tag:before { + content: "\e617"; +} +.icon-tags:before { + content: "\e618"; +} +.icon-ticket:before { + content: "\e652"; +} +.icon-coin:before { + content: "\e64a"; +} +.icon-credit:before { + content: "\e649"; +} +.icon-envelope:before { + content: "\e624"; +} +.icon-pushpin:before { + content: "\e653"; +} +.icon-location:before { + content: "\e625"; +} +.icon-location2:before { + content: "\e626"; +} +.icon-compass:before { + content: "\e629"; +} +.icon-map:before { + content: "\e63b"; +} +.icon-clock:before { + content: "\e627"; +} +.icon-calendar:before { + content: "\e628"; +} +.icon-drawer:before { + content: "\e635"; +} +.icon-disk:before { + content: "\e654"; +} +.icon-bubbles:before { + content: "\e62a"; +} +.icon-user:before { + content: "\e62b"; +} +.icon-users:before { + content: "\e62c"; +} +.icon-quotes-left:before { + content: "\e62d"; +} +.icon-search:before { + content: "\e63c"; +} +.icon-key:before { + content: "\e63d"; +} +.icon-lock:before { + content: "\e631"; +} +.icon-wrench:before { + content: "\e630"; +} +.icon-equalizer:before { + content: "\e63e"; +} +.icon-cogs:before { + content: "\e62e"; +} +.icon-cog:before { + content: "\e62f"; +} +.icon-bug:before { + content: "\e655"; +} +.icon-pie:before { + content: "\e632"; +} +.icon-bars:before { + content: "\e637"; +} +.icon-trophy:before { + content: "\e656"; +} +.icon-rocket:before { + content: "\e638"; +} +.icon-meter2:before { + content: "\e636"; +} +.icon-fire:before { + content: "\e657"; +} +.icon-briefcase:before { + content: "\e648"; +} +.icon-cloud:before { + content: "\e616"; +} +.icon-globe:before { + content: "\e614"; +} +.icon-earth:before { + content: "\e613"; +} +.icon-link:before { + content: "\e63f"; +} +.icon-flag:before { + content: "\e639"; +} +.icon-attachment:before { + content: "\e615"; +} +.icon-eye:before { + content: "\e63a"; +} +.icon-star:before { + content: "\e643"; +} +.icon-info:before { + content: "\e640"; +} +.icon-info2:before { + content: "\e64d"; +} +.icon-spam:before { + content: "\e64e"; +} +.icon-enter:before { + content: "\e64b"; +} +.icon-exit:before { + content: "\e64c"; +} +.icon-arrow-right:before { + content: "\e644"; +} +.icon-arrow-left:before { + content: "\e645"; +} +.icon-arrow-right2:before { + content: "\e646"; +} +.icon-arrow-left2:before { + content: "\e647"; +} +.icon-embed:before { + content: "\e600"; +} +.icon-code:before { + content: "\e601"; +} +.icon-console:before { + content: "\e602"; +} +.icon-google-plus:before { + content: "\e604"; +} +.icon-google-drive:before { + content: "\e603"; +} +.icon-facebook:before { + content: "\e605"; +} +.icon-twitter:before { + content: "\e606"; +} +.icon-feed:before { + content: "\e659"; +} +.icon-feed3:before { + content: "\e607"; +} +.icon-youtube:before { + content: "\e608"; +} +.icon-vimeo2:before { + content: "\e609"; +} +.icon-github:before { + content: "\e60a"; +} +.icon-tux:before { + content: "\e633"; +} +.icon-reddit:before { + content: "\e658"; +} +.icon-linkedin:before { + content: "\e634"; +} +.icon-file-pdf:before { + content: "\e60b"; +} +.icon-file-openoffice:before { + content: "\e60c"; +} +.icon-file-word:before { + content: "\e60d"; +} +.icon-file-excel:before { + content: "\e60e"; +} +.icon-file-zip:before { + content: "\e60f"; +} +.icon-file-powerpoint:before { + content: "\e610"; +} +.icon-file-xml:before { + content: "\e611"; +} +.icon-file-css:before { + content: "\e612"; +} diff --git a/dashboard/static/css/style.css b/dashboard/static/css/style.css index 5817ff365..af1e422a3 100644 --- a/dashboard/static/css/style.css +++ b/dashboard/static/css/style.css @@ -95,20 +95,21 @@ div.drop label { div.aheader { margin-top: 23px; - text-shadow: 1px 1px 0 #fff; + padding-bottom: 10px; + /*text-shadow: 1px 1px 0 #fff;*/ } div.aheader h1 { font-size: 36px; color: #a8b3bd; - text-shadow: 1px 1px 0 #fff; + /*text-shadow: 1px 1px 0 #fff;*/ } div.aheader h1 a { font-weight: bold; color: #637f99; text-decoration: none; - text-shadow: 1px 1px 0 #fff; + /*text-shadow: 1px 1px 0 #fff;*/ } div.page div.navigation { @@ -398,3 +399,72 @@ body .ui-tooltip { background-color: white; opacity: 0.8; } + +/* new top menu */ +ul#menu-stackamenu { + margin: 0; + padding: 0; + list-style-image: none; + list-style-type: none; + font-family: 'PT Sans Narrow', arial, sans-serif; +} + +ul#menu-stackamenu li { + margin: 0; + padding: 0; + display: inline-block; +} + +div.stackamenu { + text-align: left; + padding-bottom: 10px; + margin-left: 300px; +} + +div.stackamenu a { + display: inline-block; + color: #972D24; + border-radius: 0; + font-size: 18px; + /*text-transform: uppercase;*/ + margin: 5px 0; + padding: 5px 20px; + background: #eceef3; + /*box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.7);*/ +} + +div.stackamenu a span { + color: #943a3a; + font-size: 110%; + position: relative; + top: 2px; + margin-right: 10px; +} + +div.stackamenu a:hover { + background: #c8e7ed; + /*color: white;*/ +} + +div.stackamenu a:hover span { + /*background: #c8e7ed;*/ + /*color: white;*/ + /*text-shadow: 0 -1px 0 #2c96c5;*/ +} + +div.stackamenu li.current-menu-item a { + background: #4bb2c5; + color: white; + /*box-shadow: 0 3px 0 #436281;*/ +} + +div.stackamenu li.current-menu-item a:hover { + background: #4bb2c5; + /*color: white;*/ + /*box-shadow: 0 3px 0 #2b99ca;*/ +} + +div.stackamenu li.current-menu-item a span { + color: white; + /*text-shadow: 0 -1px 0 #436281;*/ +} diff --git a/dashboard/templates/layout.html b/dashboard/templates/layout.html index 71c429d13..ed9a70bc1 100644 --- a/dashboard/templates/layout.html +++ b/dashboard/templates/layout.html @@ -12,6 +12,8 @@ {% endif %} + + @@ -23,6 +25,7 @@ + @@ -60,11 +63,19 @@
- - | community heartbeat + +
diff --git a/dashboard/templates/reports/base_report.html b/dashboard/templates/reports/base_report.html index 186caef60..ca64d41f1 100644 --- a/dashboard/templates/reports/base_report.html +++ b/dashboard/templates/reports/base_report.html @@ -17,8 +17,10 @@ + + diff --git a/dashboard/templates/reports/driverlog.html b/dashboard/templates/reports/driverlog.html new file mode 100644 index 000000000..b89da726c --- /dev/null +++ b/dashboard/templates/reports/driverlog.html @@ -0,0 +1,74 @@ +{% extends "reports/base_report.html" %} + +{% block title %}Vendor Drivers{% endblock %} + +{% block body %} + +
+
+
+ About ↗ +
+ + + + + + + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + +
ProjectVendorDriverIn Trunk?CI tested?Maintainer
+
+ +
+
+ +{% endblock %}