Repository
OCA/business-requirement · module folder · Try on Runboat
Module version
1.1.1
Category
Business Requirements Management
Folder size
0.65 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/business-requirement
Last tracking update
2026-08-07 07:47:48
Authors
Odoo Community Association (OCA), Elico Corp, Tecnativa
Maintainers
Odoo Community Association (OCA), Elico Corp, Tecnativa
Committers
Pedro M. Baeza, Víctor Martínez, Weblate, OCA-git-bot, oca-travis, oca-ci, oca-git-bot
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
business_requirement_sale
Description

Code Analysis

Views touched (19)
XML IDNameModelTypeStatus
assets_frontend_inherit_brd BRD frontend assets ir.ui.view qweb Inherits web.assets_frontend
assets_tests assets_tests ir.ui.view qweb Inherits web.assets_tests
brd_section_tree business.requirement.deliverable.section tree New
layout_br_report_body layout_br_report_body ir.ui.view qweb Inherits business_requirement.layout_br_report
portal_br_page portal_br_page ir.ui.view qweb Inherits business_requirement.portal_br_page
portal_my_brd My Business Requirement Deriverable ir.ui.view qweb New
portal_my_brd_list My Business Requirement Deliverable ir.ui.view qweb New
portal_my_home_br Portal My Home : business requirements entries ir.ui.view qweb Inherits business_requirement.portal_my_home_br
portal_my_home_menu_brd Portal layout : business requirement deliverable menu entries ir.ui.view qweb Inherits portal.portal_breadcrumbs
view_business_requirement_deliverable_form business.requirement.deliverable.form business.requirement.deliverable form New
view_business_requirement_deliverable_graph business.requirement.deliverable.graph business.requirement.deliverable graph New
view_business_requirement_deliverable_kanban business.requirement.deliverable.kanban business.requirement.deliverable kanban New
view_business_requirement_deliverable_pivot business.requirement.deliverable.pivot business.requirement.deliverable pivot New
view_business_requirement_deliverable_search business.requirement.deliverable.search business.requirement.deliverable search New
view_business_requirement_deliverable_tree business.requirement.deliverable.tree business.requirement.deliverable tree New
view_business_requirement_form business.requirement.form business.requirement form Inherits business_requirement.view_business_requirement_form
view_business_requirement_search business.requirement.search business.requirement search Inherits business_requirement.view_business_requirement_search
view_business_requirement_tree business.requirement.tree business.requirement tree Inherits business_requirement.view_business_requirement_tree
view_partner_property_form res.partner.product.property.form.inherit res.partner form Inherits product.view_partner_property_form
HTTP endpoints (2)
Route(s)HandlerAuthTypeMethodsFlags
/my/brd/<int:brd_id> CustomerPortal.portal_my_brd user http ALL website
/my/brd, /my/brd/page/<int:page> CustomerPortal.portal_my_brd_list user http ALL website
Models touched (4)

New fields (7)
  • currency_id Many2one → res.currency
    comodel_name='res.currency' compute='_compute_currency_id' readonly=True string='Currency'
  • deliverable_lines One2many → business.requirement.deliverable
    comodel_name='business.requirement.deliverable' copy=True inverse_name='business_requirement_id' readonly=True states={'draft': [('readonly', False)], 'confirmed': [('readonly', False)]} string='Deliverable Lines'
  • dl_count Integer
    compute='_compute_dl_count' string='DL Count'
  • dl_count_portal_published Integer
    compute='_compute_dl_count_portal_published' string='DL Count Portal pubished'
  • dl_total_revenue Float
    compute='_compute_dl_total_revenue' digits='Account' string='DL Total Revenue'
  • pricelist_id Many2one → product.pricelist
    comodel_name='product.pricelist' readonly=True states={'draft': [('readonly', False)]} string='Pricelist'
  • total_revenue Float
    compute='_compute_deliverable_total' store=True string='Total Deliverable'
Public methods (9)
  • copy(self, default=None)
  • get_portal_confirmation_action(self)
  • get_total_by_section(self)
  • map_deliverable(self, new_br_id)
    copy and map deliverable from old to new requirement
  • message_subscribe(self, partner_ids=None, channel_ids=None, subtype_ids=None)
    Subscribe to all existing active deliverables when subscribing to a requirement
  • message_unsubscribe(self, partner_ids=None, channel_ids=None)
    Unsubscribe from all deliverables when unsubscribing from a requirement
  • onchange_partner_id(self)
    @api.onchange('partner_id')
    Update the following fields when the partner is changed: - Pricelist
  • open_deliverable_line(self)
  • partner_id_change(self)
    @api.onchange('partner_id')

New fields (17)
  • business_requirement_id Many2one → business.requirement
    comodel_name='business.requirement' ondelete='cascade' required=True string='Business Requirement'
  • business_requirement_partner_id Many2one → res.partner
    comodel_name='res.partner' readonly=False related='business_requirement_id.partner_id' store=True string='Stakeholder'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' compute='_compute_currency_id' readonly=True string='Currency'
  • dependency_ids Many2many → business.requirement.deliverable
    column1='parent_id' column2='dependency_id' comodel_name='business.requirement.deliverable' relation='business_requirement_deliverable_dependency_rel' string='Dependencies'
  • name Text
    required=True string='Name'
  • portal_published Boolean
    default=True string='In Portal'
  • price_total Float
    compute='_compute_price_total' readonly=True store=True string='Total Deliverable'
  • product_id Many2one → product.product
    comodel_name='product.product' domain=[('sale_ok', '=', True)] required=False string='Product'
  • proposed_solution Html
  • qty Float
    default=1 store=True string='Quantity'
  • sale_price_unit Float
    string='Sales Price'
  • section_id Many2one → business.requirement.deliverable.section
    comodel_name='business.requirement.deliverable.section' string='Section'
  • sequence Integer
    string='Sequence'
  • state Selection
    related='business_requirement_id.state' store=True
  • state Selection
    related='business_requirement_id.state' store=True string='State'
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' default=<expr> required=True string='UoM'
  • user_case Html
Public methods (4)
  • name_get(self)
  • portal_publish_button(self)
  • product_id_change(self)
    @api.onchange('product_id')
  • product_uom_change(self)
    @api.onchange('product_id', 'uom_id', 'qty')

New fields (2)
  • name Char
    required=True string='Name'
  • sequence Integer
    default=10 string='Sequence'
Public methods (0)

No public methods.

New fields (1)
  • property_product_estimation_pricelist Many2one → product.pricelist
    comodel_name='product.pricelist' company_dependent=True help='Pricelist used for the estimation of the Business Requirements\n Deliverables linked to this Customer.\n Currency of the Deliverables will be the one from the pricelist.' string='Estimation Pricelist'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…