TIP: You can type at any time to perform a new search.
In-App Purchase
iap · odoo/odoo
Security findings
- Repository
- odoo/odoo · module folder
- Module version
- 1.1
- Category
- Hidden/Tools
- Folder size
- 0.74 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- Yes
- Website
- None
- Last tracking update
- 2026-10-05 00:19:52
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Raphael Collet, Thibault Delavallée, Odoo Translation Bot, Xavier-Do, Victor Feyens, Julien Mougenot, Tiffany Chang (tic), william-andre, Louis Baudoux, David, Dylan Kiss (dyki), Chong Wang (cwg), Sven Fuehr, Ricardo Gomes Rodrigues, Krzysztof Magusiak (krma), Earth Patel, Julien Launois (jula), Abo Taha, MostafaTwfiq, chpa-odoo, Jean Schoenlaub
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- iap_mail, l10n_fr_pdp, l10n_in, l10n_pk_edi, l10n_pk_edi_pos
- Description
This module provides standard tools (account model, context manager and helpers) to support In-App Purchase inside Odoo.
Code Analysis
Views touched (5)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
iap_account_view_form |
iap.account.form | iap.account | form | New |
iap_account_view_tree |
iap.account.list | iap.account | list | New |
iap_service_pack_view_tree |
iap.service.pack.list | iap.service.pack | list | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.base.setup.iap | res.config.settings | form | Inherits base_setup.res_config_settings_view_form |
view_iap_users_tree |
res.users.list.iap | res.users | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (4)
New fields (14)
-
account_tokenCharcopy=Falsedefault=<expr>groups='base.group_system'help='Account token is your authentication key for this service. Do not share it.'size=43 -
balanceCharcompute='_compute_balance' -
balance_amountFloat -
company_idsMany2many → res.companyargs: 'res.company' -
descriptionCharrelated='service_id.description' -
is_balance_below_warning_thresholdBooleancompute='_compute_is_balance_below_warning_threshold' -
nameChar -
service_idMany2one → iap.servicerequired=True args: 'iap.service' -
service_lockedBooleandefault=False -
service_nameCharrelated='service_id.technical_name' -
service_price_descriptionCharrelated='service_id.price_description' -
stateSelectionreadonly=True args: [('banned', 'Banned'), ('registered', 'Registered'), ('unregistered', 'Unregistered')] -
warning_thresholdFloatdefault=1.0help='Once you have this many credits or less, the system will automatically notify the following recipients by email. Set to 0 to disable email warnings.' args: 'Email Alert Threshold' -
warning_user_idsMany2many → res.usersstring='Email Alert Recipients' args: 'res.users'
-
action_buy_credits(self) -
action_open_iap_account(self) -
create(self, vals_list)@api.model_create_multi -
get(self, service_name, force_create=True)@api.model -
get_account_id(self, service_name)@api.model -
get_config_account_url(self)@api.modelCalled notably by ajax partner_autocomplete. -
get_credits(self, service_name)@api.model -
get_credits_url(self, service_name, account_token=None)@api.modelCalled notably by: buy more widget, partner_autocomplete, snailmail, ... -
validate_warning_alerts(self)@api.constrains('warning_threshold', 'warning_user_ids') -
web_read(self, *args, **kwargs) -
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (7)
-
descriptionCharrequired=Truetranslate=True -
integer_balanceBooleanrequired=True -
nameCharrequired=Truetranslate=True -
pack_idsOne2many → iap.service.packstring='Service Packs' args: 'iap.service.pack', 'service_id' -
price_descriptionChartranslate=True -
technical_nameCharreadonly=Truerequired=True -
unit_nameCharrequired=Truetranslate=True
No public methods.
New fields (6)
-
creditFloatreadonly=Truerequired=True -
display_nameCharcompute='_compute_display_name' -
iap_service_pack_identifierIntegerreadonly=Truerequired=True -
nameCharreadonly=Truerequired=True -
priceFloatreadonly=Truerequired=Truestring='Sales Price (EUR)' -
service_idMany2one → iap.serviceindex=Truereadonly=Truerequired=True args: 'iap.service'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…