From 7a97dafccfcce5292c5512395da4d6c2c8dec121 Mon Sep 17 00:00:00 2001 From: Jarek Zgoda Date: Sat, 15 Aug 2020 22:56:32 +0200 Subject: [PATCH] User login doc Made login to actually redirect to specified next address. --- docs/_static/login_confirmed.png | Bin 0 -> 12828 bytes docs/_static/login_link.png | Bin 0 -> 7833 bytes docs/_static/login_page.png | Bin 0 -> 17745 bytes docs/_static/user_menu_section.png | Bin 0 -> 5937 bytes docs/adminguide.rst | 6 ++++-- docs/userguide.rst | 20 +++++++++++++++++++- src/bip/__version__.py | 2 +- src/bip/auth/templates/auth/login.html | 2 +- src/bip/templates/base.html | 2 +- 9 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 docs/_static/login_confirmed.png create mode 100644 docs/_static/login_link.png create mode 100644 docs/_static/login_page.png create mode 100644 docs/_static/user_menu_section.png diff --git a/docs/_static/login_confirmed.png b/docs/_static/login_confirmed.png new file mode 100644 index 0000000000000000000000000000000000000000..77f46c700fb47f481d0f03bcbf895b8f42ea4398 GIT binary patch literal 12828 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 literal 0 HcmV?d00001 diff --git a/docs/_static/login_page.png b/docs/_static/login_page.png new file mode 100644 index 0000000000000000000000000000000000000000..46586b214b58b7eb68d046ba98d3eeffebeed4a4 GIT binary patch literal 17745 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 z%0D34qyhhm9Fkdv>%7iyzT6bLtVnG#I32WY((BqP3R6MQqZIQupDla#S7hF_LhS5Z z9tepq4p8``t#O$Mj2bUwil{BmZJqJpxUrx`#;?6zRk>RQ|e@3!SZNA2`@>cnvH zr&qYCANap>0dR>z*ep0ievSGjCkC;fALTaY1*c|=5MCWEL;NFWR{ig}7p77Ky?K_H z#XcWdiCB`9cW7J_I5Ij#6PuQ#We{o4H*^OsaKF`gIa8pglvx`O+msdF$5s5as@57@ z>wXHe7>D{P&7r5K?c+)Mk4U9dwz?G@Yy9P zp{`1mx|*x#fFO5@SJ)HDpk@mF`Z17Wrxg+Ve3ESs7C9A6{LWhmam-Pf?uL_qRceJY zx9xKq9bcr|h$;-fs$N>CSb=VjiF!2mLCmlFty*BoRf_s!OU&}rhYu%JXEe)wQ-Mnw z7W4K!E0}wCH&IsSBVIf5iMl66*PKQ%N-aTii&@)22jBLwYNjjRTWv)$NU2z zHiRURqq^=#Yj!-+;j~2}@%L&zVA%Gl;Ch$&$avKBl=XyGpmAX!pY2}6tE|acTpcKp zpX=U*IzuC+M-|`q!0lX%8FW*h%G7ilGUm)*G>h4eE&L@3t%tJn6dt8T2Xu+f3Q#wk zy7Qv>bm1#yDYQJ z0uxp!Nx5aFsO*1rHsYz+)Dno}vjxqKUp5(}z6?AvexqL5d>KX!HUXs^-zdUgs`CN< z+_InhToLaI-miTjq-NTAj0`fqB;{P-T56_|qts;a*`iWwJi%V$50KU0;9|>~^Hm=# z&a4$d#+qJRwd}Wy7|kiV^j_7Uye9G%AxmK^xDr5C%>3mHbstFAlsh@6Mi4ps?ZkbF zJuUoomGp+V;z)MCNXOhWj%W&GHoPZDS0_Ap@XVSGgNz5Y5)ss&HejzZ21g5Ir>P>v~Dd5a0EyUfE7vX;N6Ck3QI(MS6Epww|_}Q zM-cL1@e+7y`|%~s5h^eh*SDToh3a-#lUNWpu_9G{_S)(r&w%@#;2kx=n4+a+Gst@&4VZbDf=v{?9OLHJ1dKq^i#<^S~N$_lhvmK&xm#!hr@WllY@^lJZ0>y84m~z4aK$=I>KA8 z@x&T0#lx`$jqmW^e;uUQPlXcl9$8_o$tlP-E4-cW_?8xpk(z%mox?&aMJ848q2}}ol-Me`6>e#YYsyr|%($9<*ig&# z&5NnM+UO^s_70=nVMa8Y_EV@)s&lzMU|~GCKN`w46=n3d43q(NoYL&S+-cF)BIW#C zj_Bwz_M6I_?TWRb3N$cddo{(8f*UzMHf>ei4HWSqfJGreMr-_ z_11uNerr?aDLX#mNN0ECl_D9Uf3*BG|D7|(==y)0N;fU%?x1@EUqU)ARDgkDmSfs$ z*e>?s;^KGte;kYl?h#L(m*IlBCk+|RN3LfyHr(jV(uhtxDtE-aJB6`7k^*5D>dg6w1|B|f4>HGdq zisiZ;m~IQnNnZ?ytY&9tA@=sjDNrT>Zg4foo7LL?ET^C_EDlR@N0giPMHANMvmF3Op~Q?!#OkIcjX0itPXX z05`2ul^VeTBEOyZs-j{?Wh#a`ip=r8VW6=&;bM=ts;Wl`3D2s)D-{~`xtVpZ;}5%xm90 zL-ux|`ap1~g?N5iqwbc$;Ur2!20Z$`V|eU>JQX!YXt1|Nj`2myck5eEEtCvi-Hu6R zJq=a)T(a>%=DNzI74hynFCnA#eA$2KG_@2%QILIGM1mzfkTSlhX-+@Ss`a#gSSKgj z%dUC%8SpQn@604|P4W8e4I*O~lTWOU(i%;hAfB-|o`Wg!MVdr-JrU{XHdFy=#ORsy z2%L~SUJcX9i{ibxaAV%(^%zII#leW|7f|C-CS$#)=zO9M5uRBC26Flq8{D^jqhXou z!TfvCw|fV=d37_dDx9E;KR*6n*|8uw2hIh(Q8q%-1W8HSPsH(3*15-TUMKa|)PPog ziR`e;)Xhw9mVuxbFgd=KqvDGf>TW04g%u0UB>(nPXG}@w*W~(4^*xhVj;`TyYoen^ zu1FJROlhRjTt7{x^$U+bgEaL+x47E>ZM|@pKj<*uGU=IN+xG_UeDYp%@>iR`pGs z05GVhu$Z&L7>)6eiCIs2VRGX5lL#{cbOcs=rvf=y%vjJ`tVR^y*?S3vTd@2$XeC!o z0_O86cyhN+wnygnZXSkxRpb*9z)E5jsOwikyKV|i5Bi=FR#;?KiAA?I!&;AUCc8vx zvV=z4ZxkF>?@TMh=@CLy@s6UBV7JutI?uMlhaEobQ`ZZ1RL}mVo;EtDqV2-n&(+{q zidN;D zTi2Oa=gvhC+Y18yg)st9nW5GVj%kDX;q z(?=sTt8ZtX+PV`EgnU84i!>n;)%!2wuqv<-XSJ@Tz`tf(IgOski(4?w5F!w0FmTn$ z_1}Q)G*h)QWbF#R0G*h1P3d$KqgXFwyZxtw337yA3+ITlx)0RuT@ zO+QFJYE?zh?^=6h(1Pv4>JAL4eJoH_ugY#v{bm$kZPqNT>En{oXs%!`?oq!_gw7#> z3}^oWLH|(#@uC_9!RV=|AUV5ON7sE5RA61ZMpt>oW=i^TkHE~((*=QEIb7;$L1Pt@ zxU49f6@+jEQ|7QXk;8YVB!sJL6L(c&?0gAc(Jh(_Y79>8eKp6%ZqWLdcVG36xDxwf zw(*?j@0NK{e=Aeg5B$!16_V259|qsvXL}JKm1HMA>LVu~RX7_V4_2GTc%+4^@-ioz zA|X;E61{t*EFI`jX8F^BIz!wQ4d>jc={vR%3yUKBi_$cReC>_@c4I!JnMIej{wRdW zMc^>s%bI~zAo<7vg*XJ)qq0)Kq2Z6^aTX=+s=Dh$AX?sTgPoIz#s93sGW{t~6&p2g zm(j`P5orqJY2njfP6zXF7#GYDe%m1u&GGW6{~A%e1uF1fDs`!S`1&1U-P8?3(Mn%3 z7Q1ise$`^BM0nD+KgIkv{SibiwZNfi^wNuJe-Rww`Sg)NSIH{F_*Ro8vpPTfTNbuZ zJkjkxChat&P(ynewpV-|CwWENN^#a8Z{^|a_!th8kAL_$@aCqic#^x!47R~u;`r>R>`^09P15dru zOo3Qo&dNurB{PG|gN&j()W5ye%32Ion%_F-BM zVWJll&B8`4ZK5h&+34$eYox~Z%DZ(rXw{X>ytf5zNR0m8bNHhfHc@|QHAaPo@J=_4 zJJBW>*!H5MGg+XER|T0JFl=dt`{{t5WST4E^_g<*&Z+sUAC^r`WcESXjAOmU@`^E5 zsLx}{L)v23Se=M)=`Rz!CamRuOoSLIk8a!5dB5xmz z^D@0(*m|-xV`MD7SCJe1^xVDdw%+4uRg9?{$=}(#EzsehQrDKqhsDwQ%hn@05s6gv zj&r&XokZRlE$vP#sxE*vY%qRPCi$0Sz-UhI5@v+y#idy)OK!YyeX{#4mOJMhZemhB z-`oq!KMEe^K(u+~cTr0jL54G-Fq7ky zuK0aw_G-SYbFw{xCDVH`$X{YbTYJG41+J6H>SBPQRs1t0H8YC4#IF`ZzOwNA2+~!q z#f1pB4Q5Et{L|?i!0^G`FW0>$oUE*~@=h)n#N&AI=i-$i3TmuAA(=>2lq)M8NHAoI zNVvsK`>a@UOebs0KMbLw_R7r(4J6M!)OG;&5iela#==TN0Icb9GhH|n+xtZ%YzT}N z;7xe+5wA?C8Bw1cF|F9llL3yquEkGQ{;G%=prL7C%ofzjH6p}>Sx=}qagymJTDORsh0ebG|BK+ zeZvAr9#b&}+wblTj$;`= z&Xe6KVmWBldt)*_?kSVYV!3A@2v|RX*2;beM#mM}{j(dy2AoMMDUFWP`Q%9jQzKdo z^;id|Krawaxbk!g<^Sz-TCurxJf4q;4-SD!|MyQqAvX5^>Oj^Kh~(3@L;53eTPw$W z{%d@EXckH$wmZ1ZU$joYrv|+lVNcLbDj~eVvSTNVensbrNzQqOe<~&uQBM;{sMW3v zA;6D4j7Ah?^nIr%S#>o1ai6ZRz3l4(tJiQ1JO7zr{{o{^gB4H<;u;hxo_m0uP%x+E zgI(WhcDTNTxUrcE;swz0z3%7dL$ZL4gD3nz^|y##5C1MkB6C0?*|20@7QX3Sz~wrb zR8&Q5eHtN)!5G-7|4IG057t_<(fs-wNpbOQ%nu-hEQa{+ITI7T!T_z~*q7PanyHd= zPP^dUR4uJ9GhyRxzXccbxMpYc*um5;vF^qp<)8d%JPp_HL4`A zGZl)WVq2VG-ja-6?x|_Os}Py7g`I0=cpm5#90UzgBZM!OBGH;d&uLQ;Cc}qBnfGKOOlj83CC}24{B5AbB8gv2-X2uO}Gu^&<6ps86>jyRQbQY^@v^$DU z_G(AQsXe+zrPF0$8)WE2pU-%cApBLeQ%wu_XJ=yYmOh#)LJ=`)aU1$TMDl=S??QKd z(^n80s#-^XrgOXDN|eXq7z!Wi{qf4&dUAF8TvS3OWGL`CFX?ec53X)&WUWIUE?a+g zbB@zuU*jpC=seW(f|Mwl&cS;v9E?5DMb;*a_8-X{aOK%9r?pzr>%v+(G!Gv(kuhh$ zI5>2_p1fHPr2B%kusNu$B-7ow^58P_oSPGRVP8*^K*s zv6%kKFfjCaCp-J=V$4yqGo;LRU)mu!^(~#89j72}2*c>ZbpWsv;<>FZ5F> zw(A36l4hId_GhoynduN6lM+M+7;qZN|8sElFyns*I{s&z!4~WbJ*k&kMbY;vdxe33 zq`Pbc^o^C#t*b3nmM^VQ2uAdcv%_K72w~5bAZ!_oaq2HSQ+<2$>`RF@`h>fV0=>pI zI-(L{e~qXhA1^W-bGZjw4=bvLpip_aptlJxbuQRqRDlq~Qu>BK%|rdC<<9o>sc{tq zEQ%uNxIFJC-Ws2o&+7p`1ql7~_^;A<6Owfy;HKV@>Y+ImLqdF82m#1*2{8ZlEX3fy z{kK2dw5t0L>;8{;yZ;a8hj3hxV$B{(7CL>`Xh3sS;a*QyprqYC*KsP2CBgKBY3m26 z`^rwXsL%mtsehxrt}w;W)Nac@z62$0?-JUE1WVL^G!6^ZdC!YK6jN`Z|7pV_=0@(O zWU=F)&%NE0`_Bt!JMHac>yoz~FT8t@5NAvJr^6U$_AI_ZVI=sCUjLhp{y&-dM-uP{ zRWZ@sJTBwQwTpP^d#tiLJuJR_Tp9YaXI*+bT%sPl)VFl=(7rZA5vG31duL3caODu# zmu1#OfgfurfjHxeDSGo{=W|C#G4ovOIeT#jIs7>B@_%NIf#dgrVXAsEeX5xX7l zKdM^`E12cOjXue|E1T0EKhyF#dy@(7itgO9jZ=i!&v;=$&)fL-F zCNmOku=}R-xO+Vfw}qAD#=4*UOL+3OfX^h#52e9kYRd+guN+EI>PwmwDi6=@qA-ELzclG`H~Qo3(pleV|edlJD{ z>x~10`paK$Z$7LdIC5b2A<>N`2fN_zFil{sB#Zjzbh@pcWcZgaCr)g6ke zaHX;S;C=(^-5+K_c(e#JaM><3N(UrJ5_Z@GCcTcJP%!Z7neitPny)(4rUonn)^(7yaYEySTpa^aD zCas@r#deLPM1RKB_gd*>dRs1aHD_JlsT=D&P6AaW@lL`&PD2=+TevagLj&==WV661b0+7+3@$u<0c>m#fY$&VT^V^(;L7Z5Vs7()AUG51)^K zt9zIF%O|G?I~%&?!N+lb+y+NdQBqv_?1>~18`9rVX9#-f9|o}DZw#flVnvFcC|w!p z=G|$Wg5rQz#H-Rl1;JQ6tAgoS&(FszilM(ukowQpMgYyMn>0OQ2l+oZeiFDUIRypm z-9T)@;4De+_o4=FA1Gi zLRMlQy~<&2?0D?l-L9+P)ji#K?9t=Jr|Kj}^}`Xh(IfBdq3bpHl-|NfTCOU*{OeSk zEQmqSJ3FoZy57OU7XnRNa>YOKY#TCbP75SCtN}Q`XM;obX4KvTR?-`Ez>kEgxT4;G z%tc2|Ugvy;`-G2$E{u%je-~;Rhy0~rr-w)^K>uFI#K|`GbbxdD^XhPzB0$jR>iPcE zqa`Jqz8iq<;L=akpV^pDOXK2j=EY1Cp(c25#eCd;DEB-++O}Y-aBO92tja&_8U@|6 z=^LXbWLFbxY95+c7Sgx}9`26N)Yqpp+A(`-l|`HuIXGBy-CMHvx1E@Hfv4Iy>qpfy zTB-{Y=(LN|m*Ykr{*L;?BGY}0vcWih7&AqOi^3@0W%k>BU3gr{*cI{xrv!@LB?|-d zaLHgF=+4%2={biGU-BQYhx_BB!kF{PmO$XB*Tu;vJ}-A}x-8N8{#M|LqAn6_1Cw~T zdo+Zld>1>q#^JJ2?|s|8$w5V9uWUU7_nI@eJB@wqQlQ?Z=hJ21`%oE$z59HdpSa?$&yY-`FZYE?a3; zez1fxeet`kiUS~hGC;vX`pw~whV(7D0|n`W90(cd&HG9uBuqk$%hoIAB##%vX)rtv zUzG4Ret2FzRN2ECk>&VNF!c=*hd!cWy}dJC5-!f} zdYvg>a=F$U3bpsPkvxvj2@qeo4a=1s61C9(Gr6hEKpVAzXPLBe>M%4MViCjZ6mpdP aXP9?Nl6z0N!x!M0C=8yielF{r5}E*a4&So? literal 0 HcmV?d00001 diff --git a/docs/_static/user_menu_section.png b/docs/_static/user_menu_section.png new file mode 100644 index 0000000000000000000000000000000000000000..cc67336c421293ef22d8302f55751264d4d2888c GIT binary patch literal 5937 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 literal 0 HcmV?d00001 diff --git a/docs/adminguide.rst b/docs/adminguide.rst index 572cd73..ce12eca 100644 --- a/docs/adminguide.rst +++ b/docs/adminguide.rst @@ -1,7 +1,7 @@ Dokumentacja administratora =========================== -Jako "administratora systemu" rozumiemy osobę odpowiedzialną za instalację, uruchomienie i utrzymanie serwisu Biuletynu w stanie sprawnym i działającym. Zakładamy że instalacja i uruchmienie aplikacji zostaną wykonane w systemie Linux. Dla mniej wprawnych użytkowników proponujemy wykonanie próbnej instalacji na maszynie wirtualnej Debiana 10 uruchomionej pod Virtualbox albo VMWare. Ogólnie instalacja **nie wymaga** niczego poza instalowaniem pakietów systemowych, instalowaniem pakietów bibliotek Pythona w środowisku wirtualnym oraz edytowania plików tekstowych z konfiguracją serwisów takich jak serwer aplikacji czy WWW. +Jako "administratora systemu" rozumiem osobę odpowiedzialną za instalację, uruchomienie i utrzymanie serwisu Biuletynu w stanie sprawnym i działającym. Zakładam że instalacja i uruchmienie aplikacji zostaną wykonane w systemie Linux. Dla mniej wprawnych użytkowników proponuję wykonanie próbnej instalacji na maszynie wirtualnej Debiana 10 uruchomionej pod Virtualbox albo VMWare. Ogólnie instalacja **nie wymaga** niczego poza instalowaniem pakietów systemowych, instalowaniem pakietów bibliotek Pythona w środowisku wirtualnym oraz edytowania plików tekstowych z konfiguracją serwisów takich jak serwer aplikacji czy WWW. Usługi dodatkowe ---------------- @@ -9,7 +9,7 @@ Usługi dodatkowe Integracja z usługą zdalnego logowania Sentry ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Aplikacja BIP może być opcjonalnie zintegrowana z usługą zdalnego logowania błędów Sentry. Do zintegrowania aplikacji z Sentry konieczne jest dostarczenie poprzez zmienną środowiskową parametrów połączenia do serwera Sentry. Poniższy przykład pokazuje jak to zrobić przy użyciu pliku ze zmiennymi środowiskowymi używanego przez ``systemd`` w definicji usługi aplikacji. W pliku tym należy umieścić poniższą linię, zastępując ``klucz``, ``konto`` i ``projekt`` odpowiednimi wartościami z panelu administracji projektu. +Aplikacja BIP może być opcjonalnie zintegrowana z usługą zdalnego logowania błędów `Sentry `_. Do zintegrowania aplikacji z Sentry konieczne jest dostarczenie poprzez zmienną środowiskową parametrów połączenia do serwera Sentry. Poniższy przykład pokazuje jak to zrobić przy użyciu pliku ze zmiennymi środowiskowymi używanego przez ``systemd`` w definicji usługi aplikacji. W pliku tym należy umieścić poniższą linię, zastępując ``klucz``, ``konto`` i ``projekt`` odpowiednimi wartościami z panelu administracji projektu. .. code-block:: shell @@ -20,3 +20,5 @@ Zawartość tej zmiennej można znaleźć w ustawieniach projektu na stronie adm .. image:: /_static/sentry_config.png Usługa Sentry przesyła na bieżąco informacje o napotkanych nieprawidłowościach w działaniu aplikacji, które nie zostały obsłużone w jej kodzie. + +Integracja działa zarówno z wersją darmową, jak i płatną. diff --git a/docs/userguide.rst b/docs/userguide.rst index a442999..3f9aaa1 100644 --- a/docs/userguide.rst +++ b/docs/userguide.rst @@ -1,4 +1,22 @@ Przewodnik użytkownika ====================== -Jako "użytkownika serwisu" rozumiemy redaktora Biuletynu, który będzie tworzył i modyfikował zawartość. +Jako "użytkownika serwisu" rozumiemy redaktora Biuletynu, który będzie tworzył i modyfikował zawartość. Ta część podręcznika opisuje wykonywanie w serwisie BIP czynności redakcyjnych, tj. dodawania i modyfikowania treści. + +Logowanie do konta +------------------ + +Odnośnik do strony logowania znajduje się z prawej strony, w sekcji "Konto redaktora" menu bocznego aplikacji. Jest on widoczny tylko wtedy, gdy użytkownik nie jest zalogowany - po zalogowaniu znika. + +.. image:: /_static/login_link.png + +Odnośnik ten prowadzi do strony logowania, na której trzeba podać nazwę użytkownika oraz hasło. + +.. image:: /_static/login_page.png + +Po podaniu prawidłowych danych użytkownik zostanie przeniesiony z powrotem do ostatnio otwartej strony, a u góry strony pojawi się winieta informująca o pomyślnym logowaniu. + +.. image:: /_static/login_confirmed.png + +Zarządzanie danymi użytkownika +------------------------------ diff --git a/src/bip/__version__.py b/src/bip/__version__.py index 746c23e..6867667 100644 --- a/src/bip/__version__.py +++ b/src/bip/__version__.py @@ -1,4 +1,4 @@ -__version__ = '0.7.0' +__version__ = '0.7.1' def get_version(): diff --git a/src/bip/auth/templates/auth/login.html b/src/bip/auth/templates/auth/login.html index 77d268b..e2d5d28 100644 --- a/src/bip/auth/templates/auth/login.html +++ b/src/bip/auth/templates/auth/login.html @@ -6,5 +6,5 @@ {% block content %}

Logowanie redaktora BIP

-{{ render_form(form, url_for('auth.login')) }} +{{ render_form(form, request.full_path) }} {% endblock %} diff --git a/src/bip/templates/base.html b/src/bip/templates/base.html index bca007d..ed7ddbc 100644 --- a/src/bip/templates/base.html +++ b/src/bip/templates/base.html @@ -106,7 +106,7 @@
Konto redaktora
{% endfor %} {% else %} - + {% endif %} {% if current_user.is_authenticated and current_user.admin %}