diff --git a/easy_my_coop_api/__manifest__.py b/easy_my_coop_api/__manifest__.py index 7aa896a..ac55137 100644 --- a/easy_my_coop_api/__manifest__.py +++ b/easy_my_coop_api/__manifest__.py @@ -17,7 +17,7 @@ "summary": """ Open Easy My Coop to the world: RESTful API. """, - "data": [], + "data": ["views/external_id_mixin_views.xml"], "demo": ["demo/demo.xml"], "installable": True, "application": False, diff --git a/easy_my_coop_api/models/external_id_mixin.py b/easy_my_coop_api/models/external_id_mixin.py index bed33e3..8206b1f 100644 --- a/easy_my_coop_api/models/external_id_mixin.py +++ b/easy_my_coop_api/models/external_id_mixin.py @@ -35,6 +35,11 @@ class ExternalIdMixin(models.AbstractModel): string="Last API Export Date", required=False ) + # only used to display and hide "Generate external ID" button + external_id_generated = fields.Boolean( + string="External ID Generated", default=False, required=False + ) + @api.multi def set_external_sequence(self): self.ensure_one() @@ -61,7 +66,12 @@ class ExternalIdMixin(models.AbstractModel): while True: try: next_id = self.external_id_sequence_id._next() - self.sudo().write({"_api_external_id": next_id}) + self.sudo().write( + { + "_api_external_id": next_id, + "external_id_generated": True, + } + ) break except IntegrityError as e: if n > 0: diff --git a/easy_my_coop_api/views/external_id_mixin_views.xml b/easy_my_coop_api/views/external_id_mixin_views.xml new file mode 100644 index 0000000..4a8cc8b --- /dev/null +++ b/easy_my_coop_api/views/external_id_mixin_views.xml @@ -0,0 +1,178 @@ + + + + + view_partner_form + res.partner + + + + + + + + + +