Repository
OCA/sale-workflow · module folder · Try on Runboat
Module version
1.0.0
Category
Sales
Folder size
0.23 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/sale-workflow
Last tracking update
2026-08-20 17:29:47
Authors
Akretion, Odoo Community Association (OCA)
Maintainers
Akretion, Odoo Community Association (OCA)
Committers
OCA-git-bot, oca-ci, Bhavesh Heliconia
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module introduces a membership concept called "primeship" for partners.

Primeship functions as a straightforward, user-friendly membership system that activates automatically when a sale order containing a primeship activation product is confirmed. The membership duration is customizable and defined in months.

The system automatically deactivates the primeship when the specified duration expires. Users can easily verify a customer's active primeship status and implement conditional actions based on this membership state.

Key features:

  - Simple membership management for partners
  - Automatic activation through sales orders
  - Configurable duration in months
  - Automatic expiration handling
  - Easy status verification for conditional business logic

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
product_template_only_form_view product.template.product.form product.template form Inherits product.product_template_only_form_view
sale_primeship_search sale.primeship.search sale.primeship search New
sale_primeship_view_form sale.primeship.form sale.primeship form New
sale_primeship_view_tree sale.primeship.list sale.primeship list New
view_partner_form res.partner.form res.partner form Inherits base.view_partner_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (5)

New fields (2)
  • primeship_activation Boolean
    default=False string='Activates primeship'
  • primeship_duration Integer
    default=12 string='Primeship duration (in months)'
Public methods (0)

No public methods.

New fields (3)
  • active_primeship Boolean
    compute='_compute_active_primeship' store=True
  • primeship_count Integer
    compute='_compute_primeship_count' string='Primeships Count'
  • primeship_ids One2many → sale.primeship
    comodel_name='sale.primeship' inverse_name='partner_id' required=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • primeship_id Many2one → sale.primeship
    comodel_name='sale.primeship' compute='_compute_primeship_id' inverse='_inverse_primeship_id' string='Primeships'
  • primeship_ids One2many → sale.primeship
    comodel_name='sale.primeship' inverse_name='order_line_id'
Public methods (0)

No public methods.

New fields (8)
  • active Boolean
    default=True
  • current Boolean
    compute='_compute_current' string='Currently Active'
  • end_date Date
    required=True
  • name Char
    compute='_compute_name'
  • order_id Many2one
    related='order_line_id.order_id' string='Sale Order'
  • order_line_id Many2one → sale.order.line
    comodel_name='sale.order.line' string='Sale Order Line'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' index=True ondelete='cascade' required=True
  • start_date Date
    required=True
Public methods (1)
  • overlaps(self, start, end)

Loading…