Skip to content

Commit

Permalink
Merge pull request #569 from ForgeFlow/17.0-mig-rma_sale_force_invoiced
Browse files Browse the repository at this point in the history
[17.0][MIG] rma_sale_force_invoiced
  • Loading branch information
LoisRForgeFlow authored Jan 15, 2025
2 parents a0d341e + 19aa5ed commit ffce9be
Show file tree
Hide file tree
Showing 9 changed files with 114 additions and 0 deletions.
49 changes: 49 additions & 0 deletions rma_sale_force_invoiced/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:alt: License AGPL-3

=======================
RMA Sale Force Invoiced
=======================

This module allows you to force the sales orders created from RMA order lines
to be set as invoiced once they are created. This use is useful in the
scenario, for example, where you sell goods free of charge and you don't want
to generate an invoice.

Installation
============

This module depends on the module *sale_force_invoiced*, available in
https://github.com/OCA/sale-workflow.

Usage
=====

#. Go to *RMA / Configuration / Customer Operations* and set the flag
*Sale Force Invoiced* to the operation where you'd like to apply this
behaviour.
#. Go to *RMA / Customr RMA* and create a new RMA.
#. Press the button *Create Sale Quotation* available in the RMA.
#. Confirm the sale quotation.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues
<https://github.com/ForgeFlow/stock-rma/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.

Credits
=======

Contributors
------------

* Jordi Ballester Alomar <[email protected]>


Maintainer
----------

This module is maintained by ForgeFlow
2 changes: 2 additions & 0 deletions rma_sale_force_invoiced/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import wizards
17 changes: 17 additions & 0 deletions rma_sale_force_invoiced/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2022 ForgeFlow S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.html)

{
"name": "RMA Sale Force Invoiced",
"version": "17.0.1.0.0",
"license": "AGPL-3",
"category": "RMA",
"summary": "Forces sales orders created from RMA to be forced as invoiced",
"author": "ForgeFlow",
"website": "https://github.com/ForgeFlow",
"depends": ["rma_sale", "sale_force_invoiced"],
"data": [
"views/rma_operation_views.xml",
],
"installable": True,
}
1 change: 1 addition & 0 deletions rma_sale_force_invoiced/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import rma_operation
12 changes: 12 additions & 0 deletions rma_sale_force_invoiced/models/rma_operation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright 2022 ForgeFlow S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.html)
from odoo import fields, models


class RmaOperation(models.Model):
_inherit = "rma.operation"

sale_force_invoiced = fields.Boolean(
help="Forces the sales order created from RMA to be flagged invoiced. "
"This is useful when the sales order is free of charge.",
)
3 changes: 3 additions & 0 deletions rma_sale_force_invoiced/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
15 changes: 15 additions & 0 deletions rma_sale_force_invoiced/views/rma_operation_views.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>

<record id="rma_operation_form" model="ir.ui.view">
<field name="name">rma.operation.form</field>
<field name="model">rma.operation</field>
<field name="inherit_id" ref="rma.rma_operation_form" />
<field name="arch" type="xml">
<field name="company_id" position="after">
<field name="sale_force_invoiced" />
</field>
</field>
</record>

</odoo>
1 change: 1 addition & 0 deletions rma_sale_force_invoiced/wizards/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import rma_order_line_make_sale_order
14 changes: 14 additions & 0 deletions rma_sale_force_invoiced/wizards/rma_order_line_make_sale_order.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright 2022 ForgeFlow S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.html)

from odoo import api, models


class RmaLineMakeSaleOrder(models.TransientModel):
_inherit = "rma.order.line.make.sale.order"

@api.model
def _prepare_sale_order(self, line):
data = super()._prepare_sale_order(line)
data["force_invoiced"] = line.operation_id.sale_force_invoiced
return data

0 comments on commit ffce9be

Please sign in to comment.