Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[18.0][MIG] crm_stage_probability: Migration to 18.0 #612

Open
wants to merge 15 commits into
base: 18.0
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[MIG] crm_stage_probability: Migration to 15.0
vib-adhoc authored and HeliconiaSolutions committed Nov 28, 2024
commit b8fe84c445387e8f93ac9c73bd177b6059749cb9
23 changes: 13 additions & 10 deletions crm_stage_probability/README.rst
Original file line number Diff line number Diff line change
@@ -2,10 +2,13 @@
CRM stage probability
=====================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:47229dbbe22f44a935b285fcf6a8ec095140125a64692a40024fe029c4a6a200
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
:target: https://odoo-community.org/page/development-status
@@ -14,16 +17,16 @@ CRM stage probability
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fcrm-lightgray.png?logo=github
:target: https://github.com/OCA/crm/tree/14.0/crm_stage_probability
:target: https://github.com/OCA/crm/tree/15.0/crm_stage_probability
:alt: OCA/crm
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/crm-14-0/crm-14-0-crm_stage_probability
:target: https://translation.odoo-community.org/projects/crm-15-0/crm-15-0-crm_stage_probability
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/111/14.0
:alt: Try me on Runbot
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/crm&target_branch=15.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|
|badge1| |badge2| |badge3| |badge4| |badge5|

This module restore the CRM feature from Odoo <= 12.0 with lead probability
according to its stage.
@@ -51,8 +54,8 @@ Bug Tracker

Bugs are tracked on `GitHub Issues <https://github.com/OCA/crm/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/crm/issues/new?body=module:%20crm_stage_probability%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/crm/issues/new?body=module:%20crm_stage_probability%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

@@ -85,6 +88,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/crm <https://github.com/OCA/crm/tree/14.0/crm_stage_probability>`_ project on GitHub.
This module is part of the `OCA/crm <https://github.com/OCA/crm/tree/15.0/crm_stage_probability>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 1 addition & 1 deletion crm_stage_probability/__manifest__.py
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@
{
"name": "CRM stage probability",
"summary": "Define fixed probability on the stages",
"version": "14.0.1.0.0",
"version": "15.0.1.0.0",
"development_status": "Alpha",
"category": "Sales/CRM",
"website": "https://github.com/OCA/crm",
8 changes: 1 addition & 7 deletions crm_stage_probability/i18n/crm_stage_probability.pot
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -68,10 +68,8 @@ msgid "Crm Stage Update"
msgstr ""

#. module: crm_stage_probability
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_lead__display_name
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_lead_stage_probability_update__display_name
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_lead_stage_probability_update_line__display_name
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_stage__display_name
msgid "Display Name"
msgstr ""

@@ -85,10 +83,8 @@ msgid ""
msgstr ""

#. module: crm_stage_probability
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_lead__id
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_lead_stage_probability_update__id
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_lead_stage_probability_update_line__id
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_stage__id
msgid "ID"
msgstr ""

@@ -98,10 +94,8 @@ msgid "Is Stage Probability"
msgstr ""

#. module: crm_stage_probability
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_lead____last_update
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_lead_stage_probability_update____last_update
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_lead_stage_probability_update_line____last_update
#: model:ir.model.fields,field_description:crm_stage_probability.field_crm_stage____last_update
msgid "Last Modified on"
msgstr ""

1 change: 1 addition & 0 deletions crm_stage_probability/models/crm_lead.py
Original file line number Diff line number Diff line change
@@ -36,6 +36,7 @@ def _compute_is_automated_probability(self):
super(CrmLead, lead)._compute_is_automated_probability()
continue
lead.is_automated_probability = False
return

@api.depends(
lambda self: ["tag_ids", "stage_id", "team_id"] + self._pls_get_safe_fields()
42 changes: 22 additions & 20 deletions crm_stage_probability/static/description/index.html
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>CRM stage probability</title>
<style type="text/css">

/*
:Author: David Goodger ([email protected])
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.

Default cascading style sheet for the HTML output of Docutils.

See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/

@@ -366,8 +366,10 @@ <h1 class="title">CRM stage probability</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:47229dbbe22f44a935b285fcf6a8ec095140125a64692a40024fe029c4a6a200
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Alpha" src="https://img.shields.io/badge/maturity-Alpha-red.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/crm/tree/14.0/crm_stage_probability"><img alt="OCA/crm" src="https://img.shields.io/badge/github-OCA%2Fcrm-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/crm-14-0/crm-14-0-crm_stage_probability"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/111/14.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Alpha" src="https://img.shields.io/badge/maturity-Alpha-red.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/crm/tree/15.0/crm_stage_probability"><img alt="OCA/crm" src="https://img.shields.io/badge/github-OCA%2Fcrm-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/crm-15-0/crm-15-0-crm_stage_probability"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/crm&amp;target_branch=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module restore the CRM feature from Odoo &lt;= 12.0 with lead probability
according to its stage.</p>
<div class="admonition important">
@@ -379,57 +381,57 @@ <h1 class="title">CRM stage probability</h1>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li>
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
<h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
<p>To configure this module, you need to:</p>
<ol class="arabic simple">
<li>Set the probabilities on the stages</li>
<li>Run the “Update leads probability” wizard on the stages to update</li>
</ol>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1>
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/crm/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/crm/issues/new?body=module:%20crm_stage_probability%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/crm/issues/new?body=module:%20crm_stage_probability%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id3">Credits</a></h1>
<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id4">Authors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
<ul class="simple">
<li>Camptocamp</li>
<li>Odoo SA</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id5">Contributors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<ul class="simple">
<li>Odoo SA</li>
<li>Akim Juillerat &lt;<a class="reference external" href="mailto:akim.juillerat&#64;camptocamp.com">akim.juillerat&#64;camptocamp.com</a>&gt;</li>
<li>Robin Goots &lt;<a class="reference external" href="mailto:robin.goots&#64;dynapps.be">robin.goots&#64;dynapps.be</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id6">Maintainers</a></h2>
<h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/crm/tree/14.0/crm_stage_probability">OCA/crm</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/crm/tree/15.0/crm_stage_probability">OCA/crm</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
19 changes: 17 additions & 2 deletions crm_stage_probability/tests/test_crm_lead_probability.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Copyright 2020 Camptocamp SA
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
from odoo.exceptions import UserError
from odoo.tests import SavepointCase
from odoo.tests import TransactionCase


class TestCrmLeadProbability(SavepointCase):
class TestCrmLeadProbability(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
@@ -36,6 +36,11 @@ def test_update_probability(self):
self.opportunity_1.probability, self.opportunity_1.stage_id.probability
)
self.assertTrue(self.opportunity_1.is_stage_probability)
self.opportunity_1.write({"stage_id": False})
self.assertFalse(self.opportunity_1.is_automated_probability)
self.assertFalse(self.opportunity_1.is_stage_probability)
self.opportunity_1.action_set_stage_probability()
self.assertFalse(self.opportunity_1.probability)

def test_create_opportunity(self):
opportunity = self.env["crm.lead"].create(
@@ -47,6 +52,16 @@ def test_create_opportunity(self):
default_stage = self.env["crm.stage"].browse(default_stage_id)
self.assertEqual(opportunity.probability, default_stage.probability)
self.assertFalse(opportunity.is_automated_probability)
# test if there is no default stage
self.env["crm.stage"].search([("fold", "=", False)]).write({"fold": True})
opportunity = self.env["crm.lead"].create(
{"name": "My opportunity", "type": "opportunity"}
)
self.assertEqual(opportunity.probability, 10)
self.assertFalse(opportunity.is_automated_probability)

def test_change_stage_id_values(self):
self.opportunity_1._onchange_stage_id_values(False)

def test_create_opportunity_default_stage_id(self):
opportunity = (