mirror of
https://github.com/OCA/rma.git
synced 2025-02-16 17:11:47 +02:00
[IMP] rma: teams flow
- If no RMA Team is set, we'll assign a default one to the new RMA. - A sequence is now used to search for the top team and assign it. - No default user is assigned when it's not in the context (i.e. portal rmas).
This commit is contained in:
@@ -89,8 +89,23 @@ An RMA can also be created from a return of a delivery order:
|
||||
Every RMA will be in confirmed state and they will
|
||||
be linked to the returning operation generated previously.
|
||||
|
||||
**Note: An RMA can also be created from an incoming email (See configuration
|
||||
section).**
|
||||
There are Optional RMA Teams that can be used for:
|
||||
|
||||
- Organize RMAs in sections.
|
||||
- Subscribe users to notifications.
|
||||
- Create RMAs from incoming mail to special aliases (See configuration
|
||||
section).
|
||||
|
||||
To create an RMA Team (RMA Responsible user level required):
|
||||
|
||||
#. Go to *RMA > Configuration > RMA Teams*
|
||||
#. Create a new team and assign a name, a responsible and members.
|
||||
#. Subscribe users to notifications, that can be of these subtypes:
|
||||
|
||||
- RMA draft. When a new RMA is created.
|
||||
- Notes, Debates, Activities. As in standard Odoo.
|
||||
#. In the list view, use the cross handle to sort RMA Teams. The top team
|
||||
will be the default one if no team is set.
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
@@ -55,7 +55,6 @@ class Rma(models.Model):
|
||||
comodel_name="res.users",
|
||||
string="Responsible",
|
||||
track_visibility="always",
|
||||
default=lambda self: self.env.user,
|
||||
states={
|
||||
'locked': [('readonly', True)],
|
||||
'cancelled': [('readonly', True)],
|
||||
@@ -499,6 +498,9 @@ class Rma(models.Model):
|
||||
ir_sequence = ir_sequence.with_context(
|
||||
force_company=vals['company_id'])
|
||||
vals['name'] = ir_sequence.next_by_code('rma')
|
||||
# Assign a default team_id which will be the first in the sequence
|
||||
if "team_id" not in vals:
|
||||
vals["team_id"] = self.env["rma.team"].search([], limit=1).id
|
||||
return super().create(vals)
|
||||
|
||||
def copy(self, default=None):
|
||||
|
||||
@@ -8,8 +8,9 @@ class RmaTeam(models.Model):
|
||||
_name = "rma.team"
|
||||
_inherit = ['mail.alias.mixin', 'mail.thread']
|
||||
_description = "RMA Team"
|
||||
_order = "name"
|
||||
_order = "sequence, name"
|
||||
|
||||
sequence = fields.Integer()
|
||||
name = fields.Char(
|
||||
required=True,
|
||||
translate=True,
|
||||
|
||||
@@ -33,5 +33,20 @@ An RMA can also be created from a return of a delivery order:
|
||||
Every RMA will be in confirmed state and they will
|
||||
be linked to the returning operation generated previously.
|
||||
|
||||
**Note: An RMA can also be created from an incoming email (See configuration
|
||||
section).**
|
||||
There are Optional RMA Teams that can be used for:
|
||||
|
||||
- Organize RMAs in sections.
|
||||
- Subscribe users to notifications.
|
||||
- Create RMAs from incoming mail to special aliases (See configuration
|
||||
section).
|
||||
|
||||
To create an RMA Team (RMA Responsible user level required):
|
||||
|
||||
#. Go to *RMA > Configuration > RMA Teams*
|
||||
#. Create a new team and assign a name, a responsible and members.
|
||||
#. Subscribe users to notifications, that can be of these subtypes:
|
||||
|
||||
- RMA draft. When a new RMA is created.
|
||||
- Notes, Debates, Activities. As in standard Odoo.
|
||||
#. In the list view, use the cross handle to sort RMA Teams. The top team
|
||||
will be the default one if no team is set.
|
||||
|
||||
@@ -440,8 +440,29 @@ stock location and click on ‘Return’ button.</li>
|
||||
Every RMA will be in confirmed state and they will
|
||||
be linked to the returning operation generated previously.</li>
|
||||
</ol>
|
||||
<p><strong>Note: An RMA can also be created from an incoming email (See configuration
|
||||
section).</strong></p>
|
||||
<p>There are Optional RMA Teams that can be used for:</p>
|
||||
<blockquote>
|
||||
<ul class="simple">
|
||||
<li>Organize RMAs in sections.</li>
|
||||
<li>Subscribe users to notifications.</li>
|
||||
<li>Create RMAs from incoming mail to special aliases (See configuration
|
||||
section).</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
<p>To create an RMA Team (RMA Responsible user level required):</p>
|
||||
<blockquote>
|
||||
<ol class="arabic simple">
|
||||
<li>Go to <em>RMA > Configuration > RMA Teams</em></li>
|
||||
<li>Create a new team and assign a name, a responsible and members.</li>
|
||||
<li>Subscribe users to notifications, that can be of these subtypes:<ul>
|
||||
<li>RMA draft. When a new RMA is created.</li>
|
||||
<li>Notes, Debates, Activities. As in standard Odoo.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>In the list view, use the cross handle to sort RMA Teams. The top team
|
||||
will be the default one if no team is set.</li>
|
||||
</ol>
|
||||
</blockquote>
|
||||
</div>
|
||||
<div class="section" id="known-issues-roadmap">
|
||||
<h1><a class="toc-backref" href="#id3">Known issues / Roadmap</a></h1>
|
||||
|
||||
@@ -2,6 +2,17 @@
|
||||
<!-- Copyright 2020 Tecnativa - Ernesto Tejeda
|
||||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<record id="rma_team_view_tree" model="ir.ui.view">
|
||||
<field name="model">rma.team</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="sequence" widget="handle" />
|
||||
<field name="name" />
|
||||
<field name="user_id" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="rma_team_view_form" model="ir.ui.view">
|
||||
<field name="name">rma.team.view.form</field>
|
||||
<field name="model">rma.team</field>
|
||||
|
||||
@@ -29,9 +29,6 @@ class SaleOrderRmaWizard(models.TransientModel):
|
||||
default=lambda r: r.order_id.warehouse_id.rma_loc_id.id,
|
||||
)
|
||||
|
||||
def create_rma_from_portal(self):
|
||||
self.ensure_one()
|
||||
|
||||
def create_rma(self, from_portal=None):
|
||||
self.ensure_one()
|
||||
lines = self.line_ids.filtered(lambda r: r.quantity > 0.0)
|
||||
|
||||
Reference in New Issue
Block a user