From 3d62e9700b48496226e62ef38bcab64a555a154c Mon Sep 17 00:00:00 2001 From: gregoire Date: Sun, 22 May 2016 13:26:46 +0200 Subject: [PATCH] add actions for request_membercard_printing and set_membercard_as_printed with a wizard, a view and an action in model for each --- beesdoo_base/__openerp__.py | 2 ++ beesdoo_base/models/partner.py | 12 ++++++++ beesdoo_base/views/partner.xml | 9 ++++-- beesdoo_base/wizard/__init__.py | 4 ++- beesdoo_base/wizard/new_member_card.py | 2 +- .../wizard/request_membercard_printing.py | 17 +++++++++++ .../wizard/set_membercard_as_printed.py | 17 +++++++++++ beesdoo_base/wizard/views/new_member_card.xml | 2 +- .../views/request_membercard_printing.xml | 29 +++++++++++++++++++ .../views/set_membercard_as_printed.xml | 28 ++++++++++++++++++ 10 files changed, 116 insertions(+), 6 deletions(-) create mode 100644 beesdoo_base/wizard/request_membercard_printing.py create mode 100644 beesdoo_base/wizard/set_membercard_as_printed.py create mode 100644 beesdoo_base/wizard/views/request_membercard_printing.xml create mode 100644 beesdoo_base/wizard/views/set_membercard_as_printed.xml diff --git a/beesdoo_base/__openerp__.py b/beesdoo_base/__openerp__.py index a452a53..574bdf3 100644 --- a/beesdoo_base/__openerp__.py +++ b/beesdoo_base/__openerp__.py @@ -21,5 +21,7 @@ 'security/ir.model.access.csv', 'views/partner.xml', 'wizard/views/new_member_card.xml', + 'wizard/views/request_membercard_printing.xml', + 'wizard/views/set_membercard_as_printed.xml', ], } diff --git a/beesdoo_base/models/partner.py b/beesdoo_base/models/partner.py index 46eb706..2185ad4 100644 --- a/beesdoo_base/models/partner.py +++ b/beesdoo_base/models/partner.py @@ -2,6 +2,7 @@ from openerp import models, fields, api, _ from openerp.exceptions import ValidationError from openerp.addons.beesdoo_base.tools import concat_names +import datetime @@ -18,6 +19,7 @@ class Partner(models.Model): barcode = fields.Char(compute="_get_bar_code", string='Bar Code', store=True) parent_barcode = fields.Char(compute="_get_bar_code", string='Parent Bar Code', store=True) member_card_ids = fields.One2many('member.card', 'partner_id') + member_card_to_be_printed = fields.Boolean('Print BEES card?') last_printed = fields.Datetime('Last printed on') @@ -67,3 +69,13 @@ class Partner(models.Model): res = super(Partner, self)._auto_init(cr, context=context) cr.execute("UPDATE res_partner set last_name = name where last_name IS NULL") return res + + @api.one + def _request_membercard_printing(self): + self.member_card_to_be_printed = True + + @api.one + def _set_membercard_as_printed(self): + self.member_card_to_be_printed = False + print("datetime.now", datetime.datetime.now()) + self.last_printed = datetime.datetime.now() diff --git a/beesdoo_base/views/partner.xml b/beesdoo_base/views/partner.xml index 9e151a1..127a866 100644 --- a/beesdoo_base/views/partner.xml +++ b/beesdoo_base/views/partner.xml @@ -23,12 +23,15 @@ - - + + + + + @@ -66,4 +69,4 @@ 'default_company_type' : 'company', } - \ No newline at end of file + diff --git a/beesdoo_base/wizard/__init__.py b/beesdoo_base/wizard/__init__.py index e2aa460..768a851 100644 --- a/beesdoo_base/wizard/__init__.py +++ b/beesdoo_base/wizard/__init__.py @@ -1 +1,3 @@ -import new_member_card \ No newline at end of file +import new_member_card +import request_membercard_printing +import set_membercard_as_printed diff --git a/beesdoo_base/wizard/new_member_card.py b/beesdoo_base/wizard/new_member_card.py index 7a894c8..5b0c4f9 100644 --- a/beesdoo_base/wizard/new_member_card.py +++ b/beesdoo_base/wizard/new_member_card.py @@ -19,4 +19,4 @@ class NewMemberCardWizard(models.TransientModel): def create_new_card(self): client = self.partner_id.sudo() client._deactivate_active_cards() - client._new_card(self.new_comment, self.env.uid) \ No newline at end of file + client._new_card(self.new_comment, self.env.uid) diff --git a/beesdoo_base/wizard/request_membercard_printing.py b/beesdoo_base/wizard/request_membercard_printing.py new file mode 100644 index 0000000..56440a3 --- /dev/null +++ b/beesdoo_base/wizard/request_membercard_printing.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +from openerp import models, fields, api + +class RequestMemberCardPrintingWizard(models.TransientModel): + + _name = 'membercard.requestprinting.wizard' + + def _get_selected_partners(self): + return self.env.context['active_ids'] + + partner_ids = fields.Many2many('res.partner', default=_get_selected_partners) + + + @api.one + def request_printing(self): + for client in self.partner_ids: + client._request_membercard_printing() diff --git a/beesdoo_base/wizard/set_membercard_as_printed.py b/beesdoo_base/wizard/set_membercard_as_printed.py new file mode 100644 index 0000000..f66653c --- /dev/null +++ b/beesdoo_base/wizard/set_membercard_as_printed.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +from openerp import models, fields, api + +class RequestMemberCardPrintingWizard(models.TransientModel): + + _name = 'membercard.set_as_printed.wizard' + + def _get_selected_partners(self): + return self.env.context['active_ids'] + + partner_ids = fields.Many2many('res.partner', default=_get_selected_partners) + + + @api.one + def set_as_printed(self): + for client in self.partner_ids: + client._set_membercard_as_printed() diff --git a/beesdoo_base/wizard/views/new_member_card.xml b/beesdoo_base/wizard/views/new_member_card.xml index abe3f99..792e584 100644 --- a/beesdoo_base/wizard/views/new_member_card.xml +++ b/beesdoo_base/wizard/views/new_member_card.xml @@ -17,5 +17,5 @@ - + diff --git a/beesdoo_base/wizard/views/request_membercard_printing.xml b/beesdoo_base/wizard/views/request_membercard_printing.xml new file mode 100644 index 0000000..3a07966 --- /dev/null +++ b/beesdoo_base/wizard/views/request_membercard_printing.xml @@ -0,0 +1,29 @@ + + + + + Request Membercard Printing Wizard + membercard.requestprinting.wizard + +
+ + +
+
+
+
+ +
diff --git a/beesdoo_base/wizard/views/set_membercard_as_printed.xml b/beesdoo_base/wizard/views/set_membercard_as_printed.xml new file mode 100644 index 0000000..c4ac770 --- /dev/null +++ b/beesdoo_base/wizard/views/set_membercard_as_printed.xml @@ -0,0 +1,28 @@ + + + + Set Membercard as Printed Wizard + membercard.set_as_printed.wizard + +
+ + +
+
+
+
+ +