Browse Source

[ADD] emc_loan: loaners field and menu

pull/28/head
robin.keunen 5 years ago
parent
commit
2867c1cbdb
  1. 31
      easy_my_coop_loan/models/partner.py
  2. 2
      easy_my_coop_loan/views/menus.xml
  3. 31
      easy_my_coop_loan/views/partner_view.xml

31
easy_my_coop_loan/models/partner.py

@ -1,9 +1,30 @@
from odoo import fields, models
# -*- coding: utf-8 -*-
# Copyright 2019 Coop IT Easy SCRL fs
# Robin Keunen <robin@coopiteasy.be>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models, api
class ResPartner(models.Model): class ResPartner(models.Model):
_inherit = 'res.partner'
_inherit = "res.partner"
loan_line_ids = fields.One2many(
comodel_name="loan.issue.line",
inverse_name="partner_id",
string="Loans",
)
is_loaner = fields.Boolean(
string="Loaner",
compute="_compute_is_loaner",
store=True,
)
loan_line_ids = fields.One2many('loan.issue.line',
'partner_id',
string="Loans")
@api.multi
@api.depends("loan_line_ids", "loan_line_ids.state")
def _compute_is_loaner(self):
for partner in self:
loans = partner.loan_line_ids.filtered(
lambda l: l.state in ["subscribed", "waiting", "paid"]
)
partner.is_loaner = bool(loans)

2
easy_my_coop_loan/views/menus.xml

@ -8,5 +8,7 @@
<menuitem name="Loan Issues" id="loan_issue_menu" action="action_loan_issue" parent="menu_easy_my_coop_main_loan_issue" sequence="110"/> <menuitem name="Loan Issues" id="loan_issue_menu" action="action_loan_issue" parent="menu_easy_my_coop_main_loan_issue" sequence="110"/>
<menuitem name="Loans" id="individual_loan_menu" action="action_follow_individual_loan" parent="menu_easy_my_coop_main_loan_issue" sequence="120"/> <menuitem name="Loans" id="individual_loan_menu" action="action_follow_individual_loan" parent="menu_easy_my_coop_main_loan_issue" sequence="120"/>
<menuitem name="Loaners" id="loaners_menu" action="action_loaners" parent="easy_my_coop.menu_easy_my_coop_main_coop" sequence="215" />
<menuitem name="Loan Term" id="loan_term_menu" action="action_loan_term" parent="easy_my_coop.menu_easy_my_coop_config" sequence="420"/> <menuitem name="Loan Term" id="loan_term_menu" action="action_loan_term" parent="easy_my_coop.menu_easy_my_coop_config" sequence="420"/>
</odoo> </odoo>

31
easy_my_coop_loan/views/partner_view.xml

@ -1,11 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2019 Coop IT Easy
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo> <odoo>
<record id="view_partner_form_loan_issue" model="ir.ui.view"> <record id="view_partner_form_loan_issue" model="ir.ui.view">
<field name="name">res.partner.form.loan.issue</field> <field name="name">res.partner.form.loan.issue</field>
<field name="model">res.partner</field> <field name="model">res.partner</field>
<field name="inherit_id" ref="easy_my_coop.view_partner_form_easy_my_coop"/> <field name="inherit_id" ref="easy_my_coop.view_partner_form_easy_my_coop"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<page name="share_subscription" position="after">
<page name="share_subscription" position="after">
<page string="Loan issue lines" name="loan_issue_lines" groups="easy_my_coop.group_easy_my_coop_user"> <page string="Loan issue lines" name="loan_issue_lines" groups="easy_my_coop.group_easy_my_coop_user">
<group>
<field name="is_loaner"/>
</group>
<field name="loan_line_ids"> <field name="loan_line_ids">
<tree create="false" delete="false" edit="false"> <tree create="false" delete="false" edit="false">
<field name="loan_issue_id"/> <field name="loan_issue_id"/>
@ -20,4 +28,23 @@
</page> </page>
</field> </field>
</record> </record>
</odoo>
<record id="view_res_partner_loaner_filter" model="ir.ui.view">
<field name="name">res.partner.select</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_res_partner_filter"/>
<field name="arch" type="xml">
<xpath expr="//filter[@name='supplier']" position='after'>
<filter string="Loaners" name="loaners" domain="[('is_loaner','=',1)]" help="Loaning Partners"/>
</xpath>
</field>
</record>
<record id="action_loaners" model="ir.actions.act_window">
<field name="name">Loaners</field>
<field name="res_model">res.partner</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
<field name="context">{'search_default_loaners':1}</field>
</record>
</odoo>
Loading…
Cancel
Save