From c4ea8db46efe31a90a5bf88b1e420c612d34f586 Mon Sep 17 00:00:00 2001 From: Marwan Alwali Date: Sat, 8 Feb 2025 11:50:06 +0300 Subject: [PATCH] update --- inventory/__pycache__/admin.cpython-311.pyc | Bin 6596 -> 6689 bytes inventory/__pycache__/forms.cpython-311.pyc | Bin 34265 -> 34245 bytes inventory/__pycache__/models.cpython-311.pyc | Bin 87034 -> 87033 bytes inventory/__pycache__/urls.cpython-311.pyc | Bin 27114 -> 27368 bytes inventory/__pycache__/views.cpython-311.pyc | Bin 177673 -> 179621 bytes inventory/admin.py | 1 + inventory/forms.py | 2 +- inventory/models.py | 2 +- inventory/signals.py | 2 +- inventory/urls.py | 4 +- inventory/views.py | 44 +- locale/ar/LC_MESSAGES/django.mo | Bin 212753 -> 214293 bytes locale/ar/LC_MESSAGES/django.po | 1772 +++++++++-------- templates/administration/manage_service.html | 2 +- templates/crm/add_note.html | 10 - templates/crm/leads/lead_detail.html | 1123 ++++++----- templates/crm/leads/schedule_lead.html | 2 +- templates/crm/note_form.html | 17 + .../crm/opportunities/opportunity_list.html | 14 +- templates/customers/customer_list.html | 2 +- templates/inventory/car_detail.html | 2 +- templates/inventory/car_form.html | 48 +- 22 files changed, 1631 insertions(+), 1416 deletions(-) delete mode 100644 templates/crm/add_note.html create mode 100644 templates/crm/note_form.html diff --git a/inventory/__pycache__/admin.cpython-311.pyc b/inventory/__pycache__/admin.cpython-311.pyc index 179bca8f111590a410bc790ed1db035054e9b830..c4a4df301fd44af9d5bc7228715c885bafb9f419 100644 GIT binary patch delta 341 zcmX?NywHSqIWI340}x1kUz$E~BCjOlrj6>$*(M%PWmKHJfKg)dIW|E?rO6N2lo^#L zC$Osut1vO7GG?)Yw17Y=bCxPlR+^Kog&~CST-IWI340}!04T$-LgkynzjWTX0Ww#hu~f|Eb9iBF!u&dSNs!jQt6%9y1z zc^Hm{N>X9NIzW>0JY diff --git a/inventory/__pycache__/forms.cpython-311.pyc b/inventory/__pycache__/forms.cpython-311.pyc index 1a96f99b0ad159cf8f1c22416091ef8e62d9eda1..e0e01ab1de5cb285390d47fa4694f48e51791363 100644 GIT binary patch delta 88 zcmccF&2+SziFY|KFBbz4aEUBS=i12oy;z!M86yM3Y9NMy6y7<^Q9LPp!3>)GljTd| lSc^n}5|jH%+9peuHZy*nJh#+{ZHCoM**UVCZ znd5VTKL&_4ux#PHV&DwnoDjL<83kcp;E0)epD~kh+H_Aw#y5tWoBTQ zew2w(7bx+WiP3~<2J>XcYVqw3%#5Clys?ZQ7#LZhP1aFfL)7x_t)+ Q<1|CY+1vfC7*|UI0QP7(ZU6uP delta 185 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 P{TcXGrj}>;-^Kp{JCtJR diff --git a/inventory/__pycache__/views.cpython-311.pyc b/inventory/__pycache__/views.cpython-311.pyc index 91501b1b64414f97bfc32a343103318eb9b94fe9..3f22b4bc6298304bc1d74c1d6cdae78709fa2de6 100644 GIT binary patch delta 12995 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 delta 11104 zcmb7K33yaR@=w)FUXq#I_vD_CgxnAk?js4O61fbBAjp*{0dnvXM37rNK!m^(N-hEA z6hr~#ExHP__3^9Oo1mY;1ZpDik^U{?lzVuR<{U=6p@lTGsD`o|1k#W>H5dc_#h zjNzvk7nt$$A2h{Z<^ICC7n}59FJ+(22dL~zoc-$`bYh^&{f%=k|AFZsBPt-)9;`T5 znRCq;9T4UWQSaCJ{RUTfNV7f)H699Z-WSHM0BVrKIfW_}QQC{smZtqA)#O@6vfQdT z4zbQ}p7K_r{XwmwjEe!z+0mTqqcmbTWn*W1pMQJuV{dRtPWv`EC8zy3{m&Ay>R$_! zVr!v1j!WjJJf45~DNo>Ee#)Kv%TIYC|0aTm(g|Rl7A#9*89!snlR1&>&J3J1u)KJ9 zF=wZ+G{r3qVwILGOJ!NATNXSiygXuf1WVIcn&y^x)Y4Y`q%`aFTsJRV@z{Q8Tr;Q7b8{jU$HAODelm>FL5}uOO2(b4WLeGZw{z>p zC?0p7;$<5n8sDtU4sN{!#c>*Qg2Eo`=$0ia8Fy-FM}9JzmD$P7OHw@U zZ^dg~x6W=}isEsPD_*uSDcF&bs$|^PrOsw`>+04^SDXx^AUN#7Zf;qol4Y@8H-4Je zE#J+{Ry-LK;We*Yft%M_@p9a}Y$G$okRq~!z5frY+RLriN%16_RMO88OD?6 zvLa`phljp{*ARWSq}EGn4yTNDXPm~lbGh)up2YLy2`h}(FSdc__xyBmt2K6^P!|b2 z%}^~{PC~*QeW55XF?RpnI;vJN zEZPS8HDJG53^KlvEndD-qN}gGiT74wY*VpzRaZKANY&5ZJdO1WwZdFNg~k zy)21}i?^Av-bkUBA^eD{@X8ogkL%<5b|6tK= z?Kvpzi81Q0`%!)oYNOHe*csp9PVq#8ygO- zY+rKTrCWJ}>3leNH4v_aLz?Xr6Mk0&vsDDFZs@U-k+4hqS_=7^$N_!vYgboM+!N?e z&lQ3{MMOa__>M+KK}YShFi+E(C}@MH(YSCv(mWjngDi=E>cgxwJ)H(7KsZ@bAe0`9 zgL|~)V(M8s6$e?`camOBq48kAbF?)c^4Ld>xt~VRrFhWcS95#<@4$aPQRs(c$g`gj zON+!$exlSAh%GoP0+)SBof9}Out}g^Ae4tK&Eayf2vOZApvLh68Y8d7*w+cIaRSjh zDO{8?D!TeFWN8WQ;dirhOAamIJgrZIDcV(0x=PXM&>gS3do}AAv^966gN>&QnHlVM zF2{vTn2%tgoF0&2zafeOBfZEOh2bl*!IM7C049|u@?&CmtLd+`F& zf(~Xv1bJpd7+Nee*%Kn^(7&Oz@$#xjb4E5S1(-$tt$FSO)whNrnkMQR73Dw;XmlV4 z=4oCc@}@i5Kw%I_y3x1o7Agp4`;I&a)%+ySkB+oq*YR_g)hZX3fH&>Wg+eZY+n8w! z5SqZ_6rTU;qZWtQ#w52Gjat zNTO>!Ak^&A9*O|M=wxe5F?V)=$*4t$QUoP;h9@w>ZNAZ)zv>K&?a4wB80AeHq9BA8 zcY!EOcGv%JU0|#hDHI2#cZJiwF_MlKNVHJvPSAo1yFonvjOhj=0#YSIpwyc?e*|TB zhP)N|kb|ifStQM(d43q*HM<97 zVV0^-jCr^R{K#!IU+V?S06NeeeYo)U=J-A^8K5)O-JxEu+yQ=|<%*?T^6Lv5G1t`| z^GIKK+5(GdSbw-2bEgoB7^>O9c%N}?Gk39IdRuZ1fm zBWc||a2VRsgrU$H3TX9EaKZ!Tn?vCmYU9Pic-lW4`oehAb{}l;g-Y7-AiNYcO|o)i zntImR%W6u?M^#KIA6u&Hm1gyLXaNIf3t^7HT!Bh~c?{dEe<%gLk{iDb^-7t(6->OX zHCXl7+^U)Q4W?jsu&bq z0VA{oVLEAM1*FAJ;&h#ToZ6mC^-*Oddb#9IlxhAfyDLO-wHcD0Nfnil zrmd3nDsycmJfqOKRNKuYeHHPKxv-ts}1IN%uSrc@{$bSnr z|6i271tMF&E+REdt_dZt5?-fyHt{f3mWo}E(nDJy39gx|w*Uu~i^yju{HL2*9M*}d ztP9&Lt|j5t8lgYN(lqy4@Cc`GUkfPZW!MH!(6N_!c3+^2FGCeOZs{vTH zK-V!r9LNp0X%o!{89ijq;K)iq`1V`@tE4=HsQj7w5Zs4A|SsHT=`%vYlA zo@6iYf&%b0>vw^#1$LR&U*)lg{x8q_R0=vP@QsBkR`3Q=vKLNj{(M!W`%_<&oy^}# zi?>3g`IZUac(&~;1xQhK*0E)iCe`^@jhR+nT2V8qytHO~Wr==4vh0#Is-(1LOxYwp zOT^J9Z*uIgoXXyUR#EDtb6A!z)!uz#P>q(8cE1HVV54u|g2arKBA2^5Jy0fFiM*=S z#rMAlFo<&YL!_o^7EA;7bE~7x+Wj!j$}923x4HA<&B%9P1HfQ<{qHcAD-wGMlC(r= zWDDwZh$nH9S$+uKvuKN?m@w*c7>Z(~DGlqL8W0uTMT(Y#UN{U%fvUHgI2nC%7|Qs7 zQFsKhc#Ez)0=*DUn6G^Rzk-$}idnSlpIn11I&MXW$w6JT#B+BZhje#5x8OKT!**5` z&uO`$l1ptrgu5`;Dl3|~`a_6C=w$Bu2r58pCxirYn$RMkgQNu}+u0L)lJhf;ny365 z+G7W+3gxzND2LFF-u;wMTfKzciy}Ycz^9kh7_=+WeBm>w1t>D}KIi4bx3>`bF!WFJ zHDGC2kgF^i3l-qrX>|p2vra&Oy`PW;R@o^bodfk9Cm;>`SzTNA`4ezFL`?C{(0Cl< zMot~dgVTwA`+_&~0p$1+CYkqNhV3w-&OWJhOo`ir^helPc*|8@-bu{(-)4r3-Y9;e zsx?y_Yq7j4Kl|eob%b5axD3vvs8f*bWwOc~k1y!dIcQe`R3I7X+CY}{3!?z&HhX1ftq8j@8bW*?fpKo_d90oXSO~Ke6npv z0YAb$+`I>Vgyg_`xj<6}h8hbBF?aq5Z7rH~jUG-v`~*o6wI(LSbLT-NDB7ku!N^#m`C2HcFMIm^I{eC@a&9;El} z_=xRMu`V#02Kiz!>E0M+zU7PS!E+%?Cz|8@k%OrxX>|Y&l@yVfe9 zrDKB#1eQzox?9;B8b^q7BC!BZScpT`*LY1&b6}c#O&{;zR&1A1h@-6ztgvkq0|J|5 z2>RnjcT4Kya3pn(K^vWq!W$gWor}i!Cc#1%SE$x122-@XT$5k=vbTqsRWaBbv^Pc2 zjs=lakb^$-MJ!GZ*eWFnydt?(bRh@BNRPu3+}c>?BHU(Gkzto;+~tZ47Se!3S zNx&%WJ!$<8x}L`k`J_GEN!Jo^5bUJ>PVA~3lgyWCsS`&yc8j{e+ai2L-WExB?w0;a zqxFRlO??xwJNK6=cyl5?Zr|UQ{GX+~=5VyWRhS1AJ;AtL8!HW>9 zPEv>2`#8?y>n``HPz8HMJgW1#DrZx9n*8cZ&NTcc;vFfZ`FWUP(y={W_oX4}I3lKn zklquQKE@__>Z+JW1!4En2kDp;7{rV^OU=X8x{J&HgZX&D*X*8wiC{k{1_aLfQe`F% z!GrE``!W-cax)qt`pu!+EdBK`DJf2%F|_Z1!G3gpCA6X+vT+VySxjh!ck+GZtF15t z;6u3p>5egelw)OwW6ycs_MWOVgN@GS;3j;pvB=33lZz2ShlO!O;C+F{YHYC|6+vU^ ze4UcV-kRaZ(tpyRJRIY7To```br9gpXgZsRcCC#tJ~Y|4+5iU-t=qBZH;oPDo`&YM zW9Mkg%<72^j&7s(+TlLi$6{2V1ubgNb^h4uxXPq$H^K<5QHGMl{inT$nLq0yh7ccAbF}8y%{1bbr0xI}(N{8 znq;I491+=j0(EpTpBK6>SlZW&E8w=}s-yfGS*u-VcrmhCxK)yxEU-pi*9z$JT1{0& z=)iJ|QTTHtJ@_EB^VJ`g4Dl^}I(=J&?K3w@Kh6@VnsJR6AXZ%+XOu(Fk^FfUBj@uF zy6-ML&{}0FY2)eUrjX=_qd(5@UuT=5ewf6wu&N(E;w!|#`V+zoq2KypE8nLi9V*~q zr8fOB+YZtnC}5$9{qZeWO6ddG{pHlJuVAR=hi{drz6dk%dp}w<0IPuL`T!j0BB^by zwX}34jU0&4fvZJzjX)Ra#kKV0K+No}TJoGozY?w?DRribl2D?uzZYNZ<5-+dn zdxwwI&qluv#AMg-NFe39{MaapGFSD@l4=~XE%LfmU>o%xgehS=Bz;M2D(7%t$}AX! zc_H7k{v+bO-TAxu<;$1nczjDiyCKnVqz9UKH*WTXBeZQOrm!;}8;VZb53KNuD72!W z&U^_LaxZ>wKO?me_}z~@hw%bmpWb>7#~m1@E_Ox< zWwgK;0f`9pv1A*G2{6vg7>Sdud`w+ChNr}Cb(W@MV=y56Lur=suUt3ZgZngBuk*1KPS}3iQXA{-TzjQ z4;i{Z_ofP8{BMOXB}<@pQ-zcNTS2~d=mLF}f>~OMFQG%O@Aw3wZt*&ZPrSpxmsLm^ z<8dlXq!-5Ha0sM93o*pz$Aha2OrYp8%mF_-UW09Db{X$up^_(1O{dB@DhQRlTxvG~ zC)&a#Phcu-pMaTsdQ*C~iCD;&=3+WHS||cDrFITZ(6ut`NH0#r&JCPc;Rrl>i*tMe zCeV^8ywvudgkSmv2t!)1&5K)*Q;xBaKm*D#n_Doe96Q3(^p|qHhn-Lgb;Ju@V38OM zmN&Ju#JlQOUV-=9l0_=8T-p^%KUAO}B)bS{mAv1$8enTFJb{%|Tgh!~>7tyk#6E6{ zBV8y08yf2GDlXkcU0%i8zsnjOsX!l}Ee$lPuV`pym&tfC=~gp!r|nahN=^3jty&YASXLZuHSE%uDm(5q@AQwsb|2%6Gfavr{oCx-(~2OQ56rqoG4s zI6a55AHW#;Wh$RRJ|UlnagW;-Y#pU&fsd)~VP0K2ddj7Q@nT_`*?$^-j9MRAC3;iZ z3~V3VQ_@n3nm1{n$C~;KECJ|BpUlK;O$95RiBGkqc+TJC1N&dWULbsdGyc?Z4)*1{ zel-jB&f%clHSCUl!V&NZ;6!70^m9?i&%M>HjsZdy2)La(z(r-h^QNeInBQP}knjb< zZs!kj@&7W9Yvis)u}}q~Z>JUu)ghljoo3miSO$EX_^nx;a?&eVM|eg=0@ z%o5&_rcsY2__e0~f&i(iKR2;gEsoKa@LD-Ni=0bXpgwyXt>t6(463Wejy!Bj5L zy}P@;Oz9*x>cAsZyc8=l#dquMe4AKSGi_AGnDWv(@2U#ENE}l$MsL;w=ayn_pbEVz zWkX7k#&@NhWxOFiOJkSuYSx*SF2hKeLN6}kiW~qV60sU z53sq^A~SF~hk*Rup#4gY=V#B8ec=g#=LI$kY!lcnuv{TYG!JAp&; zs=nwSmz3J|)J~>$C$;0K59#U~`L9CxUEr#~4FQXV{|Zmnq=kM00Rlk+>XT)%q}0d6 z3`u1PPKD3sLK*{6{0RF z^tqDpsES$S0zsF%0(A?Z&g1G7tq!>AxT%ha>g1=+Ou9PBsH1^|^}2-Lx&&dm1Xe1B zQn3<$To}9-v%;^4^s2x$f$IV{tVC-$UcV_X9^y1W2iIbphLX0>w`(zBkX6#20-AuA zfVY5;fK9+Iph5!`1E|ejc5<~4_vVWJ;`BW9Mqc~Of1*_4{O34+5i9m diff --git a/inventory/admin.py b/inventory/admin.py index 2b76c96b..f026d984 100644 --- a/inventory/admin.py +++ b/inventory/admin.py @@ -35,6 +35,7 @@ admin.site.register(models.Notification) admin.site.register(models.Lead) admin.site.register(models.Activity) admin.site.register(models.Schedule) +admin.site.register(models.Notes) @admin.register(models.CarMake) class CarMakeAdmin(admin.ModelAdmin): diff --git a/inventory/forms.py b/inventory/forms.py index be277355..1d3a1fb4 100644 --- a/inventory/forms.py +++ b/inventory/forms.py @@ -737,7 +737,7 @@ class EstimateModelCreateForm(EstimateModelCreateFormBase): 'customer': forms.Select(attrs={ 'id': 'djl-customer-estimate-customer-input', 'class': 'input', - 'label': _('Customer MARWAN'), + 'label': _('Customer'), }), 'terms': forms.Select(attrs={ 'id': 'djl-customer-estimate-terms-input', diff --git a/inventory/models.py b/inventory/models.py index 1ab004ef..493b3740 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -1224,7 +1224,7 @@ class Schedule(models.Model): updated_at = models.DateTimeField(auto_now=True) def __str__(self): - return f"Scheduled {self.purpose} with {self.customer.customer_name} on {self.scheduled_at}" + return f"Scheduled {self.purpose} with {self.lead.full_name} on {self.scheduled_at}" def schedule_past_date(self): if self.scheduled_at < timezone.now(): diff --git a/inventory/signals.py b/inventory/signals.py index e50d52da..da7cc19c 100644 --- a/inventory/signals.py +++ b/inventory/signals.py @@ -862,7 +862,7 @@ def create_activity_on_schedule_creation(sender, instance, created, **kwargs): content_object=instance, activity_type='Schedule Created', created_by=instance.scheduled_by.user, - notes=f"New schedule created for {instance.purpose} with {instance.customer.customer_name} on {instance.scheduled_at}." + notes=f"New schedule created for {instance.purpose} with {instance.lead.full_name} on {instance.scheduled_at}." ) diff --git a/inventory/urls.py b/inventory/urls.py index ca4c7280..7c68950b 100644 --- a/inventory/urls.py +++ b/inventory/urls.py @@ -93,8 +93,10 @@ urlpatterns = [ "crm/leads//update/", views.LeadUpdateView.as_view(), name="lead_update" ), path("crm/leads//delete/", views.LeadDeleteView, name="lead_delete"), - path("crm/leads//add-note/", views.add_note_to_lead, name="add_note"), path("crm/leads//lead-convert/", views.lead_convert, name="lead_convert"), + path("crm/leads//add-note/", views.add_note_to_lead, name="add_note"), + path('crm/leads//update-note/', views.update_note, name='update_note'), + path("crm/leads//delete-note/", views.delete_note, name="delete_note"), path( "crm/leads//add-activity/", views.add_activity_to_lead, diff --git a/inventory/views.py b/inventory/views.py index 0b808ded..434c0754 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -2981,6 +2981,7 @@ def LeadDeleteView(request,pk): return redirect("lead_list") +@login_required def add_note_to_lead(request, pk): lead = get_object_or_404(models.Lead, pk=pk) if request.method == "POST": @@ -2988,14 +2989,45 @@ def add_note_to_lead(request, pk): if form.is_valid(): note = form.save(commit=False) note.content_object = lead - note.created_by = request.user note.save() - return redirect("lead_detail", pk=pk) + messages.success(request, "Note added successfully!") + return redirect("lead_detail", pk=lead.pk) else: form = forms.NoteForm() - return render(request, "crm/add_note.html", {"form": form, "lead": lead}) + return render(request, "crm/note_form.html", {"form": form, "lead": lead}) + +@login_required +def update_note(request, pk): + note = get_object_or_404(models.Notes, pk=pk, created_by=request.user) + lead_pk = note.content_object.pk + + if request.method == "POST": + form = forms.NoteForm(request.POST, instance=note) + if form.is_valid(): + updated_note = form.save(commit=False) + updated_note.content_object = note.content_object + updated_note.created_by = request.user + updated_note.save() + messages.success(request, "Note updated successfully!") + return redirect("lead_detail", pk=lead_pk) + else: + form = forms.NoteForm(instance=note) + + return render(request, "crm/note_form.html", {"form": form, "note": note}) + + +@login_required +def delete_note(request, pk): + note = get_object_or_404(models.Notes, pk=pk, created_by=request.user) + lead_pk = note.content_object.pk + note.delete() + messages.success(request, _("Note deleted successfully.")) + return redirect("lead_detail", pk=lead_pk) + + +@login_required def lead_convert(request, pk): lead = get_object_or_404(models.Lead, pk=pk) dealer = get_user_type(request) @@ -3007,6 +3039,8 @@ def lead_convert(request, pk): messages.success(request, "Lead converted to customer successfully!") return redirect("opportunity_create",pk=lead.pk) + +@login_required def schedule_lead(request, pk): lead = get_object_or_404(models.Lead, pk=pk) if request.method == "POST": @@ -3026,6 +3060,8 @@ def schedule_lead(request, pk): form = forms.ScheduleForm() return render(request, "crm/leads/schedule_lead.html", {"lead": lead, "form": form}) + +@login_required def send_lead_email(request, pk): lead = get_object_or_404(models.Lead, pk=pk) dealer = get_user_type(request) @@ -3068,6 +3104,8 @@ def send_lead_email(request, pk): {"lead": lead, "message": msg}, ) + +@login_required def add_activity_to_lead(request, pk): lead = get_object_or_404(models.Lead, pk=pk) if request.method == "POST": diff --git a/locale/ar/LC_MESSAGES/django.mo b/locale/ar/LC_MESSAGES/django.mo index 5e7daf72654f143228c786e182eb0aaf54d6a1fc..d3d5e5180f24d24723041cc49d5a00e13938398b 100644 GIT binary patch delta 50651 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 Hx*Gm}n~adr delta 49740 zcmZ791(;S<-|z7~GjvKf3^_0iIe_Fabhm`Gpa{}PgKWA)y1TnWy1PVDrKAKwN*W2@ z@9$oJ&-GmAzRtX#wbou;`<{8!Gi7wb2_F;q*OSJW;_-PI$Me$Tp-P0~dtQfeO7*X*%nDV#^Ct&s?o;M%2 z;yTasy+%iQNJ5-ro>v+-<8>N(foqAMKjC??aqvmc%ZQ^f3$DNzcnZnxoyBf=9xG$T zQ*J=xFaz<`7>y^e1jaw@c|~d8t3;p}2?H@T?!dHo9@XGu)XXGgSV|8!E1)WFiF!T& zW8y4xfw|0FV{XD^Y9};tNm%-gJ)nS5J14poUJMdUyrZkte7b`G^{6%=0c^ zLNg=kc|O$hBB+X^Fa=gZHQ3DJol*IRp=NlDPe3D`jq2$NR0W$+9ovmstCJWX&!9Sb z#e9fr_ya0`%nPobWT<*GqV`s9R7VP<>ZxS<^$4iJ7MKj%TD(81hr>_}PBE8aQsP@t zGjsw~;cuvh{y+`niN*gx<%@CA)t3ylN3tTP$@hvAP{Z{x7q&xXX!JC*I>;B@_>}%A> zI-#bz4{GEiP*XbzHDgQ6Ef_}pFzSAJgxbVmzq$@o!s@i|H6fspFUP8Q4%PDvzqzT; zit2G8Oof$E9czi9*aK7IRLqKNEd4C%0(*v9!X%en`7CB}^uu{jmw=}5JIss=%|ob$ z@1oB8Kd6RMUUB*JpswP&sB%3}OE(R*r{JMRm_V) zSDpDW5AhbLj{blJahs+8g<85a*IarvRQUm@{A*Cpe?`?3@48Dbin>2qUuXU!35+K} z1rM3eEn}A7-3V)-M$!efrUOtFE=7�&2upP$Rp88Sp8FVxk*v=JKKPSHzrH!zYlB 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 diff --git a/locale/ar/LC_MESSAGES/django.po b/locale/ar/LC_MESSAGES/django.po index f7ea1f67..5260194c 100644 --- a/locale/ar/LC_MESSAGES/django.po +++ b/locale/ar/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-02-04 13:35+0300\n" +"POT-Creation-Date: 2025-02-07 17:09+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,7 +21,7 @@ msgstr "" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: api/models.py:6 inventory/models.py:343 +#: api/models.py:6 inventory/models.py:345 #: templates/inventory/car_detail.html:19 templates/inventory/car_form.html:35 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:31 #: templates/inventory/car_inventory.html:53 @@ -31,99 +31,99 @@ msgstr "" msgid "VIN" msgstr "رقم الهيكل" -#: car_inventory/settings.py:159 car_inventory/settings.py:306 +#: car_inventory/settings.py:160 car_inventory/settings.py:309 #: templates/crm/opportunities/opportunity_detail.html:35 #: templates/dashboards/accounting.html:35 #: templates/dashboards/accounting.html:39 -#: templates/dealers/dealer_detail.html:130 templates/index.html:89 -#: templates/index.html:93 +#: templates/dealers/dealer_detail.html:130 templates/index.html:92 +#: templates/index.html:96 #: templates/ledger/coa_accounts/account_detail.html:101 #: templates/ledger/coa_accounts/account_detail.html:102 #: templates/sales/invoices/invoice_detail.html:85 #: templates/sales/invoices/invoice_detail.html:86 #: templates/sales/invoices/invoice_detail.html:138 #: templates/sales/invoices/invoice_detail.html:140 -#: templates/sales/invoices/invoice_preview.html:225 -#: templates/sales/invoices/invoice_preview.html:229 -#: templates/sales/invoices/invoice_preview.html:236 +#: templates/sales/invoices/invoice_preview.html:226 +#: templates/sales/invoices/invoice_preview.html:230 +#: templates/sales/invoices/invoice_preview.html:237 #: templates/subscriptions/subscription_plan.html:41 msgid "SAR" msgstr "ريال" -#: car_inventory/settings.py:246 -#: venv/lib/python3.11/site-packages/appointments/settings.py:132 +#: car_inventory/settings.py:249 +#: venv/lib/python3.11/site-packages/appointments/settings.py:136 msgid "English" msgstr "الإنجليزية" -#: car_inventory/settings.py:247 +#: car_inventory/settings.py:250 msgid "Arabic" msgstr "العربية" -#: car_inventory/settings.py:328 templates/header.html:323 +#: car_inventory/settings.py:331 templates/header.html:323 #: templates/welcome.html:57 msgid "Haikal" msgstr "هيكل" -#: inventory/forms.py:288 inventory/models.py:640 +#: inventory/forms.py:289 inventory/models.py:642 #: templates/inventory/car_detail.html:82 msgid "Custom Date" msgstr "تاريخ البطاقة الجمركية" -#: inventory/forms.py:359 +#: inventory/forms.py:360 msgid "Both exterior and interior colors must be selected." msgstr "يجب اختيار اللونين الخارجي والداخلي." -#: inventory/forms.py:430 inventory/models.py:1074 inventory/models.py:1289 +#: inventory/forms.py:431 inventory/models.py:1076 inventory/models.py:1376 #: templates/account/email_change.html:5 templates/account/email_change.html:9 msgid "Email Address" msgstr "عنوان البريد الإلكتروني" -#: inventory/forms.py:434 -#: venv/lib/python3.11/site-packages/appointment/views.py:426 +#: inventory/forms.py:435 +#: venv/lib/python3.11/site-packages/appointment/views.py:424 #: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1915 msgid "Email address" msgstr "عنوان البريد الإلكتروني" -#: inventory/forms.py:435 templates/crm/leads/lead_list.html:50 +#: inventory/forms.py:436 templates/crm/leads/lead_list.html:49 #: templates/customers/customer_list.html:45 #: templates/vendors/vendors_list.html:49 msgid "email" msgstr "البريد الإلكتروني" -#: inventory/forms.py:440 +#: inventory/forms.py:441 msgid "You must add an email." msgstr "يجب إضافة بريد إلكتروني." -#: inventory/forms.py:445 inventory/forms.py:449 +#: inventory/forms.py:446 inventory/forms.py:450 #: templates/account/login.html:35 templates/account/login.html:37 #: venv/lib/python3.11/site-packages/django_ledger/forms/auth.py:15 msgid "Password" msgstr "كلمة المرور" -#: inventory/forms.py:454 inventory/forms.py:468 inventory/forms.py:528 -#: inventory/forms.py:548 inventory/forms.py:566 inventory/forms.py:581 +#: inventory/forms.py:455 inventory/forms.py:469 inventory/forms.py:529 +#: inventory/forms.py:549 inventory/forms.py:567 inventory/forms.py:582 #: venv/lib/python3.11/site-packages/django/forms/fields.py:95 msgid "This field is required." msgstr "هذا الحقل مطلوب." -#: inventory/forms.py:459 inventory/forms.py:463 +#: inventory/forms.py:460 inventory/forms.py:464 msgid "Confirm Password" msgstr "تأكيد كلمة المرور" -#: inventory/forms.py:473 +#: inventory/forms.py:474 msgid "I accept the Terms and Privacy Policy" msgstr "أوافق على الشروط وسياسة الخصوصية" -#: inventory/forms.py:481 +#: inventory/forms.py:482 msgid "You must accept the terms and privacy policy." msgstr "يجب أن تقبل الشروط وسياسة الخصوصية." -#: inventory/forms.py:488 inventory/models.py:299 inventory/models.py:589 -#: inventory/models.py:602 inventory/models.py:898 inventory/models.py:1040 -#: inventory/models.py:1068 templates/administration/service_list.html:22 -#: templates/administration/staff_list.html:38 -#: templates/administration/user_profile.html:234 -#: templates/crm/leads/lead_list.html:43 +#: inventory/forms.py:489 inventory/models.py:301 inventory/models.py:591 +#: inventory/models.py:604 inventory/models.py:900 inventory/models.py:1042 +#: inventory/models.py:1070 templates/administration/manage_service.html:22 +#: templates/administration/service_list.html:23 +#: templates/administration/staff_list.html:34 +#: templates/administration/user_profile.html:226 #: templates/customers/customer_list.html:42 #: templates/items/expenses/expenses_list.html:20 #: templates/items/service/service_list.html:20 @@ -141,30 +141,31 @@ msgstr "يجب أن تقبل الشروط وسياسة الخصوصية." msgid "Name" msgstr "الاسم" -#: inventory/forms.py:492 inventory/models.py:816 inventory/models.py:1286 +#: inventory/forms.py:493 inventory/models.py:818 inventory/models.py:1373 msgid "English Name" msgstr "الاسم بالإنجليزية" -#: inventory/forms.py:497 +#: inventory/forms.py:498 msgid "Please enter an English Name." msgstr "يرجى إدخال اسم باللغة الإنجليزية." -#: inventory/forms.py:502 inventory/forms.py:506 inventory/models.py:300 -#: inventory/models.py:590 inventory/models.py:603 inventory/models.py:815 -#: inventory/models.py:899 inventory/models.py:1041 inventory/models.py:1069 -#: inventory/models.py:1285 templates/users/user_detail.html:48 +#: inventory/forms.py:503 inventory/forms.py:507 inventory/models.py:302 +#: inventory/models.py:592 inventory/models.py:605 inventory/models.py:817 +#: inventory/models.py:901 inventory/models.py:1043 inventory/models.py:1071 +#: inventory/models.py:1372 templates/users/user_detail.html:48 msgid "Arabic Name" msgstr "الاسم بالعربية" -#: inventory/forms.py:511 +#: inventory/forms.py:512 msgid "Please enter an Arabic name." msgstr "يرجى إدخال اسم باللغة العربية." -#: inventory/forms.py:516 inventory/models.py:817 inventory/models.py:900 -#: inventory/models.py:1015 inventory/models.py:1046 inventory/models.py:1073 -#: inventory/models.py:1288 templates/administration/staff_index.html:369 -#: templates/crm/leads/lead_list.html:56 -#: templates/crm/opportunities/opportunity_detail.html:217 +#: inventory/forms.py:517 inventory/models.py:819 inventory/models.py:902 +#: inventory/models.py:1017 inventory/models.py:1048 inventory/models.py:1075 +#: inventory/models.py:1095 inventory/models.py:1375 +#: templates/administration/staff_index.html:123 +#: templates/crm/leads/lead_list.html:55 +#: templates/crm/opportunities/opportunity_detail.html:221 #: templates/customers/customer_list.html:50 #: templates/customers/view_customer.html:105 #: templates/users/user_detail.html:51 templates/vendors/view_vendor.html:52 @@ -173,9 +174,9 @@ msgstr "يرجى إدخال اسم باللغة العربية." msgid "Phone Number" msgstr "رقم الهاتف" -#: inventory/forms.py:522 templates/administration/display_appointment.html:49 -#: templates/appointment/appointment_client_information.html:62 -#: templates/crm/leads/lead_detail.html:80 +#: inventory/forms.py:523 templates/administration/display_appointment.html:49 +#: templates/appointment/appointment_client_information.html:57 +#: templates/crm/leads/lead_detail.html:79 #: templates/dealers/dealer_detail.html:99 #: templates/organizations/organization_detail.html:10 #: templates/organizations/organization_list.html:59 @@ -183,40 +184,40 @@ msgstr "رقم الهاتف" #: templates/representatives/representative_list.html:19 #: templates/vendors/vendors_list.html:54 #: venv/lib/python3.11/site-packages/appointment/templates/administration/display_appointment.html:49 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:62 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:64 msgid "Phone" msgstr "الهاتف" -#: inventory/forms.py:529 +#: inventory/forms.py:530 msgid "Phone number must be in the format 05xxxxxxxx" msgstr "يجب أن يكون رقم الهاتف بالصيغة 05xxxxxxxx" -#: inventory/forms.py:537 templates/organizations/organization_detail.html:8 +#: inventory/forms.py:538 templates/organizations/organization_detail.html:8 #: templates/organizations/organization_list.html:49 msgid "CRN" msgstr "رقم السجل التجاري" -#: inventory/forms.py:541 inventory/models.py:808 inventory/models.py:1043 -#: inventory/models.py:1280 +#: inventory/forms.py:542 inventory/models.py:810 inventory/models.py:1045 +#: inventory/models.py:1367 msgid "Commercial Registration Number" msgstr "رقم السجل التجاري" -#: inventory/forms.py:555 templates/organizations/organization_detail.html:9 +#: inventory/forms.py:556 templates/organizations/organization_detail.html:9 #: templates/organizations/organization_list.html:54 msgid "VRN" msgstr "الرقم الضريبي" -#: inventory/forms.py:559 inventory/models.py:813 inventory/models.py:1045 -#: inventory/models.py:1283 +#: inventory/forms.py:560 inventory/models.py:815 inventory/models.py:1047 +#: inventory/models.py:1370 msgid "VAT Registration Number" msgstr "رقم التسجيل في ضريبة القيمة المضافة" -#: inventory/forms.py:567 +#: inventory/forms.py:568 msgid "VAT Registration Number must be 15 characters." msgstr "يجب أن يكون رقم التسجيل الضريبي مكونًا من 15 حرفًا." -#: inventory/forms.py:572 inventory/models.py:819 inventory/models.py:1018 -#: inventory/models.py:1048 inventory/models.py:1076 inventory/models.py:1291 +#: inventory/forms.py:573 inventory/models.py:821 inventory/models.py:1020 +#: inventory/models.py:1050 inventory/models.py:1078 inventory/models.py:1378 #: templates/crm/leads/lead_detail.html:109 #: templates/customers/customer_list.html:60 #: templates/customers/view_customer.html:100 @@ -230,90 +231,122 @@ msgstr "يجب أن يكون رقم التسجيل الضريبي مكونًا msgid "Address" msgstr "العنوان" -#: inventory/forms.py:617 inventory/models.py:1489 +#: inventory/forms.py:618 inventory/models.py:1576 msgid "cash" msgstr "نقداً" -#: inventory/forms.py:618 inventory/models.py:1490 +#: inventory/forms.py:619 inventory/models.py:1577 msgid "credit" msgstr "دائن" -#: inventory/forms.py:619 inventory/models.py:1491 +#: inventory/forms.py:620 inventory/models.py:1578 #: templates/inventory/car_detail.html:124 #: templates/inventory/transfer_car.html:23 msgid "transfer" msgstr "نقل" -#: inventory/forms.py:620 inventory/models.py:1492 +#: inventory/forms.py:621 inventory/models.py:1579 msgid "debit" msgstr "مدين" -#: inventory/forms.py:621 inventory/models.py:1493 +#: inventory/forms.py:622 inventory/models.py:1580 msgid "SADAD" msgstr "سداد" -#: inventory/models.py:118 inventory/models.py:406 inventory/models.py:446 -#: inventory/models.py:491 inventory/models.py:637 inventory/models.py:652 -#: inventory/models.py:696 inventory/models.py:1187 +#: inventory/forms.py:740 inventory/forms.py:757 inventory/models.py:1026 +#: templates/crm/opportunities/opportunity_form.html:22 +#: templates/sales/estimates/estimate_detail.html:86 +#: templates/sales/estimates/estimate_list.html:15 +#: templates/sales/estimates/estimate_preview.html:263 +#: templates/sales/estimates/sale_order_preview.html:227 +#: templates/sales/invoices/invoice_list.html:16 +#: templates/sales/journals/journal_list.html:16 +#: templates/sales/orders/order_list.html:15 +#: venv/lib/python3.11/site-packages/django_ledger/models/customer.py:199 +#: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:252 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:319 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:9 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/estimate_table.html:10 +msgid "Customer" +msgstr "العميل" + +#: inventory/forms.py:745 inventory/forms.py:756 +#: templates/ledger/bills/bill_detail.html:104 +#: templates/sales/estimates/estimate_preview.html:265 +#: templates/sales/estimates/sale_order_preview.html:229 +#: templates/sales/invoices/invoice_detail.html:102 +#: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:974 +msgid "Terms" +msgstr "الشروط" + +#: inventory/forms.py:751 inventory/forms.py:755 inventory/models.py:999 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/estimate_table.html:11 +msgid "Title" +msgstr "العنوان" + +#: inventory/models.py:120 inventory/models.py:408 inventory/models.py:448 +#: inventory/models.py:493 inventory/models.py:639 inventory/models.py:654 +#: inventory/models.py:698 inventory/models.py:1101 inventory/models.py:1274 +#: templates/crm/leads/lead_list.html:43 #: templates/crm/opportunities/opportunity_form.html:35 #: templates/inventory/transfer_details.html:70 msgid "Car" msgstr "سيارة" -#: inventory/models.py:119 +#: inventory/models.py:121 msgid "Light Commercial" msgstr "مركبات تجارية خفيفة" -#: inventory/models.py:120 +#: inventory/models.py:122 msgid "Heavy-Duty Tractors" msgstr "جرارات ثقيلة" -#: inventory/models.py:121 +#: inventory/models.py:123 msgid "Trailers" msgstr "مقطورات" -#: inventory/models.py:122 +#: inventory/models.py:124 msgid "Medium Trucks" msgstr "شاحنات متوسطة" -#: inventory/models.py:123 +#: inventory/models.py:125 msgid "Buses" msgstr "حافلات" -#: inventory/models.py:124 +#: inventory/models.py:126 msgid "Motorcycles" msgstr "دراجات نارية" -#: inventory/models.py:125 +#: inventory/models.py:127 msgid "Buggy" msgstr "باجي" -#: inventory/models.py:126 +#: inventory/models.py:128 msgid "Moto ATV" msgstr "موتو ATV" -#: inventory/models.py:127 +#: inventory/models.py:129 msgid "Scooters" msgstr "دراجات سكوتر" -#: inventory/models.py:128 +#: inventory/models.py:130 msgid "Karting" msgstr "كارتينج" -#: inventory/models.py:129 +#: inventory/models.py:131 msgid "ATV" msgstr "مركبات ATV" -#: inventory/models.py:130 +#: inventory/models.py:132 msgid "Snowmobiles" msgstr "دراجات الثلج" -#: inventory/models.py:137 +#: inventory/models.py:139 msgid "logo" msgstr "الشعار" -#: inventory/models.py:276 templates/ledger/bills/bill_detail.html:191 -#: templates/sales/estimates/estimate_detail.html:100 +#: inventory/models.py:278 templates/ledger/bills/bill_detail.html:191 +#: templates/sales/estimates/estimate_detail.html:101 #: templates/sales/estimates/estimate_list.html:29 #: templates/sales/invoices/invoice_detail.html:193 #: templates/sales/invoices/invoice_list.html:36 @@ -324,8 +357,8 @@ msgstr "الشعار" msgid "Draft" msgstr "مسودة" -#: inventory/models.py:277 templates/ledger/bills/bill_detail.html:195 -#: templates/sales/estimates/estimate_detail.html:104 +#: inventory/models.py:279 templates/ledger/bills/bill_detail.html:195 +#: templates/sales/estimates/estimate_detail.html:105 #: templates/sales/estimates/estimate_list.html:33 #: templates/sales/invoices/invoice_detail.html:197 #: templates/sales/invoices/invoice_list.html:32 @@ -337,71 +370,72 @@ msgstr "مسودة" msgid "Approved" msgstr "تمت الموافقة" -#: inventory/models.py:278 inventory/models.py:942 -#: templates/crm/leads/lead_detail.html:48 -#: templates/crm/leads/lead_list.html:110 +#: inventory/models.py:280 inventory/models.py:944 +#: templates/crm/leads/lead_detail.html:46 +#: templates/crm/leads/lead_list.html:125 msgid "Pending" msgstr "قيد الانتظار" -#: inventory/models.py:279 +#: inventory/models.py:281 msgid "Accepted" msgstr "تم القبول" -#: inventory/models.py:280 templates/administration/staff_index.html:329 +#: inventory/models.py:282 templates/administration/staff_index.html:83 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:329 msgid "Success" msgstr "ناجحة" -#: inventory/models.py:281 templates/sales/estimates/estimate_preview.html:243 +#: inventory/models.py:283 templates/sales/estimates/estimate_preview.html:243 msgid "Reject" msgstr "رفض" -#: inventory/models.py:282 +#: inventory/models.py:284 msgid "Cancelled" msgstr "ملغى" -#: inventory/models.py:286 templates/inventory/car_inventory.html:99 +#: inventory/models.py:288 templates/inventory/car_inventory.html:99 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/tags/invoice_item_formset.html:21 msgid "Available" msgstr "متاح" -#: inventory/models.py:287 templates/inventory/car_inventory.html:101 +#: inventory/models.py:289 templates/inventory/car_inventory.html:101 msgid "Sold" msgstr "تم البيع" -#: inventory/models.py:288 templates/inventory/car_inventory.html:103 +#: inventory/models.py:290 templates/inventory/car_inventory.html:103 msgid "Hold" msgstr "في الانتظار" -#: inventory/models.py:289 templates/inventory/car_inventory.html:107 +#: inventory/models.py:291 templates/inventory/car_inventory.html:107 msgid "Damaged" msgstr "تالف" -#: inventory/models.py:290 templates/index.html:22 +#: inventory/models.py:292 templates/index.html:22 #: templates/inventory/car_inventory.html:105 msgid "Reserved" msgstr "محجوزة" -#: inventory/models.py:291 templates/inventory/car_location_form.html:8 +#: inventory/models.py:293 templates/inventory/car_location_form.html:8 #: templates/inventory/transfer_preview.html:213 msgid "Transfer" msgstr "نقل" -#: inventory/models.py:294 inventory/models.py:941 -#: templates/crm/leads/lead_detail.html:46 -#: templates/crm/leads/lead_list.html:108 +#: inventory/models.py:296 inventory/models.py:943 +#: templates/crm/leads/lead_detail.html:44 +#: templates/crm/leads/lead_list.html:123 #: templates/inventory/car_inventory.html:68 msgid "New" msgstr "جديد" -#: inventory/models.py:295 templates/inventory/car_inventory.html:70 +#: inventory/models.py:297 templates/inventory/car_inventory.html:70 msgid "Used" msgstr "مستعمل" -#: inventory/models.py:301 inventory/models.py:671 +#: inventory/models.py:303 inventory/models.py:673 #: templates/administration/manage_day_off.html:63 -#: templates/administration/user_profile.html:105 -#: templates/administration/user_profile.html:235 +#: templates/administration/manage_service.html:33 +#: templates/administration/user_profile.html:93 +#: templates/administration/user_profile.html:227 #: templates/ledger/coa_accounts/account_detail.html:67 #: templates/ledger/reports/tags/income_statement.html:9 #: templates/sales/payments/payment_details.html:20 @@ -421,31 +455,30 @@ msgstr "مستعمل" msgid "Description" msgstr "الوصف" -#: inventory/models.py:303 templates/administration/service_list.html:24 -#: templates/administration/user_profile.html:237 +#: inventory/models.py:305 templates/administration/manage_service.html:55 +#: templates/administration/service_list.html:25 +#: templates/administration/user_profile.html:229 #: templates/inventory/transfer_details.html:72 #: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:30 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:237 msgid "Price" msgstr "السعر" -#: inventory/models.py:305 +#: inventory/models.py:307 msgid "taxable" msgstr "خاضع للضريبة" -#: inventory/models.py:309 +#: inventory/models.py:311 msgid "Unit of Measurement" msgstr "وحدة القياس" -#: inventory/models.py:312 inventory/models.py:345 inventory/models.py:851 +#: inventory/models.py:314 inventory/models.py:347 inventory/models.py:853 msgid "Dealer" msgstr "المعرض" -#: inventory/models.py:317 templates/inventory/transfer_preview.html:229 +#: inventory/models.py:319 templates/inventory/transfer_preview.html:229 #: templates/ledger/bills/bill_detail.html:213 -#: templates/sales/estimates/estimate_detail.html:122 #: templates/sales/estimates/estimate_preview.html:273 -#: templates/sales/invoices/invoice_detail.html:215 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:94 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:18 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/estimate_item_table.html:8 @@ -462,15 +495,15 @@ msgstr "المعرض" msgid "Item" msgstr "العنصر" -#: inventory/models.py:335 inventory/models.py:336 -#: templates/sales/estimates/estimate_detail.html:152 +#: inventory/models.py:337 inventory/models.py:338 +#: templates/sales/estimates/estimate_detail.html:157 #: templates/sales/estimates/estimate_preview.html:295 #: templates/sales/estimates/sale_order_preview.html:266 -#: templates/sales/invoices/invoice_detail.html:244 +#: templates/sales/invoices/invoice_detail.html:248 msgid "Additional Services" msgstr "الخدمات الإضافية" -#: inventory/models.py:354 inventory/models.py:1299 +#: inventory/models.py:356 inventory/models.py:1386 #: templates/inventory/car_detail.html:60 templates/inventory/car_form.html:137 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:166 #: templates/ledger/bills/bill_list.html:46 @@ -481,37 +514,39 @@ msgstr "الخدمات الإضافية" msgid "Vendor" msgstr "المورد" -#: inventory/models.py:362 inventory/models.py:1098 +#: inventory/models.py:364 templates/sales/estimates/estimate_detail.html:123 #: templates/sales/estimates/sale_order_preview.html:239 +#: templates/sales/invoices/invoice_detail.html:215 msgid "Make" msgstr "الصانع" -#: inventory/models.py:370 inventory/models.py:1105 +#: inventory/models.py:372 templates/sales/estimates/estimate_detail.html:124 #: templates/sales/estimates/sale_order_preview.html:240 +#: templates/sales/invoices/invoice_detail.html:216 msgid "Model" msgstr "الموديل" -#: inventory/models.py:372 inventory/models.py:1108 -#: templates/inventory/car_form.html:59 +#: inventory/models.py:374 templates/inventory/car_form.html:59 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:61 #: templates/inventory/car_inventory.html:54 -#: templates/ledger/reports/components/period_navigator.html:31 +#: templates/sales/estimates/estimate_detail.html:125 #: templates/sales/estimates/sale_order_preview.html:241 +#: templates/sales/invoices/invoice_detail.html:217 msgid "Year" msgstr "السنة" -#: inventory/models.py:379 templates/inventory/car_form.html:69 +#: inventory/models.py:381 templates/inventory/car_form.html:69 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:121 msgid "Series" msgstr "السلسلة" -#: inventory/models.py:387 +#: inventory/models.py:389 msgid "Trim" msgstr "الفئة" -#: inventory/models.py:393 inventory/models.py:1134 inventory/models.py:1195 -#: templates/crm/leads/lead_detail.html:44 -#: templates/crm/leads/lead_list.html:39 templates/inventory/car_detail.html:43 +#: inventory/models.py:395 inventory/models.py:1144 inventory/models.py:1282 +#: templates/crm/leads/lead_detail.html:42 +#: templates/inventory/car_detail.html:43 #: templates/inventory/car_detail.html:306 #: templates/inventory/car_inventory.html:58 #: templates/inventory/car_list.html:163 @@ -527,56 +562,56 @@ msgstr "الفئة" msgid "Status" msgstr "الحالة" -#: inventory/models.py:399 templates/inventory/car_detail.html:47 +#: inventory/models.py:401 templates/inventory/car_detail.html:47 #: templates/inventory/car_form.html:150 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:183 #: templates/inventory/car_list.html:177 msgid "Stock Type" msgstr "نوع المخزون" -#: inventory/models.py:401 inventory/models.py:464 +#: inventory/models.py:403 inventory/models.py:466 #: templates/inventory/car_detail.html:65 templates/inventory/car_form.html:190 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:232 #: templates/inventory/car_list.html:200 msgid "Remarks" msgstr "ملاحظات" -#: inventory/models.py:402 templates/inventory/car_detail.html:51 +#: inventory/models.py:404 templates/inventory/car_detail.html:51 #: templates/inventory/car_form.html:162 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:198 #: templates/inventory/car_list.html:191 templates/inventory/car_list.html:192 msgid "Mileage" msgstr "عدد الكيلومترات" -#: inventory/models.py:403 templates/inventory/car_detail.html:55 +#: inventory/models.py:405 templates/inventory/car_detail.html:55 #: templates/inventory/car_form.html:176 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:215 msgid "Receiving Date" msgstr "تاريخ الاستلام" -#: inventory/models.py:407 templates/customers/view_customer.html:137 -#: templates/header.html:72 +#: inventory/models.py:409 templates/customers/view_customer.html:137 +#: templates/header.html:72 templates/sales/estimates/estimate_form.html:16 msgid "Cars" msgstr "السيارات" -#: inventory/models.py:452 +#: inventory/models.py:454 msgid "From Dealer" msgstr "من معرض" -#: inventory/models.py:458 +#: inventory/models.py:460 msgid "To Dealer" msgstr "الى معرض" -#: inventory/models.py:461 +#: inventory/models.py:463 msgid "Transfer Date" msgstr "تاريخ النقل" -#: inventory/models.py:463 templates/inventory/transfer_preview.html:230 +#: inventory/models.py:465 templates/inventory/transfer_preview.html:230 #: templates/ledger/bills/bill_detail.html:214 -#: templates/sales/estimates/estimate_detail.html:123 +#: templates/sales/estimates/estimate_detail.html:126 #: templates/sales/estimates/estimate_preview.html:274 #: templates/sales/estimates/sale_order_preview.html:242 -#: templates/sales/invoices/invoice_detail.html:216 +#: templates/sales/invoices/invoice_detail.html:218 #: venv/lib/python3.11/site-packages/django_ledger/models/items.py:1068 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:97 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:21 @@ -589,160 +624,160 @@ msgstr "تاريخ النقل" msgid "Quantity" msgstr "الكمية" -#: inventory/models.py:472 inventory/models.py:674 inventory/models.py:1296 +#: inventory/models.py:474 inventory/models.py:676 inventory/models.py:1383 msgid "Created At" msgstr "تاريخ الإنشاء" -#: inventory/models.py:473 inventory/models.py:828 +#: inventory/models.py:475 inventory/models.py:830 msgid "Updated At" msgstr "تم التحديث" -#: inventory/models.py:479 +#: inventory/models.py:481 msgid "Car Transfer Log" msgstr "سجل نقل السيارة" -#: inventory/models.py:480 +#: inventory/models.py:482 msgid "Car Transfer Logs" msgstr "سجلات نقل السيارات" -#: inventory/models.py:497 templates/inventory/car_detail.html:252 +#: inventory/models.py:499 templates/inventory/car_detail.html:252 msgid "Reserved By" msgstr "محجوز بواسطة" -#: inventory/models.py:499 +#: inventory/models.py:501 msgid "Reserved At" msgstr "تاريخ الحجز" -#: inventory/models.py:500 +#: inventory/models.py:502 msgid "Reserved Until" msgstr "محجوز حتى" -#: inventory/models.py:509 templates/inventory/car_detail.html:386 +#: inventory/models.py:511 templates/inventory/car_detail.html:386 msgid "Car Reservation" msgstr "حجز السيارة" -#: inventory/models.py:510 +#: inventory/models.py:512 msgid "Car Reservations" msgstr "حجوزات السيارات" -#: inventory/models.py:520 templates/inventory/car_detail.html:151 +#: inventory/models.py:522 templates/inventory/car_detail.html:151 msgid "Cost Price" msgstr "سعر التكلفة" -#: inventory/models.py:523 templates/inventory/car_detail.html:155 +#: inventory/models.py:525 templates/inventory/car_detail.html:155 msgid "Selling Price" msgstr "سعر البيع" -#: inventory/models.py:528 templates/inventory/car_detail.html:159 -#: templates/sales/estimates/estimate_detail.html:146 -#: templates/sales/invoices/invoice_detail.html:232 +#: inventory/models.py:530 templates/inventory/car_detail.html:159 +#: templates/sales/estimates/estimate_detail.html:151 +#: templates/sales/invoices/invoice_detail.html:236 msgid "Discount Amount" msgstr "مبلغ الخصم" -#: inventory/models.py:584 inventory/models.py:585 +#: inventory/models.py:586 inventory/models.py:587 msgid "Car Financial Details" msgstr "تفاصيل المالية للسيارة" -#: inventory/models.py:591 inventory/models.py:604 +#: inventory/models.py:593 inventory/models.py:606 msgid "RGB" msgstr "آر جي بي" -#: inventory/models.py:594 inventory/models.py:595 +#: inventory/models.py:596 inventory/models.py:597 #: templates/inventory/add_colors.html:13 msgid "Exterior Colors" msgstr "الألوان الخارجية" -#: inventory/models.py:607 inventory/models.py:608 +#: inventory/models.py:609 inventory/models.py:610 #: templates/inventory/add_colors.html:32 msgid "Interior Colors" msgstr "الألوان الداخلية" -#: inventory/models.py:624 +#: inventory/models.py:626 msgid "Color" msgstr "اللون" -#: inventory/models.py:625 +#: inventory/models.py:627 msgid "Colors" msgstr "الألوان" -#: inventory/models.py:639 templates/inventory/car_detail.html:78 +#: inventory/models.py:641 templates/inventory/car_detail.html:78 msgid "Custom Number" msgstr "رقم البطاقة الجمركية" -#: inventory/models.py:643 templates/inventory/car_detail.html:87 +#: inventory/models.py:645 templates/inventory/car_detail.html:87 #: templates/inventory/car_detail.html:356 msgid "Custom Card" msgstr "البطاقة الجمركية" -#: inventory/models.py:644 +#: inventory/models.py:646 msgid "Custom Cards" msgstr "البطاقات الجمركية" -#: inventory/models.py:658 inventory/models.py:1203 +#: inventory/models.py:660 inventory/models.py:1290 msgid "Owner" msgstr "المالك" -#: inventory/models.py:659 +#: inventory/models.py:661 msgid "Dealer who owns the car." msgstr "التاجر الذي يمتلك السيارة." -#: inventory/models.py:665 inventory/models.py:921 +#: inventory/models.py:667 inventory/models.py:923 msgid "Showroom" msgstr "صالة العرض" -#: inventory/models.py:666 +#: inventory/models.py:668 msgid "Dealer where the car is displayed (can be the owner)." msgstr "التاجر الذي تُعرض السيارة في صالته (يمكن أن يكون المالك)." -#: inventory/models.py:672 +#: inventory/models.py:674 msgid "Optional description about the showroom placement." msgstr "وصف اختياري حول وضع السيارة في صالة العرض." -#: inventory/models.py:675 +#: inventory/models.py:677 msgid "Last Updated" msgstr "آخر تحديث" -#: inventory/models.py:678 +#: inventory/models.py:680 msgid "Car Location" msgstr "موقع السيارة" -#: inventory/models.py:679 +#: inventory/models.py:681 msgid "Car Locations" msgstr "مواقف السيارات" -#: inventory/models.py:698 +#: inventory/models.py:700 msgid "Plate Number" msgstr "رقم اللوحة" -#: inventory/models.py:699 +#: inventory/models.py:701 msgid "Text 1" msgstr "النص 1" -#: inventory/models.py:700 +#: inventory/models.py:702 msgid "Text 2" msgstr "النص 2" -#: inventory/models.py:701 +#: inventory/models.py:703 msgid "Text 3" msgstr "النص 3" -#: inventory/models.py:702 templates/inventory/car_detail.html:103 +#: inventory/models.py:704 templates/inventory/car_detail.html:103 msgid "Registration Date" msgstr "تاريخ التسجيل" -#: inventory/models.py:705 templates/inventory/car_detail.html:97 +#: inventory/models.py:707 templates/inventory/car_detail.html:97 #: templates/inventory/car_detail.html:109 #: templates/inventory/car_detail.html:371 msgid "Registration" msgstr "التسجيل" -#: inventory/models.py:706 +#: inventory/models.py:708 msgid "Registrations" msgstr "تسجيل السيارات" -#: inventory/models.py:714 inventory/models.py:904 inventory/models.py:1020 -#: inventory/models.py:1053 inventory/models.py:1139 inventory/models.py:1207 -#: inventory/models.py:1227 inventory/models.py:1249 inventory/models.py:1266 +#: inventory/models.py:716 inventory/models.py:906 inventory/models.py:1022 +#: inventory/models.py:1055 inventory/models.py:1149 inventory/models.py:1294 +#: inventory/models.py:1314 inventory/models.py:1336 inventory/models.py:1353 #: templates/crm/leads/lead_detail.html:91 #: templates/sales/estimates/estimate_list.html:18 #: templates/sales/invoices/invoice_list.html:19 @@ -753,71 +788,71 @@ msgstr "تسجيل السيارات" msgid "Created" msgstr "تاريخ الإنشاء" -#: inventory/models.py:715 inventory/models.py:905 inventory/models.py:1021 -#: inventory/models.py:1054 inventory/models.py:1141 inventory/models.py:1208 -#: inventory/models.py:1228 inventory/models.py:1250 +#: inventory/models.py:717 inventory/models.py:907 inventory/models.py:1023 +#: inventory/models.py:1056 inventory/models.py:1151 inventory/models.py:1295 +#: inventory/models.py:1315 inventory/models.py:1337 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:41 msgid "Updated" msgstr "تم التحديث" -#: inventory/models.py:745 templates/dealers/dealer_detail.html:63 +#: inventory/models.py:747 templates/dealers/dealer_detail.html:63 msgid "Subscription" msgstr "الاشتراك" -#: inventory/models.py:746 templates/welcome.html:73 templates/welcome.html:141 +#: inventory/models.py:748 templates/welcome.html:73 templates/welcome.html:141 msgid "Subscriptions" msgstr "الاشتراكات" -#: inventory/models.py:761 +#: inventory/models.py:763 msgid "Subscription User" msgstr "مستخدم الاشتراك" -#: inventory/models.py:762 +#: inventory/models.py:764 msgid "Subscription Users" msgstr "مستخدمو الاشتراك" -#: inventory/models.py:770 +#: inventory/models.py:772 msgid "Name of the subscription plan" msgstr "اسم خطة الاشتراك" -#: inventory/models.py:775 +#: inventory/models.py:777 msgid "Maximum number of users allowed" msgstr "الحد الأقصى لعدد المستخدمين المسموح به" -#: inventory/models.py:778 +#: inventory/models.py:780 msgid "Maximum number of cars in inventory" msgstr "الحد الأقصى لعدد السيارات في المخزون" -#: inventory/models.py:791 +#: inventory/models.py:793 msgid "Additional features specific to this plan" msgstr "ميزات إضافية خاصة بهذه الخطة" -#: inventory/models.py:797 +#: inventory/models.py:799 msgid "Subscription Plan" msgstr "خطة الاشتراك" -#: inventory/models.py:798 +#: inventory/models.py:800 msgid "Subscription Plans" msgstr "خطط الاشتراك" -#: inventory/models.py:822 inventory/models.py:1051 inventory/models.py:1294 +#: inventory/models.py:824 inventory/models.py:1053 inventory/models.py:1381 msgid "Logo" msgstr "الشعار" -#: inventory/models.py:827 +#: inventory/models.py:829 msgid "Joined At" msgstr "انضم في" -#: inventory/models.py:852 +#: inventory/models.py:854 msgid "Dealers" msgstr "المعارض" -#: inventory/models.py:886 +#: inventory/models.py:888 #: venv/lib/python3.11/site-packages/django_ledger/models/entity.py:3214 msgid "Manager" msgstr "مدير" -#: inventory/models.py:887 inventory/signals.py:132 templates/header.html:28 +#: inventory/models.py:889 inventory/signals.py:132 templates/header.html:28 #: templates/header.html:55 templates/header.html:60 #: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:440 #: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:526 @@ -826,102 +861,104 @@ msgstr "مدير" msgid "Inventory" msgstr "المخزن" -#: inventory/models.py:888 +#: inventory/models.py:890 msgid "Accountant" msgstr "محاسب" -#: inventory/models.py:889 templates/header.html:33 +#: inventory/models.py:891 templates/header.html:33 msgid "Sales" msgstr "المبيعات" -#: inventory/models.py:890 +#: inventory/models.py:892 msgid "Coordinator" msgstr "المنسق" -#: inventory/models.py:891 +#: inventory/models.py:893 msgid "Receptionist" msgstr "موظف الاستقبال" -#: inventory/models.py:892 +#: inventory/models.py:894 msgid "Agent" msgstr "عميل" -#: inventory/models.py:902 +#: inventory/models.py:904 msgid "Staff Type" msgstr "نوع الموظف" -#: inventory/models.py:910 inventory/models.py:911 -#: templates/crm/opportunities/opportunity_detail.html:258 +#: inventory/models.py:912 inventory/models.py:913 +#: templates/crm/opportunities/opportunity_detail.html:262 #: templates/crm/opportunities/opportunity_form.html:70 #: templates/header.html:423 templates/users/user_form.html:4 #: templates/users/user_list.html:5 msgid "Staff" msgstr "الموظفون" -#: inventory/models.py:919 +#: inventory/models.py:921 msgid "Referrals" msgstr "إحالات" -#: inventory/models.py:920 inventory/models.py:965 +#: inventory/models.py:922 inventory/models.py:967 msgid "WhatsApp" msgstr "واتساب" -#: inventory/models.py:922 +#: inventory/models.py:924 msgid "TikTok" msgstr "تيك توك" -#: inventory/models.py:923 +#: inventory/models.py:925 msgid "Instagram" msgstr "إنستغرام" -#: inventory/models.py:924 +#: inventory/models.py:926 msgid "X" msgstr "إكس" -#: inventory/models.py:925 +#: inventory/models.py:927 msgid "Facebook" msgstr "فيسبوك" -#: inventory/models.py:926 +#: inventory/models.py:928 msgid "Motory" msgstr "موتري" -#: inventory/models.py:927 +#: inventory/models.py:929 msgid "Influencers" msgstr "المؤثرون" -#: inventory/models.py:928 +#: inventory/models.py:930 msgid "Youtube" msgstr "يوتيوب" -#: inventory/models.py:929 +#: inventory/models.py:931 msgid "Campaign" msgstr "حملة" -#: inventory/models.py:933 +#: inventory/models.py:935 msgid "Walk In" msgstr "زيارة مباشرة" -#: inventory/models.py:934 +#: inventory/models.py:936 msgid "Toll Free" msgstr "رقم مجاني" -#: inventory/models.py:935 +#: inventory/models.py:937 #: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:112 msgid "Website" msgstr "الموقع الإلكتروني" -#: inventory/models.py:936 inventory/models.py:964 inventory/models.py:1010 -#: templates/account/login.html:28 templates/account/login.html:30 +#: inventory/models.py:938 inventory/models.py:966 inventory/models.py:1012 +#: inventory/models.py:1094 templates/account/login.html:28 +#: templates/account/login.html:30 #: templates/administration/display_appointment.html:45 -#: templates/administration/staff_list.html:39 -#: templates/administration/user_profile.html:40 -#: templates/appointment/appointment_client_information.html:50 -#: templates/crm/leads/lead_detail.html:75 -#: templates/crm/opportunities/opportunity_detail.html:227 +#: templates/administration/manage_staff_personal_info.html:29 +#: templates/administration/staff_list.html:35 +#: templates/administration/user_profile.html:25 +#: templates/appointment/appointment_client_information.html:45 +#: templates/crm/leads/lead_detail.html:73 +#: templates/crm/opportunities/opportunity_detail.html:231 #: templates/customers/view_customer.html:103 #: templates/dealers/dealer_detail.html:93 -#: templates/sales/estimates/estimate_detail.html:89 +#: templates/sales/estimates/estimate_detail.html:90 #: templates/sales/estimates/estimate_preview.html:264 #: templates/sales/estimates/sale_order_preview.html:228 #: templates/vendors/view_vendor.html:55 @@ -933,22 +970,22 @@ msgstr "الموقع الإلكتروني" msgid "Email" msgstr "البريد الإلكتروني" -#: inventory/models.py:937 +#: inventory/models.py:939 msgid "Form" msgstr "نموذج" -#: inventory/models.py:943 templates/crm/leads/lead_detail.html:50 -#: templates/crm/leads/lead_list.html:112 +#: inventory/models.py:945 templates/crm/leads/lead_detail.html:48 +#: templates/crm/leads/lead_list.html:127 msgid "In Progress" msgstr "قيد التنفيذ" -#: inventory/models.py:944 templates/crm/leads/lead_detail.html:52 -#: templates/crm/leads/lead_list.html:114 +#: inventory/models.py:946 templates/crm/leads/lead_detail.html:50 +#: templates/crm/leads/lead_list.html:129 msgid "Qualified" msgstr "مؤهل" -#: inventory/models.py:945 templates/crm/leads/lead_detail.html:54 -#: templates/crm/leads/lead_list.html:116 +#: inventory/models.py:947 templates/crm/leads/lead_detail.html:52 +#: templates/crm/leads/lead_list.html:131 #: templates/sales/estimates/estimate_list.html:37 #: templates/sales/invoices/invoice_list.html:34 #: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:342 @@ -959,280 +996,258 @@ msgstr "مؤهل" msgid "Canceled" msgstr "ملغى" -#: inventory/models.py:949 +#: inventory/models.py:951 msgid "Mr" msgstr "السيد" -#: inventory/models.py:950 +#: inventory/models.py:952 msgid "Mrs" msgstr "السيدة" -#: inventory/models.py:951 +#: inventory/models.py:953 msgid "Ms" msgstr "الآنسة" -#: inventory/models.py:952 +#: inventory/models.py:954 msgid "Miss" msgstr "الآنسة" -#: inventory/models.py:953 +#: inventory/models.py:955 msgid "Dr" msgstr "الدكتور" -#: inventory/models.py:954 +#: inventory/models.py:956 msgid "Prof" msgstr "الأستاذ" -#: inventory/models.py:955 +#: inventory/models.py:957 msgid "Prince" msgstr "الأمير" -#: inventory/models.py:956 +#: inventory/models.py:958 msgid "Princess" msgstr "الأميرة" -#: inventory/models.py:957 +#: inventory/models.py:959 msgid "Company" msgstr "الشركة" -#: inventory/models.py:958 +#: inventory/models.py:960 msgid "N/A" msgstr "غير متوفر" -#: inventory/models.py:962 +#: inventory/models.py:964 msgid "Call" msgstr "مكالمة" -#: inventory/models.py:963 +#: inventory/models.py:965 msgid "SMS" msgstr "رسالة نصية" -#: inventory/models.py:966 +#: inventory/models.py:968 msgid "Visit" msgstr "زيارة" -#: inventory/models.py:967 templates/inventory/car_form.html:23 +#: inventory/models.py:969 templates/inventory/car_form.html:23 msgid "Add Car" msgstr "إضافة سيارة" -#: inventory/models.py:968 templates/inventory/reserve_car.html:6 +#: inventory/models.py:970 templates/inventory/reserve_car.html:6 #: templates/inventory/reserve_car.html:9 msgid "Reserve Car" msgstr "حجز السيارة" -#: inventory/models.py:969 +#: inventory/models.py:971 msgid "Remove Car" msgstr "إزالة السيارة" -#: inventory/models.py:970 +#: inventory/models.py:972 templates/sales/estimates/estimate_form.html:5 +#: templates/sales/estimates/estimate_form.html:9 msgid "Create Quotation" msgstr "إنشاء عرض" -#: inventory/models.py:971 +#: inventory/models.py:973 msgid "Cancel Quotation" msgstr "إلغاء العرض" -#: inventory/models.py:972 +#: inventory/models.py:974 msgid "Create Order" msgstr "إنشاء طلب" -#: inventory/models.py:973 +#: inventory/models.py:975 msgid "Cancel Order" msgstr "إلغاء الطلب" -#: inventory/models.py:974 templates/sales/estimates/estimate_detail.html:46 +#: inventory/models.py:976 templates/sales/estimates/estimate_detail.html:46 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_create.html:24 #: venv/lib/python3.11/site-packages/django_ledger/views/invoice.py:68 msgid "Create Invoice" msgstr "إنشاء فاتورة" -#: inventory/models.py:975 +#: inventory/models.py:977 msgid "Cancel Invoice" msgstr "إلغاء الفاتورة" -#: inventory/models.py:979 +#: inventory/models.py:981 msgid "Prospect" msgstr "العميل المحتمل" -#: inventory/models.py:980 +#: inventory/models.py:982 msgid "Proposal" msgstr "عرض" -#: inventory/models.py:981 +#: inventory/models.py:983 msgid "Negotiation" msgstr "مفاوضات" -#: inventory/models.py:982 +#: inventory/models.py:984 msgid "Closed Won" msgstr "مغلقة - ناجحة" -#: inventory/models.py:983 +#: inventory/models.py:985 msgid "Closed Lost" msgstr "مغلقة - خسارة" -#: inventory/models.py:987 +#: inventory/models.py:989 msgid "Low" msgstr "منخفض" -#: inventory/models.py:988 +#: inventory/models.py:990 msgid "Medium" msgstr "متوسط" -#: inventory/models.py:989 +#: inventory/models.py:991 msgid "High" msgstr "مرتفع" -#: inventory/models.py:997 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/estimate_table.html:11 -msgid "Title" -msgstr "العنوان" - -#: inventory/models.py:999 +#: inventory/models.py:1001 inventory/models.py:1092 +#: templates/administration/manage_staff_personal_info.html:18 msgid "First Name" msgstr "الاسم الأول" -#: inventory/models.py:1001 +#: inventory/models.py:1003 msgid "Middle Name" msgstr "اسم الأب" -#: inventory/models.py:1003 +#: inventory/models.py:1005 inventory/models.py:1093 +#: templates/administration/manage_staff_personal_info.html:24 msgid "Last Name" msgstr "اسم العائلة" -#: inventory/models.py:1005 +#: inventory/models.py:1007 msgid "Male" msgstr "ذكر" -#: inventory/models.py:1005 +#: inventory/models.py:1007 msgid "Female" msgstr "أنثى" -#: inventory/models.py:1007 +#: inventory/models.py:1009 msgid "Gender" msgstr "الجنس" -#: inventory/models.py:1009 +#: inventory/models.py:1011 msgid "Date of Birth" msgstr "تاريخ الميلاد" -#: inventory/models.py:1012 templates/customers/customer_list.html:55 +#: inventory/models.py:1014 templates/customers/customer_list.html:55 msgid "National ID" msgstr "رقم الهوية الوطنية" -#: inventory/models.py:1024 -#: templates/crm/opportunities/opportunity_form.html:22 -#: templates/sales/estimates/estimate_detail.html:85 -#: templates/sales/estimates/estimate_list.html:15 -#: templates/sales/estimates/estimate_preview.html:263 -#: templates/sales/estimates/sale_order_preview.html:227 -#: templates/sales/invoices/invoice_list.html:16 -#: templates/sales/journals/journal_list.html:16 -#: templates/sales/orders/order_list.html:15 -#: venv/lib/python3.11/site-packages/django_ledger/models/customer.py:199 -#: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:252 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:319 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:9 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/estimate_table.html:10 -msgid "Customer" -msgstr "العميل" - -#: inventory/models.py:1025 templates/customers/customer_form.html:4 +#: inventory/models.py:1027 templates/customers/customer_form.html:4 #: templates/customers/customer_list.html:4 #: templates/customers/customer_list.html:5 #: templates/customers/customer_list.html:9 msgid "Customers" msgstr "العملاء" -#: inventory/models.py:1057 +#: inventory/models.py:1059 msgid "Organization" msgstr "شركة" -#: inventory/models.py:1058 templates/header.html:161 +#: inventory/models.py:1060 templates/header.html:161 #: templates/organizations/organization_list.html:4 #: templates/organizations/organization_list.html:5 #: templates/organizations/organization_list.html:12 msgid "Organizations" msgstr "الشركات" -#: inventory/models.py:1071 +#: inventory/models.py:1073 #: templates/representatives/representative_detail.html:8 #: templates/representatives/representative_list.html:18 msgid "ID Number" msgstr "رقم الهوية" -#: inventory/models.py:1081 +#: inventory/models.py:1083 msgid "Representative" msgstr "ممثل شركة" -#: inventory/models.py:1082 templates/header.html:169 +#: inventory/models.py:1084 templates/header.html:169 #: templates/representatives/representative_list.html:3 #: templates/representatives/representative_list.html:6 msgid "Representatives" msgstr "ممثلي الشركات" -#: inventory/models.py:1111 templates/crm/leads/lead_list.html:62 +#: inventory/models.py:1121 templates/crm/leads/lead_list.html:73 msgid "Source" msgstr "المصدر" -#: inventory/models.py:1114 templates/crm/leads/lead_list.html:68 +#: inventory/models.py:1124 templates/crm/leads/lead_list.html:79 msgid "Channel" msgstr "القناة" -#: inventory/models.py:1116 templates/crm/leads/lead_detail.html:115 -#: venv/lib/python3.11/site-packages/django_ledger/forms/entity.py:82 -#: venv/lib/python3.11/site-packages/django_ledger/forms/entity.py:159 -#: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:107 -msgid "City" -msgstr "المدينة" +#: inventory/models.py:1126 +msgid "address" +msgstr "العنوان" -#: inventory/models.py:1123 +#: inventory/models.py:1133 msgid "Assigned" msgstr "مُعين" -#: inventory/models.py:1129 +#: inventory/models.py:1139 msgid "Priority" msgstr "الأولوية" -#: inventory/models.py:1144 +#: inventory/models.py:1154 msgid "Lead" msgstr "فرصة" -#: inventory/models.py:1145 templates/crm/leads/lead_list.html:3 -#: templates/crm/leads/lead_list.html:7 +#: inventory/models.py:1155 templates/crm/leads/lead_list.html:3 +#: templates/crm/leads/lead_list.html:7 templates/crm/leads/lead_send.html:5 msgid "Leads" msgstr "الفرص" -#: inventory/models.py:1156 +#: inventory/models.py:1243 msgid "Old Status" msgstr "الحالة القديمة" -#: inventory/models.py:1159 +#: inventory/models.py:1246 msgid "New Status" msgstr "الحالة الجديدة" -#: inventory/models.py:1164 +#: inventory/models.py:1251 msgid "Changed At" msgstr "تم التغيير في" -#: inventory/models.py:1167 +#: inventory/models.py:1254 msgid "Lead Status History" msgstr "تاريخ حالة العميل المحتمل" -#: inventory/models.py:1168 +#: inventory/models.py:1255 msgid "Lead Status Histories" msgstr "تواريخ حالات العملاء المحتملين" -#: inventory/models.py:1176 +#: inventory/models.py:1263 msgid "Probability must be between 0 and 100." msgstr "يجب أن تكون الاحتمالية بين 0 و 100." -#: inventory/models.py:1190 +#: inventory/models.py:1277 #: templates/crm/opportunities/opportunity_form.html:48 msgid "Stage" msgstr "المرحلة" -#: inventory/models.py:1206 -#: templates/crm/opportunities/opportunity_detail.html:291 +#: inventory/models.py:1293 +#: templates/crm/opportunities/opportunity_detail.html:295 #: templates/crm/opportunities/opportunity_form.html:79 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:100 #: templates/crm/opportunities/opportunity_list.html:94 @@ -1240,40 +1255,43 @@ msgstr "المرحلة" msgid "Closing Date" msgstr "تاريخ الإغلاق" -#: inventory/models.py:1209 +#: inventory/models.py:1296 msgid "Closed" msgstr "مغلقة" -#: inventory/models.py:1212 +#: inventory/models.py:1299 msgid "Opportunity" msgstr "فرصة" -#: inventory/models.py:1213 +#: inventory/models.py:1300 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:8 #: templates/crm/opportunities/opportunity_list.html:8 #: templates/header.html:177 msgid "Opportunities" msgstr "الفرص" -#: inventory/models.py:1223 inventory/models.py:1231 +#: inventory/models.py:1310 inventory/models.py:1318 #: templates/account/snippets/already_logged_in.html:8 +#: templates/crm/leads/lead_detail.html:194 msgid "Note" msgstr "ملاحظة" -#: inventory/models.py:1232 inventory/models.py:1245 -#: templates/crm/leads/lead_detail.html:151 +#: inventory/models.py:1319 inventory/models.py:1332 +#: templates/crm/leads/lead_detail.html:128 +#: templates/crm/leads/lead_detail.html:181 +#: templates/crm/leads/lead_detail.html:598 #: templates/customers/view_customer.html:119 #: venv/lib/python3.11/site-packages/django_ledger/forms/bill.py:154 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/includes/card_markdown.html:9 msgid "Notes" msgstr "ملاحظات" -#: inventory/models.py:1243 +#: inventory/models.py:1330 msgid "Activity Type" msgstr "نوع النشاط" -#: inventory/models.py:1253 templates/dealers/activity_log.html:11 -#: templates/header.html:426 +#: inventory/models.py:1340 templates/crm/leads/lead_detail.html:127 +#: templates/dealers/activity_log.html:11 templates/header.html:426 #: venv/lib/python3.11/site-packages/django_ledger/models/closing_entry.py:382 #: venv/lib/python3.11/site-packages/django_ledger/models/journal_entry.py:325 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/tags/closing_entry_txs_table.html:10 @@ -1282,77 +1300,77 @@ msgstr "نوع النشاط" msgid "Activity" msgstr "النشاط" -#: inventory/models.py:1254 templates/crm/leads/lead_detail.html:135 +#: inventory/models.py:1341 templates/crm/leads/lead_detail.html:134 msgid "Activities" msgstr "الأنشطة" -#: inventory/models.py:1264 +#: inventory/models.py:1351 msgid "Message" msgstr "رسالة" -#: inventory/models.py:1265 +#: inventory/models.py:1352 msgid "Is Read" msgstr "تمت قراءته" -#: inventory/models.py:1269 +#: inventory/models.py:1356 msgid "Notification" msgstr "إشعار" -#: inventory/models.py:1270 templates/crm/notifications_history.html:6 +#: inventory/models.py:1357 templates/crm/notifications_history.html:6 msgid "Notifications" msgstr "الإشعارات" -#: inventory/models.py:1287 templates/vendors/view_vendor.html:49 +#: inventory/models.py:1374 templates/vendors/view_vendor.html:49 msgid "Contact Person" msgstr "الشخص المسؤول" -#: inventory/models.py:1300 templates/vendors/vendor_form.html:4 +#: inventory/models.py:1387 templates/vendors/vendor_form.html:4 #: templates/vendors/vendors_list.html:4 templates/vendors/vendors_list.html:5 #: templates/vendors/vendors_list.html:12 msgid "Vendors" msgstr "الموردين" -#: inventory/models.py:1499 inventory/models.py:1529 +#: inventory/models.py:1586 inventory/models.py:1616 msgid "amount" msgstr "المبلغ" -#: inventory/models.py:1502 +#: inventory/models.py:1589 msgid "method" msgstr "طريقة" -#: inventory/models.py:1505 +#: inventory/models.py:1592 msgid "reference number" msgstr "رقم المرجع" -#: inventory/models.py:1507 +#: inventory/models.py:1594 msgid "date" msgstr "التاريخ" -#: inventory/models.py:1517 +#: inventory/models.py:1604 msgid "payment" msgstr "الدفعة" -#: inventory/models.py:1518 templates/header.html:126 +#: inventory/models.py:1605 templates/header.html:126 msgid "payments" msgstr "المدفوعات" -#: inventory/models.py:1531 +#: inventory/models.py:1618 msgid "reason" msgstr "السبب" -#: inventory/models.py:1532 +#: inventory/models.py:1619 msgid "refund date" msgstr "تاريخ الاسترداد" -#: inventory/models.py:1535 +#: inventory/models.py:1622 msgid "refund" msgstr "استرداد" -#: inventory/models.py:1536 +#: inventory/models.py:1623 msgid "refunds" msgstr "استردادات" -#: inventory/models.py:1560 templates/sales/estimates/estimate_detail.html:37 +#: inventory/models.py:1647 templates/sales/estimates/estimate_detail.html:37 #: templates/sales/estimates/estimate_preview.html:255 #: venv/lib/python3.11/site-packages/django_ledger/models/entity.py:3145 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html:9 @@ -1360,7 +1378,7 @@ msgstr "استردادات" msgid "Estimate" msgstr "تقدير" -#: inventory/models.py:1566 templates/plans/create_order.html:29 +#: inventory/models.py:1653 templates/plans/create_order.html:29 #: templates/sales/invoices/invoice_create.html:5 #: templates/sales/invoices/invoice_detail.html:61 #: templates/sales/payments/payment_list.html:21 @@ -1660,147 +1678,151 @@ msgstr "تم حفظ تفاصيل المالية للسيارة بنجاح." msgid "Car finance details updated successfully." msgstr "تم تحديث تفاصيل المالية للسيارة بنجاح." -#: inventory/views.py:795 +#: inventory/views.py:793 msgid "Car updated successfully." msgstr "تم تحديث السيارة بنجاح" -#: inventory/views.py:807 +#: inventory/views.py:805 msgid "Car deleted successfully." msgstr "تم حذف السيارة بنجاح." -#: inventory/views.py:886 +#: inventory/views.py:884 msgid "Car transfer canceled successfully." msgstr "تم إلغاء نقل السيارة بنجاح." -#: inventory/views.py:903 +#: inventory/views.py:901 msgid "Car transfer approved successfully." msgstr "تمت الموافقة على نقل السيارة بنجاح." -#: inventory/views.py:914 +#: inventory/views.py:912 msgid "Car transfer rejected successfully." msgstr "تم رفض نقل السيارة بنجاح." -#: inventory/views.py:927 +#: inventory/views.py:925 msgid "Car Transfer Completed successfully." msgstr "تم إكمال نقل السيارة بنجاح." -#: inventory/views.py:998 +#: inventory/views.py:996 msgid "Custom Card added successfully." msgstr "تم إضافة البطاقة الجمركية بنجاح." -#: inventory/views.py:1018 +#: inventory/views.py:1016 msgid "Registration added successfully." msgstr "تم إلغاء الحجز بنجاح." -#: inventory/views.py:1027 +#: inventory/views.py:1025 msgid "This car is already reserved." msgstr "هذه السيارة محجوزة بالفعل." -#: inventory/views.py:1047 +#: inventory/views.py:1045 msgid "Reservation renewed successfully." msgstr "تم تجديد الحجز بنجاح" -#: inventory/views.py:1055 +#: inventory/views.py:1053 msgid "Reservation canceled successfully." msgstr "تم إلغاء الحجز بنجاح." -#: inventory/views.py:1060 +#: inventory/views.py:1058 msgid "Invalid action." msgstr "إجراء غير صالح." -#: inventory/views.py:1064 +#: inventory/views.py:1062 msgid "Invalid request method." msgstr "طريقة الطلب غير صالحة" -#: inventory/views.py:1086 +#: inventory/views.py:1084 msgid "Dealer updated successfully." msgstr "تم تحديث المعرض بنجاح." -#: inventory/views.py:1106 templates/header.html:154 +#: inventory/views.py:1104 templates/header.html:154 msgid "customers" msgstr "العملاء" -#: inventory/views.py:1216 +#: inventory/views.py:1214 msgid "Customer created successfully." msgstr "تم إنشاء العميل بنجاح." -#: inventory/views.py:1248 +#: inventory/views.py:1246 msgid "Customer updated successfully." msgstr "تم تحديث العميل بنجاح." -#: inventory/views.py:1263 +#: inventory/views.py:1261 msgid "Customer deleted successfully." msgstr "تم حذف العميل بنجاح." -#: inventory/views.py:1298 +#: inventory/views.py:1296 msgid "Vendor created successfully." msgstr "تم إنشاء المورد بنجاح." -#: inventory/views.py:1318 +#: inventory/views.py:1316 msgid "Vendor updated successfully." msgstr "تم تحديث المورد بنجاح" -#: inventory/views.py:1326 +#: inventory/views.py:1324 msgid "Vendor deleted successfully." msgstr "تم حذف المورد بنجاح." -#: inventory/views.py:1734 +#: inventory/views.py:1732 msgid "User created successfully." msgstr "تم إنشاء المستخدم بنجاح." -#: inventory/views.py:1759 +#: inventory/views.py:1757 msgid "User updated successfully." msgstr "تم تحديث المستخدم بنجاح" -#: inventory/views.py:1770 +#: inventory/views.py:1768 msgid "User deleted successfully." msgstr "تم حذف المستخدم بنجاح." -#: inventory/views.py:1839 inventory/views.py:1871 +#: inventory/views.py:1838 inventory/views.py:1868 msgid "Organization created successfully." msgstr "تم إنشاء المنظمة بنجاح." -#: inventory/views.py:3076 +#: inventory/views.py:3026 +msgid "Note deleted successfully." +msgstr "تم حذف الملاحظة بنجاح." + +#: inventory/views.py:3185 msgid "Opportunity deleted successfully." msgstr "تم حذف الفرصة بنجاح." -#: inventory/views.py:3113 +#: inventory/views.py:3222 msgid "Notification marked as read." msgstr "تم تمييز الإشعار كمقروء." -#: inventory/views.py:3139 +#: inventory/views.py:3248 msgid "Service created successfully." msgstr "تم إنشاء الخدمة بنجاح." -#: inventory/views.py:3155 +#: inventory/views.py:3264 msgid "Service updated successfully." msgstr "تم تحديث الخدمة بنجاح." -#: inventory/views.py:3278 inventory/views.py:3303 +#: inventory/views.py:3381 inventory/views.py:3406 msgid "Bill updated successfully." msgstr "تم تحديث الفاتورة بنجاح." -#: inventory/views.py:3329 +#: inventory/views.py:3432 msgid "Bill is already approved." msgstr "تمت الموافقة على الفاتورة مسبقًا." -#: inventory/views.py:3333 +#: inventory/views.py:3436 msgid "Bill marked as approved successfully." msgstr "تم تحديد الفاتورة كموافقة بنجاح." -#: inventory/views.py:3342 +#: inventory/views.py:3445 msgid "Bill is already paid." msgstr "تم دفع الفاتورة مسبقًا." -#: inventory/views.py:3351 +#: inventory/views.py:3454 msgid "Bill marked as paid successfully." msgstr "تم تحديد الفاتورة كمدفوعة بنجاح." -#: inventory/views.py:3353 +#: inventory/views.py:3456 msgid "Amount paid is not equal to amount due." msgstr "المبلغ المدفوع لا يساوي المبلغ المستحق." -#: inventory/views.py:3765 templates/header.html:259 +#: inventory/views.py:3866 templates/header.html:259 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/unit/unit_detail.html:23 #: venv/lib/python3.11/site-packages/django_ledger/views/entity.py:210 msgid "Dashboard" @@ -1816,8 +1838,8 @@ msgid "This account is inactive." msgstr "هذا الحساب غير نشط." #: templates/account/confirm_email_verification_code.html:5 -#: venv/lib/python3.11/site-packages/appointment/tests/utils/test_email_ops.py:147 -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:173 +#: venv/lib/python3.11/site-packages/appointment/tests/utils/test_email_ops.py:109 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:227 msgid "Email Verification" msgstr "التحقق من البريد الإلكتروني" @@ -1852,7 +1874,9 @@ msgstr "تأكيد" #: templates/account/confirm_email_verification_code.html:31 #: templates/account/confirm_email_verification_code.html:35 #: templates/account/confirm_login_code..html:38 -#: templates/crm/leads/lead_form.html:17 +#: templates/crm/leads/lead_detail.html:217 +#: templates/crm/leads/lead_form.html:18 +#: templates/crm/leads/schedule_lead.html:18 #: templates/crm/opportunities/opportunity_form.html:89 #: templates/inventory/add_colors.html:56 #: templates/inventory/add_custom_card.html:12 @@ -1956,7 +1980,8 @@ msgstr "تعيين كرئيسي" msgid "Re-send Verification" msgstr "إعادة إرسال التحقق" -#: templates/account/email.html:51 templates/administration/staff_list.html:52 +#: templates/account/email.html:51 templates/administration/staff_list.html:48 +#: templates/sales/estimates/estimate_form.html:29 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_list.html:52 msgid "Remove" msgstr "إزالة" @@ -2474,7 +2499,7 @@ msgid "Previous" msgstr "السابق" #: templates/account/signup-wizard.html:73 -#: templates/appointment/appointments.html:85 +#: templates/appointment/appointments.html:86 #: templates/partials/pagination.html:43 #: templates/two_factor/_wizard_actions.html:14 #: venv/lib/python3.11/site-packages/alabaster/relations.html:13 @@ -2499,7 +2524,7 @@ msgid "Sign up using a passkey" msgstr "إنشاء حساب باستخدام مفتاح المرور" #: templates/account/signup.html:80 -#: templates/appointment/appointment_client_information.html:42 +#: templates/appointment/appointment_client_information.html:37 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:42 msgid "Already have an account?" msgstr "هل لديك حساب بالفعل؟" @@ -2585,7 +2610,7 @@ msgstr "" #: templates/sales/estimates/estimate_preview.html:262 #: templates/sales/estimates/sale_order_preview.html:226 #: venv/lib/python3.11/site-packages/appointment/templates/administration/display_appointment.html:25 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:80 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:134 #: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reschedule_email.html:64 #: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reschedule_email.html:69 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/includes/card_journal_entry.html:15 @@ -2593,9 +2618,9 @@ msgid "Date" msgstr "التاريخ" #: templates/administration/display_appointment.html:29 -#: templates/administration/manage_working_hours.html:45 -#: templates/administration/staff_index.html:380 -#: templates/administration/user_profile.html:170 +#: templates/administration/manage_working_hours.html:36 +#: templates/administration/staff_index.html:134 +#: templates/administration/user_profile.html:160 #: venv/lib/python3.11/site-packages/appointment/templates/administration/display_appointment.html:29 #: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_working_hours.html:45 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:380 @@ -2604,9 +2629,9 @@ msgid "Start time" msgstr "وقت البدء" #: templates/administration/display_appointment.html:33 -#: templates/administration/manage_working_hours.html:59 -#: templates/administration/staff_index.html:392 -#: templates/administration/user_profile.html:171 +#: templates/administration/manage_working_hours.html:47 +#: templates/administration/staff_index.html:146 +#: templates/administration/user_profile.html:161 #: venv/lib/python3.11/site-packages/appointment/templates/administration/display_appointment.html:33 #: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_working_hours.html:59 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:392 @@ -2620,8 +2645,8 @@ msgstr "وقت الانتهاء" #: templates/items/service/service_create.html:5 #: venv/lib/python3.11/site-packages/appointment/templates/administration/display_appointment.html:37 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/default_thank_you.html:20 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:79 -#: venv/lib/python3.11/site-packages/appointment/views.py:420 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:130 +#: venv/lib/python3.11/site-packages/appointment/views.py:418 #: venv/lib/python3.11/site-packages/django_ledger/models/items.py:522 msgid "Service" msgstr "الخدمة" @@ -2632,25 +2657,25 @@ msgid "Client" msgstr "العميل" #: templates/administration/display_appointment.html:53 -#: templates/administration/staff_index.html:374 +#: templates/administration/staff_index.html:128 #: venv/lib/python3.11/site-packages/appointment/templates/administration/display_appointment.html:53 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:374 msgid "Wants reminder" msgstr "يريد تذكيرًا" #: templates/administration/display_appointment.html:57 -#: templates/administration/staff_index.html:371 +#: templates/administration/staff_index.html:125 #: venv/lib/python3.11/site-packages/appointment/templates/administration/display_appointment.html:57 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:371 msgid "Client address" msgstr "عنوان العميل" #: templates/administration/display_appointment.html:61 -#: templates/administration/staff_index.html:377 -#: templates/appointment/appointment_client_information.html:74 +#: templates/administration/staff_index.html:131 +#: templates/appointment/appointment_client_information.html:69 #: venv/lib/python3.11/site-packages/appointment/templates/administration/display_appointment.html:61 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:377 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:74 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:76 msgid "Additional Information" msgstr "معلومات إضافية" @@ -2700,8 +2725,8 @@ msgid "Manage Days Off" msgstr "إدارة أيام الإجازة" #: templates/administration/manage_day_off.html:32 -#: templates/administration/manage_working_hours.html:34 -#: templates/administration/staff_index.html:352 +#: templates/administration/manage_working_hours.html:25 +#: templates/administration/staff_index.html:106 #: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_day_off.html:32 #: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_working_hours.html:34 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:352 @@ -2709,161 +2734,35 @@ msgid "Staff Member" msgstr "عضو الفريق" #: templates/administration/manage_day_off.html:39 -#: templates/administration/user_profile.html:103 +#: templates/administration/user_profile.html:91 #: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_day_off.html:39 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:103 msgid "Start date" msgstr "تاريخ البدء" #: templates/administration/manage_day_off.html:51 -#: templates/administration/user_profile.html:104 +#: templates/administration/user_profile.html:92 #: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_day_off.html:51 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:104 msgid "End date" msgstr "تاريخ الانتهاء" -#: templates/administration/manage_staff_member.html:13 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_member.html:13 -msgid "Staff Appointment Information" -msgstr "معلومات مواعيد الفريق" - -#: templates/administration/manage_staff_member.html:24 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_member.html:24 -msgid "User not found" -msgstr "المستخدم غير موجود" - -#: templates/administration/manage_staff_member.html:24 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_member.html:24 -msgid "Create staff member manually" -msgstr "إنشاء عضو فريق يدويًا" - -#: templates/administration/manage_staff_member.html:33 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_member.html:33 -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"اضغط مع الاستمرار على “Control” أو “Command” على جهاز Mac لتحديد أكثر من " -"خيار." - -#: templates/administration/manage_staff_member.html:70 -#: templates/crm/leads/lead_form.html:14 -#: templates/crm/opportunities/opportunity_form.html:88 -#: templates/customers/customer_form.html:29 -#: templates/inventory/add_colors.html:55 -#: templates/inventory/add_custom_card.html:17 -#: templates/inventory/car_edit.html:12 -#: templates/inventory/car_finance_form.html:40 -#: templates/inventory/car_location_form.html:18 -#: templates/inventory/car_registration_form.html:18 -#: templates/inventory/color_palette.html:106 -#: templates/items/expenses/expense_create.html:16 -#: templates/items/expenses/expense_update.html:16 -#: templates/items/service/service_create.html:22 -#: templates/ledger/bank_accounts/bank_account_form.html:31 -#: templates/ledger/bills/bill_form.html:41 -#: templates/ledger/bills/bill_update_form.html:15 -#: templates/ledger/coa_accounts/account_form.html:30 -#: templates/organizations/organization_form.html:17 -#: templates/plans/billing_info_create_or_update.html:17 -#: templates/representatives/representative_form.html:11 -#: templates/sales/estimates/estimate_form.html:41 -#: templates/sales/estimates/sale_order_form.html:31 -#: templates/sales/invoices/approved_invoice_update.html:16 -#: templates/sales/invoices/draft_invoice_update.html:16 -#: templates/sales/invoices/invoice_create.html:16 -#: templates/sales/invoices/paid_invoice_update.html:16 -#: templates/sales/journals/journal_form.html:18 -#: templates/sales/payments/payment_create.html:16 -#: templates/sales/payments/payment_form.html:30 -#: templates/users/user_form.html:38 templates/vendors/vendor_form.html:41 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_member.html:70 -#: venv/lib/python3.11/site-packages/appointment/views_admin.py:464 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:81 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_update.html:19 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_table.html:78 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/tags/ce_item_formset.html:76 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/tags/invoice_item_formset.html:70 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_detail_txs.html:55 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:102 -msgid "Save" -msgstr "حفظ" - -#: templates/administration/manage_staff_personal_info.html:13 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_personal_info.html:13 -msgid "Staff Personal Information" -msgstr "المعلومات الشخصية للموظفين" - -#: templates/administration/manage_working_hours.html:24 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_working_hours.html:24 -msgid "Manage Working Hours" -msgstr "إدارة ساعات العمل" - -#: templates/administration/manage_working_hours.html:40 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_working_hours.html:40 -msgid "Day of Week" -msgstr "يوم الأسبوع" - -#: templates/administration/service_list.html:6 -#: templates/administration/service_list.html:9 -#: templates/administration/service_list.html:16 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:12 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:15 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:22 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/service/service_list.html:12 -msgid "Service List" -msgstr "قائمة الخدمات" - -#: templates/administration/service_list.html:23 -#: templates/administration/user_profile.html:236 -#: templates/appointment/default_thank_you.html:23 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:29 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:236 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/default_thank_you.html:23 -#: venv/lib/python3.11/site-packages/appointment/views.py:423 -#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1863 -msgid "Duration" -msgstr "المدة" - -#: templates/administration/service_list.html:25 -#: templates/administration/user_profile.html:106 -#: templates/administration/user_profile.html:172 -#: templates/inventory/car_detail.html:305 -#: templates/items/expenses/expenses_list.html:22 -#: templates/items/service/service_list.html:24 -#: templates/ledger/bank_accounts/bank_account_list.html:21 -#: templates/modal/confirm_modal.html:19 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:31 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:106 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:172 -#: venv/lib/python3.11/site-packages/appointment/templates/modal/confirm_modal.html:19 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/inventory/tags/inventory_item_table.html:13 -msgid "Action" -msgstr "الإجراء" - -#: templates/administration/service_list.html:40 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:46 -msgid "Are you sure you want to delete this service?" -msgstr "هل أنت متأكد أنك تريد حذف هذه الخدمة؟" - -#: templates/administration/service_list.html:57 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:63 -msgid "No service found" -msgstr "لم يتم العثور على خدمة" - -#: templates/administration/staff_index.html:323 -#: templates/administration/user_profile.html:32 +#: templates/administration/manage_service.html:11 +#: templates/administration/service_list.html:12 +#: templates/administration/staff_index.html:77 +#: templates/administration/user_profile.html:17 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:323 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:32 msgid "Confirm Deletion" msgstr "تأكيد الحذف" -#: templates/administration/staff_index.html:324 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:324 -msgid "Are you sure you want to delete this appointment?" -msgstr "هل أنت متأكد أنك تريد حذف هذا الموعد؟" - -#: templates/administration/staff_index.html:325 -#: templates/administration/user_profile.html:33 -#: templates/crm/leads/lead_list.html:145 +#: templates/administration/manage_service.html:12 +#: templates/administration/service_list.html:13 +#: templates/administration/staff_index.html:79 +#: templates/administration/user_profile.html:18 +#: templates/crm/leads/lead_detail.html:206 +#: templates/crm/leads/lead_detail.html:215 +#: templates/crm/leads/lead_list.html:178 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:28 #: templates/customers/customer_list.html:127 #: templates/customers/view_customer.html:51 @@ -2910,89 +2809,262 @@ msgstr "هل أنت متأكد أنك تريد حذف هذا الموعد؟" msgid "Delete" msgstr "حذف" -#: templates/administration/staff_index.html:326 +#: templates/administration/manage_service.html:44 +#: templates/administration/service_list.html:24 +#: templates/administration/user_profile.html:228 +#: templates/appointment/default_thank_you.html:23 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:29 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:236 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/default_thank_you.html:23 +#: venv/lib/python3.11/site-packages/appointment/views.py:421 +#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1863 +msgid "Duration" +msgstr "المدة" + +#: templates/administration/manage_service.html:66 +#: templates/appointment/appointment_client_information.html:108 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:115 +msgid "Down Payment" +msgstr "دفعة مقدمة" + +#: templates/administration/manage_service.html:76 +#: venv/lib/python3.11/site-packages/django/db/models/fields/files.py:420 +msgid "Image" +msgstr "الصورة" + +#: templates/administration/manage_service.html:90 +msgid "Currency" +msgstr "العملة" + +msgid "Background Color" +msgstr "لون الخلفية" + +#: templates/administration/manage_service.html:114 +#: templates/administration/service_list.html:42 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:46 +msgid "Are you sure you want to delete this service?" +msgstr "هل أنت متأكد أنك تريد حذف هذه الخدمة؟" + +#: templates/administration/manage_staff_member.html:13 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_member.html:13 +msgid "Staff Appointment Information" +msgstr "معلومات مواعيد الفريق" + +#: templates/administration/manage_staff_member.html:24 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_member.html:24 +msgid "User not found" +msgstr "المستخدم غير موجود" + +#: templates/administration/manage_staff_member.html:24 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_member.html:24 +msgid "Create staff member manually" +msgstr "إنشاء عضو فريق يدويًا" + +#: templates/administration/manage_staff_member.html:33 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_member.html:33 +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"اضغط مع الاستمرار على “Control” أو “Command” على جهاز Mac لتحديد أكثر من " +"خيار." + +#: templates/administration/manage_staff_member.html:70 +#: templates/crm/leads/lead_form.html:15 +#: templates/crm/leads/schedule_lead.html:15 +#: templates/crm/opportunities/opportunity_form.html:88 +#: templates/customers/customer_form.html:29 +#: templates/inventory/add_colors.html:55 +#: templates/inventory/add_custom_card.html:17 +#: templates/inventory/car_edit.html:12 +#: templates/inventory/car_finance_form.html:40 +#: templates/inventory/car_location_form.html:18 +#: templates/inventory/car_registration_form.html:18 +#: templates/inventory/color_palette.html:106 +#: templates/items/expenses/expense_create.html:16 +#: templates/items/expenses/expense_update.html:16 +#: templates/items/service/service_create.html:22 +#: templates/ledger/bank_accounts/bank_account_form.html:31 +#: templates/ledger/bills/bill_form.html:41 +#: templates/ledger/bills/bill_update_form.html:15 +#: templates/ledger/coa_accounts/account_form.html:30 +#: templates/organizations/organization_form.html:17 +#: templates/plans/billing_info_create_or_update.html:17 +#: templates/representatives/representative_form.html:11 +#: templates/sales/estimates/estimate_form.html:41 +#: templates/sales/estimates/sale_order_form.html:31 +#: templates/sales/invoices/approved_invoice_update.html:16 +#: templates/sales/invoices/draft_invoice_update.html:16 +#: templates/sales/invoices/invoice_create.html:16 +#: templates/sales/invoices/paid_invoice_update.html:16 +#: templates/sales/journals/journal_form.html:18 +#: templates/sales/payments/payment_create.html:16 +#: templates/sales/payments/payment_form.html:30 +#: templates/users/user_form.html:38 templates/vendors/vendor_form.html:41 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_member.html:70 +#: venv/lib/python3.11/site-packages/appointment/views_admin.py:464 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:81 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_update.html:19 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_table.html:78 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/tags/ce_item_formset.html:76 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/tags/invoice_item_formset.html:70 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_detail_txs.html:55 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:102 +msgid "Save" +msgstr "حفظ" + +#: templates/administration/manage_staff_personal_info.html:12 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_staff_personal_info.html:13 +msgid "Staff Personal Information" +msgstr "المعلومات الشخصية للموظفين" + +#: templates/administration/manage_working_hours.html:15 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_working_hours.html:24 +msgid "Manage Working Hours" +msgstr "إدارة ساعات العمل" + +#: templates/administration/manage_working_hours.html:31 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/manage_working_hours.html:40 +msgid "Day of Week" +msgstr "يوم الأسبوع" + +#: templates/administration/service_list.html:6 +#: templates/administration/service_list.html:9 +#: templates/administration/service_list.html:16 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:12 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:15 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:22 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/service/service_list.html:12 +msgid "Service List" +msgstr "قائمة الخدمات" + +#: templates/administration/service_list.html:26 +#: templates/administration/user_profile.html:94 +#: templates/administration/user_profile.html:162 +#: templates/inventory/car_detail.html:305 +#: templates/items/expenses/expenses_list.html:22 +#: templates/items/service/service_list.html:24 +#: templates/ledger/bank_accounts/bank_account_list.html:21 +#: templates/modal/confirm_modal.html:21 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:31 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:106 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:172 +#: venv/lib/python3.11/site-packages/appointment/templates/modal/confirm_modal.html:19 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/inventory/tags/inventory_item_table.html:13 +msgid "Action" +msgstr "الإجراء" + +#: templates/administration/service_list.html:59 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/service_list.html:63 +msgid "No service found" +msgstr "لم يتم العثور على خدمة" + +#: templates/administration/staff_index.html:39 +msgid "New Appointment" +msgstr "موعد جديد" + +#: templates/administration/staff_index.html:78 +#: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:324 +msgid "Are you sure you want to delete this appointment?" +msgstr "هل أنت متأكد أنك تريد حذف هذا الموعد؟" + +#: templates/administration/staff_index.html:80 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:326 msgid "Events on" msgstr "الأحداث في" -#: templates/administration/staff_index.html:327 +#: templates/administration/staff_index.html:81 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:327 msgid "No events for this day." msgstr "لا توجد أحداث لهذا اليوم." -#: templates/administration/staff_index.html:328 +#: templates/administration/staff_index.html:82 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:328 msgid "New Event" msgstr "حدث جديد" -#: templates/administration/staff_index.html:330 +#: templates/administration/staff_index.html:84 #: templates/modal/error_modal.html:7 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:330 #: venv/lib/python3.11/site-packages/appointment/templates/modal/error_modal.html:7 -#: venv/lib/python3.11/site-packages/appointment/views.py:441 +#: venv/lib/python3.11/site-packages/appointment/views.py:445 msgid "Error" msgstr "خطأ" -#: templates/administration/staff_index.html:331 +#: templates/administration/staff_index.html:85 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:331 msgid "Error: Unable to delete appointment." msgstr "خطأ: لا يمكن حذف الموعد." -#: templates/administration/staff_index.html:332 +#: templates/administration/staff_index.html:86 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:332 msgid "Appointment not found." msgstr "لم يتم العثور على الموعد." -#: templates/administration/staff_index.html:333 +#: templates/administration/staff_index.html:87 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:333 #: venv/lib/python3.11/site-packages/appointment/views_admin.py:258 msgid "You're not a staff member. Can't perform this action !" msgstr "لست عضوًا في الفريق. لا يمكن تنفيذ هذا الإجراء!" -#: templates/administration/staff_index.html:334 +#: templates/administration/staff_index.html:88 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:334 msgid "You don't offer any service. Add new service from your profile." msgstr "أنت لا تقدم أي خدمة. أضف خدمة جديدة من ملفك الشخصي." -#: templates/administration/staff_index.html:335 +#: templates/administration/staff_index.html:89 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:335 msgid "No staff members found." msgstr "لم يتم العثور على أعضاء فريق." -#: templates/administration/staff_index.html:361 +#: templates/administration/staff_index.html:115 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:361 #: venv/lib/python3.11/site-packages/django_ledger/forms/item.py:210 msgid "Service Name" msgstr "اسم الخدمة" -#: templates/administration/staff_index.html:364 +#: templates/administration/staff_index.html:118 #: templates/email_sender/admin_new_appointment_email.html:58 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:364 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:58 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:62 msgid "Client Name" msgstr "اسم العميل" -#: templates/administration/staff_index.html:366 +#: templates/administration/staff_index.html:120 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:366 msgid "Client Email" msgstr "البريد الإلكتروني للعميل" -#: templates/administration/staff_index.html:378 +#: templates/administration/staff_index.html:132 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:378 msgid "Client wants this and that" msgstr "العميل يريد هذا وذاك" -#: templates/administration/staff_list.html:15 +#: templates/administration/staff_list.html:8 +msgid "Staff Members List" +msgstr "قائمة أعضاء الفريق" + +#: templates/administration/staff_list.html:11 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_list.html:15 msgid "List of all staff members" msgstr "قائمة جميع أعضاء الفريق" -#: templates/administration/staff_list.html:22 +#: templates/administration/staff_list.html:18 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_list.html:22 msgid "Staff Members" msgstr "أعضاء الفريق" -#: templates/administration/staff_list.html:40 +#: templates/administration/staff_list.html:25 +#: templates/crm/leads/lead_detail.html:184 templates/crm/note_form.html:15 +#: templates/inventory/car_detail.html:90 +#: templates/inventory/car_detail.html:112 +#: templates/inventory/car_detail.html:128 +#: templates/inventory/car_detail.html:190 +#: templates/inventory/car_detail.html:234 +#: templates/inventory/car_location_form.html:10 +#: venv/lib/python3.11/site-packages/appointment/services.py:170 +msgid "Add" +msgstr "إضافة" + +#: templates/administration/staff_list.html:36 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:71 #: templates/crm/opportunities/opportunity_list.html:65 #: templates/inventory/car_form.html:224 @@ -3002,17 +3074,17 @@ msgstr "أعضاء الفريق" msgid "Details" msgstr "التفاصيل" -#: templates/administration/staff_list.html:50 +#: templates/administration/staff_list.html:46 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_list.html:50 msgid "View Profile" msgstr "عرض الملف الشخصي" -#: templates/administration/staff_list.html:57 +#: templates/administration/staff_list.html:53 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_list.html:57 msgid "No staff members found" msgstr "لم يتم العثور على أعضاء فريق" -#: templates/administration/staff_list.html:61 +#: templates/administration/staff_list.html:57 #: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_list.html:61 msgid "" "PS: Remove means, deleting the staff status of the user. The user account is " @@ -3020,62 +3092,62 @@ msgid "" msgstr "" "ملاحظة: إزالة تعني حذف حالة الموظف للمستخدم. لا يزال حساب المستخدم نشطًا." -#: templates/administration/user_profile.html:35 +#: templates/administration/user_profile.html:20 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:35 msgid "Personal Information" msgstr "المعلومات الشخصية" -#: templates/administration/user_profile.html:38 +#: templates/administration/user_profile.html:23 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:38 msgid "First name" msgstr "الاسم الأول" -#: templates/administration/user_profile.html:39 +#: templates/administration/user_profile.html:24 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:39 msgid "Last name" msgstr "اسم العائلة" -#: templates/administration/user_profile.html:50 +#: templates/administration/user_profile.html:37 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:50 msgid "Appointment Information" msgstr "معلومات الموعد" -#: templates/administration/user_profile.html:57 +#: templates/administration/user_profile.html:44 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:57 msgid "Slot duration" msgstr "مدة الفاصل الزمني" -#: templates/administration/user_profile.html:61 +#: templates/administration/user_profile.html:48 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:61 msgid "General start time" msgstr "وقت البدء العام" -#: templates/administration/user_profile.html:62 +#: templates/administration/user_profile.html:49 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:62 msgid "General end time" msgstr "وقت الانتهاء العام" -#: templates/administration/user_profile.html:64 +#: templates/administration/user_profile.html:51 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:64 msgid "Weekend days you work" msgstr "أيام عطلة نهاية الأسبوع التي تعمل فيها" -#: templates/administration/user_profile.html:68 +#: templates/administration/user_profile.html:55 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:68 msgid "Appointment buffer time" msgstr "وقت التخزين المؤقت للموعد" -#: templates/administration/user_profile.html:79 +#: templates/administration/user_profile.html:66 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:79 msgid "No staff member information yet for this user" msgstr "لا توجد معلومات عن عضو فريق لهذا المستخدم حتى الآن" -#: templates/administration/user_profile.html:91 +#: templates/administration/user_profile.html:79 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:91 msgid "Days Off" msgstr "أيام الإجازة" -#: templates/administration/user_profile.html:97 +#: templates/administration/user_profile.html:85 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:97 msgid "" "Days off are days you're not working, you need to set them for holidays as " @@ -3084,24 +3156,24 @@ msgstr "" "أيام الإجازة هي الأيام التي لا تعمل فيها. تحتاج إلى تحديدها للعطلات أيضًا حتى " "لا يحجز العملاء في تلك الأيام." -#: templates/administration/user_profile.html:128 -#: templates/administration/user_profile.html:194 +#: templates/administration/user_profile.html:116 +#: templates/administration/user_profile.html:184 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:128 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:194 msgid "Are you sure you want to delete this working hours?" msgstr "هل أنت متأكد أنك تريد حذف ساعات العمل هذه؟" -#: templates/administration/user_profile.html:147 +#: templates/administration/user_profile.html:135 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:147 msgid "No days off have been set" msgstr "لم يتم تحديد أيام إجازة" -#: templates/administration/user_profile.html:157 +#: templates/administration/user_profile.html:147 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:157 msgid "Working Hours" msgstr "ساعات العمل" -#: templates/administration/user_profile.html:163 +#: templates/administration/user_profile.html:153 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:163 msgid "" "Note: If you are a staff member, your working hours will be used to " @@ -3110,38 +3182,38 @@ msgstr "" "ملاحظة: إذا كنت عضوًا في الفريق، فستُستخدم ساعات عملك لتحديد أوقات توافرك " "للمواعيد." -#: templates/administration/user_profile.html:169 +#: templates/administration/user_profile.html:159 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:169 msgid "Day" msgstr "اليوم" -#: templates/administration/user_profile.html:213 +#: templates/administration/user_profile.html:203 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:213 msgid "No working hours have been set" msgstr "لم يتم تحديد ساعات عمل" -#: templates/administration/user_profile.html:223 +#: templates/administration/user_profile.html:215 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:223 msgid "Service Offered" msgstr "الخدمات المقدمة" -#: templates/administration/user_profile.html:226 +#: templates/administration/user_profile.html:218 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:226 msgid "To add/modify a new service, make a request to an admin." msgstr "لإضافة/تعديل خدمة جديدة، قدم طلبًا للإدارة." -#: templates/administration/user_profile.html:227 +#: templates/administration/user_profile.html:219 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:227 msgid "Changes made in one service will change it for every staff member." msgstr "أي تغييرات تُجرى على خدمة واحدة ستُطبق على جميع أعضاء الفريق." -#: templates/administration/user_profile.html:238 +#: templates/administration/user_profile.html:230 #: venv/lib/python3.11/site-packages/appointment/models.py:31 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:238 msgid "Down payment" msgstr "دفعة مقدمة" -#: templates/administration/user_profile.html:252 +#: templates/administration/user_profile.html:244 #: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:252 msgid "No service offered yet" msgstr "لم تُقدم أي خدمة حتى الآن" @@ -3166,59 +3238,59 @@ msgstr "" " يرجى تقديم معلوماتك لإنشاء حساب واستكمال عملية الدفع.\n" " " -#: templates/appointment/appointment_client_information.html:33 +#: templates/appointment/appointment_client_information.html:28 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:33 msgid "Fill out your details" msgstr "املأ بياناتك" -#: templates/appointment/appointment_client_information.html:39 +#: templates/appointment/appointment_client_information.html:34 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:39 msgid "Tell us a bit about yourself" msgstr "أخبرنا قليلاً عن نفسك" -#: templates/appointment/appointment_client_information.html:43 +#: templates/appointment/appointment_client_information.html:38 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:43 msgid "Log in" msgstr "تسجيل الدخول" -#: templates/appointment/appointment_client_information.html:43 +#: templates/appointment/appointment_client_information.html:38 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:43 msgid "for faster booking." msgstr "لحجز أسرع." -#: templates/appointment/appointment_client_information.html:47 +#: templates/appointment/appointment_client_information.html:42 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:47 msgid "Full Name" msgstr "الاسم الكامل" -#: templates/appointment/appointment_client_information.html:57 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:57 +#: templates/appointment/appointment_client_information.html:52 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:58 msgid "I want to receive an EMAIL reminder 24 hours before this session starts" msgstr "أريد استلام تذكير عبر البريد الإلكتروني قبل بدء هذه الجلسة بـ 24 ساعة" -#: templates/appointment/appointment_client_information.html:69 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:69 +#: templates/appointment/appointment_client_information.html:64 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:71 msgid "City and State" msgstr "المدينة والولاية" -#: templates/appointment/appointment_client_information.html:82 -#: templates/appointment/appointments.html:76 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:82 +#: templates/appointment/appointment_client_information.html:77 +#: templates/appointment/appointments.html:77 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:84 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointments.html:76 msgid "Service Details" msgstr "تفاصيل الخدمة" -#: templates/appointment/appointment_client_information.html:90 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:90 +#: templates/appointment/appointment_client_information.html:85 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:92 msgid "at" msgstr "في" -#: templates/appointment/appointment_client_information.html:99 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:99 +#: templates/appointment/appointment_client_information.html:94 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:101 msgid "Payment Details" msgstr "تفاصيل الدفع" -#: templates/appointment/appointment_client_information.html:101 +#: templates/appointment/appointment_client_information.html:96 #: templates/inventory/car_detail.html:179 #: templates/inventory/inventory_stats.html:72 #: templates/inventory/transfer_details.html:74 @@ -3227,11 +3299,11 @@ msgstr "تفاصيل الدفع" #: templates/ledger/coa_accounts/account_detail.html:100 #: templates/ledger/reports/tags/balance_sheet_statement.html:55 #: templates/plans/order_detail_table.html:12 -#: templates/sales/estimates/estimate_detail.html:125 +#: templates/sales/estimates/estimate_detail.html:128 #: templates/sales/estimates/estimate_preview.html:276 #: templates/sales/estimates/sale_order_preview.html:244 -#: templates/sales/invoices/invoice_detail.html:218 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:101 +#: templates/sales/invoices/invoice_detail.html:220 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:103 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:98 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:127 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:24 @@ -3249,21 +3321,16 @@ msgstr "تفاصيل الدفع" msgid "Total" msgstr "الإجمالي" -#: templates/appointment/appointment_client_information.html:107 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:107 +#: templates/appointment/appointment_client_information.html:102 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:109 msgid "Pay" msgstr "ادفع" -#: templates/appointment/appointment_client_information.html:113 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:113 -msgid "Down Payment" -msgstr "دفعة مقدمة" - -#: templates/appointment/appointment_client_information.html:121 -#: templates/appointment/appointment_client_information.html:127 +#: templates/appointment/appointment_client_information.html:116 +#: templates/appointment/appointment_client_information.html:122 #: venv/lib/python3.11/site-packages/appointment/services.py:449 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:121 -#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:127 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:123 +#: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointment_client_information.html:129 #: venv/lib/python3.11/site-packages/appointment/tests/test_services.py:886 msgid "Finish" msgstr "إنهاء" @@ -3274,47 +3341,47 @@ msgid "" "Check out our availability and book the date and time that works for you" msgstr "تحقق من توافرنا واحجز التاريخ والوقت الذي يناسبك" -#: templates/appointment/appointments.html:29 +#: templates/appointment/appointments.html:30 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointments.html:29 msgid "Select a date and time" msgstr "اختر التاريخ والوقت" -#: templates/appointment/appointments.html:32 +#: templates/appointment/appointments.html:33 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointments.html:32 msgid "Timezone" msgstr "المنطقة الزمنية" -#: templates/appointment/appointments.html:52 +#: templates/appointment/appointments.html:53 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointments.html:52 msgid "Reason for rescheduling" msgstr "سبب إعادة الجدولة" -#: templates/appointment/appointments.html:67 +#: templates/appointment/appointments.html:68 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointments.html:67 msgid "Please select a staff member" msgstr "يرجى اختيار أحد أعضاء الفريق" -#: templates/appointment/appointments.html:125 +#: templates/appointment/appointments.html:126 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointments.html:125 msgid "Request next available slot" msgstr "طلب الفترة الزمنية المتاحة التالية" -#: templates/appointment/appointments.html:126 +#: templates/appointment/appointments.html:127 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointments.html:126 msgid "No staff member selected." msgstr "لم يتم اختيار أي عضو من الفريق." -#: templates/appointment/appointments.html:127 +#: templates/appointment/appointments.html:128 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointments.html:127 msgid "Please select a time slot before submitting the appointment request." msgstr "يرجى اختيار فترة زمنية قبل تقديم طلب الموعد." -#: templates/appointment/appointments.html:128 +#: templates/appointment/appointments.html:129 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointments.html:128 msgid "Date is in the past." msgstr "التاريخ في الماضي." -#: templates/appointment/appointments.html:129 +#: templates/appointment/appointments.html:130 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/appointments.html:129 msgid "Please select a date and time" msgstr "يرجى اختيار تاريخ ووقت" @@ -3342,14 +3409,14 @@ msgstr "تفاصيل الموعد" #: templates/appointment/default_thank_you.html:21 #: templates/email_sender/admin_new_appointment_email.html:60 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/default_thank_you.html:21 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:60 -#: venv/lib/python3.11/site-packages/appointment/views.py:421 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:64 +#: venv/lib/python3.11/site-packages/appointment/views.py:419 msgid "Appointment Date" msgstr "تاريخ الموعد" #: templates/appointment/default_thank_you.html:22 #: venv/lib/python3.11/site-packages/appointment/templates/appointment/default_thank_you.html:22 -#: venv/lib/python3.11/site-packages/appointment/views.py:422 +#: venv/lib/python3.11/site-packages/appointment/views.py:420 msgid "Appointment Time" msgstr "وقت الموعد" @@ -3403,20 +3470,20 @@ msgstr "هيكل" msgid "Select Date" msgstr "اختر التاريخ" -#: templates/crm/leads/lead_detail.html:10 -#: templates/crm/leads/lead_detail.html:28 +#: templates/crm/leads/lead_detail.html:9 +#: templates/crm/leads/lead_detail.html:26 msgid "Lead Details" msgstr "تفاصيل العميل المحتمل" -#: templates/crm/leads/lead_detail.html:37 +#: templates/crm/leads/lead_detail.html:35 msgid "Assigned to" msgstr "مُعين إلى" -#: templates/crm/leads/lead_detail.html:39 +#: templates/crm/leads/lead_detail.html:37 msgid "Not Assigned" msgstr "غير معين" -#: templates/crm/leads/lead_detail.html:65 +#: templates/crm/leads/lead_detail.html:63 msgid "Car Requested" msgstr "السيارة المطلوبة" @@ -3432,19 +3499,86 @@ msgstr "مصدر العميل المحتمل" msgid "Lead Channel" msgstr "قناة العميل المحتمل" -#: templates/crm/leads/lead_detail.html:142 +#: templates/crm/leads/lead_detail.html:115 +#: venv/lib/python3.11/site-packages/django_ledger/forms/entity.py:82 +#: venv/lib/python3.11/site-packages/django_ledger/forms/entity.py:159 +#: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:107 +msgid "City" +msgstr "المدينة" + +#: templates/crm/leads/lead_detail.html:129 +#: templates/crm/leads/lead_detail.html:250 +msgid "Emails" +msgstr "رسائل البريد الإلكتروني" + +#: templates/crm/leads/lead_detail.html:169 msgid "by" msgstr "بواسطة" -#: templates/crm/leads/lead_detail.html:143 -msgid "on" -msgstr "في" - -#: templates/crm/leads/lead_detail.html:154 +#: templates/crm/leads/lead_detail.html:186 #: templates/customers/view_customer.html:113 msgid "Add Note" msgstr "إضافة ملاحظة" +msgid "Created By" +msgstr "تم الإنشاء بواسطة" + +msgid "Created On" +msgstr "تم الإنشاء في" + +msgid "Are you sure you want to delete this note?" +msgstr "هل أنت متأكد أنك تريد حذف هذه الملاحظة؟" + +#: templates/crm/leads/lead_detail.html:233 +#: templates/crm/leads/schedule_lead.html:5 templates/crm/note_form.html:13 +#: templates/customers/view_customer.html:54 +#: templates/items/expenses/expenses_list.html:34 +#: templates/items/service/service_list.html:44 +#: templates/ledger/bank_accounts/bank_account_list.html:33 +#: templates/ledger/reports/tags/income_statement.html:104 +#: templates/ledger/reports/tags/income_statement.html:178 +#: templates/ledger/reports/tags/income_statement.html:252 +#: templates/ledger/reports/tags/income_statement.html:313 +#: venv/lib/python3.11/site-packages/appointment/services.py:170 +#: venv/lib/python3.11/site-packages/appointment/views_admin.py:374 +#: venv/lib/python3.11/site-packages/appointment/views_admin.py:471 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/account/tags/accounts_table.html:102 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_update.html:23 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/tags/bank_accounts_table.html:49 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:46 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:154 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:48 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:63 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/import_job_update.html:14 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/tags/data_import_job_list_table.html:48 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/entity/entity_update.html:16 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html:56 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/expense/expense_update.html:23 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/expense/tags/expense_item_table.html:43 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/balance_sheet_statement.html:66 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:60 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:121 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:195 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:269 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:330 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/inventory/inventory_item_update.html:23 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/inventory/tags/inventory_item_table.html:38 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:40 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:137 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_detail.html:34 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/product/product_update.html:23 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/product/tags/product_table.html:42 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:61 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/service/service_update.html:23 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/service/tags/services_table.html:42 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/unit/unit_list.html:34 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/unit/unit_update.html:22 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/uom/tags/uom_table.html:41 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/uom/uom_update.html:24 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html:63 +msgid "Update" +msgstr "تحديث" + #: templates/crm/leads/lead_list.html:12 msgid "Add Lead" msgstr "إضافة عميل محتمل" @@ -3453,22 +3587,31 @@ msgstr "إضافة عميل محتمل" msgid "Enter lead name" msgstr "أدخل اسم العميل المحتمل" -#: templates/crm/leads/lead_list.html:72 +msgid "Lead Name" +msgstr "اسم العميل المحتمل" + +msgid "Schedule" +msgstr "الجدولة" + +msgid "Assigned To" +msgstr "مُعين إلى" + +#: templates/crm/leads/lead_list.html:83 #: templates/customers/customer_list.html:64 #: templates/organizations/organization_list.html:68 #: templates/vendors/vendors_list.html:68 msgid "Create date" msgstr "تاريخ الإنشاء" -#: templates/crm/leads/lead_list.html:85 +#: templates/crm/leads/lead_list.html:96 msgid "Delete Lead" msgstr "حذف العميل المحتمل" -#: templates/crm/leads/lead_list.html:92 +#: templates/crm/leads/lead_list.html:103 msgid "Are you sure you want to delete this lead?" msgstr "هل أنت متأكد أنك تريد حذف هذا العميل المحتمل؟" -#: templates/crm/leads/lead_list.html:95 +#: templates/crm/leads/lead_list.html:106 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:155 #: templates/customers/customer_list.html:93 #: templates/customers/view_customer.html:26 @@ -3495,7 +3638,7 @@ msgstr "هل أنت متأكد أنك تريد حذف هذا العميل الم msgid "No" msgstr "لا" -#: templates/crm/leads/lead_list.html:98 +#: templates/crm/leads/lead_list.html:109 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:158 #: templates/customers/view_customer.html:31 #: templates/inventory/car_detail.html:407 @@ -3519,7 +3662,7 @@ msgstr "لا" msgid "Yes" msgstr "نعم" -#: templates/crm/leads/lead_list.html:143 +#: templates/crm/leads/lead_list.html:171 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:27 #: templates/customers/customer_list.html:126 #: templates/dealers/dealer_detail.html:24 @@ -3541,6 +3684,32 @@ msgstr "نعم" msgid "Edit" msgstr "تحديث" +#: templates/crm/leads/lead_list.html:172 +msgid "Send Email" +msgstr "إرسال البريد الإلكتروني" + +msgid "Set Schedule" +msgstr "تحديد الجدولة" + +msgid "Convert To Customer" +msgstr "تحويل إلى عميل" + +#: templates/crm/leads/schedule_lead.html:5 +#: venv/lib/python3.11/site-packages/appointment/views_admin.py:429 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_create.html:22 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_create.html:33 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/estimate_create.html:22 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/expense/expense_create.html:23 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/inventory/inventory_item_create.html:23 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_create.html:38 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/product/product_create.html:24 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/po_create.html:27 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/service/service_create.html:24 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/unit/unit_create.html:22 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/uom/uom_create.html:24 +msgid "Create" +msgstr "إنشاء" + #: templates/crm/notifications.html:16 #: templates/crm/notifications_history.html:14 msgid "System" @@ -3554,7 +3723,7 @@ msgstr "وضع علامة مقروء" msgid "Opportunity details" msgstr "تفاصيل الفرصة" -#: templates/crm/opportunities/opportunity_detail.html:145 +#: templates/crm/opportunities/opportunity_detail.html:149 #: templates/ledger/bank_accounts/bank_account_detail.html:50 #: venv/lib/python3.11/site-packages/django_ledger/models/transactions.py:493 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:22 @@ -3562,17 +3731,17 @@ msgstr "تفاصيل الفرصة" msgid "Amount" msgstr "المبلغ" -#: templates/crm/opportunities/opportunity_detail.html:196 +#: templates/crm/opportunities/opportunity_detail.html:200 #: templates/ledger/reports/dashboard.html:44 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/includes/widget_ic.html:5 msgid "Revenue" msgstr "الإيرادات" -#: templates/crm/opportunities/opportunity_detail.html:246 +#: templates/crm/opportunities/opportunity_detail.html:250 msgid "Contact Name" msgstr "اسم جهة الاتصال" -#: templates/crm/opportunities/opportunity_detail.html:279 +#: templates/crm/opportunities/opportunity_detail.html:283 msgid "Create Date" msgstr "تاريخ الإنشاء" @@ -3661,54 +3830,6 @@ msgstr "عرض العميل" msgid "Customer details" msgstr "تفاصيل العميل" -#: templates/customers/view_customer.html:54 -#: templates/items/expenses/expenses_list.html:34 -#: templates/items/service/service_list.html:44 -#: templates/ledger/bank_accounts/bank_account_list.html:33 -#: templates/ledger/reports/tags/income_statement.html:104 -#: templates/ledger/reports/tags/income_statement.html:178 -#: templates/ledger/reports/tags/income_statement.html:252 -#: templates/ledger/reports/tags/income_statement.html:313 -#: venv/lib/python3.11/site-packages/appointment/services.py:170 -#: venv/lib/python3.11/site-packages/appointment/views_admin.py:374 -#: venv/lib/python3.11/site-packages/appointment/views_admin.py:471 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/account/tags/accounts_table.html:102 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_update.html:23 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/tags/bank_accounts_table.html:49 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:46 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:154 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:48 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:63 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/import_job_update.html:14 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/tags/data_import_job_list_table.html:48 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/entity/entity_update.html:16 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html:56 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/expense/expense_update.html:23 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/expense/tags/expense_item_table.html:43 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/balance_sheet_statement.html:66 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:60 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:121 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:195 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:269 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:330 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/inventory/inventory_item_update.html:23 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/inventory/tags/inventory_item_table.html:38 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:40 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:137 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_detail.html:34 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/product/product_update.html:23 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/product/tags/product_table.html:42 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:61 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/service/service_update.html:23 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/service/tags/services_table.html:42 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/unit/unit_list.html:34 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/unit/unit_update.html:22 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/uom/tags/uom_table.html:41 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/uom/uom_update.html:24 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html:63 -msgid "Update" -msgstr "تحديث" - #: templates/customers/view_customer.html:78 msgid "Visits" msgstr "الزيارات" @@ -3729,11 +3850,11 @@ msgstr "العروض" msgid "Default Address" msgstr "العنوان الافتراضي" -#: templates/dashboards/accounting.html:30 templates/index.html:83 +#: templates/dashboards/accounting.html:30 templates/index.html:86 msgid "inventory value" msgstr "قيمة المخزون" -#: templates/dashboards/accounting.html:34 templates/index.html:88 +#: templates/dashboards/accounting.html:34 templates/index.html:91 msgid "Profits" msgstr "الأرباح" @@ -3830,17 +3951,16 @@ msgid "New Appointment Request" msgstr "طلب موعد جديد" #: templates/email_sender/admin_new_appointment_email.html:54 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:54 msgid "Dear Admin," msgstr "عزيزي المسؤول،" #: templates/email_sender/admin_new_appointment_email.html:55 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:55 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:56 msgid "You have received a new appointment request. Here are the details:" msgstr "لقد تلقيت طلب موعد جديد. إليك التفاصيل:" #: templates/email_sender/admin_new_appointment_email.html:59 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:59 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:63 msgid "Service Requested" msgstr "الخدمة المطلوبة" @@ -3848,8 +3968,8 @@ msgstr "الخدمة المطلوبة" #: templates/email_sender/reminder_email.html:81 #: templates/email_sender/reschedule_email.html:65 #: templates/email_sender/reschedule_email.html:70 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:61 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:81 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:65 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:138 #: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reschedule_email.html:65 #: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reschedule_email.html:70 #: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2529 @@ -3857,24 +3977,24 @@ msgid "Time" msgstr "الوقت" #: templates/email_sender/admin_new_appointment_email.html:63 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:63 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:67 msgid "Contact Details" msgstr "تفاصيل الاتصال" #: templates/email_sender/admin_new_appointment_email.html:64 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:64 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:69 msgid "Additional Info" msgstr "معلومات إضافية" #: templates/email_sender/admin_new_appointment_email.html:67 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:67 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:73 msgid "Please review the appointment request and take the necessary action." msgstr "يرجى مراجعة طلب الموعد واتخاذ الإجراء اللازم." #: templates/email_sender/admin_new_appointment_email.html:70 #: templates/email_sender/reminder_email.html:93 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:70 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:93 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:79 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:156 msgid "" "This is an automated message. Please do not reply directly to this email." msgstr "هذه رسالة تلقائية. يرجى عدم الرد مباشرة على هذا البريد الإلكتروني." @@ -3882,35 +4002,36 @@ msgstr "هذه رسالة تلقائية. يرجى عدم الرد مباشرة #: templates/email_sender/reminder_email.html:7 #: templates/email_sender/reminder_email.html:68 #: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:7 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:68 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:115 msgid "Appointment Reminder" msgstr "تذكير بالموعد" #: templates/email_sender/reminder_email.html:73 #: templates/email_sender/reschedule_email.html:43 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:73 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/admin_new_appointment_email.html:54 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:120 #: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reschedule_email.html:43 msgid "Dear" msgstr "عزيزي/عزيزتي" #: templates/email_sender/reminder_email.html:75 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:75 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:122 msgid "Dear Administrator," msgstr "عزيزي المسؤول،" #: templates/email_sender/reminder_email.html:78 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:78 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:125 msgid "This is a reminder for your upcoming appointment." msgstr "هذه تذكرة بموعدك القادم." #: templates/email_sender/reminder_email.html:83 #: templates/inventory/car_detail.html:119 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:83 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:142 msgid "Location" msgstr "الموقع" #: templates/email_sender/reminder_email.html:85 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:85 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:148 msgid "" "If you need to reschedule, please click the button below or contact us for " "further assistance." @@ -3920,18 +4041,18 @@ msgstr "" #: templates/email_sender/reminder_email.html:86 #: templates/email_sender/thank_you_email.html:234 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:86 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:149 #: venv/lib/python3.11/site-packages/appointment/templates/email_sender/thank_you_email.html:234 msgid "Reschedule Appointment" msgstr "إعادة جدولة الموعد" #: templates/email_sender/reminder_email.html:87 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:87 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:150 msgid "Thank you for choosing us!" msgstr "شكرًا لاختيارك لنا!" #: templates/email_sender/reminder_email.html:89 -#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:89 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:152 msgid "" "Please ensure the appointment setup is complete and ready for the client." msgstr "يرجى التأكد من أن إعداد الموعد مكتمل وجاهز للعميل." @@ -4063,6 +4184,7 @@ msgid "Account Information" msgstr "معلومات الحساب" #: templates/email_sender/thank_you_email.html:214 +#: venv/lib/python3.11/site-packages/appointment/templates/email_sender/reminder_email.html:128 #: venv/lib/python3.11/site-packages/appointment/templates/email_sender/thank_you_email.html:214 msgid "Appointment Details" msgstr "تفاصيل الموعد" @@ -4375,16 +4497,6 @@ msgstr "المواصفات" msgid "view" msgstr "عرض" -#: templates/inventory/car_detail.html:90 -#: templates/inventory/car_detail.html:112 -#: templates/inventory/car_detail.html:128 -#: templates/inventory/car_detail.html:190 -#: templates/inventory/car_detail.html:234 -#: templates/inventory/car_location_form.html:10 -#: venv/lib/python3.11/site-packages/appointment/services.py:170 -msgid "Add" -msgstr "إضافة" - #: templates/inventory/car_detail.html:122 #: templates/inventory/car_inventory.html:92 msgid "Our Showroom" @@ -4505,7 +4617,7 @@ msgstr "هل أنت متأكد أنك تريد حجز هذه السيارة؟" #: templates/inventory/car_detail.html:473 msgid "Error loading form. Please try again later" -msgstr "" +msgstr "حدث خطأ أثناء تحميل النموذج. يرجى المحاولة مرة أخرى لاحقًا." #: templates/inventory/car_detail.html:511 #: templates/inventory/car_list.html:542 @@ -4578,7 +4690,8 @@ msgstr "حفظ والانتقال إلى المخزون" #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:301 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:321 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:333 -#: templates/modal/confirm_modal.html:18 templates/modal/error_modal.html:17 +#: templates/modal/confirm_modal.html:11 templates/modal/confirm_modal.html:20 +#: templates/modal/error_modal.html:17 #: templates/modal/event_details_modal.html:19 #: templates/partials/scanner_modal.html:6 #: templates/partials/specifications_modal.html:8 @@ -4806,7 +4919,7 @@ msgstr "إلى" #: templates/plans/order_detail_table.html:10 #: templates/sales/estimates/estimate_preview.html:294 #: templates/sales/estimates/sale_order_preview.html:265 -#: templates/sales/invoices/invoice_detail.html:238 +#: templates/sales/invoices/invoice_detail.html:242 msgid "VAT" msgstr "ضريبة القيمة المضافة" @@ -4861,10 +4974,10 @@ msgstr "شكرًا لاختيارك لنا. نحن نقدر عملك معنا." #: templates/inventory/transfer_preview.html:231 #: templates/ledger/bills/bill_detail.html:215 -#: templates/sales/estimates/estimate_detail.html:124 +#: templates/sales/estimates/estimate_detail.html:127 #: templates/sales/estimates/estimate_preview.html:275 #: templates/sales/estimates/sale_order_preview.html:243 -#: templates/sales/invoices/invoice_detail.html:217 +#: templates/sales/invoices/invoice_detail.html:219 msgid "Unit Price" msgstr "سعر الوحدة" @@ -5033,14 +5146,6 @@ msgstr "وضع علامة مدفوعة" msgid "Paid Amount" msgstr "المبلغ المدفوع" -#: templates/ledger/bills/bill_detail.html:104 -#: templates/sales/estimates/estimate_preview.html:265 -#: templates/sales/estimates/sale_order_preview.html:229 -#: templates/sales/invoices/invoice_detail.html:102 -#: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:974 -msgid "Terms" -msgstr "الشروط" - #: templates/ledger/bills/bill_detail.html:108 #: templates/sales/invoices/invoice_detail.html:106 msgid "Date Due" @@ -5081,7 +5186,7 @@ msgid "bill Status" msgstr "حالة الفاتورة" #: templates/ledger/bills/bill_detail.html:193 -#: templates/sales/estimates/estimate_detail.html:102 +#: templates/sales/estimates/estimate_detail.html:103 #: templates/sales/estimates/estimate_list.html:31 #: templates/sales/invoices/invoice_detail.html:195 #: templates/sales/invoices/invoice_list.html:38 @@ -5111,8 +5216,8 @@ msgid "Vat Amount" msgstr "مبلغ ضريبة القيمة المضافة" #: templates/ledger/bills/bill_detail.html:236 -#: templates/sales/estimates/estimate_detail.html:160 -#: templates/sales/invoices/invoice_detail.html:252 +#: templates/sales/estimates/estimate_detail.html:165 +#: templates/sales/invoices/invoice_detail.html:256 msgid "Grand Total" msgstr "الإجمالي" @@ -5309,22 +5414,22 @@ msgstr "بيان التدفقات النقدية" msgid "Download PDF" msgstr "تنزيل PDF" -#: templates/ledger/reports/components/period_navigator.html:41 +#: templates/ledger/reports/components/period_navigator.html:36 msgid "Quarter" msgstr "ربع السنة" -#: templates/ledger/reports/components/period_navigator.html:52 +#: templates/ledger/reports/components/period_navigator.html:47 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/components/period_navigator.html:26 msgid "Month" msgstr "الشهر" -#: templates/ledger/reports/components/period_navigator.html:67 +#: templates/ledger/reports/components/period_navigator.html:62 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/components/period_navigator.html:37 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/includes/widget_ic.html:17 msgid "thru" msgstr "عبر" -#: templates/ledger/reports/components/period_navigator.html:76 +#: templates/ledger/reports/components/period_navigator.html:71 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/components/period_navigator.html:41 msgid "Go To Current Month" msgstr "الذهاب إلى الشهر الحالي" @@ -6128,46 +6233,41 @@ msgstr "وضع كنشط" msgid "Create Sale Order" msgstr "إنشاء أمر بيع" -#: templates/sales/estimates/estimate_detail.html:49 -msgid "Preview Sale Order" -msgstr "عرض أمر البيع" - -#: templates/sales/estimates/estimate_detail.html:52 +#: templates/sales/estimates/estimate_detail.html:53 #: templates/sales/invoices/invoice_detail.html:72 msgid "Preview" msgstr "عرض" -#: templates/sales/estimates/estimate_detail.html:63 +#: templates/sales/estimates/estimate_detail.html:64 #: templates/sales/estimates/estimate_list.html:14 #: templates/sales/estimates/estimate_preview.html:261 #: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:247 msgid "Estimate Number" msgstr "رقم التقدير" -#: templates/sales/estimates/estimate_detail.html:73 +#: templates/sales/estimates/estimate_detail.html:74 msgid "Estimate Date" msgstr "تاريخ التقدير" -#: templates/sales/estimates/estimate_detail.html:97 +#: templates/sales/estimates/estimate_detail.html:98 msgid "Estimate Status" msgstr "حالة نموذج التقدير" -#: templates/sales/estimates/estimate_detail.html:106 +#: templates/sales/estimates/estimate_detail.html:107 msgid "completed" msgstr "مكتمل" -#: templates/sales/estimates/estimate_detail.html:108 +#: templates/sales/estimates/estimate_detail.html:109 msgid "canceled" msgstr "ملغى" -#: templates/sales/estimates/estimate_detail.html:140 +#: templates/sales/estimates/estimate_detail.html:145 msgid "Vat" msgstr "الضريبة" -#: templates/sales/estimates/estimate_form.html:5 -#: templates/sales/estimates/estimate_form.html:9 -msgid "Create Estimate" -msgstr "إنشاء تقدير" +#: templates/sales/estimates/estimate_form.html:34 +msgid "Add More" +msgstr "إضافة المزيد" #: templates/sales/estimates/estimate_list.html:17 #: templates/sales/invoices/invoice_list.html:18 @@ -6304,8 +6404,8 @@ msgid "Order Number" msgstr "رقم الطلب" #: templates/sales/orders/order_list.html:16 -msgid "For Estimate" -msgstr "للتقدير" +msgid "For Quotation" +msgstr "لعرض سعر" #: templates/sales/payments/payment_create.html:5 #: templates/sales/payments/payment_create.html:11 @@ -6896,7 +6996,7 @@ msgstr "" #: venv/lib/python3.11/site-packages/appointment/tests/test_views.py:905 #: venv/lib/python3.11/site-packages/appointment/tests/test_views.py:916 #: venv/lib/python3.11/site-packages/appointment/tests/test_views.py:926 -#: venv/lib/python3.11/site-packages/appointment/views.py:471 +#: venv/lib/python3.11/site-packages/appointment/views.py:475 msgid "The password reset link is invalid or has expired." msgstr "رابط إعادة تعيين كلمة المرور غير صالح أو انتهت صلاحيته." @@ -7067,8 +7167,8 @@ msgid "Name of your website." msgstr "اسم موقعك الإلكتروني." #: venv/lib/python3.11/site-packages/appointment/models.py:649 -#: venv/lib/python3.11/site-packages/appointment/views.py:193 -#: venv/lib/python3.11/site-packages/appointment/views.py:490 +#: venv/lib/python3.11/site-packages/appointment/views.py:196 +#: venv/lib/python3.11/site-packages/appointment/views.py:494 msgid "Offered by" msgstr "مقدم من" @@ -7201,12 +7301,12 @@ msgstr "يوجد مستخدم بهذا البريد الإلكتروني بال msgid "Service saved successfully." msgstr "تم حفظ الخدمة بنجاح." -#: venv/lib/python3.11/site-packages/appointment/tasks.py:33 +#: venv/lib/python3.11/site-packages/appointment/tasks.py:34 #: venv/lib/python3.11/site-packages/appointment/tests/test_tasks.py:40 msgid "Reminder: Upcoming Appointment" msgstr "تذكير: موعد قادم" -#: venv/lib/python3.11/site-packages/appointment/tasks.py:40 +#: venv/lib/python3.11/site-packages/appointment/tasks.py:41 #: venv/lib/python3.11/site-packages/appointment/tests/test_tasks.py:48 msgid "Admin Reminder: Upcoming Appointment" msgstr "تذكير للإدارة: موعد قادم" @@ -7215,6 +7315,18 @@ msgstr "تذكير للإدارة: موعد قادم" msgid "Appointment application" msgstr "تطبيق المواعيد" +msgid "A new appointment request has been received for" +msgstr "تم استلام طلب موعد جديد لـ" + +msgid "Here are the details:" +msgstr "فيما يلي التفاصيل:" + +msgid "Please ensure that" +msgstr "يرجى التأكد من أن" + +msgid "reviews this appointment request and takes the necessary action." +msgstr "يقوم بمراجعة طلب الموعد هذا واتخاذ الإجراءات اللازمة." + #: venv/lib/python3.11/site-packages/appointment/templates/error_pages/304_already_submitted.html:11 #: venv/lib/python3.11/site-packages/appointment/templates/error_pages/403_forbidden_rescheduling.html:100 msgid "Not authorized!" @@ -7279,8 +7391,8 @@ msgid "Service matching query does not exist" msgstr "الخدمة المطابقة للاستعلام غير موجودة" #: venv/lib/python3.11/site-packages/appointment/tests/test_views.py:162 -#: venv/lib/python3.11/site-packages/appointment/views.py:363 -#: venv/lib/python3.11/site-packages/appointment/views.py:396 +#: venv/lib/python3.11/site-packages/appointment/views.py:370 +#: venv/lib/python3.11/site-packages/appointment/views.py:394 msgid "Invalid verification code." msgstr "رمز التحقق غير صالح." @@ -7321,30 +7433,30 @@ msgid "Service deleted successfully!" msgstr "تم حذف الخدمة بنجاح!" #: venv/lib/python3.11/site-packages/appointment/tests/test_views.py:888 -#: venv/lib/python3.11/site-packages/appointment/views.py:455 +#: venv/lib/python3.11/site-packages/appointment/views.py:459 msgid "Password reset successfully." msgstr "تمت إعادة تعيين كلمة المرور بنجاح." #: venv/lib/python3.11/site-packages/appointment/tests/test_views.py:949 -#: venv/lib/python3.11/site-packages/appointment/views.py:157 -#: venv/lib/python3.11/site-packages/appointment/views.py:167 +#: venv/lib/python3.11/site-packages/appointment/views.py:160 +#: venv/lib/python3.11/site-packages/appointment/views.py:170 msgid "No staff member selected" msgstr "لم يتم اختيار أي عضو من الفريق" #: venv/lib/python3.11/site-packages/appointment/tests/test_views.py:960 -#: venv/lib/python3.11/site-packages/appointment/views.py:164 +#: venv/lib/python3.11/site-packages/appointment/views.py:167 msgid "Successfully retrieved non-working days" msgstr "تم استرجاع أيام الإجازة بنجاح" #: venv/lib/python3.11/site-packages/appointment/tests/test_views.py:1115 -#: venv/lib/python3.11/site-packages/appointment/views.py:255 -#: venv/lib/python3.11/site-packages/appointment/views.py:549 +#: venv/lib/python3.11/site-packages/appointment/views.py:258 +#: venv/lib/python3.11/site-packages/appointment/views.py:553 msgid "" "There was an error in your submission. Please check the form and try again." msgstr "حدث خطأ في تقديمك. يرجى التحقق من النموذج والمحاولة مرة أخرى." -#: venv/lib/python3.11/site-packages/appointment/tests/utils/test_email_ops.py:182 -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:196 +#: venv/lib/python3.11/site-packages/appointment/tests/utils/test_email_ops.py:144 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:250 msgid "Confirm Your Appointment Rescheduling" msgstr "تأكيد إعادة جدولة موعدك" @@ -7394,7 +7506,7 @@ msgstr "{first_part} و {second_part}" msgid "{days}, {hours} and {minutes}" msgstr "{days}، {hours} و {minutes}" -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:71 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:76 msgid "" "To enhance your experience, we have created a personalized account for you. " "It will allow you to manage your appointments, view service details, and " @@ -7403,15 +7515,15 @@ msgstr "" "لتعزيز تجربتك، قمنا بإنشاء حساب مخصص لك. سيمكنك ذلك من إدارة مواعيدك، وعرض " "تفاصيل الخدمات، وإجراء أي تعديلات ضرورية بسهولة." -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:85 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:94 msgid "Appointment successfully scheduled" msgstr "تم جدولة الموعد بنجاح" -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:89 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:98 msgid "Thank you for booking us." msgstr "شكرًا لحجزك معنا." -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:110 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:120 #, python-brace-format msgid "" "\n" @@ -7454,25 +7566,26 @@ msgstr "" " {company}\n" " " -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:131 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:141 msgid "No additional details provided." msgstr "لم يتم تقديم تفاصيل إضافية." -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:138 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:148 #, python-brace-format msgid "Set Your Password for {company}" msgstr "قم بتعيين كلمة المرور الخاصة بك لـ {company}" -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:151 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:188 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:206 msgid "New Appointment Request for " msgstr "طلب موعد جديد لـ " -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:172 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:226 #, python-brace-format msgid "Your verification code is {code}." msgstr "رمز التحقق الخاص بك هو {code}." -#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:223 +#: venv/lib/python3.11/site-packages/appointment/utils/email_ops.py:281 msgid "Reschedule Request for " msgstr "طلب إعادة جدولة لـ " @@ -7481,78 +7594,78 @@ msgstr "طلب إعادة جدولة لـ " msgid "Email '{email}' already exists. Login to your account." msgstr "البريد الإلكتروني '{email}' موجود بالفعل. يرجى تسجيل الدخول إلى حسابك." -#: venv/lib/python3.11/site-packages/appointment/views.py:82 +#: venv/lib/python3.11/site-packages/appointment/views.py:85 msgid "Day off. Please select another date!" msgstr "يوم عطلة. يرجى اختيار تاريخ آخر!" -#: venv/lib/python3.11/site-packages/appointment/views.py:91 +#: venv/lib/python3.11/site-packages/appointment/views.py:94 #, python-brace-format msgid "Not a working day for {staff_member}. Please select another date!" msgstr "ليس يوم عمل لـ {staff_member}. يرجى اختيار تاريخ آخر!" -#: venv/lib/python3.11/site-packages/appointment/views.py:105 +#: venv/lib/python3.11/site-packages/appointment/views.py:108 msgid "No availability" msgstr "لا توجد مواعيد متاحة" -#: venv/lib/python3.11/site-packages/appointment/views.py:152 +#: venv/lib/python3.11/site-packages/appointment/views.py:155 msgid "Successfully retrieved next available date" msgstr "تم استرجاع التاريخ المتاح التالي بنجاح" -#: venv/lib/python3.11/site-packages/appointment/views.py:210 +#: venv/lib/python3.11/site-packages/appointment/views.py:213 #, python-brace-format msgid "Book an appointment for {s} at {wn}." msgstr "احجز موعدًا لـ {s} في {wn}." -#: venv/lib/python3.11/site-packages/appointment/views.py:243 +#: venv/lib/python3.11/site-packages/appointment/views.py:246 msgid "Selected staff member does not exist." msgstr "عضو الفريق المحدد غير موجود." -#: venv/lib/python3.11/site-packages/appointment/views.py:329 +#: venv/lib/python3.11/site-packages/appointment/views.py:335 msgid "An account was created for you." msgstr "تم إنشاء حساب لك." -#: venv/lib/python3.11/site-packages/appointment/views.py:360 +#: venv/lib/python3.11/site-packages/appointment/views.py:367 msgid "Email verified successfully." msgstr "تم التحقق من البريد الإلكتروني بنجاح." -#: venv/lib/python3.11/site-packages/appointment/views.py:429 +#: venv/lib/python3.11/site-packages/appointment/views.py:427 msgid "Username" msgstr "اسم المستخدم" -#: venv/lib/python3.11/site-packages/appointment/views.py:443 +#: venv/lib/python3.11/site-packages/appointment/views.py:447 msgid "Please try resetting your password again or contact support for help." msgstr "" "يرجى محاولة إعادة تعيين كلمة المرور مرة أخرى أو الاتصال بالدعم للحصول على " "المساعدة." -#: venv/lib/python3.11/site-packages/appointment/views.py:459 +#: venv/lib/python3.11/site-packages/appointment/views.py:463 msgid "Password Reset Successful" msgstr "تمت إعادة تعيين كلمة المرور بنجاح" -#: venv/lib/python3.11/site-packages/appointment/views.py:461 +#: venv/lib/python3.11/site-packages/appointment/views.py:465 msgid "You can now use your new password to log in." msgstr "يمكنك الآن استخدام كلمة المرور الجديدة لتسجيل الدخول." -#: venv/lib/python3.11/site-packages/appointment/views.py:496 +#: venv/lib/python3.11/site-packages/appointment/views.py:500 #, python-brace-format msgid "Rescheduling appointment for {s}" msgstr "إعادة جدولة الموعد لـ {s}" -#: venv/lib/python3.11/site-packages/appointment/views.py:497 +#: venv/lib/python3.11/site-packages/appointment/views.py:501 #, python-brace-format msgid "Reschedule your appointment for {s} at {wn}." msgstr "قم بإعادة جدولة موعدك لـ {s} في {wn}." -#: venv/lib/python3.11/site-packages/appointment/views.py:541 -#: venv/lib/python3.11/site-packages/appointment/views.py:589 +#: venv/lib/python3.11/site-packages/appointment/views.py:545 +#: venv/lib/python3.11/site-packages/appointment/views.py:593 msgid "Appointment rescheduled successfully" msgstr "تمت إعادة جدولة الموعد بنجاح" -#: venv/lib/python3.11/site-packages/appointment/views.py:560 +#: venv/lib/python3.11/site-packages/appointment/views.py:564 msgid "O-o-oh! This link is no longer valid." msgstr "أوه! هذا الرابط لم يعد صالحًا." -#: venv/lib/python3.11/site-packages/appointment/views.py:561 +#: venv/lib/python3.11/site-packages/appointment/views.py:565 msgid "O-o-oh! Can't find the pending reschedule request." msgstr "أوه! لا يمكن العثور على طلب إعادة الجدولة المعلق." @@ -7605,21 +7718,6 @@ msgstr "تم تحديث البريد الإلكتروني بنجاح!" msgid "The verification code provided is incorrect. Please try again." msgstr "رمز التحقق المقدم غير صحيح. يرجى المحاولة مرة أخرى." -#: venv/lib/python3.11/site-packages/appointment/views_admin.py:429 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_create.html:22 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_create.html:33 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/estimate_create.html:22 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/expense/expense_create.html:23 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/inventory/inventory_item_create.html:23 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_create.html:38 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/product/product_create.html:24 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/po_create.html:27 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/service/service_create.html:24 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/unit/unit_create.html:22 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/uom/uom_create.html:24 -msgid "Create" -msgstr "إنشاء" - #: venv/lib/python3.11/site-packages/appointment/views_admin.py:477 msgid "View Service" msgstr "عرض الخدمة" @@ -7632,11 +7730,7 @@ msgstr "تم حذف الموعد بنجاح." msgid "User is a superuser." msgstr "المستخدم هو مشرف عام." -#: venv/lib/python3.11/site-packages/appointments/settings.py:133 -msgid "Spanish" -msgstr "الإسبانية" - -#: venv/lib/python3.11/site-packages/appointments/settings.py:134 +#: venv/lib/python3.11/site-packages/appointments/settings.py:137 msgid "French" msgstr "الفرنسية" @@ -8394,10 +8488,6 @@ msgstr "معرّف فريد عالمي" msgid "File" msgstr "الملف" -#: venv/lib/python3.11/site-packages/django/db/models/fields/files.py:420 -msgid "Image" -msgstr "الصورة" - #: venv/lib/python3.11/site-packages/django/db/models/fields/json.py:24 msgid "A JSON object" msgstr "كائن JSON" @@ -12166,15 +12256,3 @@ msgstr "س" #: venv/lib/python3.11/site-packages/sympy/solvers/simplex.py:565 msgid "y" msgstr "ص" - -#~ msgid "Inventory Statistics" -#~ msgstr "إحصائيات المخزون" - -#~ msgid "Car Transfer Cancel" -#~ msgstr "إلغاء نقل السيارة" - -#~ msgid "Return" -#~ msgstr "عودة" - -#~ msgid "Net prices" -#~ msgstr "الأسعار الصافية" diff --git a/templates/administration/manage_service.html b/templates/administration/manage_service.html index 26755ce0..c3ad8892 100644 --- a/templates/administration/manage_service.html +++ b/templates/administration/manage_service.html @@ -63,7 +63,7 @@

{{ form.down_payment|add_class:"form-control form-control-sm" }} -
{{ form.down_payment.errors }} diff --git a/templates/crm/add_note.html b/templates/crm/add_note.html deleted file mode 100644 index cfc812f0..00000000 --- a/templates/crm/add_note.html +++ /dev/null @@ -1,10 +0,0 @@ -{% extends 'base.html' %} -{% load i18n static crispy_forms_filters %} -{% block content %} -

Add Note to {{ lead.first_name }} {{ lead.last_name }}

-
- {% csrf_token %} - {{ form|crispy }} - -
-{% endblock %} \ No newline at end of file diff --git a/templates/crm/leads/lead_detail.html b/templates/crm/leads/lead_detail.html index 8a911b08..51894d86 100644 --- a/templates/crm/leads/lead_detail.html +++ b/templates/crm/leads/lead_detail.html @@ -1,540 +1,631 @@ {% extends 'base.html' %} {% load i18n static %} {% block content %} -
-
-
-
-

{{ _("Lead Details")}}

-
-
-
-
- -
-
-
-
+
+
+
+
+

{{ _("Lead Details")}}

+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+

{{ _("Lead Details")}}

+ +
+
+
+
+
+

{{ lead.first_name }} {{ lead.last_name }}

+ {% if lead.staff %} +

{{ _("Assigned to")}}: {{ lead.staff.user.get_full_name }}

+ {% else %} +

{{ _("Not Assigned")}}

+ {% endif %}
+
+ +
{{ _("Status")}} + {% if lead.status == "new" %} + {{_("New")}} + {% elif lead.status == "pending" %} + {{_("Pending")}} + {% elif lead.status == "in_progress" %} + {{_("In Progress")}} + {% elif lead.status == "qualified" %} + {{_("Qualified")}} + {% elif lead.status == "canceled" %} + {{_("Canceled")}} + {% endif %} +
+
-
-
-
-
-
-

{{ _("Lead Details")}}

- -
-
-
-
-
-

{{ lead.first_name }} {{ lead.last_name }}

- {% if lead.staff %} -

{{ _("Assigned to")}}: {{ lead.staff.user.get_full_name }}

- {% else %} -

{{ _("Not Assigned")}}

- {% endif %} -
-
- -
{{ _("Status")}} - {% if lead.status == "new" %} - {{_("New")}} - {% elif lead.status == "pending" %} - {{_("Pending")}} - {% elif lead.status == "in_progress" %} - {{_("In Progress")}} - {% elif lead.status == "qualified" %} - {{_("Qualified")}} - {% elif lead.status == "canceled" %} - {{_("Canceled")}} - {% endif %} -
-
-
+
+
+
+
+ +
+
+
+

{{ _("Activities") }} ({{ activities.count}})

+
+
+
+
+ {% for activity in activities %} +
+
+
+
+
+ {% if activity.activity_type == "call" %} + + {% elif activity.activity_type == "email" %} + + {% elif activity.activity_type == "visit" %} + + {% elif activity.activity_type == "whatsapp" %} + + {% endif %} +
+ {% if forloop.last %} + + {% else %} + + {% endif %} +
+
+
+
+
+
{{ activity.activity_type|capfirst }}
+
+

{{ activity.created }}

+
+
{{ _("by") }} {{ activity.created_by.staff.user.get_full_name }}
+

{{ activity.notes }}

+
+
+
+ {% endfor %} +
+
+
+
+
+
+

{{ _("Notes") }}

+
+ +
+
+ + + + + + + + + + + {% for note in notes %} + -
-
-
-
-
{{ _("Email") }}
-
{{ lead.email }} -
-
-
-
{{ _("Phone") }}
-
{{ lead.phone_number}} -
-
-
-
{{ _("Salary")}}
-
-

{{lead.salary}}

-
-
-
-
{{ _("Created")}}
-
-

{{ lead.created|date }}

-
-
-
-
{{ _("Lead Source")}}
-
-

{{ lead.source|upper }}

-
-
-
-
{{ _("Lead Channel")}}
-
-

{{ lead.channel|upper }}

-
-
-
-
{{ _("Address") }}
-
-

{{ lead.address}}

-
-
-
-
{{ _("City") }}
-
-

{{ lead.city }}

-
-
+
+ + {% if note.created_by.staff %} + + {% else %} + + {% endif %} + + + + {% endfor %} + +
{{ _("Note") }}{{ _("Created By")}}{{ _("Created On")}}
{{note.note}}{{ note.created_by.staff.name }}{{ note.created_by.dealer.get_local_name }}{{ note.created }} + {% if note.created_by == request.user %} + "> + + + + {% endif %} +
+
+
+
+
+
+

{{ _("Emails") }}

+
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
SubjectSent byDateActionStatus
+
+ +
+
Quary about purchased soccer socks +
jackson@mail.com
+
Jackson PollockDec 29, 2021 10:23 amCallsent
+
+ +
+
How to take the headache out of Order +
ansolo45@mail.com
+
Ansolo LazinatovDec 27, 2021 3:27 pmCalldelivered
+
+ +
+
The Arnold Schwarzenegger of Order +
ansolo45@mail.com
+
Ansolo LazinatovDec 24, 2021 10:44 amCallBounce
+
+ +
+
My order is not being taken +
jackson@mail.com
+
Jackson PollockDec 19, 2021 4:55 pmCallSpam
+
+ +
+
Shipment is missing +
jackson@mail.com
+
Jackson PollockDec 19, 2021 2:43 pmCallsent
+
+ +
+
How can I order something urgently? +
ansolo45@mail.com
+
Jackson PollockDec 19, 2021 2:43 pmCallDelivered
+
+ +
+
How the delicacy of the products will be handled? +
ansolo45@mail.com
+
Ansolo LazinatovDec 16, 2021 5:18 pmCallbounced
+
+
+ +
+ +
    +
    -
    -
    - - -
    -
    -
    -

    {{ _("Activities") }} ({{ activities.count}})

    -
    - {% for activity in activities %} -
    -
    -
    -

    {{ activity.activity_type|capfirst }}

    -

    {{ _("by") }}: {{ activity.created_by.staff.user.get_full_name }}

    -

    {{ _("on") }}: {{ activity.created }}

    -
    -
    -
    - {% endfor %} -
    -
    -
    -

    {{ _("Notes") }}

    -
    - -
    -
    - - - - - - - - - - - {% for note in notes %} - - - {% if note.created_by.staff %} - - {% else %} - - {% endif %} - - - - {% endfor %} - -
    {{ _("Note") }}{{ _("Created By")}} - {{ _("Created On")}}
    {{note.note}}{{ note.created_by.staff.name }}{{ note.created_by.dealer.get_local_name }}{{ note.created }} - -
    -
    -
    -
    - -
    -
    -

    Emails

    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    SubjectSent byDateActionStatus
    -
    - -
    -
    Quary about purchased soccer socks -
    jackson@mail.com
    -
    Jackson PollockDec 29, 2021 10:23 amCallsent
    -
    - -
    -
    How to take the headache out of Order -
    ansolo45@mail.com
    -
    Ansolo LazinatovDec 27, 2021 3:27 pmCalldelivered
    -
    - -
    -
    The Arnold Schwarzenegger of Order -
    ansolo45@mail.com
    -
    Ansolo LazinatovDec 24, 2021 10:44 amCallBounce
    -
    - -
    -
    My order is not being taken -
    jackson@mail.com
    -
    Jackson PollockDec 19, 2021 4:55 pmCallSpam
    -
    - -
    -
    Shipment is missing -
    jackson@mail.com
    -
    Jackson PollockDec 19, 2021 2:43 pmCallsent
    -
    - -
    -
    How can I order something urgently? -
    ansolo45@mail.com
    -
    Jackson PollockDec 19, 2021 2:43 pmCallDelivered
    -
    - -
    -
    How the delicacy of the products will be handled? -
    ansolo45@mail.com
    -
    Ansolo LazinatovDec 16, 2021 5:18 pmCallbounced
    -
    -
    - -
    - -
      - -
      -
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +
      - -
      -
      -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -
      - -
      -
      SubjectSent byDateActionStatus
      -
      - -
      -
      Quary about purchased soccer socks -
      jackson@mail.com
      -
      Jackson PollockDec 29, 2021 10:23 amCallsent
      -
      - -
      -
      How to take the headache out of Order -
      ansolo45@mail.com
      -
      Ansolo LazinatovDec 27, 2021 3:27 pmCalldelivered
      -
      - -
      -
      The Arnold Schwarzenegger of Order -
      ansolo45@mail.com
      -
      Ansolo LazinatovDec 24, 2021 10:44 amCallBounce
      -
      - -
      -
      My order is not being taken -
      jackson@mail.com
      -
      Jackson PollockDec 19, 2021 4:55 pmCallSpam
      -
      - -
      -
      Shipment is missing -
      jackson@mail.com
      -
      Jackson PollockDec 19, 2021 2:43 pmCallsent
      -
      -
      - -
      - -
        - -
        -
        +
        SubjectSent byDateActionStatus
        +
        +
        - -
        -
        -
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        -
        - -
        -
        SubjectSent byDateActionStatus
        -
        - -
        -
        Quary about purchased soccer socks -
        jackson@mail.com
        -
        Jackson PollockDec 29, 2021 10:23 amCallsent
        -
        - -
        -
        How to take the headache out of Order -
        ansolo45@mail.com
        -
        Ansolo LazinatovDec 27, 2021 3:27 pmCalldelivered
        -
        - -
        -
        The Arnold Schwarzenegger of Order -
        ansolo45@mail.com
        -
        Ansolo LazinatovDec 24, 2021 10:44 amCallBounce
        -
        - -
        -
        My order is not being taken -
        jackson@mail.com
        -
        Jackson PollockDec 19, 2021 4:55 pmCallSpam
        -
        -
        - -
        - -
          - -
          -
          +
          Quary about purchased soccer socks +
          jackson@mail.com
          +
          Jackson PollockDec 29, 2021 10:23 amCallsent
          +
          +
          - - - +
          How to take the headache out of Order +
          ansolo45@mail.com
          +
          Ansolo LazinatovDec 27, 2021 3:27 pmCalldelivered
          +
          + +
          +
          The Arnold Schwarzenegger of Order +
          ansolo45@mail.com
          +
          Ansolo LazinatovDec 24, 2021 10:44 amCallBounce
          +
          + +
          +
          My order is not being taken +
          jackson@mail.com
          +
          Jackson PollockDec 19, 2021 4:55 pmCallSpam
          +
          + +
          +
          Shipment is missing +
          jackson@mail.com
          +
          Jackson PollockDec 19, 2021 2:43 pmCallsent
          +
          +
          + +
          + +
            + +
            +
            +
            +
            +
            +
            +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
            + +
            +
            SubjectSent byDateActionStatus
            +
            + +
            +
            Quary about purchased soccer socks +
            jackson@mail.com
            +
            Jackson PollockDec 29, 2021 10:23 amCallsent
            +
            + +
            +
            How to take the headache out of Order +
            ansolo45@mail.com
            +
            Ansolo LazinatovDec 27, 2021 3:27 pmCalldelivered
            +
            + +
            +
            The Arnold Schwarzenegger of Order +
            ansolo45@mail.com
            +
            Ansolo LazinatovDec 24, 2021 10:44 amCallBounce
            +
            + +
            +
            My order is not being taken +
            jackson@mail.com
            +
            Jackson PollockDec 19, 2021 4:55 pmCallSpam
            +
            +
            + +
            + +
              + +
              +
              +
              +
              +
              +
              + + + {% endblock %} diff --git a/templates/crm/leads/schedule_lead.html b/templates/crm/leads/schedule_lead.html index 3da74aa4..2b4032be 100644 --- a/templates/crm/leads/schedule_lead.html +++ b/templates/crm/leads/schedule_lead.html @@ -2,7 +2,7 @@ {% load i18n static crispy_forms_filters %} {% block content %} -

              {% if object %}{{ _("Update") }}{% else %}{{ _("Create") }}{% endif %}

              +

              {% if object %}{{ _("Update") }}{% else %}{{ _("Create") }}{% endif %}

              {% csrf_token %} {{ form|crispy }} diff --git a/templates/crm/note_form.html b/templates/crm/note_form.html new file mode 100644 index 00000000..2539d25c --- /dev/null +++ b/templates/crm/note_form.html @@ -0,0 +1,17 @@ +{% load i18n static crispy_forms_filters %} + +{% if form.instance.pk %} + + {% else %} + + {% endif %} + + {% csrf_token %} + {{ form|crispy }} + + {% if form.instance.pk %} + + {% else %} + + {% endif %} +
              diff --git a/templates/crm/opportunities/opportunity_list.html b/templates/crm/opportunities/opportunity_list.html index d80c2c7d..b6cf0c5c 100644 --- a/templates/crm/opportunities/opportunity_list.html +++ b/templates/crm/opportunities/opportunity_list.html @@ -8,7 +8,7 @@

              {{ _("Opportunities") }}

              @@ -104,16 +104,16 @@

              {{ _("Probability") }}: %

              {% if opportunity.probability >= 25 and opportunity.probability < 49 %} -
              - {{ opportunity.probability }} +
              + {{ opportunity.probability }}
              {% elif opportunity.probability >= 50 and opportunity.probability <= 74 %} -
              - {{ opportunity.probability }} +
              + {{ opportunity.probability }}
              {% elif opportunity.probability >= 75 and opportunity.probability <= 100 %} -
              - {{ opportunity.probability }} +
              + {{ opportunity.probability }}
              {% endif %}
              diff --git a/templates/customers/customer_list.html b/templates/customers/customer_list.html index b39b42bd..b35fd786 100644 --- a/templates/customers/customer_list.html +++ b/templates/customers/customer_list.html @@ -11,7 +11,7 @@ diff --git a/templates/inventory/car_detail.html b/templates/inventory/car_detail.html index b4971e64..f559c61d 100644 --- a/templates/inventory/car_detail.html +++ b/templates/inventory/car_detail.html @@ -364,7 +364,7 @@
              -