Skip to content
Snippets Groups Projects
Commit dc886de8 authored by Benjamin - Le Filament's avatar Benjamin - Le Filament
Browse files

[ADD] share price

parent dc98577e
No related branches found
No related tags found
1 merge request!1Draft: Ajoute les appels à garantie
...@@ -5,13 +5,14 @@ ...@@ -5,13 +5,14 @@
"website": "https://le-filament.com", "website": "https://le-filament.com",
"version": "18.0.1.0.0", "version": "18.0.1.0.0",
"license": "AGPL-3", "license": "AGPL-3",
"depends": [], "depends": ["contacts"],
"data": [ "data": [
"security/company_share_security.xml", "security/company_share_security.xml",
"security/ir.model.access.csv", "security/ir.model.access.csv",
# datas # datas
# views # views
"views/company_share_line_views.xml", "views/company_share_line_views.xml",
"views/res_config_settings.xml",
# views menu # views menu
"views/menus.xml", "views/menus.xml",
# wizard # wizard
......
from . import company_share_line from . import company_share_line
from . import res_company from . import res_company
from . import res_config_settings
from . import res_partner
...@@ -17,6 +17,7 @@ class CompanyShareLine(models.Model): ...@@ -17,6 +17,7 @@ class CompanyShareLine(models.Model):
share_unit_price = fields.Monetary( share_unit_price = fields.Monetary(
string="Share price", string="Share price",
currency_field="company_currency_id", currency_field="company_currency_id",
default=lambda self: self.env.company.share_unit_price
) )
share_action = fields.Selection( share_action = fields.Selection(
[("purchase", "Purchase"), ("refund", "Refund")], [("purchase", "Purchase"), ("refund", "Refund")],
......
...@@ -15,6 +15,7 @@ class ResCompany(models.Model): ...@@ -15,6 +15,7 @@ class ResCompany(models.Model):
comodel_name="company.share.line", comodel_name="company.share.line",
inverse_name="company_id", inverse_name="company_id",
) )
share_unit_price = fields.Monetary("Valeur de la part")
# ------------------------------------------------------ # ------------------------------------------------------
# Constraints # Constraints
......
# © 2020 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class ResConfigSettings(models.TransientModel):
_inherit = "res.config.settings"
share_unit_price = fields.Monetary(
string="Valeur de la part",
related="company_id.share_unit_price",
currency_field='company_currency_id',
readonly=False,
)
company_currency_id = fields.Many2one(related="company_id.currency_id")
# Copyright 2023- Le Filament (https://le-filament.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class ResPartner(models.Model):
_inherit = "res.partner"
# ------------------------------------------------------
# Fields declaration
# ------------------------------------------------------
company_share_line_ids = fields.One2many(
comodel_name="company.share.line",
inverse_name="partner_id",
)
company_share_total = fields.Float(compute="_compute_company_share_total")
# ------------------------------------------------------
# Constraints
# ------------------------------------------------------
# ------------------------------------------------------
# Default methods
# ------------------------------------------------------
# ------------------------------------------------------
# Computed fields / Search Fields
# ------------------------------------------------------
def _compute_company_share_total(self):
for partner in self:
partner.company_share_total = sum(partner.company_share_line_ids.mapped("share_total_amount"))
# ------------------------------------------------------
# Onchange / Constraints
# ------------------------------------------------------
# ------------------------------------------------------
# CRUD methods (ORM overrides)
# ------------------------------------------------------
# ------------------------------------------------------
# Actions
# ------------------------------------------------------
# ------------------------------------------------------
# Business methods
# ------------------------------------------------------
...@@ -16,5 +16,13 @@ ...@@ -16,5 +16,13 @@
action="company_share_line_action" action="company_share_line_action"
sequence="10" sequence="10"
/> />
<!-- Menu -->
<menuitem
id="menu_company_shares_config"
name="Paramètres"
parent="menu_company_shares_root"
action="action_company_shares_config"
sequence="100"
/>
</odoo> </odoo>
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="res_config_settings_company_shares_view_form" model="ir.ui.view">
<field name="name">company.shares.res.config.settings.view.inherit</field>
<field name="model">res.config.settings</field>
<field name="priority" eval="80" />
<field name="inherit_id" ref="base.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath expr="//form" position="inside">
<app
data-string="Company Shares"
string="Company Shares"
name="company_shares"
groups="company_shares.group_company_share_admin"
>
<div id="company_share">
<block title="Configuration" name="company_share_config">
<setting id="company_share_unit_price">
<field name="share_unit_price" widget="monetary" />
</setting>
</block>
</div>
</app>
</xpath>
</field>
</record>
<record id="action_company_shares_config" model="ir.actions.act_window">
<field name="name">Paramètres</field>
<field name="res_model">res.config.settings</field>
<field name="view_mode">form</field>
<field name="target">inline</field>
<field name="context">{'module' : 'company_shares', 'bin_size': False}</field>
</record>
</odoo>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment