Mercurial > hgweb > health
changeset 1974:bb56988563bd
task #13334: Add related invoice, separate view of created invoices
| author | Chris Zimmerman <siv@riseup.net> |
|---|---|
| date | Sun, 07 Jun 2015 20:55:25 -0700 |
| parents | 87be956933f9 |
| children | 5975bdb2ad4b |
| files | tryton/health_services/health_services_view.xml tryton/health_services/invoice.py |
| diffstat | 2 files changed, 35 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/tryton/health_services/health_services_view.xml +++ b/tryton/health_services/health_services_view.xml @@ -72,6 +72,32 @@ action="gnuhealth_action_health_service" id="gnuhealth_health_service_menu" icon="gnuhealth-list"/> +<!-- Simple view of created health service invoices --> + + <record model="ir.action.act_window" id="gnuhealth_action_health_service_invoices"> + <field name="name">Created invoices</field> + <field name="res_model">account.invoice</field> + <field name="domain">[('health_service', '!=', None)]</field> + </record> + + <menuitem parent="gnuhealth_services_menu" + action="gnuhealth_action_health_service_invoices" + id="gnuhealth_health_service_invoices_menu" icon="gnuhealth-list"/> + +<!-- Shortcut to created invoice from health services --> + + <record model="ir.action.act_window" id="act_invoice_related_form1"> + <field name="name">Related Invoice</field> + <field name="res_model">account.invoice</field> + <field name="domain">[('health_service', '=', Eval('active_id'))]</field> + </record> + <record model="ir.action.keyword" + id="act_open_invoice_related_keyword1"> + <field name="keyword">form_relate</field> + <field name="model">gnuhealth.health_service,-1</field> + <field name="action" ref="act_invoice_related_form1"/> + </record> + </data> </tryton>
--- a/tryton/health_services/invoice.py +++ b/tryton/health_services/invoice.py @@ -20,7 +20,7 @@ health_service = fields.Function( fields.Many2One('gnuhealth.health_service', 'Health Service', help="The service entry"), - 'get_health_service') + 'get_health_service', searcher='search_health_service') def get_patient(self, name): try: @@ -35,6 +35,14 @@ return None @classmethod + def search_health_service(cls, name, clause): + return [('lines.origin.name.id', + clause[1], + clause[2], + 'gnuhealth.health_service.line')] + + + @classmethod def __setup__(cls): super(Invoice, cls).__setup__()
