Files
project_v19/odoo_subscription/models/__pycache__/user_subscription.cpython-312.pyc
T

40 lines
10 KiB
Plaintext
Raw Normal View History

2026-07-01 14:41:49 +07:00
Ë
®^j!ãóŽddlmZmZmZmZddlmZddlmZmZddl Z e je «Z Gddej«Zy)é)ÚmodelsÚfieldsÚapiÚ_)Ú UserError)ÚdatetimeÚ timedeltaNcóÐeZdZdZdZdgZdZejddd¬«Z ejd d
¬ «Z ejd d
¬ «Z ejd
d
¬ «Z
ejd¬«Zejdd¬«Zejdd¬«Zej"gd¢ddd
¬«Zej&d¬«Zej&d¬«Zej&d¬«Zej&d¬«Zej0dd¬«Zej0dd ¬!«Zej6d"d#¬«Zejd$¬«Zej"gd%¢d&d'¬!«Zej>d(d)d*¬«Z ejd(d+¬«Z!ej>d,d)d-¬«Z"ej6d.d/¬0«Z#e$jJˆfd1„«Z&d2„Z'd3„Z(d4„Z)d5„Z*d6„Z+d7„Z,d8„Z-d:d9„Z.ˆxZ/S);ÚUserSubscriptionzuser.subscriptionzUser Subscriptionz mail.threadÚ
user_emailz res.usersÚUserÚcascade)ÚstringÚondeleteÚEmailT)rÚrequiredz Full Namez Company NameÚPhone)rz res.countryÚCountryúsubscription.planzSubscription Plan))ÚdraftÚDraft)ÚtrialÚTrial)ÚactiveÚActive)ÚexpiredÚExpired)Ú cancelledÚ CancelledÚStatusr)rÚdefaultÚtrackingzTrial Start DatezTrial End DatezSubscription Start DatezSubscription End DatezIs TrialÚ_compute_is_trial)rÚcomputez
Is PremiumF)rr!zDays RemainingÚ_compute_days_remainingzPayment Reference))ÚpendingÚPending)ÚpaidÚPaid)ÚfailedÚFailedzPayment Statusr&údatabase.instanceÚsubscription_idzDatabase InstanceszActive Databasez
selected.appsz
Selected Appszsubscription_plan_id.max_appszMax Apps Allowed)Úrelatedrcó¦t||«}|jdk(r±|js¥|jdj «}|r |j nd}|j|r |jndtjj«tjj«t|¬«zdœ«|j«|S)z.Create subscription with automatic trial setuprréÚdays)Úsubscription_plan_idÚtrial_start_dateÚtrial_end_date)ÚsuperÚcreateÚstater4ÚenvÚget_trial_planÚ
trial_daysÚwriteÚidrÚDatetimeÚnowr Ú_send_verification_email)ÚselfÚvalsÚ subscriptionÚ
trial_planr;Ú __class__s €ú?/mnt/extra-addons/odoo_subscription/models/user_subscription.pyr7zUserSubscription.create?ø€ô‘w‘~ dÓ à × Ñ  Ò ×1NÒ1NØŸÐ"5Ñ6×GˆJÙ2<˜×.À"ˆ × Ñ Ù9C¨
¯
ª
ÈÜ$*§O¡O×$7Ñ$7Ó$9Ü"(§/¡/×"5Ñ"5Ó"7¼)ÈÔ:TÑ"Tñ ô
ð
× Ðócó:|D]}|jdk(|_Œy)Nr)r8Úis_trial)rAÚrecords rFr#z"UserSubscription._compute_is_trialSs!Øò 6ˆ$Ÿl™l¨gÑ5ˆF 6rGcóttjj«}|D]•}|jdk(r7|jr+|j|z
}t d|j «|_ŒI|jdk(r7|jr+|j|z
}t d|j «|_Œd|_Œ—y)Nrrr) rr>r?r8r5Úmaxr2Údays_remainingÚsubscription_end_date)rAr?rJÚdeltas rFr%z(UserSubscription._compute_days_remainingWs™Üo‰oרò *ˆ|‰|˜&¨6×+@Ò+@Ø×Ñ3Ü(+¨A¨u¯z©zÓ(:Õ Ò)¨f×.JÒ.JØ×4°sÑ:Ü(+¨A¨u¯z©zÓ(:Õ%à()Õ *rGcóž|j«|jjdd¬«}|r|j|jd¬«yy)zSend email verification to userz-odoo_subscription.email_verification_templateF©Úraise_if_not_foundT©Ú
force_sendN©Ú
ensure_oner9ÚrefÚ send_mailr=©rAÚtemplates rFr@z)UserSubscription._send_verification_emailcsHà ÔØ—88—<<Ð OØ38ð óá Ø × Ñ ˜tŸw™w°4Ð Õ  rGcóž|j«|jjdd¬«}|r|j|jd¬«yy)zSend admin credentials to userz,odoo_subscription.email_credentials_templateFrQTrSNrUrYs rFÚ_send_credentials_emailz(UserSubscription._send_credentials_emailksHà ÔØ—88—<<Ð NØ38ð óá Ø × Ñ ˜tŸw™w°4Ð Õ  rGcóÀ|j«|jdk(r?|jr3tjj «|jkDrd|_yy)zCheck if trial has expiredrrTF)rVr8r5rr>r?©rAs rFÚcheck_trial_expiredz$UserSubscription.check_trial_expiredssHà ÔØ :‰:˜Ò  T×%8Ò%8Ü×$ t×':Ñ':Ò&
ØØrGcóô|j«|jdk(r9|jr,tjj «|jkryy|jdk(r|j
«syy)zCheck if subscription is validrTrF)rVr8rNrr>r?r_r^s rFÚis_subscription_validz&UserSubscription.is_subscription_valid|scà Ôà :‰:˜Ò ×)¬f¯o©o×.AÑ.AÓ.CÀt×GaÑGaÒ.aØððZ‰Z˜7Ò
רrGcó¤|j« |jd}|j|j«}|j dd«}|j |j |||jddœ«}|j |_d|_ |jj«|j«rV|j|«rE|j«|j«d|j |j"|j$dœSd d
d œS#t&$r0}t(j+d |«d t-|«d œcYd
}~Sd
}~wwxYw)z#Provision database and install appsr,ú-rr&)r-Ú
database_nameÚ subdomainÚ admin_emailÚdb_staterT)ÚsuccessÚ database_urlÚ admin_loginÚadmin_passwordFzDatabase provisioning failed)rhÚerrorzDatabase provisioning error: N)rVr9Úgenerate_unique_subdomainÚ company_nameÚreplacer7r=r Úactive_database_idr8Ú_crÚcommitÚcreate_databaseÚ install_appsÚconfigure_instancer\Ú full_domainrjrkÚ ExceptionÚ_loggerrlÚstr)rAÚapp_listÚdb_instance_objrerdÚ db_instanceÚes rFÚprovision_databasez#UserSubscription.provision_databaseˆsGà Ôð0 à"Ÿh™hÐ':Ñ;ˆ(×AÀ$×BSÑBSÓTˆ%×-¨c°3Ó7ˆ*×0Ø#'§7¡7Ø!.ØØ 2óˆ'2§n¡nˆ  ˆDŒJØ H‰HO‰OÔ ð××+¨HÔ××$(Ø(3×(?Ñ(?Ø'2×'>Ñ'>Ø*5×*DÑ*Dñ ððð
øô
ò Ü M‰MÐ9¸!¸Ð  ܘQ›ñõ
ûð ús$C>DÄDÄ EÄ%E
ÅEÅ
Ec ó²|j«|jdj|«}|jd|jdt
j j«|ddœ«|jdk(r1t
j j«td¬«z|_
n|jd k(r1t
j j«td
¬«z|_