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

[17.0][MIG] rma_sale_force_invoiced #569

Merged
merged 5 commits into from
Jan 15, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
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
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
Loading