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

[8.0.1.0.0] stock_picking_invoice_journal_policy #45

Merged
merged 1 commit into from
Jan 27, 2019
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
48 changes: 48 additions & 0 deletions stock_picking_invoice_journal_policy/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3

============================================
Create Invoice From Picking's Journal Policy
============================================


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

To install this module, you need to:

1. Clone the branch 8.0 of the repository https://github.com/open-synergy/opnsynid-stock-logistics-warehouse
2. Add the path to this repository in your configuration (addons-path)
3. Update the module list
4. Go to menu *Setting -> Modules -> Local Modules*
5. Search For *Create Invoice From Picking's Journal Policy*
6. Install the module

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

Bugs are tracked on `GitHub Issues
<https://github.com/open-synergy/opnsynid-stock-logistics-warehouse/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
------------

* Michael Viriyananda <viriyananda.michael@gmail.com>
* Andhitia Rama <andhitia.r@gmail.com>

Maintainer
----------

.. image:: https://opensynergy-indonesia.com/logo.png
:alt: OpenSynergy Indonesia
:target: https://opensynergy-indonesia.com

This module is maintained by the OpenSynergy Indonesia.
8 changes: 8 additions & 0 deletions stock_picking_invoice_journal_policy/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# -*- coding: utf-8 -*-
# Copyright 2019 OpenSynergy Indonesia
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import (
models,
wizards,
)
20 changes: 20 additions & 0 deletions stock_picking_invoice_journal_policy/__openerp__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Copyright 2019 OpenSynergy Indonesia
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# pylint: disable=locally-disabled, manifest-required-author
{
"name": "Create Invoice From Picking's Journal Policy",
"version": "8.0.1.0.0",
"category": "Stock Management",
"website": "https://opensynergy-indonesia.com",
"author": "OpenSynergy Indonesia",
"license": "AGPL-3",
"installable": True,
"depends": [
"stock_account",
],
"data": [
"wizards/stock_invoice_onshipping.xml",
"views/stock_picking_type_views.xml",
],
}
7 changes: 7 additions & 0 deletions stock_picking_invoice_journal_policy/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
# Copyright 2019 OpenSynergy Indonesia
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import (
stock_picking_type,
)
21 changes: 21 additions & 0 deletions stock_picking_invoice_journal_policy/models/stock_picking_type.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Copyright 2017 OpenSynergy Indonesia
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from openerp import models, fields


class StockPickingType(models.Model):
_inherit = "stock.picking.type"

allowed_invoice_journal_ids = fields.Many2many(
string="Allowed Invoice Journals",
comodel_name="account.journal",
relation="rel_stock_picking_type_2_invoice_journal",
column1="stock_picking_id",
column2="journal_id",
)
default_invoice_journal_id = fields.Many2one(
string="Default Invoice Journal",
comodel_name="account.journal",
)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="stock_picking_type_view_form" model="ir.ui.view">
<field name="name">Stock Picking Type Policy Form</field>
<field name="model">stock.picking.type</field>
<field name="inherit_id" ref="stock.view_picking_type_form"/>
<field name="arch" type="xml">
<data>
<xpath expr="//sheet/group[1]" position="after">
<group name="invoice_policy" string="Invoice Policy" colspan="4" col="2">
<field name="allowed_invoice_journal_ids" widget="many2many_tags"/>
<field name="default_invoice_journal_id"/>
</group>
</xpath>
</data>
</field>
</record>
</data>
</openerp>
5 changes: 5 additions & 0 deletions stock_picking_invoice_journal_policy/wizards/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2019 OpenSynergy Indonesia
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import stock_invoice_onshipping
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# Copyright 2018 OpenSynergy Indonesia
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from openerp import models, api, fields


class StockInvoiceOnshipping(models.TransientModel):
_inherit = "stock.invoice.onshipping"

@api.model
def _default_stock_picking_id(self):
active_ids = self._context.get("active_ids", [])
if len(active_ids) > 0:
return active_ids[0]
else:
return False

stock_picking_id = fields.Many2one(
string="Stock Picking",
comodel_name="stock.picking",
default=lambda self: self._default_stock_picking_id(),
)
allowed_invoice_journal_ids = fields.Many2many(
string="Allowed Invoice Journals",
comodel_name="account.journal",
related="stock_picking_id.picking_type_id.allowed_invoice_journal_ids",
)

@api.onchange("stock_picking_id")
def onchange_journal_id(self):
self.journal_id = False
if self.stock_picking_id:
picking = self.stock_picking_id
if picking.picking_type_id:
picking_type = picking.picking_type_id
if picking_type.default_invoice_journal_id:
self.journal_id = picking_type.default_invoice_journal_id
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="stock_invoice_onshipping_view_form" model="ir.ui.view">
<field name="name">stock.invoice.onshipping form</field>
<field name="model">stock.invoice.onshipping</field>
<field name="mode">extension</field>
<field name="inherit_id" ref="stock_account.view_stock_invoice_onshipping"/>
<field name="arch" type="xml">
<data>
<xpath expr="//field[@name='journal_id']" position="before">
<field name="stock_picking_id" invisible="1"/>
<field name="allowed_invoice_journal_ids" widget="many2many_tags" invisible="1"/>
</xpath>
<xpath expr="//field[@name='journal_id']" position="attributes">
<attribute name="domain">[('id','in',allowed_invoice_journal_ids[0][2])]</attribute>
<attribute name="on_change"/>
</xpath>
</data>
</field>
</record>
</data>
</openerp>