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
28 lines
955 B
Python
28 lines
955 B
Python
from odoo import api, models
|
|
|
|
|
|
class ResCurrency(models.Model):
|
|
_inherit = "res.currency"
|
|
|
|
@api.readonly
|
|
@api.model
|
|
def get_company_currency_for_spreadsheet(self, company_id=None):
|
|
"""
|
|
Returns the currency structure for the currency of the company.
|
|
This function is meant to be called by the spreadsheet js lib,
|
|
hence the formatting of the result.
|
|
|
|
:param int company_id: Id of the company
|
|
:return: dict of the form `{ "code": str, "symbol": str, "decimalPlaces": int, "position":str }`
|
|
"""
|
|
company = self.env["res.company"].browse(company_id) if company_id else self.env.company
|
|
if not company.exists():
|
|
return False
|
|
currency = company.currency_id
|
|
return {
|
|
"code": currency.name,
|
|
"symbol": currency.symbol,
|
|
"decimalPlaces": currency.decimal_places,
|
|
"position": currency.position,
|
|
}
|