Files
project_v19/odoo_subscription/controllers/__pycache__/controllers.cpython-312.pyc
T

58 lines
12 KiB
Plaintext
Raw Normal View History

2026-07-01 14:41:49 +07:00
Ë
_jm)ãóžddlmZmZddlmZmZddlmZmZddl m Z ddl
Z
ddl Z e je
«ZGddej«Zy)é)ÚhttpÚ_)ÚrequestÚroute)Ú UserErrorÚ AccessError)ÚdatetimeNcó–eZdZedddd¬«d«Zedddddg¬ «d
«Zed ddd¬«d «Zed
ddd¬«d«Zedddd¬«d«Zedddd¬«d«Z edddd¬«d«Z
edddddg¬ «d«Z edddd¬«d«Z eddddg¬«d«Z
dZdZd „Zd!„Zy")#ÚSubscriptionControllerú/trialrÚpublicT)ÚtypeÚauthÚwebsitec ó´|j«}|tjdj«j g«dœ}tj
d|«S)z0Step 1: Show app selection and registration formz res.country)ÚappsÚ countriesú#odoo_subscription.trial_signup_page)Ú_get_available_appsrÚenvÚsudoÚsearchÚrender)ÚselfÚkwargsrÚvaluess ú>/mnt/extra-addons/odoo_subscription/controllers/controllers.pyÚ trial_signupz#SubscriptionController.trial_signupsRð×)ˆðÜ Ÿ ]Ñ:×AÀ"Ó
ˆô
~‰~ÐCÀVÓz/trial/registerÚPOST)rrrÚmethodsc óZ |jd«}|jd«}|jd«}|jd«}|jd«}|jd«}t||||g«s'tjdd|j «d œ«Stj d
j«jd d |fgd
¬«}|s4tj d
j«j|||dœ«}tj dj«j|j|||||r t|«ndddœ«} |j «}
|D]Š tˆ fd|
D«d«} | sŒtj dj«j| j| d| jdd«| jdd«| jdd«dœ«Œ| j«tjd| j«S)z4Step 2: Process registration and create subscriptionÚemailÚnameÚ company_nameÚphoneÚ
country_idÚ
selected_appsrz"All required fields must be filled)Úerrorrz res.usersÚloginú©Úlimit)r$r*r#úuser.subscriptionFÚtrial)Úuser_idÚ
user_emailÚ user_namer%r&r'Ústatec3ó4K|]}|dk(sŒ |Œy­w)r$)Ú.0Úapp_names €rú <genexpr>z8SubscriptionController.trial_register.<locals>.<genexpr>Fsøèø€ÒK 1°Q°v±YÀ(Ó5JœQÑKùsƒ
Nz
selected.appsÚtechnical_nameÚÚiconÚcategoryÚother)Úsubscription_idr9Úapp_technical_nameÚapp_iconÚ app_categoryz/trial/verify?subscription=)ÚgetÚgetlistÚallrrrrrrÚcreateÚidÚintÚnextÚ_send_verification_emailÚredirect)
rrr#r$r%r&r'r(ÚuserÚ subscriptionÚ apps_dataÚapp_datar9s
@rÚtrial_registerz%SubscriptionController.trial_registers ø€ð
˜#ˆØz‰z˜Ø—zz  Ø
˜7ÓØ—Z‘Z  Ó
ØŸ Ó7ˆ
ôE˜4 ¨}З>>Ð"GØ×Jóð
ô {‰{˜'×.×5¸ÀÀeÐ7LÐ6MÐUVÐñÜ—;‘;˜{ÑØØñ;óˆDô—{{Ð#6Ñ7×>×—wØØÙ-7œ#˜jœ/¸UØñG
ó ˆ ð×.ˆ Ø ˆHÜÓK¨ ÔKÈTÓRˆHÚÜ ˜OÑ3×:Ø'3§¡Ø (¨Ñ 0Ø*2¯,©,Ð7GÈÓ*LØ (§ ¡ ¨V°RÓ 8Ø$,§L¡L°¸WÓ$Eñ <õð ð ××ÑÐ"=¸l¿o¹oÐ=NÐ OÓPrz
/trial/verifyc óX|jd«}d|i}tjd|«S)zStep 3: Email verification pagerNr@z)odoo_subscription.email_verification_page)rDrr)rrr@rs rÚ trial_verifyz#SubscriptionController.trial_verifyVs4ð!Ÿ*™* ð
˜ð
ˆô~‰~ÐIÈ6ÓRrz/trial/verify-emailc óH|jd«}|jd«}tjdj«j t |««}|r1|j dk(r"tjd|j«Stjd«S)zStep 4: Verify email tokenrNÚtokenr/r0z/trial/provision?subscription=r ) rDrrrÚbrowserIr4rLrH)rrr@rUrNs rÚ verify_emailz#SubscriptionController.verify_emailas‰ð!Ÿ*™* ^ÓØ
˜7Ó#ˆä—{{Ð#6Ñ7×>×EÄcÈ/ÓFZÓ[ˆ á ˜L×.°'Ò×#Ð&DÀ\Ç_Á_ÐDUÐ$VÓ ×Ñ Ó)rz/trial/provisionc óØ|jd«}tjdj«j t |««}|r|j dk7rtjd«S|jDcgc]}|jŒ}}|j|«}||dœ}|jd«rtjd|«Stjd|«Scc}w) z,Step 5: Provision database and show progressrNr/r0r )rNÚprovisioning_resultÚsuccessz&odoo_subscription.provisioning_successz%odoo_subscription.provisioning_failed) rDrrrrVrIr4rLÚselected_app_idsrAÚprovision_databaser)rrr@rNÚappr(Úresultrs rÚtrial_provisionz&SubscriptionController.trial_provisionpð!Ÿ*™* ^ÓÜ—{{Ð#6Ñ7×>×EÄcÈ/ÓFZÓ[ˆ á˜|×1°WÒ×#  <H×;XÑ;XÖY°C˜×Yˆ
Ð×Óð)Ø#)ñ
ˆð
:‰: Ü—>>Ð"JÈFÓ —>>Ð"IÈ6Ó RùòZsÁ?C'z/database/infoÚjsonrMc óFtjj}tjdjdd|jfgd¬«}|rR|j
rF|j
}|j |j|j|j|jdœSiS)z Get current database informationr/r1r+r,r-)Ú
database_nameÚ subdomainÚ full_domainr4Úinstalled_apps) rrrMrrHÚactive_database_idrbrcrdÚdb_statere)rrrMrNÚdbs rÚget_database_infoz(SubscriptionController.get_database_infos•ô{‰{×шܗ{{Ð#6Ñ7ט˜dŸg™gÐ
'¨qð
ˆ ñ ˜L××0ˆBà!#×!1Ñ!1ØŸ\™\Ø!Ÿ~™~ØŸØ"$×"3Ñ"3ñ ð
ðˆ rú/subscription/upgradec óXtjj}tjdjdd|jfgd¬«}tjdj «}||tjj jdœ}tjd|«S) z#Show subscription plans for upgrader/r1r+r,r-zsubscription.plan)rNÚplansÚcurrencyz$odoo_subscription.subscription_plans) rrrMrrHÚget_paid_plansÚcompanyÚ currency_idr)rrrMrNrlrs rÚsubscription_upgradez+SubscriptionController.subscription_upgrade¡s•ô{‰{×шܗ{{Ð#6Ñ7ט˜dŸg™gÐ
'¨qð
ˆ ô ÐðÜŸ ×
ˆô ~‰~ÐDÀfÓMrz/subscription/checkoutc óÖ|jd«}|jd«}tjj}tjdj dd|j
fgd¬«}|r|stj d«Sd tj«jd
«d |j
}|jt|«|«tj d «S)
zProcess subscription checkoutÚplan_idÚpayment_methodr/r1r+r,r-rjzSUB-z %Y%m%d%H%M%Sú/subscription/success) rDrrrMrrHrLr ÚnowÚstrftimeÚactivate_subscriptionrI)rrrsrtrMrNÚpayment_references rÚsubscription_checkoutz,SubscriptionController.subscription_checkout³ð—*‘*˜YÓØŸÐ$4Óä{‰{×шܗ{{Ð#6Ñ7ט˜dŸg™gÐ
'¨qð
ˆ ñ¡7Ü×#Ð$;Ó #¤8§<¡<£>×#:Ñ#:¸>Ó#JÐ"KÈ1ÈTÏWÉWÈIÐð ×*¬3¨w«<Ð9JÔ×ÑÐ 7Ó8rrvc ó,tjd«S)zSubscription success pagez&odoo_subscription.subscription_success)rr)rrs rÚsubscription_successz+SubscriptionController.subscription_successÊsô~‰~ÐGrz /subscription/webhook/<provider>)rrr!c ó°tj}|dk(r|j|«S|dk(r|j|«S|dk(r|j |«SdddœS)zPayment gateway webhook handlerÚ
aba_paywayÚstripeÚpaypalr)zUnknown provider)ÚstatusÚmessage)rÚ jsonrequestÚ_handle_aba_webhookÚ_handle_stripe_webhookÚ_handle_paypal_webhook)rÚproviderrÚdatas rÚpayment_webhookz&SubscriptionController.payment_webhookÏshô×"ˆð  ×+¨DÓ
˜Ò