Skip to content

Commit

Permalink
[MIG] project_invoicing_subcontractor to 16
Browse files Browse the repository at this point in the history
  • Loading branch information
florian-dacosta committed Jul 19, 2024
1 parent f1e24e6 commit ea77100
Show file tree
Hide file tree
Showing 15 changed files with 103 additions and 172 deletions.
3 changes: 2 additions & 1 deletion project_invoicing_subcontractor/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

{
"name": "project_invoicing_subcontractor",
"version": "14.0.1.0.2",
"version": "16.0.1.0.0",
"author": "Akretion",
"website": "https://github.com/akretion/subcontractor",
"license": "AGPL-3",
Expand All @@ -14,6 +14,7 @@
"hr_timesheet_sheet",
"account_invoice_subcontractor",
"project_time_in_day",
"account_analytic_simple",
],
"data": [
"security/ir.model.access.csv",
Expand Down
12 changes: 6 additions & 6 deletions project_invoicing_subcontractor/demo/account_account.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,39 @@
<record id="account_revenue_consulting" model="account.account">
<field name="name">Service Consulting</field>
<field name="code">706140</field>
<field name="user_type_id" ref="account.data_account_type_revenue" />
<field name="account_type">income</field>
</record>

<record id="account_revenue_maintenance" model="account.account">
<field name="name">Service Maintenance</field>
<field name="code">706150</field>
<field name="user_type_id" ref="account.data_account_type_revenue" />
<field name="account_type">income</field>
</record>

<record id="account_expense_consulting" model="account.account">
<field name="name">Consulting subcontracting</field>
<field name="code">611140</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="account_type">expense</field>
</record>

<record id="account_expense_maintenance" model="account.account">
<field name="name">Maintenance Subcontracting</field>
<field name="code">611150</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="account_type">expense</field>
</record>

<record id="account_expense_internal" model="account.account">
<field name="name">Internal task cost</field>
<field name="code">611160</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="account_type">expense</field>
</record>

<record id="account_prepaid_customer_maintenance" model="account.account">
<field name="name">Prepaid Revenues (maintenance)</field>
<field name="code">418101</field>
<field name="reconcile" eval="False" />
<field name="is_prepaid_account" eval="True" />
<field name="user_type_id" ref="account.data_account_type_current_assets" />
<field name="account_type">liability_current</field>
</record>

</odoo>
22 changes: 11 additions & 11 deletions project_invoicing_subcontractor/demo/project_demo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

<!-- Tasks -->
<record id="project_task_1" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_1" />
<field name="name">Task 1</field>
Expand All @@ -26,7 +26,7 @@
</record>

<record id="project_task_2" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_1" />
<field name="name">Task 2</field>
Expand All @@ -35,7 +35,7 @@
</record>

<record id="project_task_3" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_1" />
<field name="name">Task 3</field>
Expand All @@ -44,7 +44,7 @@
</record>

<record id="project_task_4" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_1" />
<field name="name">Task 4</field>
Expand Down Expand Up @@ -152,7 +152,7 @@

<!-- Tasks -->
<record id="project_2_task_1" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_2" />
<field name="name">Task 1</field>
Expand All @@ -161,7 +161,7 @@
</record>

<record id="project_2_task_2" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_2" />
<field name="name">Task 2</field>
Expand All @@ -170,7 +170,7 @@
</record>

<record id="project_2_task_3" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_2" />
<field name="name">Task 3</field>
Expand All @@ -179,7 +179,7 @@
</record>

<record id="project_2_task_4" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_2" />
<field name="name">Task 4</field>
Expand Down Expand Up @@ -287,7 +287,7 @@

<!-- Tasks -->
<record id="project_task_1_proj3" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_3" />
<field name="name">Task 1</field>
Expand Down Expand Up @@ -324,7 +324,7 @@

<!-- Tasks -->
<record id="project_task_1_proj4" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_4" />
<field name="name">Task 1</field>
Expand All @@ -333,7 +333,7 @@
</record>

<record id="project_task_2_proj4" model="project.task">
<field name="user_id" ref="base.user_demo" />
<field name="user_ids" eval="[(4, ref('base.user_demo'))]" />
<field name="priority">0</field>
<field name="project_id" ref="project_project_4" />
<field name="name">Task 2</field>
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,13 @@ class AccountAnalyticAccount(models.Model):
available_amount = fields.Monetary(compute="_compute_prepaid_amount")
prepaid_total_amount = fields.Monetary(compute="_compute_prepaid_amount")
prepaid_available_amount = fields.Monetary(compute="_compute_prepaid_amount")
account_move_line_ids = fields.One2many("account.move.line", "analytic_account_id")
prepaid_move_line_ids = fields.One2many(
"account.move.line",
"analytic_account_id",
domain=[("is_prepaid_line", "=", True)],
)

@api.depends("account_move_line_ids.prepaid_is_paid")
@api.depends("prepaid_move_line_ids.prepaid_is_paid")
def _compute_prepaid_amount(self):
for account in self:
move_lines, paid_lines = account._prepaid_move_lines()
Expand Down Expand Up @@ -46,13 +50,13 @@ def _prepaid_move_lines(self):
],
)
paid_lines = move_lines.filtered(
lambda m: m.prepaid_is_paid
lambda line: line.prepaid_is_paid
or (
m.move_id.supplier_invoice_ids
line.move_id.supplier_invoice_ids
and all(
[
x.to_pay and x.payment_state != "paid"
for x in m.move_id.supplier_invoice_ids
for x in line.move_id.supplier_invoice_ids
]
)
)
Expand Down
28 changes: 5 additions & 23 deletions project_invoicing_subcontractor/models/account_move.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,11 @@ def _compute_subcontractor_state(self): # noqa: C901
other_draft_invoices = self.env["account.move.line"].search(
[
("parent_state", "=", "draft"),
("analytic_account_id", "=", analytic_account.id),
(
"analytic_account_id",
"=",
analytic_account.id,
),
("move_id", "!=", inv.id),
("move_id.move_type", "=", ["in_invoice", "in_refund"]),
]
Expand Down Expand Up @@ -279,24 +283,8 @@ def action_view_analytic_line(self):
action["domain"] = [("id", "=", lines.ids)]
return action

def _move_autocomplete_invoice_lines_values(self):
# Following code is in this method :
# if line.product_id and not line._cache.get('name'):
# line.name = line._get_computed_name()
# it reset invoice_line name to defaut in case it is not in cache.
# The reason to do this would be
# "Furthermore, the product's label was missing on all invoice lines."
# https://github.com/OCA/OCB/commit/7965c890c4e6f6562d265e1605fef3384b00316e
# So to avoid issues I read the name before the supper to ensure it is in cache
# That is really depressing...
# TODO a PR to fix this should be done I guess, but I have not the motivation
# right now...
self.invoice_line_ids.mapped("name")
return super()._move_autocomplete_invoice_lines_values()

def _create_prepare_prepaid_move_vals(self):
self.ensure_one()
# TODO configure dedicated journal on company?
vals = {
"ref": _("prepaid countdown for %s") % self.name,
"date": self.date,
Expand Down Expand Up @@ -342,9 +330,6 @@ def _manage_prepaid_lines(self):
"partner_id": self.customer_id.id,
"analytic_account_id": analytic_account.id,
}
line_vals = self.env["account.move.line"].play_onchanges(
line_vals, ["account_id", "amount_currency"]
)
line_vals_list.append(line_vals)
# revenue line
line_vals = {
Expand All @@ -354,9 +339,6 @@ def _manage_prepaid_lines(self):
"move_id": prepaid_move.id,
"analytic_account_id": analytic_account.id,
}
line_vals = self.env["account.move.line"].play_onchanges(
line_vals, ["account_id", "amount_currency"]
)
line_vals_list.append(line_vals)
prepaid_move.write({"line_ids": [(0, 0, vals) for vals in line_vals_list]})
prepaid_move.action_post()
Expand Down
Loading

0 comments on commit ea77100

Please sign in to comment.