From 0467bcc6f65aaea33c0d9a951e9465ae2e3dcfa4 Mon Sep 17 00:00:00 2001 From: Alaguraj0361 Date: Thu, 18 Jun 2026 20:29:05 +0530 Subject: [PATCH] Bypass availability checks for rental products as per request and update inquiry text in templates --- .../__pycache__/main.cpython-310.pyc | Bin 7361 -> 7112 bytes addons/event_rental/controllers/main.py | 16 +++--- .../event_rental_request.cpython-310.pyc | Bin 12013 -> 11271 bytes .../models/event_rental_request.py | 53 ++++-------------- .../views/website_templates.xml | 8 +-- 5 files changed, 20 insertions(+), 57 deletions(-) diff --git a/addons/event_rental/controllers/__pycache__/main.cpython-310.pyc b/addons/event_rental/controllers/__pycache__/main.cpython-310.pyc index a9aac523330ae27cb40599de03ad5816525fb965..953e2e37a2834d103466fc3ad22c6830bbd68926 100644 GIT binary patch delta 897 zcmYL_O=uHA6vt;aX_}--Otwij$)+FHY8%`1LlIFd7J5)n3MRGH9t@?kMnaqD?AFpU z>4&MbRthbHf?73u5D|KjfCoLtF7A%PKwk0mS-@JM6|DTz+?@xU^=`DD@ zZX`a>_v5+s*WS}kUtH{bA})x~2l-_u!O6;7=LlZRIY|p?W%bu>SxgR+whgHmW?}ue zfpRv|97ScjiOP-4!RnclxtNLkQYyEI8_+P^sS&(^|j~pgPwi|?6vD6(k zwIb9Z5q`4RxotBsMocb;OjL{*;j+Ra!Vu1;|krCGAX@NtgAAn5F5iY2a9R zNPxwJCP{igCC*lI5yMYUr^dq}{akbe$zQMo>U5DW$Cb*PU;^V&{w*{%FfFQy zI+_$q)j3(1$r~EgX+LP^0Cxpm;i@Z>nVg!?^-PA!P;LaQawELpSrh39RiKdKf5XrG zqmW(!Gy^vHj*@hwA?5t5vgHTEULP)}_xMtz3vcnANLM>tS@ou@xl`8I2JHh8JcGIb z4=THn7G*%77RAvD(yqA5v@H6_I@sp?d_J$Rh>a9xO*?Oretq(E|UeP6r-|P1TjvjEjYA RR-<%@PsCgBium(`{{S#6=0yMi delta 1103 zcmYjQO>7%Q6rS0Qw@&;M|E=w{V`oT7Q`01rB7{IlloJR_pg1VNB{H6kW7kjmZ@%|^Z=OcGKRkZ- ziC8BVn?mrsdw;3b_%`-rI9`Tb9O4BCcSpV&rufq6yYMRB^|B&6OpCP02-DZSoXCm9 z6~zAH(>y_E`&gK*j7W&whMq-zd<%2b(kZdfaKcBeFnxf|iBlVT1Jl#=!P}ab7x_c% zX8*4mn!*sLL|9CUDLOw0`Pj<`^)htXg*G6_x3d34U6;wu$j-$=bDe#P!&xeK68kB-(%#JFuL&=MV>CS zVU#9)e2Cc~7)KwU6ynCewZ42Ya%Q0O^KOM~bXZV#?Y3R#z|tDG-DUEU)9#UZmvo&bcS()eBwg<^bu{oN z-Q~}*^SM{x(>e-W-Rw9vdsgL!%b9JDF2vgym*tn!`(~=XY1gl;kA2NH48msR>BKXU zX=TvCP$^5E@Jlh;-P-D{kEc9}ogB5k&3iJFtWJ60cn-q-QEn%z({VkH!&(@_d!K}i z(Y@p^*iagFYxH&cBF2~H@0m61$fwPMAr!wa*Uch6kT=bp=zBn{vYeu;GL-!yaapCW zDNuh7JCvjBlCi4NkL7RK4-?98Tz6FVzTC^5!ym~Jppd`j@{xT-Pb#=G(((mt1RXna z&YC+O>l69B)t_;dViBMcVoNH2LxHcrlYdwT%T-8MR#qyLtgpzo6uhnAK!L8{9R*)0 z_(uAL(&7gyO)J;~_zA*|0)$ai%S=Ua%1Ys&QZd<8`DbA(Ie_ZXWW(l{I*o?SSYK`y LXYrogFJAly6fi5_ diff --git a/addons/event_rental/controllers/main.py b/addons/event_rental/controllers/main.py index f45f979..55f1802 100644 --- a/addons/event_rental/controllers/main.py +++ b/addons/event_rental/controllers/main.py @@ -124,14 +124,14 @@ class EventRentalController(http.Controller): if not product: raise ValueError(_("Invalid rental product selected.")) - # Availability checking - dummy_request = request.env['event.rental.request'].sudo() - available_qty = dummy_request.check_availability(start_date, end_date, product) - - if available_qty < quantity: - raise ValueError(_("Product '%s' is not available in the quantity requested (%s) for the selected dates. Only %s units are currently available.") % ( - product.name, quantity, available_qty - )) + # Availability checking bypassed per request + # dummy_request = request.env['event.rental.request'].sudo() + # available_qty = dummy_request.check_availability(start_date, end_date, product) + # + # if available_qty < quantity: + # raise ValueError(_("Product '%s' is not available in the quantity requested (%s) for the selected dates. Only %s units are currently available.") % ( + # product.name, quantity, available_qty + # )) # Find or create partner partner = request.env['res.partner'].sudo().search([('email', '=', customer_email)], limit=1) diff --git a/addons/event_rental/models/__pycache__/event_rental_request.cpython-310.pyc b/addons/event_rental/models/__pycache__/event_rental_request.cpython-310.pyc index a6a82293840da593e9046ad9f42cd075753d6517..b7941b4aef67e9c6c89c8e3aa1499a3832fcf8b2 100644 GIT binary patch delta 2204 zcma)7U2Gdg5Wcm2_W3t)+{B6FB+eg=o75#m{Hcn7HWa9uQrd_g(bm0qFX3GK?ChPJ z#5l=AK;sr1i{m}y_0~21dxHRo$HZm|17$L)aG_bQy1OkDv z35MU@KjbnLP*A*JeD=fy8;ew(Yv9%x>1*WOmP)yYZRZTUNn7m(B zGxC6%QH`;LC${n%0*AuHONmFAAB4EbeDKHm08B~IXp+i?VtVo{M++$^U`F=21I+w4#WyjlU`wWY#aj+sTT<)I~Y6Cl@@Xf3Uy5jay<$;B?0 zT)pXfnDEnj8lARTq$oIRm?E@s8jLhNPSiAkdwUuKwDb^E!vf?qjX@$ebG7<%KdZs3 z&mfE=Odw1G6a$Z0DZQzn8@a5)AVaMzv8Y)fn7&jlo0qk*q$Xz-NGpRWiV?T76c2?5 z$tW*|o5{e^Y`8!s8%>X*=>?`FbDF}Q#x-0BPJ|Q!rY3tCK|#ReWE5c#;S~g|7}KUw zD-P4I%NcOTsKTHS*eFg)!v$G0pv>4o{Pa;(&u8SZWHm-;)fO8;Pdg9}@VDx=NK&}~ z4DO56ifj)|@V3a7;1mct1CT@~@e!w&Pe=9=2fr4{lNp|@@AAI}lZ$pX2Y+myzh2)- zF7eOnr<^mW;Jh#TxP+9rlg;tDXe~ib15ZXIi7FX&zrw!fKSmEY4*{pRj?2*ypK54u zq6u5%bM-MPucr1D@;?jw>xKz(i1#(#cWbuAk6q?BB%cJ}=jt2z#l}YW+wc(=x3L-i zXJgwfdM$sbsnYug(%%6nw(#YK2sfHqZZkOA)N;GQm8OvQ`b~p&G*}A9w%VfBraa|q zv98a$B`YVWXgKHee1d{BkQJb-mmHCS4NHU zEjxOl`>`i+{r3>CEwT~*d+P=`{qDBrt|O>;7r+dz9Oqb4H{`)V%mt2m*T!5fqsSVQ z`9#~jPgx07M5_Y`#}JMqoIrRV;S|CW!UqVr1Jj>OrZUjyQ%WY2Oj@nF3PQ)j2OO2`J6y99aJ9EO_#2uavIf5dsZIh z2Rj;Du`q5tHkj?EL<>wd)SPCDaFP(i54_tK5--DCEB~ouv-=H@ta{?a9pT&K9pRfA z)(>-wwsHyWvFxsZW<5U^@8tovzjYOSl>}(c;y9tu*OS7qjSBdRZtG{yqvK!DDzpsZ z{je_`GfJ{a#PK)(W=-eb(@6Og;S9oO2xk%O2wxyr`^Lj$Um^TEHg*nmyAbdJXXg=c zYYgLL%lt$l>|_@}uH_@0tH}j^wDYX*Tb#QH(9gbG%67Gr#Q%-M%Iz=tnYEk6t6<;5 ry@_UWm9I_g2!0ITrh7;+w&sS06vj^TR}*zkT$){lFgDnOHSPZZ)4fOY delta 2981 zcma)8eQaA-6@T}A`T5&vn#4|==Gm*0xalIc(P?Pw&}i2|w0^J#${3yZ>id$~ah{#~ zp3@|Ht~W9$5(@?HK$;e54nnX>3~8hVhJaDTe|!z`2jWRXbnFih+Sni4G)0rfIX7vN ziGQ$lf4=wJ^Lg(%=las;-Z-16$Kw$RKDqCWRnOe}V&YFCem&^?GeQ zVs3rdIK&f#8mvy6Wp5f5(#0po?+YSZlv0Imki$z|%${r7t_RC;*R#B)8^{%>sIfah zfZc`gF)0ps4^BT0u))U*z3mNh&qntyS=*r{YI*hsxtHA!TuXB9Fgps9z?f@Vj#u#( zi{U`^78`aD|4)v(H7KG11>)~Yx`SAE`QH85Clrc1SoW4l3&*{;pzZCV1? z`1RyyejjL!X)1{*D$(VL9wP>P)%R6BMN)EtBxL@d}Xtsr%tcV)YIx@(AB=67{{LF8f-HbgESkRcbPj7VQZ-IBs>3P)X-sH{8Y?ogxaFH1og~asjWfv8I0KG_K|Rc2bivpI zqnk!nHOOy}^QBT03dR8HUKj?At|~2bJ4Rzr2uWWBzP1KwFO_jEN@ED3Rt`pr?oevoMW1H(LHN2R3sYR(W!$ocxHW`(x%-a zhP^vVU?U?`{9UNnOM5^CvhP*_P6-tmaH;oyHFWxEA5GKDs=QVFvFZTrrvo$#XKMJy z*9lX7qnh>a!-E;5`&MLe(132XqH)%XNqu4l5o>~BJ7t#vmJ$zOgE5aZU9UcC zGw3a%3IuBn7=l>2KHIRI#gb#q+ED!-vu&@auyg$C-YIf{5A@`SwSKs#N!mj}#CF^! zvrBcyW}ihHAq4E=?5haa9@v)G(nz0{#KvCAMFp3_xM!*CGs49v;UBeZ0yI} z%$P=_Ql4oxB*H&Ea1nN28Mt$2H=p#H%n1=-{v}8(nfy=DZhk5|6269Zv=gkuAJ6XJ z5l9at;Z3U4of2MY&GzgB3jY*^^FsKoY;l)xelWjFn4cT$j_%nOC~R2^udfbH$XO9u zWb z;-&-jD5N?&iTgi8*vuxrkh>f1;A$>+@Oh-Z1Q2vlyHe;pYgyKzJG9R|wY;Uf`AdAo2L6{45z-egIA z$^A&(E}TH6)}jk(YnST|b=i}!%kLcC7steh>J_i>S#AyYkT>~lv2N{OK);(`9zGVv zLSx9rNw}ZCH$2+6O<|KLE#H(zxqky?f}b2Y+E!qOb$kSd`*{Fgf=6H!9syF7SQ3y_ z<*i@E?S}tIq@>Q_6G!0j6T1QxKuOH>UC&@>26&L4O3)~k6O-&)V4`Sj2Y>6X=-DH% zx7kXbz!?Sr$GaIc5`Ks=kGuiXlW>}D8YYI^OLQW`z%Tq^Ao}|WU43_{z+W8BaCJ0g z{}x4mhwyuZKOp=O0YhhhMi93kF7B_m{P4-KSCJ-sQ*rh;1Uz_#r^wJ978kd11EwG0 z-xwVsH~34VzmC0zTmJx Start2) - # Statuses blocking inventory: approved, quotation_sent, confirmed, delivered, returned - domain = [ - ('product_id', '=', product_id.id), - ('request_id.status', 'in', ['approved', 'quotation_sent', 'confirmed', 'delivered', 'returned']), - ('request_id.start_date', '<', end_date), - ('request_id.end_date', '>', start_date), - ] - if exclude_request_id: - domain.append(('request_id', '!=', exclude_request_id)) - - overlapping_lines = self.env['event.rental.line'].search(domain) - reserved_qty = sum(overlapping_lines.mapped('quantity')) - - return max(0.0, total_capacity - reserved_qty) + return 999999.0 def _get_or_create_service_product(self, name, default_code): product = self.env['product.product'].search([('default_code', '=', default_code)], limit=1) @@ -161,13 +137,13 @@ class EventRentalRequest(models.Model): if not self.line_ids: raise UserError(_("Please add at least one rental product line.")) - # Re-check availability before approving - for line in self.line_ids: - available_qty = self.check_availability(self.start_date, self.end_date, line.product_id, exclude_request_id=self.id) - if available_qty < line.quantity: - raise UserError(_("Product '%s' is not available in the required quantity (%s) for the selected dates. Only %s units are available.") % ( - line.product_id.display_name, line.quantity, available_qty - )) + # Re-check availability bypassed per request + # for line in self.line_ids: + # available_qty = self.check_availability(self.start_date, self.end_date, line.product_id, exclude_request_id=self.id) + # if available_qty < line.quantity: + # raise UserError(_("Product '%s' is not available in the required quantity (%s) for the selected dates. Only %s units are available.") % ( + # line.product_id.display_name, line.quantity, available_qty + # )) # Check/create partner partner = self.partner_id @@ -335,16 +311,7 @@ class EventRentalLine(models.Model): @api.depends('product_id', 'quantity', 'request_id.start_date', 'request_id.end_date') def _compute_is_available(self): for line in self: - if not line.product_id or not line.request_id.start_date or not line.request_id.end_date: - line.is_available = True - continue - available_qty = line.request_id.check_availability( - line.request_id.start_date, - line.request_id.end_date, - line.product_id, - exclude_request_id=line.request_id.id - ) - line.is_available = available_qty >= line.quantity + line.is_available = True class EventDocument(models.Model): diff --git a/addons/theme_aakriti_events/views/website_templates.xml b/addons/theme_aakriti_events/views/website_templates.xml index 6d13902..9e45176 100644 --- a/addons/theme_aakriti_events/views/website_templates.xml +++ b/addons/theme_aakriti_events/views/website_templates.xml @@ -323,7 +323,7 @@
Let's Design Together

Inquire About Your Event

-

Enter details below. Our reservations engine will instantly check stock availability and generate an itemized quote.

+

Enter details below to submit your inquiry. Our reservations engine will instantly generate an itemized quote.

@@ -399,7 +399,7 @@
3. Rental Item Selected
-
+
-
- - -