TIP: You can type at any time to perform a new search.
Crowdfunding
crowdfunding · OCA/crowdfunding
- Repository
- OCA/crowdfunding · module folder · Try on Runboat
- Module version
- 1.1.0
- Category
- Crowdfunding
- Folder size
- 0.14 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/crowdfunding
- Last tracking update
- 2026-08-07 08:43:07
- Authors
- Odoo Community Association (OCA), Hunki Enterprises BV
- Maintainers
- Odoo Community Association (OCA), Hunki Enterprises BV
- Committers
- Holger Brunn, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- geoip2
- System dependencies
- None
- Required by
- crowdfunding_demo, crowdfunding_public_pledge, crowdfunding_schedule, oca_all
- Description
This module provides the basics to turn Odoo into a crowdfunding platform.
Code Analysis ⓘ
Views touched (15)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
pay_details |
pay_details | ir.ui.view | qweb | New |
pay_partner_details |
pay_partner_details | ir.ui.view | qweb | New |
payment_transaction_form |
payment.transaction | form | Inherits payment.payment_transaction_form | |
portal_invoice_page |
portal_invoice_page | ir.ui.view | qweb | Inherits account.portal_invoice_page |
res_config_settings_view_form |
res.config.settings | form | Inherits base.res_config_settings_view_form | |
template_challenge_detail |
Crowdfunding | ir.ui.view | qweb | New |
template_challenge_detail_discuss |
Comments | ir.ui.view | qweb | Inherits template_challenge_detail |
template_challenge_list |
Crowdfunding | ir.ui.view | qweb | New |
template_challenge_list_footer |
List footer | ir.ui.view | qweb | Inherits template_challenge_list |
template_challenge_list_header |
List header | ir.ui.view | qweb | Inherits template_challenge_list |
view_crowdfunding_challenge_form |
crowdfunding.challenge | form | New | |
view_crowdfunding_challenge_list |
crowdfunding.challenge | list | New | |
view_crowdfunding_challenge_search |
crowdfunding.challenge | search | New | |
view_crowdfunding_invoicing_wizard_form |
crowdfunding.invoicing.wizard | form | New | |
view_move_form |
account.move | form | Inherits account.view_move_form |
HTTP endpoints (3)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/crowdfunding/<model('crowdfunding.challenge'):challenge> |
CrowdfundingController.detail |
public | http | ALL | website |
/crowdfunding |
CrowdfundingController.list |
public | http | ALL | website |
/crowdfunding/<model('crowdfunding.challenge'):challenge>/pay |
Payment.crowdfunding_pay |
public | http | ALL | sudo website |
Models touched (6)
New fields (4)
-
crowdfunding_challenge_idMany2one → crowdfunding.challengeindex=True args: 'crowdfunding.challenge' -
crowdfunding_pledged_amountMonetaryrelated='crowdfunding_challenge_id.pledged_amount' -
crowdfunding_target_amountMonetaryrelated='crowdfunding_challenge_id.target_amount' -
crowdfunding_vendor_amountMonetaryrelated='crowdfunding_challenge_id.vendor_amount'
No public methods.
New fields (28)
-
claimed_partner_amountMonetarycompute='_compute_amounts'help='The amount to be paid out'readonly=Truestore=Truestring='Unposted Vendor Amount' -
claimed_partner_idMany2one → res.partnerstring='Vendor'tracking=True args: 'res.partner' -
company_idMany2one → res.companydefault=<expr>required=True args: 'res.company' -
currency_idMany2onerelated='company_id.currency_id' -
descriptionHtmlsanitize=False -
description_imageBinaryhelp='Image that will be displayed on the challenge description' -
description_urlCharhelp='URL for more information about this challenge' args: 'Description URL' -
fee_amountMonetarycompute='_compute_amounts'help='When a challenge is claimed, this amount will be deducted from the total amount pledged to cover overhead costs'readonly=Truestore=Truestring='Commission Fee Amount' -
fee_percentageFloatdefault=<expr>string='Commission Fee %' -
funding_stateSelectioncompute='_compute_funding_state'readonly=Truestore=Truetracking=True args: [('needs_funding', 'Needs funding'), ('funded', 'Funded')] -
invoice_countIntegercompute='_compute_invoices'store=True -
invoice_idsOne2many → account.movedomain=[('move_type', 'in', ['out_invoice', 'out_refund'])] args: 'account.move', 'crowdfunding_challenge_id' -
nameCharrequired=Truetracking=True -
pledge_default_amountMonetaryhelp='Fill in a proposed amount pledgers can modify' args: 'Default Pledge Amount' -
pledged_amountMonetarycompute='_compute_invoices'readonly=Truestore=Truetracking=True -
pledged_amount_totalMonetarycompute='_compute_invoices'readonly=Truestore=Truestring='Pledges Total'tracking=True -
pledged_amount_unpaidMonetarycompute='_compute_invoices'readonly=Truestore=Truestring='Unposted Pledges'tracking=True -
pledged_percentageFloatcompute='_compute_funding_state'readonly=Truestore=Truestring='Pledged %'tracking=True -
stateSelectiondefault='draft'help='Draft: The challenge is in preparation\nOpen: The challenge is visible for users, payments can be done\nClaimed: Somebody has been assigned to work on the challenge, payments can be done\nSubmitted: Work is submitted, no further payments possible\nDone: Work is done, all payments done'tracking=True args: [('draft', 'Draft'), ('open', 'Open'), ('claimed', 'Claimed'), ('submitted', 'Submitted'), ('done', 'Done')] -
target_amountMonetarytracking=True -
vendor_amountMonetarycompute='_compute_vendor_bills'readonly=Truestore=Truetracking=True -
vendor_amount_totalMonetarycompute='_compute_vendor_bills'readonly=Truestore=Truetracking=True -
vendor_amount_unpaidMonetarycompute='_compute_vendor_bills'readonly=Truestore=Truetracking=True args: 'Vendor Amount Unposted' -
vendor_bill_countIntegercompute='_compute_vendor_bills'store=True -
vendor_bill_idsOne2many → account.movedomain=[('move_type', 'in', ['in_invoice', 'in_refund'])] args: 'account.move', 'crowdfunding_challenge_id' -
website_meta_descriptionTextcompute='_compute_website_meta_description' -
website_meta_og_imgCharcompute='_compute_website_meta_og_img' -
website_meta_titleCharrelated='name'
-
action_cancel(self) -
action_claimed(self) -
action_done(self) -
action_invoice_wizard(self) -
action_invoices(self) -
action_open(self) -
action_submitted(self) -
action_vendor_bills(self)
New fields (4)
-
challenge_idsMany2many → crowdfunding.challengeargs: 'crowdfunding.challenge' -
percentageFloatdefault=1 -
percentage_paidFloatcompute='_compute_percentage_paid'readonly=True -
vendor_bill_idsMany2many → account.movecompute='_compute_vendor_bill_ids'string='Existing vendor bills' args: 'account.move'
-
action_invoice(self) -
default_get(self, fields_list)
New fields (1)
-
crowdfunding_challenge_idMany2onerelated='invoice_ids.crowdfunding_challenge_id'
No public methods.
New fields (2)
-
crowdfunding_default_fee_percentageFloathelp='The percentage of money pledged for a challenge your organization uses to pay for overhead' args: 'Default fee percentage' -
crowdfunding_product_idMany2one → product.productdefault=<expr>help='This product is used to create invoices and vendor bills.'string='Product' args: 'product.product'
No public methods.
New fields (2)
-
crowdfunding_default_fee_percentageFloatreadonly=Falserelated='company_id.crowdfunding_default_fee_percentage' -
crowdfunding_product_idMany2onereadonly=Falserelated='company_id.crowdfunding_product_id'
No public methods.
Loading…