Includes: - Odoo 19 framework (odoo/) - 27 custom EnCoach addons (new_project/custom_addons/) - encoach_core, encoach_api, encoach_lms_api, encoach_adaptive_api - encoach_exam, encoach_taxonomy, encoach_adaptive, encoach_assignment - encoach_ai, encoach_ai_grading, encoach_ai_generation, encoach_ai_media - encoach_courseware, encoach_communication, encoach_subscription - encoach_notification, encoach_approval, encoach_branding - encoach_classroom, encoach_registration, encoach_stats - encoach_faq, encoach_ticket, encoach_training, encoach_resources - encoach_adaptive_ai, encoach_sis - 21 OpenEduCat Enterprise modules (new_project/enterprise-19/) - 14 OpenEduCat Community modules (new_project/openeducat_erp-19.0/) - Configuration: odoo.conf, requirements.txt, scripts - 200+ REST API endpoints with JWT authentication - SRS and test documentation Made-with: Cursor
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import api, fields, models
|
|
|
|
# Import the payment provider modules with aliases to avoid circular import errors.
|
|
try:
|
|
import odoo.addons.payment_mercado_pago as mercado_pago
|
|
import odoo.addons.payment_stripe as stripe
|
|
except ModuleNotFoundError:
|
|
mercado_pago = None
|
|
stripe = None
|
|
|
|
|
|
class ResCountry(models.Model):
|
|
_inherit = 'res.country'
|
|
|
|
is_mercado_pago_supported_country = fields.Boolean(compute='_compute_provider_support')
|
|
is_stripe_supported_country = fields.Boolean(compute='_compute_provider_support')
|
|
|
|
@api.depends('code')
|
|
def _compute_provider_support(self):
|
|
for country in self:
|
|
country.is_stripe_supported_country = (
|
|
stripe is not None
|
|
and stripe.const.COUNTRY_MAPPING.get(
|
|
country.code, country.code
|
|
) in stripe.const.SUPPORTED_COUNTRIES
|
|
)
|
|
country.is_mercado_pago_supported_country = (
|
|
mercado_pago
|
|
and country.code in mercado_pago.const.SUPPORTED_COUNTRIES
|
|
)
|