TIP: You can type at any time to perform a new search.
Cooperators
cooperator · OCA/cooperative
- Repository
- OCA/cooperative · module folder · Try on Runboat
- Module version
- 1.4.0
- Category
- Cooperative management
- Folder size
- 1.7 MB
- License
- AGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- https://github.com/OCA/cooperative
- Last tracking update
- 2026-08-07 08:09:33
- Authors
- Odoo Community Association (OCA), Coop IT Easy SC
- Maintainers
- Odoo Community Association (OCA), Coop IT Easy SC
- Committers
- Carmen Bianca BAKKER, Weblate, OCA-git-bot, oca-ci, Victor Champonnois, hugues de keyzer
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- cooperator_documentation, cooperator_portal, cooperator_website, l10n_be_cooperator, l10n_be_cooperator_national_number, l10n_ch_cooperator, l10n_es_cooperator, l10n_fr_cooperator
- Description
Code Analysis ⓘ
Views touched (33)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
cooperative_membership_view_search |
cooperative.membership.search | cooperative.membership | search | New |
cooperative_membership_view_tree |
cooperative.membership.tree | cooperative.membership | tree | New |
email_template_form |
email.template.form | mail.template | form | Inherits mail.email_template_form |
external_layout_standard |
Cooperator Template Layout | ir.ui.view | qweb | Inherits web.external_layout_standard |
operation_request_form |
operation.request.form | operation.request | form | New |
operation_request_tree |
operation.request.tree | operation.request | tree | New |
product_template_form_view |
product_template_form_view | product.template | form | Inherits product.product_template_form_view |
product_template_only_form_view |
product.template.product.form | product.template | form | Inherits product.product_template_only_form_view |
product_template_search_view |
product_template_search_view | product.template | search | Inherits product.product_template_search_view |
remove_partner_follower |
res.partner.remove.follower.inherit | res.partner | form | Inherits mail.res_partner_view_form_inherit_mail |
report_cooperator_certificate |
report_cooperator_certificate | ir.ui.view | qweb | New |
report_cooperator_certificate_document |
report_cooperator_certificate_document | ir.ui.view | qweb | New |
report_cooperator_register |
report_cooperator_register | ir.ui.view | qweb | New |
report_invoice |
report_invoice | ir.ui.view | qweb | New |
report_invoice_document |
report_invoice_document | ir.ui.view | qweb | Inherits account.report_invoice_document |
report_subscription_register |
report_subscription_register | ir.ui.view | qweb | New |
res_config_settings_cooperator_view_form |
Cooperators | res.config.settings | form | Inherits base.res_config_settings_view_form |
share_line_form |
share.line.form | share.line | form | New |
share_line_tree |
share.line.tree | share.line | tree | New |
subscription_register_form |
subscription.register.form | subscription.register | form | New |
subscription_register_tree |
subscription.register.tree | subscription.register | tree | New |
subscription_request_tree |
subscription.request.tree | subscription.request | tree | New |
subscription_request_view_form |
subscription.request.view.form | subscription.request | form | New |
view_account_journal_form |
account.journal.form | account.journal | form | Inherits account.view_account_journal_form |
view_create_subscription |
Create Subscription | partner.create.subscription | form | New |
view_move_form |
account.move.form | account.move | form | Inherits account.view_move_form |
view_partner_form |
view_partner_form | res.partner | form | Inherits base.view_partner_form |
view_res_partner_filter |
res.partner.select | res.partner | search | Inherits account.res_partner_view_search |
view_share_line_filter |
Share Line Search | share.line | search | New |
view_subscription_register_filter |
Subscription Register Search | subscription.register | search | New |
view_subscription_request_filter |
Cooperator Subscription Search | subscription.request | search | New |
view_update_share_line_info |
Update Share line Info | share.line.update.info | form | New |
view_validate_subscription_request |
Validate subscription request | validate.subscription.request | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (19)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
release_capital_requestBooleanstring='Release capital request'
No public methods.
New fields (2)
-
get_cooperator_paymentBooleanargs: 'Get cooperator payments?' -
get_general_paymentBooleanstring='Get general payments?'
No public methods.
New fields (2)
-
release_capital_requestBooleanstring='Release of capital request' -
subscription_requestMany2one → subscription.requestcheck_company=Truestring='Subscription request' args: 'subscription.request'
-
get_mail_template_certificate(self) -
get_refund_domain(self, invoice) -
get_share_line_vals(self, line, effective_date) -
get_subscription_register_vals(self, line, effective_date) -
post_process_confirm_paid(self, effective_date) -
send_capital_release_request_mail(self) -
set_cooperator_effective(self, effective_date)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (20)
-
company_idMany2one → res.companydefault=<expr>readonly=Truerequired=Truestring='Company' args: 'res.company' -
coop_candidateBooleancompute=_compute_coop_candidatestore=Truestring='Cooperator candidate' -
cooperatorBooleancopy=Falsehelp='Check this box if this contact is a cooperator (effective or not).'readonly=True -
cooperator_register_numberIntegercopy=Falsegroup_operator=Nonereadonly=Truestring='Cooperator Number' -
cooperator_typeSelectioncompute=_compute_cooperator_typeselection=_get_share_typestore=True -
data_policy_approvedBooleanstring='Approved Data Policy' -
effective_dateDatecompute=_compute_effective_datestore=True -
emailCharrelated='partner_id.email' -
financial_risk_approvedBooleanstring='Approved Financial Risk' -
generic_rules_approvedBooleanstring='Approved generic rules' -
internal_rules_approvedBooleanstring='Approved Internal Rules' -
is_companyBooleanrelated='partner_id.is_company'store=True -
memberBooleancopy=Falsehelp='Check this box if this cooperator is an effective member.'readonly=Truestring='Effective cooperator' -
nameCharrelated='partner_id.name' -
number_of_shareIntegercompute=_compute_share_infostore=Truestring='Number of share' -
old_memberBooleanhelp='Check this box if this cooperator is no more an effective member.'readonly=Truestring='Old cooperator' -
partner_idMany2one → res.partnerindex=Trueondelete='cascade'readonly=Truerequired=True args: 'res.partner', 'Partner' -
share_idsOne2many → share.linecompute=_compute_share_idssearch=_search_share_idsstring='Share Lines' args: 'share.line' -
subscription_request_idsOne2many → subscription.requestcompute=_compute_subscription_request_idssearch=_search_subscription_request_idsstring='Subscription request' args: 'subscription.request' -
total_valueFloatcompute=_compute_share_infostore=Truestring='Total value of shares'
-
assign_cooperator_register_number(self)Set a new cooperator register number on the memberships if one is not already assigned. -
create_user(self)Create a new user for the memberships if one does not already exist. If a user exists, but its 'active' field is False, then the user is reactivated and the membership's company_id becomes the user's only company_id. If a new partner is created, an e-mail is sent to them with instructions on how to set their passport. -
get_cooperator_from_crn(self, company_register_number) -
get_cooperator_from_email(self, email) -
get_share_quantities(self)Return a defaultdict(int) with the amount of shares per product id. -
set_effective(self)Make sure the following things are in order for all memberships in the recordset: - ``member`` is set to True and ``old_member`` is set to False. - A cooperator register number is assigned if one did not yet exist. - A user is created if one did not yet exist. This should all be idempotent.
New fields (1)
-
is_cooperator_templateBooleanstring='Cooperator mail template'
No public methods.
New fields (19)
-
company_idMany2one → res.companychange_default=Truedefault=<expr>readonly=Truerequired=Truestring='Company' args: 'res.company' -
effective_dateDatestring='Effective date' -
invoiceMany2one → account.movecheck_company=True args: 'account.move' -
operation_typeSelectionrequired=True args: [('transfer', 'Transfer'), ('sell_back', 'Sell Back'), ('convert', 'Conversion')] -
partner_idMany2one → res.partnerdomain=[('member', '=', True)]required=Truestring='Cooperator' args: 'res.partner' -
partner_id_toMany2one → res.partnerdomain=[('cooperator', '=', True)]string='Transfered to' args: 'res.partner' -
quantityIntegerrequired=Truestring='Number of share' -
receiver_not_memberBooleanstring='Receiver is not a member' -
request_dateDatedefault=fields.Date.todaystring='Request date' -
share_product_idMany2one → product.productcheck_company=Truedomain="[('is_share', '=', True), ('company_id', 'in', (company_id, False))]"required=Truestring='Share type' args: 'product.product' -
share_short_nameCharrelated='share_product_id.short_name'string='Share type name' -
share_to_product_idMany2one → product.productcheck_company=Truedomain="[('is_share', '=', True), ('company_id', 'in', (company_id, False))]"string='Convert to this share type' args: 'product.product' -
share_to_short_nameCharrelated='share_to_product_id.short_name'string='Share to type name' -
share_to_unit_priceFloatrelated='share_to_product_id.list_price'string='Share to price' -
share_unit_priceFloatrelated='share_product_id.list_price'string='Share price' -
stateSelectiondefault='draft'required=True args: [('draft', 'Draft'), ('waiting', 'Waiting'), ('approved', 'Approved'), ('done', 'Done'), ('cancelled', 'Cancelled'), ('refused', 'Refused')] -
subscription_amountFloatcompute='_compute_subscription_amount'string='Operation amount' -
subscription_requestOne2many → subscription.requesthelp="For transfer operations: if the share receiver isn't a (former) member then a subscription form must be filled."string='Share Receiver Info' args: 'subscription.request', 'operation_request_id' -
user_idMany2one → res.userscheck_company=Truedefault=<expr>readonly=Truestring='Responsible' args: 'res.users'
-
approve_operation(self) -
cancel_operation(self) -
create(self, vals_list)@api.model_create_multi -
execute_operation(self) -
get_subscription_register_vals(self, effective_date) -
hand_share_over(self, partner, share_product_id, quantity) -
has_share_type(self) -
refuse_operation(self) -
reset_to_draft(self) -
submit_operation(self) -
validate(self)
New fields (13)
-
bank_accountChardefault=_get_bank_accountrequired=Truestring='Bank account' -
company_idMany2one → res.companychange_default=Truedefault=<expr>required=Truestring='Company' args: 'res.company' -
cooperatorMany2one → res.partnerdefault=_get_partner args: 'res.partner' -
emailChardefault=_get_emailrequired=True -
is_companyBooleandefault=_get_is_companystring='Is company?' -
register_numberChardefault=_get_register_numberstring='Register Company Number' -
representative_emailChardefault=_get_representative_emailstring='Representative email' -
representative_firstnameChardefault=_get_representative_firstnamestring='Representative first name' -
representative_lastnameChardefault=_get_representative_lastnamestring='Representative last name' -
share_productMany2one → product.productcheck_company=Truedefault=_default_product_iddomain=_get_possible_sharerequired=Truestring='Share Type' args: 'product.product' -
share_qtyIntegerrequired=Truestring='Share Quantity' -
share_unit_priceFloatreadonly=Truerelated='share_product.list_price'string='Share price' -
subscription_amountFloatcompute='_compute_subscription_amount'digits='Account'readonly=Truestring='Subscription amount'
-
create_subscription(self) -
on_change_share_type(self)@api.onchange('share_product')
New fields (9)
-
by_companyBooleanstring='Can be subscribed by companies?' -
by_individualBooleanstring='Can be subscribed by individuals?' -
default_share_productBooleanstring='Default share product' -
display_on_websiteBooleanstring='Display on website' -
force_min_qtyBooleanstring='Force minimum quantity?' -
is_shareBooleanstring='Is share?' -
mail_templateMany2one → mail.templatestring='Mail template' args: 'mail.template' -
minimum_quantityIntegerdefault=1string='Minimum quantity' -
short_nameCharstring='Short name'
-
get_web_share_products(self, is_company)
New fields (43)
-
allow_id_card_uploadBooleanstring='Allow ID Card upload' -
board_representativeCharstring='Board representative name' -
bottom_logo1Binarystring='Bottom logo 1' -
bottom_logo2Binarystring='Bottom logo 2' -
coop_email_contactCharstring='Contact email address for the cooperator' -
cooperator_capital_release_mail_templateMany2one → mail.templatecomodel_name='mail.template'domain=[('model', '=', 'account.move'), ('is_cooperator_template', '=', True)]help='If left empty, the default global mail template will be used.'string='Capital release email template' -
cooperator_certificate_increase_mail_templateMany2one → mail.templatecomodel_name='mail.template'domain=[('model', '=', 'res.partner'), ('is_cooperator_template', '=', True)]help='If left empty, the default global mail template will be used.'string='Certificate increase email template' -
cooperator_certificate_mail_templateMany2one → mail.templatecomodel_name='mail.template'domain=[('model', '=', 'res.partner'), ('is_cooperator_template', '=', True)]help='If left empty, the default global mail template will be used.'string='Certificate email template' -
cooperator_confirmation_mail_templateMany2one → mail.templatecomodel_name='mail.template'domain=[('model', '=', 'subscription.request'), ('is_cooperator_template', '=', True)]help='If left empty, the default global mail template will be used.'string='Share confirmation email template' -
cooperator_share_transfer_mail_templateMany2one → mail.templatecomodel_name='mail.template'domain=[('model', '=', 'res.partner'), ('is_cooperator_template', '=', True)]help='If left empty, the default global mail template will be used.'string='Share transfer email template' -
cooperator_share_update_mail_templateMany2one → mail.templatecomodel_name='mail.template'domain=[('model', '=', 'res.partner'), ('is_cooperator_template', '=', True)]help='If left empty, the default global mail template will be used.'string='Share update email template' -
cooperator_share_update_no_shares_mail_templateMany2one → mail.templatecomodel_name='mail.template'domain=[('model', '=', 'res.partner'), ('is_cooperator_template', '=', True)]help='If left empty, the default global mail template will be used.'string='Share transfer (no remaining shares) email template' -
cooperator_waiting_list_mail_templateMany2one → mail.templatecomodel_name='mail.template'domain=[('model', '=', 'subscription.request'), ('is_cooperator_template', '=', True)]help='If left empty, the default global mail template will be used.'string='Waiting list email template' -
create_userBooleandefault=Falsestring='Create user for cooperator' -
data_policy_approval_requiredBooleanstring='Is data policy approval required?' -
data_policy_approval_textHtmlhelp='Text to display aside the checkbox to approve data policy.'translate=True -
default_capital_release_request_payment_termMany2one → account.payment.termcomodel_name='account.payment.term'help='Default payment term to use for capital release requests'string='Default Payment Term' -
default_country_idMany2one → res.countrydefault=<expr>string='Default country' args: 'res.country' -
default_lang_idMany2one → res.langstring='Default lang' args: 'res.lang' -
display_data_policy_approvalBooleanhelp='Choose to display a data policy checkbox on the cooperator website form.' -
display_financial_risk_approvalBooleanhelp='Choose to display a financial risk checkbox on the cooperator website form.' -
display_generic_rules_approvalBooleanhelp='Choose to display generic rules checkbox on the cooperator website form.' -
display_internal_rules_approvalBooleanhelp='Choose to display an internal rules checkbox on the cooperator website form.' -
display_logo1Booleanstring='Display logo 1' -
display_logo2Booleanstring='Display logo 2' -
financial_risk_approval_requiredBooleanstring='Is financial risk approval required?' -
financial_risk_approval_textHtmlhelp='Text to display aside the checkbox to approve financial risk.'translate=True -
generic_rules_approval_requiredBooleanstring='Is generic rules approval required?' -
generic_rules_approval_textHtmlhelp='Text to display aside the checkbox to approve the generic rules.'translate=True -
internal_rules_approval_requiredBooleanstring='Is internal rules approval required?' -
internal_rules_approval_textHtmlhelp='Text to display aside the checkbox to approve internal rules.'translate=True -
logo_urlCharcompute='_compute_base_logo'string='logo url' -
property_cooperator_accountMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain=[('account_type', '=', 'asset_receivable'), ('deprecated', '=', False)]help='This account will be the default one as the receivable account for the cooperators'string='Cooperator Account' -
send_capital_release_emailBooleandefault=Truestring='Send Capital Release email' -
send_certificate_emailBooleandefault=Truestring='Send certificate email' -
send_confirmation_emailBooleandefault=Truestring='Send confirmation email' -
send_share_transfer_emailBooleandefault=True -
send_share_update_emailBooleandefault=True -
send_waiting_list_emailBooleandefault=Truestring='Send Waiting List email' -
signature_scanBinarystring='Board representative signature' -
subscription_journal_idMany2one → account.journalcheck_company=Truereadonly=True args: 'account.journal', 'Subscription Journal' -
subscription_maximum_amountFloatstring='Maximum authorised subscription amount' -
unmix_share_typeBooleandefault=Truehelp='If checked, A cooperator will be authorised to have only one type of share'string='Unmix share type'
-
create(self, vals_list)@api.model_create_multi -
get_cooperator_capital_release_mail_template(self) -
get_cooperator_certificate_increase_mail_template(self) -
get_cooperator_certificate_mail_template(self) -
get_cooperator_confirmation_mail_template(self) -
get_cooperator_share_transfer_mail_template(self) -
get_cooperator_share_update_mail_template(self) -
get_cooperator_share_update_no_shares_mail_template(self) -
get_cooperator_waiting_list_mail_template(self) -
get_next_cooperator_number(self) -
get_next_register_operation_number(self) -
onchange_data_policy_approval_required(self)@api.onchange('data_policy_approval_required') -
onchange_financial_risk_approval_required(self)@api.onchange('financial_risk_approval_required') -
onchange_generic_rules_approval_required(self)@api.onchange('generic_rules_approval_required') -
onchange_internal_rules_approval_required(self)@api.onchange('internal_rules_approval_required')
New fields (43)
-
allow_id_card_uploadBooleanreadonly=Falserelated='company_id.allow_id_card_upload' -
board_representativeCharreadonly=Falserelated='company_id.board_representative' -
bottom_logo1Binaryreadonly=Falserelated='company_id.bottom_logo1' -
bottom_logo2Binaryreadonly=Falserelated='company_id.bottom_logo2' -
capital_release_request_payment_term_defaultMany2onereadonly=Falserelated='company_id.default_capital_release_request_payment_term' -
coop_email_contactCharreadonly=Falserelated='company_id.coop_email_contact' -
cooperator_capital_release_mail_templateMany2onereadonly=Falserelated='company_id.cooperator_capital_release_mail_template' -
cooperator_certificate_increase_mail_templateMany2onereadonly=Falserelated='company_id.cooperator_certificate_increase_mail_template' -
cooperator_certificate_mail_templateMany2onereadonly=Falserelated='company_id.cooperator_certificate_mail_template' -
cooperator_confirmation_mail_templateMany2onereadonly=Falserelated='company_id.cooperator_confirmation_mail_template' -
cooperator_share_transfer_mail_templateMany2onereadonly=Falserelated='company_id.cooperator_share_transfer_mail_template' -
cooperator_share_update_mail_templateMany2onereadonly=Falserelated='company_id.cooperator_share_update_mail_template' -
cooperator_share_update_no_shares_mail_templateMany2onereadonly=Falserelated='company_id.cooperator_share_update_no_shares_mail_template' -
cooperator_waiting_list_mail_templateMany2onereadonly=Falserelated='company_id.cooperator_waiting_list_mail_template' -
country_id_defaultMany2onereadonly=Falserelated='company_id.default_country_id' -
create_userBooleanreadonly=Falserelated='company_id.create_user' -
data_policy_approval_requiredBooleanreadonly=Falserelated='company_id.data_policy_approval_required' -
data_policy_approval_textHtmlreadonly=Falserelated='company_id.data_policy_approval_text' -
display_data_policy_approvalBooleanreadonly=Falserelated='company_id.display_data_policy_approval' -
display_financial_risk_approvalBooleanreadonly=Falserelated='company_id.display_financial_risk_approval' -
display_generic_rules_approvalBooleanreadonly=Falserelated='company_id.display_generic_rules_approval' -
display_internal_rules_approvalBooleanreadonly=Falserelated='company_id.display_internal_rules_approval' -
display_logo1Booleanreadonly=Falserelated='company_id.display_logo1' -
display_logo2Booleanreadonly=Falserelated='company_id.display_logo2' -
financial_risk_approval_requiredBooleanreadonly=Falserelated='company_id.financial_risk_approval_required' -
financial_risk_approval_textHtmlreadonly=Falserelated='company_id.financial_risk_approval_text' -
generic_rules_approval_requiredBooleanreadonly=Falserelated='company_id.generic_rules_approval_required' -
generic_rules_approval_textHtmlreadonly=Falserelated='company_id.generic_rules_approval_text' -
internal_rules_approval_requiredBooleanreadonly=Falserelated='company_id.internal_rules_approval_required' -
internal_rules_approval_textHtmlreadonly=Falserelated='company_id.internal_rules_approval_text' -
lang_id_defaultMany2onereadonly=Falserelated='company_id.default_lang_id' -
logo_urlCharreadonly=Falserelated='company_id.logo_url' -
property_cooperator_accountMany2onereadonly=Falserelated='company_id.property_cooperator_account' -
send_capital_release_emailBooleanreadonly=Falserelated='company_id.send_capital_release_email' -
send_certificate_emailBooleanreadonly=Falserelated='company_id.send_certificate_email' -
send_confirmation_emailBooleanreadonly=Falserelated='company_id.send_confirmation_email' -
send_share_transfer_emailBooleanreadonly=Falserelated='company_id.send_share_transfer_email' -
send_share_update_emailBooleanreadonly=Falserelated='company_id.send_share_update_email' -
send_waiting_list_emailBooleanreadonly=Falserelated='company_id.send_waiting_list_email' -
signature_scanBinaryreadonly=Falserelated='company_id.signature_scan' -
subscription_journal_idMany2onereadonly=Falserelated='company_id.subscription_journal_id' -
subscription_maximum_amountFloatreadonly=Falserelated='company_id.subscription_maximum_amount' -
unmix_share_typeBooleanreadonly=Falserelated='company_id.unmix_share_type'
No public methods.
New fields (9)
-
company_register_numberChar -
cooperative_membership_idMany2one → cooperative.membershipcompute=_compute_cooperative_membership_idsearch=_search_cooperative_membership_id args: 'cooperative.membership', 'Cooperative Membership For Current Company' -
cooperative_membership_idsOne2many → cooperative.membershipreadonly=True args: 'cooperative.membership', 'partner_id', 'Cooperative Memberships' -
legal_formSelectionstring='Legal form' args: [] -
representativeBooleanstring='Legal Representative' -
representative_of_member_companyBooleancompute=_compute_representative_of_member_companysearch=_search_representative_of_member_companystring='Legal Representative of Member Company' -
share_idsOne2many → share.linestring='Share Lines' args: 'share.line', 'partner_id' -
subscription_request_idsOne2many → subscription.requeststring='Subscription request' args: 'subscription.request', 'partner_id' -
typeSelectionselection_add=[('representative', 'Representative')]
-
create_cooperative_membership(self, company_id) -
get_cooperative_membership(self, company_id) -
get_cooperator_from_crn(self, company_register_number) -
get_cooperator_from_email(self, email) -
get_create_cooperative_membership(self, company_id) -
get_representative(self) -
get_share_quantities(self, company_id=None)Return a defaultdict(int) with the amount of shares per product id, for the partner's cooperative_membership_id. The partner's cooperative_membership_id is chosen via the company_id argument. If none is given, the company is divined from the context. -
has_representative(self) -
onchange_parent_id(self)@api.onchange('parent_id')
New fields (9)
-
company_currency_idMany2one → res.currencyreadonly=Truerelated='company_id.currency_id'string='Company Currency' args: 'res.currency' -
company_idMany2one → res.companychange_default=Truedefault=<expr>readonly=Truerequired=Truestring='Company' args: 'res.company' -
effective_dateDatereadonly=True -
partner_idMany2one → res.partnerondelete='cascade'readonly=Truerequired=Truestring='Cooperator' args: 'res.partner' -
share_numberIntegerreadonly=Truerequired=Truestring='Number of Share' -
share_product_idMany2one → product.productcheck_company=Truereadonly=Truerequired=Truestring='Share type' args: 'product.product' -
share_short_nameCharreadonly=Truerelated='share_product_id.short_name'string='Share type name' -
share_unit_priceMonetarycurrency_field='company_currency_id'readonly=Truestring='Share price' -
total_amount_lineMonetarycompute='_compute_total_line'currency_field='company_currency_id'string='Total amount line'
No public methods.
New fields (3)
-
cooperatorMany2onerelated='share_line.partner_id'string='Cooperator' -
effective_dateDatedefault=_get_effective_daterequired=Truestring='effective date' -
share_lineMany2one → share.linedefault=_get_share_linestring='Share line' args: 'share.line'
-
update(self)
New fields (18)
-
company_currency_idMany2one → res.currencyreadonly=Truerelated='company_id.currency_id'string='Company Currency' args: 'res.currency' -
company_idMany2one → res.companychange_default=Truedefault=<expr>readonly=Truerequired=Truestring='Company' args: 'res.company' -
dateDatereadonly=Truerequired=Truestring='Subscription Date' -
nameCharreadonly=Truerequired=Truestring='Number Operation' -
partner_idMany2one → res.partnerreadonly=Truerequired=Truestring='Cooperator' args: 'res.partner' -
partner_id_toMany2one → res.partnerreadonly=Truestring='Transfered to' args: 'res.partner' -
quantityIntegerreadonly=Truestring='Number of share' -
quantity_toIntegerreadonly=Truestring='Number of share to' -
register_number_operationIntegerreadonly=Truerequired=True -
share_product_idMany2one → product.productcheck_company=Truedomain=[('is_share', '=', True)]readonly=Truerequired=Truestring='Share type' args: 'product.product' -
share_short_nameCharreadonly=Truerelated='share_product_id.short_name'string='Share type name' -
share_to_product_idMany2one → product.productcheck_company=Truedomain=[('is_share', '=', True)]readonly=Truestring='Share to type' args: 'product.product' -
share_to_short_nameCharreadonly=Truerelated='share_to_product_id.short_name'string='Share to type name' -
share_to_unit_priceMonetarycurrency_field='company_currency_id'readonly=Truestring='Share to price' -
share_unit_priceMonetarycurrency_field='company_currency_id'readonly=Truestring='Share price' -
total_amount_lineMonetarycompute='_compute_total_line'currency_field='company_currency_id'string='Total amount line' -
typeSelectionreadonly=Truestring='Operation Type' args: [('subscription', 'Subscription'), ('transfer', 'Transfer'), ('sell_back', 'Sell Back'), ('convert', 'Conversion')] -
user_idMany2one → res.userscheck_company=Truedefault=<expr>readonly=Truestring='Responsible' args: 'res.users'
-
read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True)@api.model
New fields (49)
-
activeBooleandefault=True -
activities_addressCharreadonly=Truestates={'draft': [('readonly', False)]}string='Activities address' -
activities_cityCharreadonly=Truestates={'draft': [('readonly', False)]}string='Activities city' -
activities_country_idMany2one → res.countryondelete='restrict'readonly=Truestates={'draft': [('readonly', False)]}string='Activities country' args: 'res.country' -
activities_zip_codeCharreadonly=Truestates={'draft': [('readonly', False)]}string='Activities zip Code' -
addressCharreadonly=Truerequired=Truestates={'draft': [('readonly', False)]} -
already_cooperatorBooleanreadonly=Truestates={'draft': [('readonly', False)]}string="I'm already cooperator" -
birthdateDatereadonly=Truestates={'draft': [('readonly', False)]}string='Date of birth' -
capital_release_requestOne2many → account.movereadonly=Truestates={'draft': [('readonly', False)]}string='Capital release request' args: 'account.move', 'subscription_request' -
capital_release_request_dateDatecopy=Falsehelp='Keep empty to use the current date'readonly=Truestates={'draft': [('readonly', False)]}string='Force the capital release request date' -
cityCharreadonly=Truerequired=Truestates={'draft': [('readonly', False)]} -
company_currency_idMany2one → res.currencyreadonly=Truerelated='company_id.currency_id'string='Company Currency' args: 'res.currency' -
company_emailCharreadonly=Truestates={'draft': [('readonly', False)]}string='Company email' -
company_idMany2one → res.companychange_default=Truedefault=<expr>readonly=Truerequired=Truestring='Company' args: 'res.company' -
company_nameCharreadonly=Truestates={'draft': [('readonly', False)]}string='Company name' -
company_register_numberCharreadonly=Truestates={'draft': [('readonly', False)]}string='Company register number' -
company_typeSelectionreadonly=Truestates={'draft': [('readonly', False)]}string='Company type' args: [] -
contact_person_functionCharreadonly=Truestates={'draft': [('readonly', False)]}string='Function' -
country_idMany2one → res.countrydefault=<expr>ondelete='restrict'readonly=Truerequired=Truestates={'draft': [('readonly', False)]}string='Country' args: 'res.country' -
data_policy_approvedBooleandefault=False -
dateDatedefault=<expr>readonly=Truerequired=Truestates={'draft': [('readonly', False)]}string='Subscription date request' -
emailCharreadonly=Truerequired=Truestates={'draft': [('readonly', False)]} -
financial_risk_approvedBooleandefault=False -
firstnameCharreadonly=Truerequired=Truestates={'draft': [('readonly', False)]}string='First name' -
genderSelectionreadonly=Truestates={'draft': [('readonly', False)]} args: [('male', _('Male')), ('female', _('Female')), ('other', _('Other'))] -
generic_rules_approvedBooleandefault=False -
ibanCharreadonly=Truestates={'draft': [('readonly', False)]}string='Account Number' -
internal_rules_approvedBooleandefault=Falsestring='Approved Internal Rules' -
is_companyBooleanreadonly=Truestates={'draft': [('readonly', False)]}string='Is a company' -
is_operationBooleanreadonly=Truestates={'draft': [('readonly', False)]}string='Is an operation' -
is_valid_ibanBooleancompute='_compute_is_valid_iban'readonly=Truestore=Truestring='Valid IBAN?' -
langSelectiondefault=<expr>readonly=Truerequired=Truestates={'draft': [('readonly', False)]}string='Language' args: _lang_get -
lastnameCharreadonly=Truerequired=Truestates={'draft': [('readonly', False)]}string='Last name' -
nameCharcompute='_compute_name'store=True -
operation_request_idMany2one → operation.requestcheck_company=Truereadonly=Truestates={'draft': [('readonly', False)]}string='Operation Request' args: 'operation.request' -
ordered_partsIntegerdefault=1readonly=Truerequired=Truestates={'draft': [('readonly', False)]}string='Number of Share' -
partner_idMany2one → res.partnerreadonly=Truestates={'draft': [('readonly', False)]}string='Cooperator' args: 'res.partner' -
phoneCharreadonly=Truestates={'draft': [('readonly', False)]} -
same_addressBooleanreadonly=Truestates={'draft': [('readonly', False)]}string='Same address' -
share_product_idMany2one → product.productcheck_company=Truedomain="[('is_share', '=', True), ('company_id', 'in', (company_id, False))]"readonly=Truerequired=Truestates={'draft': [('readonly', False)]}string='Share type' args: 'product.product' -
share_short_nameCharreadonly=Truerelated='share_product_id.short_name'states={'draft': [('readonly', False)]}string='Share type name' -
share_unit_priceFloatreadonly=Truerelated='share_product_id.list_price'states={'draft': [('readonly', False)]}string='Share price' -
skip_iban_controlBooleanhelp='Check to bypass iban format control.'string='Skip IBAN Control' -
sourceSelectiondefault='website'readonly=Truestates={'draft': [('readonly', False)]} args: [('website', 'Website'), ('crm', 'CRM'), ('manual', 'Manual'), ('operation', 'Operation')] -
stateSelectiondefault='draft'required=Truetracking=True args: [('draft', 'Draft'), ('blocked', 'Blocked'), ('done', 'Done'), ('waiting', 'Waiting'), ('transfer', 'Transfer'), ('cancelled', 'Cancelled'), ('paid', 'Paid')] -
subscription_amountMonetarycompute='_compute_subscription_amount'currency_field='company_currency_id'readonly=Truestates={'draft': [('readonly', False)]}string='Subscription amount' -
typeSelectiondefault='new'readonly=Truestates={'draft': [('readonly', False)]} args: [('new', 'New Cooperator'), ('increase', 'Increase number of share')] -
user_idMany2one → res.userscheck_company=Truereadonly=Truestring='Responsible' args: 'res.users' -
zip_codeCharreadonly=Truerequired=Truestates={'draft': [('readonly', False)]}
-
block_subscription_request(self) -
cancel_subscription_request(self) -
check_iban(self, iban) -
create(self, vals_list)@api.model_create_multi -
create_coop_partner(self) -
create_invoice(self, partner) -
create_journal(self, company)@api.model -
get_accounting_account(self) -
get_eater_vals(self, partner, share_product_id) -
get_invoice_vals(self, partner) -
get_journal(self) -
get_partner_company_vals(self) -
get_partner_vals(self) -
get_person_info(self, partner) -
get_representative_vals(self) -
get_required_field(self) -
onchange_partner(self)@api.onchange('partner_id') -
put_on_waiting_list(self) -
set_membership(self) -
set_person_info(self, partner) -
setup_partner(self)Ensure a partner with all required properties is linked to this subscription request (creating one if necessary) and return it. -
unblock_subscription_request(self) -
validate_subscription_request(self)
New fields (0)
No new fields.
Public methods (1)-
validate(self)
Loading…
Loading…
- Status
- Open migration PR — not merged yet for this version
- CI status
- green — ready to merge
- Open since
- 8 days ago
- Last activity
- 1 day ago
- Repository
- OCA/cooperative
- Pull request
- [18.0][MIG] cooperator (#182)