From f9aaaeb7888d2ba656da7554e484dbed483f3c53 Mon Sep 17 00:00:00 2001 From: Faheed Date: Mon, 27 Oct 2025 19:33:53 +0300 Subject: [PATCH] linkedin post content edit mode --- recruitment/__pycache__/forms.cpython-312.pyc | Bin 31422 -> 31802 bytes recruitment/__pycache__/urls.cpython-312.pyc | Bin 12482 -> 12633 bytes recruitment/__pycache__/views.cpython-312.pyc | Bin 92506 -> 93558 bytes recruitment/forms.py | 6 +++- recruitment/tasks.py | 2 +- recruitment/urls.py | 3 +- recruitment/views.py | 27 ++++++++++++++++++ templates/jobs/job_detail.html | 8 ++++++ .../jobs/partials/linkedin_content_form.html | 22 ++++++++++++++ 9 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 templates/jobs/partials/linkedin_content_form.html diff --git a/recruitment/__pycache__/forms.cpython-312.pyc b/recruitment/__pycache__/forms.cpython-312.pyc index cfa60ce958a1bcbf4458f1ca79d640595fc97c8d..4c46da24b7d91601890e0a9bc930bf93b0c22d24 100644 GIT binary patch delta 476 zcmdn@m2uY(M!wU$yj%=G@O9$<455UHd=iXS6V)GaTBY!{Fh*&mSZ@|$RAc61VsK|j zv1nmPv7EesQJ&SQl2g-WvkgmXF4Ic3$%@7DljVFwHeW03Wn`?JoKhUdR?f)4P*gto zK(QQCIpgF&Z+jt8pUk}M)Rchy;u7clypq(slF19a&26MGgx&Isa`k*uOA>EM=YX|j z=EWBPb;YLvB@#DSz@Nv1kwm1 zYEd=HgEY!RG&Vsrrj-6*?EtE5o}5?~uG0q62qKz*8jGqyJg_YwAx*}Y3P2lylmm!z z-u$GDjmaDwSYU^OEd?782b72C(*m+?aoFVMrgK^(iM!wU$yj%=G5D@k&qcMIWp9G`8MD<6U7Abr!j8R%CmYanb)tFf-IW?^| zr?I5wPF6}2+I+Wg10!R_QUW6Cn1GBb5YHUw9Lo0U^~GkH%v~flI5BL)B{8e#j`edRMjyu3QQKSQ3e1{s6HbA diff --git a/recruitment/__pycache__/urls.cpython-312.pyc b/recruitment/__pycache__/urls.cpython-312.pyc index fe6868521816bd68212f222892af85e939954629..5e3fefcced44c35d9b6aef4b7a020635a5538862 100644 GIT binary patch delta 1770 zcmZ{kOKcNI7{|Tq3D{5*1SEktc2Tg`c3#etK=U9bF?ks~v9V(u65}L}^LELjC6JIJ zsw%3gifAg8TSGaJ0tZ*QGqs4N_pk4U$zb8K3u$+=lAN|%nWR?*A#2k@~+b_+(8IPc;FZ7t#*Y+Ql zZfPTD!!7x((gD1ZzgaCC($d&BX*BiZ-=H`5u_w>WPmSO=q(p4_spr{t=~2(Y?ux1G z$bz?dVP+}wo-VE4^w{KLa%OUFS{uwI-_I^ACP%Y#i|M&V@5|!1L;O>bZ97x+=#Vt9 zeYo_IEYJJ!Q%601!X%-&o9 ztLdaQog{c&MJa9(?1*4zHlvS+9}e$SsHl_Y2k>*H*eYw;ePm!pMYG%)z$uqr&d07Znr^uqn*J>GcbDUU z$gIUaw_UCa;AXc@Q*M3URkxnCDaOym^IzSH_Qd4T)hje6bk(D0eJ#d62<1YH%53Mw z{MRIX8@2~|?4+BXbQA9d6}9mpNx)$p67%Uz=i{n}Rk=GVy2O*(e6wY)H4!il0Sa-S zXYR|?eVJStQ&E~{Ab;X5coOgw;8NmfV2%KF1W06BMKgRF@I2sC4;q-Yl3FWsT8rEH z0ziDc{G?V%MR|#)-Q_l@X9ZFkckDil*Mm>_Peu&sr_^uZdfyLqfFL)$XkV8}{g`A>r(FCz1P2)Y76HMs^>7o~OD zCd3w_Kx07bb7^)qLeEA>Lewz;H1Yp*Z4mGX;HI4@Ye~?S1WAdhM}dw3t83{Wr8FmZhjzA|~??MD^h(m3C71(U$xD#bJiW(0p!bz*1~%owa$tM@xh>%t^1I+_MLuG96B z`{^&U8`-TU6*ckRS5U+n(xLn^w)SG7;y zo>w_2n%su)bFY2PCq9$=7t!kzSz)do>gpl=;uUTO+5yzF)y&F+v^+?n6DpeIexL!M zm0L^9+eN)yBqVY#0}TSbuv@@co{;u|Y F{|8%TEaU(H delta 1372 zcmXApOH3O_7{|T#K-Q!#QIIK)jj4I8?Zw#U;WiZzY=a5unn3K>7}JFC3ItlEAuZt* z-1HF98+2Ngqt#rXhsqU~sD}u(#~ivNtuzWfM7>n%sZ*)qP_s!xir2KKI`I!~_+d9!8?~5ne`tU*97Z)Zt ztQO3eG^2<+m3+(?`k76`KP$~{)BaUs zsj}~S51iB$B(7lP4bz|3zVy2#4SW0z9#M3W7wLA-!2r{QtGi5d@;Q*ZJ<%sB;4D=HJ4MgwU@N^>dBme^312<7h3m&pTC8t zFVMJUc|DMXt1)HM{Meq*%_HWZu1oy%?T9gXq=zz}}jQLm(I;);fC;);?dDLOPwhNktq>jv6jSHY&S zJM5K50j}c&hcSS0yckyG8vq&nbyx{!0rJpsT+d9<%o@q8F^gqKx@|RAG;L)QP*uQx zgq6}Hz#VhQZj<>UsKljK90t0=X28utyRJ%%c4tU;MlXn4J_mMQjP&d+d~<*Q{$a0y z-en75?h51H%TZ^LID>j*z(8@f2y#hCZ}y;yHbh86M30Hha}Vq?OzA(YqJcOG#PwmZ zc~-!F2sU`wM%5HiQ@S>5pgHyt*fsoHq)~nZu#T&vUU>sx6NjQ+`xd~q4R1!hw#WQy zFd9|h{fgsqv|dgi*lGAhw7xV5@IDd`spIfd8W|yx5q)glKnqL*n+7{@;-rZwl95(Z|HaA(326DKIGC#PkdaxS8>0#B)babSsa z38%~aO9K}zwPj zaiw4VkEj?H*yP;Ah=cvMz~#=%Ic@i61zb)S;|=kvY39ib1I^B6t`q(iXA4basJ}I^ z-MKv=oxwoJ8REKO{Sn_eKeJeuwfGA|H+p z_gyNOl7Mgx<)HJg&GyW15;2Z?78sqz@or?Sg$Y=-29{IN0E-gx zH&K3ZLjHT+6tgKz!z6aF#6XA-b2AVLZ)w6n7o7($;#o#BJL1jsx;)FzQ~!M;V1-fc z`~l^|D-#NCp@LNj`CC1!sly+7))4%WXDz`Wd+G?@=2=JZcEVntfc+E7U!0KtDdjIo z$lpQv4GH->JsbC$!p^&>*qKm#H{~x)$RDNrWeNFi%5O@@-$VJ!6Y}>`-j$HQkMf%n z^7j*W-0^(a2J@mlo}zjdfrV<61iI8a$oZ{ zuV-~jFtnhhIppop()yCb8g)x%xtOdT&0L$liMo;i8&pA7m9>$xYEIVf;g=)n0@w_& z8o&)u56}Q`p*owDpWTF{F9tTLf5rOo^*FM`@u^loqS219Zh@N)np zs#85}(jD@(G|Sm2+Xb*2pdH`}fHr^*fF0`ng6ff7NbUjn4gt+7y}>qrNE6;*D&_6b zpKMa&3MYsyJ?_H)5;+6rv`TF%o?3YTeRu(Q_B@?!$O6=>p5iE5wh>!OdcG)Llq4F| z?6Ntjpr~8OHuasdJM5RD#aaL`Ny`d){oaOeD8_K|}DWF5^eke-GItdR5)fp~A1+oh3bohHf;6o2iK=oZU&Xi&BPi$yQ`{0!V-$ z0PEupq&f*WvL&`&qoJ1O3$`@2$bdV<3MxU5yb1sdLS7BPB8e}Bg?jJvP=k(1lq{ls zD7cn@W@~GO&^@|9ucM-%g#hci&d&qt-l{5bTAi%=>jnsG<$scvoe<<90A}Ywqz(g| zZ%I6c3VRF&vdYetO>UrEg! zIdTfRT17xh+2VD3yfP@Kq9_Ld-DuW;H?*b2Bj=z5)TGaW^+~YUkEjFVCyn3c``e)T)FWc zv$j^L+dcW}mTB1q&8424Z>Y=@RS|cts1VgE_uUGM$&(A3-z`YJ#pKEBFmD}8=Z{h~ ze0px#xLDVof(~(?h!I+63ROq84-tb^%k-MD6Jtom-_Yb(+Ebj69u%6QUYF{)2qukx9XY#1&`h4$5YNyUv7Nac z+3LiULUnw`$l|B%8N zYhrW!{~~l;jHo!FRVBq8#os{QE3<~>59%0n4tawT$SVPPYRT-(@BM^0`u^(x7j@(jT-=dQa7jlI z!KED~1TX4HSE92r1S7@24wGkDN2PjqV#(6NPMcv0?v2)WW^6Qh(mHKd+72fjctlU_ z6gy43k~W%liUv~H26JcGPJ*$NW4W@=9U}VF{JAr1?@~7_+2)cncFL|3@!RL3!u`pZrQqnO`aXrY@d8xcHxXT_)GLe9bQJ zE_XowOC6a1os1;%n1j+ zj+p-#)ZO_zX;{tD(9+f%lJ`(r4hI+wFalK>t#pKN`2y}HZ%|_UBHN!v5Zj+TrNRq` zO#B4N^H_f^51wc+@uy6A|kWACmvO_H)x8D`r zlAA-yUt3z94+dlaV4Kj=F;BgBIY=F;otTk@x@>?P^=9n|k*oe$dx6MP;}@0W*if7a zaGV+k2dlXUi&X2P^kTcdsmecK7625?G6kE}p+&tJ@05;vH2-wztP{y4J&P9KkrXb- zww_7N+!yRmqSX7T1&6oxTPW3UHKmmuS=FC{bgC(B(2K}}ZJ(?MU%urKW@ey19Frbm_Okq;_M)}< zrV|rvYbPb2OtP(=mi$J3+S&<8ZZPJ6>HttflPQ`0 zCDFgXKB~ljv(RsTOzl4;Yh$kNj+d$o>YT;e=$-8=KWeK#8Nbn53_RtouT}Spc+Yv-ybZ>LW zVM~w{TM3qkZVfQd06TzspYoT+gIrU32B0D-Z8@Bce`vCy4UQZ;5_l__f)iw&QWb@&e}P(Ybd9$g}aer z13i^eguslPL`{NF(Wn*EY}?%Kwk@s(xAfA%Vlq{in$G#{7{rlLdQ02 zSMIjZ7FV0}Ghq(miCTQ=;L;}4XT?>L4sgC^c@ee0Om$s4k+`vKXGzbimo72uESRp! zEMc^i`bS71M>SN4gK9~` z;5Dp|OTaV`rzIo6#o>XN+1LOYv3<)+Kxi_hNI#>8VjDalSACn$Phkb=B!uhKqYam3 zU^q5^4I*;3LKO5&^r+zlMbA2cbmG;ebov64ataw(Os(b9cEUo*|NxxuR?`?0THghm+vtQf3+zoIOi`e7Bc zWDX=AL^4BXlOBoUSzMx?-dZ6(RPSxA$Z>;?Z2*3N{mQm&P$e&)yr6pr1uP+@kT*ci zAd%BSIN$G?zwH9E6|1GetcΠH){^M+J^FDbP(L063h$RUWAxWw5D|t_`ujFgmjZ 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 elP{|O8g=7@38LQ4Imrq|~ce@fz8(*FhTKRv+! delta 18249 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
xkZ;}>iYM|exUD6v0J7{5>L{c*i0Czn@NH z0WfZABX4gJrN)afd523}MZ0C0OGNMO%}v018;oK7JjMjj(2b6NeL7>?I10RD0DN-T ziqdg_O)%C5D$(=eK&z(PH}CR#=s|^UbB98dR}RA}B%Y|NPyDvR(qXH(1O3d}SM38` zuV4~@k-e+7iguBuq4gLwIG&X)kqd57ZJjM5GaE#4Z*GJ5vk2?C2*K`l`W4<7e}Ep~ z1&us_vjn6CdNzHhh%mAjXJ>(_+aELa3Ryx}fNzz13mTr%-zKFUa zlQdBmxmFVu;dQ`VkD*Cx*DjD7P)ds~=V>tB)nyxX*N!nEcd#XBxOpdIl6IFFKk(d) ziGGd7%;gaBdisP}Wi|E2!3?v=Cr9 zz)ApqI*51Z{Nh>Sxh_9-Hx0Dg_|iD;xEKNi4a1BvGW z{Bcy~!^#Q)N&zYW@Ih1J^PX`=8;#O909^OWr2sAf+))}g4tyj$7`fCW%5wQ&fZUri zSa~EevRRat{0I&A10en5REjejy*N_WAPQFFooG;UQi8-mB3MfVN)8+nu9AI+u`N6h z7w-o?^rX%pozrWeS@H|QBi<~*+au35i)97b!uo|J2L8;Yir$)SqDBl~YZWs-OR`vV hFIrK&xILN5pIR%#_-HGY{xnzg?)Qp6Bqd|9{|AC|NACat diff --git a/recruitment/forms.py b/recruitment/forms.py index 6f4e28a..d9989d1 100644 --- a/recruitment/forms.py +++ b/recruitment/forms.py @@ -629,7 +629,11 @@ class JobPostingStatusForm(forms.ModelForm): widgets = { 'status': forms.Select(attrs={'class': 'form-select'}), } - +class LinkedPostContentForm(forms.ModelForm): + class Meta: + model = JobPosting + fields = ['linkedin_post_formated_data'] + class FormTemplateIsActiveForm(forms.ModelForm): class Meta: model = FormTemplate diff --git a/recruitment/tasks.py b/recruitment/tasks.py index e5a454a..a6d47cb 100644 --- a/recruitment/tasks.py +++ b/recruitment/tasks.py @@ -509,7 +509,7 @@ def handle_zoom_webhook_event(payload): # We rely on the unique 'id' that maps to your ZoomMeeting.meeting_id field. meeting_id_zoom = str(object_data.get('id')) print(meeting_id_zoom) - if not meeting_id_zoom:job_posting.application_url}" + if not meeting_id_zoom: logger.warning(f"Webhook received without a valid Meeting ID: {event_type}") return False diff --git a/recruitment/urls.py b/recruitment/urls.py index d3e418f..1c63b71 100644 --- a/recruitment/urls.py +++ b/recruitment/urls.py @@ -65,7 +65,8 @@ urlpatterns = [ path('forms/builder//', views.form_builder, name='form_builder'), path('forms/', views.form_templates_list, name='form_templates_list'), path('forms/create-template/', views.create_form_template, name='create_form_template'), - + + path('jobs//edit_linkedin_post_content/',views.edit_linkedin_post_content,name='edit_linkedin_post_content'), path('jobs//candidate_screening_view/', views.candidate_screening_view, name='candidate_screening_view'), path('jobs//candidate_exam_view/', views.candidate_exam_view, name='candidate_exam_view'), path('jobs//candidate_interview_view/', views.candidate_interview_view, name='candidate_interview_view'), diff --git a/recruitment/views.py b/recruitment/views.py index 28c99da..c2d9331 100644 --- a/recruitment/views.py +++ b/recruitment/views.py @@ -33,6 +33,7 @@ from .forms import ( StaffUserCreationForm, MeetingCommentForm, ToggleAccountForm, + LinkedPostContentForm ) from easyaudit.models import CRUDEvent, LoginEvent, RequestEvent @@ -343,6 +344,7 @@ def job_detail(request, slug): offer_count = applicants.filter(stage="Offer").count() status_form = JobPostingStatusForm(instance=job) + linkedin_content_form=LinkedPostContentForm(instance=job) try: # If the related object exists, use its instance data image_upload_form = JobPostingImageForm(instance=job.post_images) @@ -471,6 +473,7 @@ def job_detail(request, slug): 'high_potential_ratio': high_potential_ratio, 'avg_t2i_days': avg_t2i_days, 'avg_t_in_exam_days': avg_t_in_exam_days, + 'linkedin_content_form':linkedin_content_form } return render(request, "jobs/job_detail.html", context) @@ -508,6 +511,30 @@ def job_image_upload(request, slug): return redirect('job_detail', slug=job.slug) +@login_required +def edit_linkedin_post_content(request,slug): + + job=get_object_or_404(JobPosting,slug=slug) + linkedin_content_form=LinkedPostContentForm(instance=job) + if request.method=='POST': + linkedin_content_form=LinkedPostContentForm(request.POST,instance=job) + if linkedin_content_form.is_valid(): + linkedin_content_form.save() + messages.success(request,"Linked post content updated successfully!") + return redirect('job_detail',job.slug) + else: + messages.error(request,"Error update the Linkedin Post content") + return redirect('job_detail',job.slug) + + else: + linkedin_content_form=LinkedPostContentForm() + return redirect('job_detail',job.slug) + + + + + + def kaauh_career(request): active_jobs = JobPosting.objects.select_related( 'form_template' diff --git a/templates/jobs/job_detail.html b/templates/jobs/job_detail.html index 952af61..84939f9 100644 --- a/templates/jobs/job_detail.html +++ b/templates/jobs/job_detail.html @@ -356,6 +356,8 @@ {% endif %} {% endif %} + + @@ -404,6 +406,11 @@ {% trans "Error:" %} {{ job.linkedin_post_status }} {% endif %} + {% if job.linkedin_post_formated_data %} + + {% endif %} @@ -499,6 +506,7 @@ {% include "jobs/partials/image_upload.html" %} +{% include "jobs/partials/linkedin_content_form.html"%}