TIP: You can type at any time to perform a new search.
Donation Mass
donation_mass · OCA/vertical-abbey
Security findings
- Repository
- OCA/vertical-abbey · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Religion
- Folder size
- 0.2 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/vertical-abbey
- Last tracking update
- 2026-08-27 11:15:04
- Authors
- Akretion, Odoo Community Association (OCA), Barroux Abbey
- Maintainers
- Akretion, Odoo Community Association (OCA), Barroux Abbey
- Committers
- Alexis de Lattre, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module manages mass requests and the planning of masses. Mass requests can be created manually or from a donation. This module has an impact on accounting: \* a mass request in waiting or started state is considered as a stock from an accounting point of view. \* when a mass is celebrated, i.e. when the mass is validated in Odoo, an account move is automatically generated to move the amount of the donation associed to the mass line from the stock account to the revenue account. When a donation is validated with a mass in one of the donation lines, a new mass request is automatically created and the account move associated to the donation will send the amount of that donation line to a stock account. When the mass is celebrated, i.e. when the mass is validated in Odoo, an accounting entry is generated from the stock account to a revenue account. This module also allows to transfer masses to an external celebrant. When validating the mass transfer, a journal entry is created that moves the corresponding donation amount from the mass stock account to the payable account of the external celebrant. This module has been developped by the [Barroux Abbey](https://www.barroux.org/) which is a French Catholic Abbey. It is specific to the management of christian masses.
Code Analysis
Views touched (33)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
donation_form |
donation.donation | form | Inherits donation.donation_form | |
donation_line_form |
mass.donation.line.form | donation.line | form | Inherits donation.donation_line_form |
donation_line_tree |
mass.donation.line.tree | donation.line | tree | Inherits donation.donation_line_tree |
mass_journal_generate_form |
mass.journal.generate.form | mass.journal.generate | form | New |
mass_journal_validate_form |
mass.journal.validate.form | mass.journal.validate | form | New |
mass_line_form |
mass.line.form | mass.line | form | New |
mass_line_graph |
mass.line.graph | mass.line | graph | New |
mass_line_pivot |
mass.line.pivot | mass.line | pivot | New |
mass_line_search |
mass.line.search | mass.line | search | New |
mass_line_tree |
mass.line.list | mass.line | list | New |
mass_request_form |
mass.request.form | mass.request | form | New |
mass_request_graph |
mass.request.graph | mass.request | graph | New |
mass_request_pivot |
mass.request.pivot | mass.request | pivot | New |
mass_request_search |
mass.request.search | mass.request | search | New |
mass_request_transfer_form |
mass.request.transfer.form | mass.request.transfer | form | New |
mass_request_transfer_graph |
mass.request.transfer.graph | mass.request.transfer | graph | New |
mass_request_transfer_pivot |
mass.request.transfer.pivot | mass.request.transfer | pivot | New |
mass_request_transfer_search |
mass.request.transfer.search | mass.request.transfer | search | New |
mass_request_transfer_tree |
mass.request.transfer.list | mass.request.transfer | list | New |
mass_request_tree |
mass.request.list | mass.request | list | New |
mass_request_type_form |
mass.request.type.form | mass.request.type | form | New |
mass_request_type_search |
mass.request.type | search | New | |
mass_request_type_tree |
mass.request.type.list | mass.request.type | list | New |
product_template_form_view |
product.template | form | Inherits donation_base.product_template_form_view | |
religious_community_form |
religious.community.form | religious.community | form | New |
religious_community_search |
religious.community.search | religious.community | search | New |
religious_community_tree |
religious.community.list | religious.community | list | New |
report_massline |
report_massline | ir.ui.view | qweb | New |
report_massrequesttransfer |
report_massrequesttransfer | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings | form | Inherits donation.res_config_settings_donation | |
swap_celebrant_form |
swap.celebrant.form | swap.celebrant | form | New |
view_partner_form |
mass.res.partner.form | res.partner | form | Inherits base.view_partner_form |
view_res_partner_filter |
mass.res.partner.search | res.partner | search | Inherits base.view_res_partner_filter |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (14)
New fields (2)
-
mass_request_countIntegercompute='_compute_mass_request_count'string='# of Mass Requests' -
mass_request_idsOne2many → mass.requestreadonly=Truestring='Masses' args: 'mass.request', 'donation_id'
-
done2cancel(self) -
goto_mass_requests(self) -
validate(self)
New fields (4)
-
celebrant_idMany2one → res.partnerdomain=[('celebrant', '=', 'internal')]ondelete='restrict' args: 'res.partner' -
intentionChar -
mass_request_dateDatestring='Celebration Requested Date' -
mass_request_idsOne2many → mass.requeststring='Masses' args: 'mass.request', 'donation_line_id'
No public methods.
New fields (2)
-
celebrant_idsMany2many → res.partnercolumn1='partner_id'column2='wizard_id'default=<expr>domain=[('celebrant', '=', 'internal')]string='List of celebrants' args: 'res.partner' -
journal_dateDatedefault=<expr>required=True
-
generate_journal(self) -
journal_date_on_change(self)@api.onchange('journal_date')
New fields (3)
-
company_idMany2one → res.companydefault=<expr>required=True args: 'res.company' -
end_dateDatecompute='_compute_end_date'readonly=Falserequired=Truestore=True -
start_dateDatedefault=<expr>required=True
-
validate_journal(self)
New fields (14)
-
celebrant_idMany2one → res.partnerdomain=[('celebrant', '=', 'internal')]index=Trueondelete='restrict'required=True args: 'res.partner' -
company_currency_idMany2one → res.currencyrelated='request_id.company_id.currency_id'store=Truestring='Company Currency' args: 'res.currency' -
company_idMany2one → res.companyrelated='request_id.company_id'store=True args: 'res.company' -
conventual_idMany2one → religious.communityindex=Trueondelete='restrict'string='Conventual' args: 'religious.community' -
dateDaterequired=Truestring='Celebration Date' -
intentionCharrelated='request_id.intention'string='Intention' -
move_idMany2one → account.movereadonly=Truestring='Journal Entry' args: 'account.move' -
partner_idMany2one → res.partnerrelated='request_id.partner_id'store=Truestring='Donor' args: 'res.partner' -
product_idMany2onerelated='request_id.product_id'store=True -
request_dateDaterelated='request_id.request_date'store=Truestring='Mass Request Date' -
request_idMany2one → mass.requestindex=Trueondelete='cascade'string='Mass Request' args: 'mass.request' -
stateSelectiondefault='draft'readonly=True args: [('draft', 'Draft'), ('done', 'Done')] -
type_idMany2onerelated='request_id.product_id.mass_request_type_id'store=True -
unit_offeringMonetarycurrency_field='company_currency_id'string='Offering'
-
unlink(self)
New fields (22)
-
celebrant_idMany2one → res.partnerdomain=[('celebrant', '=', 'internal')]help='If the donor want the mass to be celebrated by a particular celebrant, select it here. Otherwise, leave empty.'index=Trueondelete='restrict' args: 'res.partner' -
company_currency_idMany2onerelated='company_id.currency_id'store=Truestring='Company Currency' -
company_idMany2one → res.companydefault=<expr>ondelete='restrict'required=True args: 'res.company' -
donation_dateDaterequired=True -
donation_idMany2onerelated='donation_line_id.donation_id'store=Truestring='Related Donation' -
donation_line_idMany2one → donation.linecheck_company=Truereadonly=Truestring='Related Donation Line' args: 'donation.line' -
intentionChar -
line_idsOne2many → mass.linestring='Mass Lines' args: 'mass.line', 'request_id' -
mass_quantityIntegercompute='_compute_unit_offering'precompute=Truestore=Truestring='Total Mass Quantity' -
mass_remaining_quantityIntegercompute='_compute_state_mass_remaining_quantity'store=True -
offeringMonetarycompute='_compute_offering'currency_field='company_currency_id'help='The total offering amount in company currency.'precompute=Truereadonly=Falsestore=True -
partner_idMany2one → res.partnerindex=Trueondelete='restrict'required=Truestring='Donor' args: 'res.partner' -
product_idMany2one → product.productcheck_company=Truedomain="[('company_id', 'in', (False, company_id)), ('type', '=', 'service'), ('donation_type', '=', 'mass')]"ondelete='restrict'readonly=Truerequired=Truestring='Mass Product' args: 'product.product' -
quantityIntegerdefault=1 -
remaining_offeringMonetarycompute='_compute_state_mass_remaining_quantity'currency_field='company_currency_id'store=True -
request_dateDatehelp='If the donor want the mass to be celebrated at a particular date, select it here. Otherwise, leave empty.'string='Celebration Requested Date' -
stateSelectioncompute='_compute_state_mass_remaining_quantity'store=True args: [('waiting', 'Waiting'), ('started', 'Started'), ('transfered', 'Transfered'), ('done', 'Done')] -
stock_account_idMany2one → account.accountcheck_company=Truedefault=<expr>domain="[('company_ids', 'parent_of', company_id), ('deprecated', '=', False)]"required=True args: 'account.account' -
transfer_idMany2one → mass.request.transfercheck_company=Truecopy=Falsestring='Transfer Operation' args: 'mass.request.transfer' -
type_idMany2onerelated='product_id.mass_request_type_id'store=Truestring='Mass Request Type' -
uninterruptedBooleanrelated='type_id.uninterrupted' -
unit_offeringMonetarycompute='_compute_unit_offering'currency_field='company_currency_id'help='This field is the offering amount per mass in company currency.'precompute=Truestore=Truestring='Offering per Mass'
-
create_transfer_button(self) -
unlink(self)
New fields (10)
-
amount_totalMonetarycompute='_compute_transfer_totals'currency_field='company_currency_id'store=Truetracking=True -
celebrant_idMany2one → res.partnerdomain=[('celebrant', '=', 'external')]index=Trueondelete='restrict'required=Falsetracking=True args: 'res.partner' -
company_currency_idMany2one → res.currencyrelated='company_id.currency_id'store=Truestring='Company Currency' args: 'res.currency' -
company_idMany2one → res.companydefault=<expr>ondelete='restrict'required=Truetracking=True args: 'res.company' -
mass_request_idsOne2many → mass.requeststring='Mass Requests' args: 'mass.request', 'transfer_id' -
mass_totalIntegercompute='_compute_transfer_totals'store=Truestring='Total Mass Quantity'tracking=True -
move_idMany2one → account.movecheck_company=Truereadonly=Truestring='Journal Entry' args: 'account.move' -
numberCharcopy=Falsedefault=<expr>readonly=Truestring='Transfer Number' -
stateSelectiondefault='draft'readonly=Truetracking=True args: [('draft', 'Draft'), ('done', 'Done')] -
transfer_dateDatedefault=fields.Date.context_todayrequired=Truetracking=True
-
back_to_draft(self) -
create(self, vals_list)@api.model_create_multi -
unlink(self) -
validate(self)
New fields (4)
-
codeCharsize=5string='Mass Request Code' -
nameCharrequired=Truestring='Mass Request Type' -
quantityInteger -
uninterruptedBoolean
No public methods.
New fields (2)
-
donation_typeSelectionondelete={'mass': 'set donation'}selection_add=[('mass', 'Mass')] -
mass_request_type_idMany2one → mass.request.typeondelete='restrict' args: 'mass.request.type'
No public methods.
New fields (3)
-
activeBooleandefault=True -
long_nameCharstring='Community Name' -
nameCharrequired=Truesize=12string='Community Code'
No public methods.
New fields (3)
-
mass_post_moveBooleandefault=Truestring='Post Move' -
mass_stock_account_idMany2one → account.accountcheck_company=True args: 'account.account' -
mass_validation_journal_idMany2one → account.journalcheck_company=True args: 'account.journal'
No public methods.
New fields (3)
-
mass_post_moveBooleanreadonly=Falserelated='company_id.mass_post_move' -
mass_stock_account_idMany2onedomain="[('company_ids', 'parent_of', company_id), ('deprecated', '=', False)]"readonly=Falserelated='company_id.mass_stock_account_id' -
mass_validation_journal_idMany2onedomain="[('company_id', '=', company_id), ('type', 'in', ('sale', 'general'))]"readonly=Falserelated='company_id.mass_validation_journal_id'
No public methods.
New fields (1)
-
celebrantSelectionargs: [('internal', 'Internal'), ('external', 'External')]
No public methods.
New fields (1)
-
line_idsMany2many → mass.linereadonly=Truestring='Mass Lines to Swap' args: 'mass.line'
-
default_get(self, fields_list)@api.model -
swap_celebrant(self)
Loading…
Loading…
Loading…
Loading…
Loading…