From 2528b85276c7265acfaab5288d9ebe1941f02bc2 Mon Sep 17 00:00:00 2001 From: larissa Date: Wed, 12 May 2021 20:34:16 -0300 Subject: [PATCH 1/2] criar-post adicionado MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit adiciona pagina e rota para postagem em módulo --- cursos/__pycache__/__init__.cpython-39.pyc | Bin 162 -> 153 bytes cursos/__pycache__/admin.cpython-39.pyc | Bin 1521 -> 1512 bytes cursos/__pycache__/apps.cpython-39.pyc | Bin 439 -> 430 bytes cursos/__pycache__/fields.cpython-39.pyc | Bin 1295 -> 1286 bytes cursos/__pycache__/forms.cpython-39.pyc | Bin 1340 -> 1331 bytes cursos/__pycache__/models.cpython-39.pyc | Bin 4672 -> 4663 bytes cursos/__pycache__/urls.cpython-39.pyc | Bin 838 -> 915 bytes cursos/__pycache__/views.cpython-39.pyc | Bin 4875 -> 5351 bytes .../__pycache__/0001_initial.cpython-39.pyc | Bin 3206 -> 3197 bytes .../0002_alter_activity_grade.cpython-39.pyc | Bin 603 -> 594 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 173 -> 164 bytes cursos/urls.py | 2 +- cursos/views.py | 41 ++++++++++++++++++ db.sqlite3 | Bin 258048 -> 258048 bytes genus/__pycache__/__init__.cpython-39.pyc | Bin 161 -> 152 bytes genus/__pycache__/settings.cpython-39.pyc | Bin 2331 -> 2436 bytes genus/__pycache__/urls.cpython-39.pyc | Bin 1133 -> 1124 bytes genus/__pycache__/views.cpython-39.pyc | Bin 353 -> 344 bytes genus/__pycache__/wsgi.cpython-39.pyc | Bin 560 -> 551 bytes registro/__pycache__/__init__.cpython-39.pyc | Bin 164 -> 155 bytes registro/__pycache__/admin.cpython-39.pyc | Bin 205 -> 196 bytes registro/__pycache__/apps.cpython-39.pyc | Bin 445 -> 436 bytes registro/__pycache__/forms.cpython-39.pyc | Bin 1189 -> 1180 bytes registro/__pycache__/models.cpython-39.pyc | Bin 202 -> 193 bytes registro/__pycache__/urls.cpython-39.pyc | Bin 449 -> 440 bytes registro/__pycache__/views.cpython-39.pyc | Bin 1608 -> 1599 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 175 -> 166 bytes templates/createPost.html | 21 +++++++++ templates/modulo.html | 2 +- 29 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 templates/createPost.html diff --git a/cursos/__pycache__/__init__.cpython-39.pyc b/cursos/__pycache__/__init__.cpython-39.pyc index e65f77c07b86bc19ba6e440ad73721d6609ab870..586e987286b9c01d19a891e2c3832b9eef639afe 100644 GIT binary patch delta 63 zcmZ3)IFpe(k(ZZ?0SNLU=S<|b(Xey2iU}=FEh>&F%1_QnjB&|NF3nBND=Cg~&n)pM RO^Qj$O3X{ocb{0H1pq`I6uAHZ delta 72 zcmbQqxQLNEk(ZZ?0SMeL^-korF?4sfiU}=FEh>)5P0qh)Kyx%uCN# XC@9L$N=+^)jsY`D@?+8`=4$}}De)Nv diff --git a/cursos/__pycache__/admin.cpython-39.pyc b/cursos/__pycache__/admin.cpython-39.pyc index 7c47d735a78752a927e80fd1ea32f90ccb699cb8..58c424ae410dbad88a64c8e65cbf139be912210e 100644 GIT binary patch delta 66 zcmey!{eqi2k(ZZ?0SNLU=WOKO%&1}QY!wq)oLW>IQIlbf8AR~qAzTAW>yUl5a$m6(^F auTW5wpOuxZ+^ze!~y_`aT)^v diff --git a/cursos/__pycache__/apps.cpython-39.pyc b/cursos/__pycache__/apps.cpython-39.pyc index 80e9f19b87f88ef422ab04ad1ae693d3b9ec618f..7911635f19ed3c4567a2386b6646758a6908ec4d 100644 GIT binary patch delta 65 zcmdnaypEYWk(ZZ?0SNLU=WOKWW7M#6wu%WYPAw{qDaudINQ`mGPcF?(%_}L6anCIA TC{2n<$x6&i&v&2f#h42KWg!&q delta 74 zcmZ3-yq%dlk(ZZ?0SMeL^={EPjwu%WYPAw{q$xY75D~)kUEzT~8IUBj-88vL2tztrpQ;UjYit>{)5@THQlS^|`^Gb?i+%ro& UN|RzzvJ&&s^W8VkW-MU_0D8U^dH?_b delta 75 zcmZqU>gVE4XtztrpQ;UjYa+7oNN@HA7i?d7e3u02T67$mY Z6$*;-vr>~wietcxlKhzT&65~Qm;q9o8D9VZ diff --git a/cursos/__pycache__/forms.cpython-39.pyc b/cursos/__pycache__/forms.cpython-39.pyc index 116ca61eed16d64291f56ec44fc65a1a00fa0dd3..0692160b492f6f269982c7bc8a5c838248159ce2 100644 GIT binary patch delta 66 zcmdnPwV8`Mk(ZZ?0SNLU=WOKuz^GyEY!wq)oLW>IQIlbf8AR~qAzTAW>yUl5a$m6(^F auTW5wpOuxZ&qd!UIQIlbf8AR~qAzTAW>yUl5a$m6(^F auTW5wpOuxZ~n(*$qxXI%(W?*;>;vfS)AjbiSi#JTvo-2{cm?DwNoW++SnZn-7 zoX!=+pCT2^peeoaQZ6G?mCoe9jOro<`NbvrRb0tMnTbWZAda7=z+@+;YMv;FSUgB< z@?It>4J&7>n9$;vfTFAjbiSix*AQp39Za8O4_(5zL?|x$!|R zBeS0-|Ku*F>dAu4QijgXRxzQ)sYS&xxyd^S*gh- f#W7$;Nq$WFMv>NpXyOW{F2>QcOx#VqSW_`{oE{Ot7Xocy7TYW&GXsfi`20r|xxdKo3TIYl}^dy8B_gf@uq2N6M&71@M&xRQ%96N};t zfJ*mGHWjpH4*|;gY3gh)7j$Oi4hAU%i4-Y=RP%G#z3oCO;C=Wa7{O E01eGOIRF3v delta 130 zcmaE^*{#Nx$ji&c00h3N6BBxrC-TWKGHldlWMm0u&{WuL!T6og(8bv*CbT%Us5mA! zIVZ0)#wE2lyClCLCM7E|FFjwOpeR2pHMyiX2FxhQk4fJg&aBDHs5!Y&AOlFg5@=-) b1X|#yslC}p*qMEJ(I&~A$ji&c00eJKCv4Ilbf8AR~qAzTAW>yUl5a$m6(^F auTW5wpOuxZ@$U3gb@I}OB;Lu diff --git a/cursos/migrations/__pycache__/0002_alter_activity_grade.cpython-39.pyc b/cursos/migrations/__pycache__/0002_alter_activity_grade.cpython-39.pyc index 605d669a9a6ed36f3251bc9e04d4d936986cb8a8..e735168b7454122cbc06e9dea22cdddafeec114b 100644 GIT binary patch delta 65 zcmcc3a*2gIk(ZZ?0SNLU=WOI|X4Hsswu%WYPAw{qDaudINQ`mGPcF?(%_}L6anCIA TC{2n<$x6&i&v&1^pK%TVlqeQ) delta 74 zcmcb_a+`%ak(ZZ?0SIy|CT`?zW;9H8wu%WYPAw{q$xY75D~)kUEzT~xP*~Ak(ZZ?0SNLU=S<|b(eQM(iU}=FEh>&F%1_QnjB&|NF3nBND=Cg~&n)pM RO^Qj$O3X{ocb`~c3II!16y*Q_ delta 72 zcmZ3&xR#MSk(ZZ?0SMeL^-korF${9HiU}=FEh>)5P0qh)Kyx%uCN# XC@9L$N=+^)jsY`D@?+8`=9>ZlGEx~a diff --git a/cursos/urls.py b/cursos/urls.py index bd9f32f..06db882 100644 --- a/cursos/urls.py +++ b/cursos/urls.py @@ -13,5 +13,5 @@ path('/modulos/',views.modulos, name='modulos'), path('//',views.exibir_modulo, name='exibir-modulo'), path('//criar-atividade/',views.criar_atividade, name='criar-atividade'), - # path('//criar-post/',views.criar_post, name='criar-post'), + path('//criar-post/',views.criar_post, name='criar-post'), ] \ No newline at end of file diff --git a/cursos/views.py b/cursos/views.py index 79dc809..a85be73 100644 --- a/cursos/views.py +++ b/cursos/views.py @@ -187,6 +187,47 @@ def criar_atividade(request, curso_slug, modulo_id): else: return redirect('/') +def criar_post(request, curso_slug, modulo_id): + dono=False + try: + c= Course.objects.get(slug=curso_slug) + m= Module.objects.get(pk=modulo_id) + except Course.DoesNotExist: + raise Http404("Ops, esse curso não existe") + except Course.DoesNotExist: + raise Http404("Ops, esse módulo não existe") + if(request.user==c.owner): + dono=True + if request.user.is_authenticated: + if dono: + if request.method == 'POST': + form = CreateActivityForm(request.POST) + if form.is_valid(): + record = form.save(commit=False) + record.course=c + record.module=m + form.save() + # owner = request.user + # subject = form.cleaned_data.get('subject') + # title = form.cleaned_data.get('title') + # overview = form.cleaned_data.get('overview') + # slug = slugify(form.cleaned_data.get('title')) + + # curso = Course(owner=owner, subject=subject, title=title, overview=overview, slug=slug) + # curso.save() + + return redirect('/genus/'+curso_slug+'/'+str(modulo_id)+'/') + else: + + form = CreateActivityForm() + return render(request, 'createPost.html', {'form': form}) + else: + print("opaopa") + return redirect('/genus/inicio/') + else: + return redirect('/') + + # def criar_post(request, curso_slug, modulo_id): # if request.user.is_authenticated: # dono=False diff --git a/db.sqlite3 b/db.sqlite3 index 9a451fab993b1e213e34191778f4ab51e4c51983..35071fcfdc616098f915371c01f517cf6f2c43d5 100644 GIT binary patch delta 1236 zcmaizU1(cn7{|{!Z>CAw=2<(sN;hYwVN$x2o{xOXO7pSAq#tSey@;eIC#Okz&dEvh z(IjQk)-e#gsIC_QHx-BCg%@27GrJq8>|(vycA;Y^E9-?V3_)-kxC=e$sFRBL!pqD1 zKELOK_xV3do3OMA9~{A#KRoKim)EB+zw%NA(}4-W4uoJDuEYCq4@~eC*lWj)dN|Q~ z5WSA`#av#=$9P3O1){a>`ID?9ijvT~8tUoMz(-iy>N`Cmj%qtSN2tR(xP!q{cnrV6 zL-++Az|U|O?$kP`ufYok5RMbQt9O-?Ds~ftKj3%x6@Gx5u&shW!L3?n_R1bsyR~RJ zs7Ea~Fz_4Bw%kxFyVkO}%%T=-`IKAR-rla&xx2D)F)_o$@+pq7+Dwd%QkSWJ#x8UH z^Zjy2m`{vHOCsZcv&5Q4l)Ob$qLWN~ZX{$Kjh0iTsj*6+JlpMcGtLktbjZYcsQ~)6O_)iOZ$;_P;T!+3sL%thGV(2{MiP^%wsba#nz~@pi zPl*nY&S=0}Aw7~el*uJLqv12-snf}5D(Dos$XKdm3yQ%I&m{*&MwL=3EA@-=upFmi zjh_HOhHR io%!$Jb2zU?DZ*=xY2#X_!hA%CnknM@k7 z7!B60Ca0wGHghQ=awwfn zkEV{OQL{tz4@_9n&7D8%=7Nk?k1s_e8UhWDehsftRYzIa<{~V7g>BLvYdY^v=WSoM zX`I;(-@xoU;zAfCEoF1F|KyH;^7ADl@x(|_(WYos=(Wz}XqDGqj|SCwDv?c?6`19J q0#3UL;~<@qo;Obk?`54%GhP&Y-&-s)zV~;uH}`;?;LQphAN~UygpyJK diff --git a/genus/__pycache__/__init__.cpython-39.pyc b/genus/__pycache__/__init__.cpython-39.pyc index 1a4547bf320d6e4748ce34b851fe31d7aeb06c5c..e263b527ab8944e9958afe778f99295286413c83 100644 GIT binary patch delta 63 zcmZ3;ID?Tpk(ZZ?0SNLU=S<|b(Xe&4iU}=FEh>&F%1_QnjB&|NF3nBND=Cg~&n)pM RO^Qj$O3X{ocb{0H2>?TO6tw^V delta 72 zcmbQixR8-Mk(ZZ?0SHtt^-korF?4gbiU}=FEh>)5P0qh)Kyx%uCN# XC@9L$N=+^)jsY`D@?+8`=4%1~Ay^pS diff --git a/genus/__pycache__/settings.cpython-39.pyc b/genus/__pycache__/settings.cpython-39.pyc index d8c538d0b0523527a89830ec94d45650c0bb8eeb..c7fad043bd023bf3d044d19221857cde7799dec9 100644 GIT binary patch delta 469 zcmX|7u};EZ5dQzarLE8+f~bJ#X5Qc@oGdf`SQHatI_Hg3=>}6la;UiVA4BWXqT=5r<*|=M(jjx)imk z=uk*w8kTVxGkj;IL@+yLE`^f}=5UoSvMX$o3*~)F`KPMyZ%H*JKSvn-+TL2qaWI%&=>`S3(KengYl*9N1<`x qMu+1w13k-kf&<$hhlaDjaPq1Yl3i{gsw!33QThc%1b=$~ delta 360 zcmX9(yG{a85WRQVC+zZAo{A(i7BsXfR`{T>urV}~O;%uTu8Rvxc9+J+LR$;7r4+~) znD7PugB2fQp^X=uWX_qBIg^ulF232;z_QXr)bH2JZU5D3Jbnm)1PD@;d^(XpqJ&8- z^+cEQI~glu1yoFdhBD}!fWZkWD++1Bs^AQ2V4}`cH0p#?lySSstf)uPT*#b)g%)Hn zi#g%R*9jIDl1CwjHWr2F$i|W&8_PSac$CYK$0`)C2DS(-iY|#R;~rFSAF5ctA+3Y8 zN;`Djm9omoLj%WyDG%B>Y)=AYe$+nmcy}HLJ&*Z#-KuRg*TrDux*Kgai0^!F7)s*p zWT|~8pL*rADMYx1pWb=L=|?P#oXND|m OIF(H^l^h$FRQUrc{9ZHw diff --git a/genus/__pycache__/urls.cpython-39.pyc b/genus/__pycache__/urls.cpython-39.pyc index 0224a120b164fd84b8df06c4e11d76987686af93..e690efe346112d53a091b78c901ca1515ef2798b 100644 GIT binary patch delta 65 zcmaFM@q~jrk(ZZ?0SNLU=WOKu!>nQHY!wq)oLW>IQ}5i RniP|gm6(^F?>_N)6##c37GnSa delta 72 zcmcb?^pJ@=k(ZZ?0SHuX^-knoZRqT56%$&VT2vg9o1BwZ8sm~$oL!P%5R;OXn3tZf XP*9Ygm6}{q90O*QyjKMPUiKQ4 diff --git a/genus/__pycache__/wsgi.cpython-39.pyc b/genus/__pycache__/wsgi.cpython-39.pyc index 025d3dcd19af7ab417d1c05eec5df2c7ced5ab65..1a440a65bf89c7d5dd412be6a1128e8525464327 100644 GIT binary patch delta 65 zcmdnMvYdrGk(ZZ?0SNLU=WOIY&ZuGOY!wq)oLW>IQc5Y!wq)oLW>Ilbf8AR~qAzTAW>yUl5a$m6(^F ZuTW5wpOuxPyWTI3jl8}8a)62 diff --git a/registro/__pycache__/__init__.cpython-39.pyc b/registro/__pycache__/__init__.cpython-39.pyc index 1bac0479f51d883765d56e6ddbc813cae2637170..2936146a08688c51b41f2fcd31b51884039432fb 100644 GIT binary patch delta 63 zcmZ3&IGd3>k(ZZ?0SNLU=S<|b(Qt6KiU}=FEh>&F%1_QnjB&|NF3nBND=Cg~&n)pM RO^Qj$O3X{ocb{0H0{}&C6u|%h delta 72 zcmbQuxP*~Ak(ZZ?0SNpr^-korG4yn{iU}=FEh>)5P0qh)Kyx%uCN# XC@9L$N=+^)jsY`D@?+8`=Ia0eEl(L0 diff --git a/registro/__pycache__/admin.cpython-39.pyc b/registro/__pycache__/admin.cpython-39.pyc index f17bac5a7156886c789738e1238a0f1ec20a8e3c..4729c3a97feb7927ff9d581f07e3948a052c3b2c 100644 GIT binary patch delta 63 zcmX@hc!ZHVk(ZZ?0SNLU=S<|z(6Dv3iU}=FEh>&F%1_QnjB&|NF3nBND=Cg~&n)pM RO^Qj$O3X{ocb~XK698b^6=eVb delta 72 zcmX@Yc$Senk(ZZ?0SNpr^-ko@Fm!XaiU}=FEh>)5P0qh)Kyx%uCN# XC@9L$N=+^)jsY`D@?+8`&ej9~O%55k diff --git a/registro/__pycache__/apps.cpython-39.pyc b/registro/__pycache__/apps.cpython-39.pyc index 6b000075bcc5927363b8e220bb77bfdec2dbc7c0..b1067722df266cb2cb4e6cdfe45bdcfc70f79491 100644 GIT binary patch delta 65 zcmdnXyoH%Nk(ZZ?0SNLU=WOH_V$`s4wu%WYPAw{qDaudINQ`mGPcF?(%_}L6anCIA TC{2n<$x6&i&v&2f$CwWQX+sqT delta 74 zcmdnOyqB3fk(ZZ?0SNpr^={-AVl;Ghwu%WYPAw{q$xY75D~)kUEzT~D|c9$zIlbf8AR~qAzTAW>yUl5a$m6(^F auTW5wpOuxZ?<7dU;+S(Y8lx8 diff --git a/registro/__pycache__/models.cpython-39.pyc b/registro/__pycache__/models.cpython-39.pyc index 9ff194e159e104ddce7ce6bb949e072e8c39b865..091e88386223bafda833f6a9ebc9f5a6ba3f04c9 100644 GIT binary patch delta 63 zcmX@bc#x4hk(ZZ?0SNLU=S<{I(Xey2iU}=FEh>&F%1_QnjB&|NF3nBND=Cg~&n)pM RO^Qj$O3X{ocb~XG3jki$6)5P0qh)Kyx%uCN# XC@9L$N=+^)jsY`D@?+8`PS*keO1T-W diff --git a/registro/__pycache__/urls.cpython-39.pyc b/registro/__pycache__/urls.cpython-39.pyc index 14fb9293f61621257d4f21b23bbdd9c516db7f9c..740d97ab03a2d293387f6582851bb8fd72dc2ac9 100644 GIT binary patch delta 65 zcmX@eyn~rLk(ZZ?0SNLU=WOKmXVkE9wu%WYPAw{qDaudINQ`mGPcF?(%_}L6anCIA TC{2n<$x6&i&v&2P&1ePycJvib delta 74 zcmdnNe2|$tk(ZZ?0SH>}_HN|%XEbzmwu%WYPAw{q$xY75D~)kUEzT~Y!wq)oLW>Ilbf8AR~qAzTAW>yUl5a$m6(^F auTW5wpOuxZ{E$+!VCbPPa3}f diff --git a/registro/migrations/__pycache__/__init__.cpython-39.pyc b/registro/migrations/__pycache__/__init__.cpython-39.pyc index dea4e261b32cd89d5c072fe096dc4d2320d598b9..34f14d0e588068f974136aa8b87c0bc6b5d89070 100644 GIT binary patch delta 63 zcmZ3_xQvlIk(ZZ?0SNLU=S<|b(eQS*iU}=FEh>&F%1_QnjB&|NF3nBND=Cg~&n)pM RO^Qj$O3X{ocb`~c4ggH16zu>2 delta 72 zcmZ3+xSo+ak(ZZ?0SNpr^-korF${6GiU}=FEh>)5P0qh)Kyx%uCN# XC@9L$N=+^)jsY`D@?+8`=9>cmHLw{$ diff --git a/templates/createPost.html b/templates/createPost.html new file mode 100644 index 0000000..521242b --- /dev/null +++ b/templates/createPost.html @@ -0,0 +1,21 @@ + + + + + + Document + + + {% block content %} +

Criar postagem

+
+ {% csrf_token %} + {{ form.as_p }} + + +
+ {% endblock %} + + + + diff --git a/templates/modulo.html b/templates/modulo.html index 1608b48..ea47751 100644 --- a/templates/modulo.html +++ b/templates/modulo.html @@ -29,7 +29,7 @@

{{modulo.title}}


From 94bac50c29a1c87a58403b9c474be2cf40169216 Mon Sep 17 00:00:00 2001 From: larissa Date: Sun, 16 May 2021 05:25:26 -0300 Subject: [PATCH 2/2] lari's cut MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit humanização, navegação na página de busca de cursos e paginação número de cursos por página = 1 para testes falta internacionalização --- cursos/views.py | 18 +++++++- genus/settings.py | 1 + templates/buscarCursos.html | 82 +++++++++++++++++++++++++++++++++++-- 3 files changed, 96 insertions(+), 5 deletions(-) diff --git a/cursos/views.py b/cursos/views.py index a85be73..5fd4abe 100644 --- a/cursos/views.py +++ b/cursos/views.py @@ -9,6 +9,13 @@ from django.forms.models import modelform_factory from django.apps import apps from django.db.models import Q +from django.utils.text import slugify +from django.core.paginator import Paginator +from django.views.generic import ListView + +from .forms import CreateCourseForm, CreateActivityForm, CreateModuleForm, AddFileForm, AddImageForm, Escolha, AddTextForm, AddVideoForm +from .models import Course, Module, Content, Activity, Post + def inicio(request): @@ -42,8 +49,15 @@ def criar(request): def buscar_cursos(request): if request.user.is_authenticated: - cursos = Course.objects.all - cursos_dict = {'cursos': cursos} + cursos = Course.objects.all() + cursos_paginator = Paginator(cursos, 1) + num_pagina = request.GET.get('paginas') + paginas = cursos_paginator.get_page(num_pagina) + cursos_dict = { + 'cursos': cursos, + 'paginas': paginas, + } + return render(request, 'buscarCursos.html', cursos_dict) else: return redirect('/') diff --git a/genus/settings.py b/genus/settings.py index c663d86..7996bc3 100644 --- a/genus/settings.py +++ b/genus/settings.py @@ -39,6 +39,7 @@ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'django.contrib.humanize', ] MIDDLEWARE = [ diff --git a/templates/buscarCursos.html b/templates/buscarCursos.html index ff8e44c..ae1508b 100644 --- a/templates/buscarCursos.html +++ b/templates/buscarCursos.html @@ -1,16 +1,92 @@ +{% load static %} - Buscar + + Document + + + -

Cursos disponíveis

+ +
+
+

Buscar Cursos

+
+
+

Insira o nome do curso que você procura:

+ + +
+ +

Cursos disponíveis

    - {% for curso in cursos %} + {% for curso in paginas %}
  • {{curso.title}}
  • {% endfor %} +

+ +
+ +
+
\ No newline at end of file