diff --git a/cooperator/__manifest__.py b/cooperator/__manifest__.py
index 5a739af34..76a55287b 100644
--- a/cooperator/__manifest__.py
+++ b/cooperator/__manifest__.py
@@ -40,7 +40,7 @@
"views/operation_request_view.xml",
"views/account_move_views.xml",
"views/product_view.xml",
- "views/res_company_view.xml",
+ "views/res_config_settings_view.xml",
"views/account_journal_views.xml",
"views/cooperative_membership_view.xml",
"views/menus.xml",
diff --git a/cooperator/models/__init__.py b/cooperator/models/__init__.py
index f1b70f3ff..68818c038 100644
--- a/cooperator/models/__init__.py
+++ b/cooperator/models/__init__.py
@@ -12,6 +12,7 @@
from . import operation_request
from . import product_template
from . import res_company
+from . import res_config_settings
from . import res_partner
from . import share_line
from . import subscription_register
diff --git a/cooperator/models/res_config_settings.py b/cooperator/models/res_config_settings.py
new file mode 100644
index 000000000..83b169450
--- /dev/null
+++ b/cooperator/models/res_config_settings.py
@@ -0,0 +1,125 @@
+from odoo import fields, models
+
+
+class ResConfigSettings(models.TransientModel):
+ _inherit = "res.config.settings"
+
+ coop_email_contact = fields.Char(
+ related="company_id.coop_email_contact", readonly=False
+ )
+ subscription_maximum_amount = fields.Float(
+ related="company_id.subscription_maximum_amount", readonly=False
+ )
+ # default_ is a special prefix, so I renamed putting default at the end
+ capital_release_request_payment_term_default = fields.Many2one(
+ related="company_id.default_capital_release_request_payment_term",
+ readonly=False,
+ )
+ country_id_default = fields.Many2one(
+ related="company_id.default_country_id", readonly=False
+ )
+ lang_id_default = fields.Many2one(
+ related="company_id.default_lang_id", readonly=False
+ )
+ allow_id_card_upload = fields.Boolean(
+ related="company_id.allow_id_card_upload", readonly=False
+ )
+ create_user = fields.Boolean(related="company_id.create_user", readonly=False)
+ board_representative = fields.Char(
+ related="company_id.board_representative", readonly=False
+ )
+ signature_scan = fields.Binary(related="company_id.signature_scan", readonly=False)
+ property_cooperator_account = fields.Many2one(
+ related="company_id.property_cooperator_account", readonly=False
+ )
+ subscription_journal_id = fields.Many2one(
+ related="company_id.subscription_journal_id", readonly=False
+ )
+ unmix_share_type = fields.Boolean(
+ related="company_id.unmix_share_type", readonly=False
+ )
+ display_logo1 = fields.Boolean(related="company_id.display_logo1", readonly=False)
+ display_logo2 = fields.Boolean(related="company_id.display_logo2", readonly=False)
+ bottom_logo1 = fields.Binary(related="company_id.bottom_logo1", readonly=False)
+ bottom_logo2 = fields.Binary(related="company_id.bottom_logo2", readonly=False)
+ logo_url = fields.Char(related="company_id.logo_url", readonly=False)
+ display_data_policy_approval = fields.Boolean(
+ related="company_id.display_data_policy_approval", readonly=False
+ )
+ data_policy_approval_required = fields.Boolean(
+ related="company_id.data_policy_approval_required", readonly=False
+ )
+ data_policy_approval_text = fields.Html(
+ related="company_id.data_policy_approval_text", readonly=False
+ )
+ display_internal_rules_approval = fields.Boolean(
+ related="company_id.display_internal_rules_approval", readonly=False
+ )
+ internal_rules_approval_required = fields.Boolean(
+ related="company_id.internal_rules_approval_required", readonly=False
+ )
+ internal_rules_approval_text = fields.Html(
+ related="company_id.internal_rules_approval_text", readonly=False
+ )
+ display_financial_risk_approval = fields.Boolean(
+ related="company_id.display_financial_risk_approval", readonly=False
+ )
+ financial_risk_approval_required = fields.Boolean(
+ related="company_id.financial_risk_approval_required", readonly=False
+ )
+ financial_risk_approval_text = fields.Html(
+ related="company_id.financial_risk_approval_text", readonly=False
+ )
+ display_generic_rules_approval = fields.Boolean(
+ related="company_id.display_generic_rules_approval", readonly=False
+ )
+ generic_rules_approval_required = fields.Boolean(
+ related="company_id.generic_rules_approval_required", readonly=False
+ )
+ generic_rules_approval_text = fields.Html(
+ related="company_id.generic_rules_approval_text", readonly=False
+ )
+ cooperator_certificate_mail_template = fields.Many2one(
+ related="company_id.cooperator_certificate_mail_template", readonly=False
+ )
+ cooperator_certificate_increase_mail_template = fields.Many2one(
+ related="company_id.cooperator_certificate_increase_mail_template",
+ readonly=False,
+ )
+ send_certificate_email = fields.Boolean(
+ related="company_id.send_certificate_email", readonly=False
+ )
+ cooperator_confirmation_mail_template = fields.Many2one(
+ related="company_id.cooperator_confirmation_mail_template", readonly=False
+ )
+ send_confirmation_email = fields.Boolean(
+ related="company_id.send_confirmation_email", readonly=False
+ )
+ cooperator_capital_release_mail_template = fields.Many2one(
+ related="company_id.cooperator_capital_release_mail_template", readonly=False
+ )
+ send_capital_release_email = fields.Boolean(
+ related="company_id.send_capital_release_email", readonly=False
+ )
+ cooperator_waiting_list_mail_template = fields.Many2one(
+ related="company_id.cooperator_waiting_list_mail_template", readonly=False
+ )
+ send_waiting_list_email = fields.Boolean(
+ related="company_id.send_waiting_list_email", readonly=False
+ )
+ cooperator_share_transfer_mail_template = fields.Many2one(
+ related="company_id.cooperator_share_transfer_mail_template", readonly=False
+ )
+ cooperator_share_update_no_shares_mail_template = fields.Many2one(
+ related="company_id.cooperator_share_update_no_shares_mail_template",
+ readonly=False,
+ )
+ send_share_transfer_email = fields.Boolean(
+ related="company_id.send_share_transfer_email", readonly=False
+ )
+ cooperator_share_update_mail_template = fields.Many2one(
+ related="company_id.cooperator_share_update_mail_template", readonly=False
+ )
+ send_share_update_email = fields.Boolean(
+ related="company_id.send_share_update_email", readonly=False
+ )
diff --git a/cooperator/models/subscription_request.py b/cooperator/models/subscription_request.py
index a6bab1788..f9b8d0ee7 100644
--- a/cooperator/models/subscription_request.py
+++ b/cooperator/models/subscription_request.py
@@ -325,6 +325,7 @@ def _compute_subscription_amount(self):
required=True,
readonly=True,
states={"draft": [("readonly", False)]},
+ default=lambda self: self.env.company.default_country_id.code,
)
phone = fields.Char(readonly=True, states={"draft": [("readonly", False)]})
user_id = fields.Many2one(
diff --git a/cooperator/views/menus.xml b/cooperator/views/menus.xml
index b9af16831..3a51e92e8 100644
--- a/cooperator/views/menus.xml
+++ b/cooperator/views/menus.xml
@@ -111,6 +111,14 @@ SPDX-License-Identifier: AGPL-3.0-or-later
sequence="100"
groups="cooperator_group_manager"
/>
+
+