Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0] [MIG] member_card #522

Merged
merged 32 commits into from
Jan 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
6c13077
[REF] split beesdoo_base -> member_card
victor-champonnois Jul 18, 2022
d046fe5
[REF] split beesdoo_base -> eater_member_card
victor-champonnois Jul 18, 2022
149943c
[REM] deprecated functionalities
victor-champonnois Jul 18, 2022
ee636b3
[REF] beesdoo_base: remove view renames
robinkeunen Aug 5, 2022
b911322
[REF] member_card: rename membercard.new.wizard
robinkeunen Aug 10, 2022
73f752c
[IMP] member_card: remove group_force_barcode
robinkeunen Aug 11, 2022
a5f1a58
[IMP] generate POT and PO files
robinkeunen Aug 16, 2022
bc0717e
[IMP] update french translations
robinkeunen Aug 16, 2022
5af62cd
[UPD] README.rst
github-grap-bot Aug 17, 2022
f51d166
[IMP] translations
robinkeunen Aug 30, 2022
6a08187
[FIX] rem duplication w/ eater_member_card
victor-champonnois Sep 26, 2022
2a0ab35
[REF] move polln_base's pollncard to member_card
victor-champonnois Sep 26, 2022
94fca86
[ADD] configurable member_card logo
victor-champonnois Sep 26, 2022
3dbc9c7
[REF] specific template for eater_member_card
victor-champonnois Sep 27, 2022
c8f1fb0
[FIX] limit name to 20 char to avoid affecting the card size
victor-champonnois Sep 30, 2022
b969c44
Update member_card/readme/DESCRIPTION.rst
victor-champonnois Oct 5, 2022
cf466d6
[IMP] member_card: remove dependency to partner_firstname
robinkeunen Oct 18, 2022
e688701
[IMP] member_card: tests
robinkeunen Oct 18, 2022
09389e4
[UPD] README.rst
github-grap-bot Oct 28, 2022
0f14b7c
[UPD] Update member_card.pot
Oct 28, 2022
1f41a44
[REF] split beesdoo_product
victor-champonnois May 19, 2022
5f55328
[UPD] README.rst
github-grap-bot Oct 30, 2022
129df9c
[IMP] [eater_]member_card: Do not set barcode on eaters
carmenbianca Nov 21, 2022
42856f4
[IMP] member_card: black, isort, prettier
victor-champonnois Aug 3, 2023
7e06054
[MIG] member_card: Migration to 13.0
victor-champonnois Aug 3, 2023
abb384c
[MIG] member_card: Migration to 14.0
victor-champonnois Aug 3, 2023
c183d86
[MIG] member_card: Migration to 15.0
victor-champonnois Aug 3, 2023
a9f6aa3
[MIG] member_card: Migration to 16.0
victor-champonnois Aug 3, 2023
199948e
[REF] member_card: remove custom demo data
robinkeunen Dec 20, 2023
0acd57b
[IMP] member_card: improve feature list
robinkeunen Jan 11, 2024
c80aded
[FIX] member_card: use standard sanitize function
robinkeunen Jan 11, 2024
1468640
[FIX] fix rst syntax in readme fragments
huguesdk Jan 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions member_card/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
===========
Member Card
===========

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:ea5a9e783ce9a6353f709aed224a5f2f96c21c3107728024b05c2c16fa53b4c0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-beescoop%2FObeesdoo-lightgray.png?logo=github
:target: https://github.com/beescoop/Obeesdoo/tree/16.0/member_card
:alt: beescoop/Obeesdoo

|badge1| |badge2| |badge3|

Create a member card and link it to a partner.

- Adds a member_card_template view and print option on partner
- Adds a "Member card" tab on the partner with a button to create a new member card
- The partner's card and barcode history is visible in the member card tab
- Creating a card generates a barcode, witch is then displayed on the member card
- The "Force Barcode" option allows to set a specific barcode instead
- A partner's barcode is computed from the last active member card
- Adds a field ``member_card_logo`` on the company allowing to upload an image
- The card template displays the ``member_card_logo`` image
- A boolean "Print Member card?" allows to flag partners for whom you need to print new cards.
- The wizards "Request member card printing" and "Set member card as printed" allow to mass check and uncheck the "Print Member Card?" flag.
- If the point of sale is installed, the generated barcode matches customer pattern rule.

The wizards "Request member card printing" and "Set member card as printed" allow to

Careful : this module overrides the barcodes already defined on the partners.

If point of sale is installed, the generated barcode matches customer pattern rule.

**Table of contents**

.. contents::
:local:

Known issues / Roadmap
======================

- factor out wizards "request member card printing" and "set member card as printed"

- it was used to request a batch of card to print but has no link to the actual template
- use ``barcodes_generator_abstract`` from the OCA to generate barcodes

**Customer Barcodes**

- odoo/base adds ``barcode`` field on ``res.partner``.
- member_card also adds ``barcode`` but defines it as computed and stored.

On ``member_card`` install, odoo will compute the values for barcode field and **erase pre-existing values**.
It will also make it impossible to load data on that field.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/beescoop/Obeesdoo/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/beescoop/Obeesdoo/issues/new?body=module:%20member_card%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* BEES coop - Cellule IT
* Coop IT Easy SC

Contributors
~~~~~~~~~~~~

* BEES coop - Cellule IT
* Coop IT Easy SC
* Thibault François

Maintainers
~~~~~~~~~~~

This module is part of the `beescoop/Obeesdoo <https://github.com/beescoop/Obeesdoo/tree/16.0/member_card>`_ project on GitHub.

You are welcome to contribute.
2 changes: 2 additions & 0 deletions member_card/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import wizard
25 changes: 25 additions & 0 deletions member_card/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright 2017 - 2020 BEES coop SCRLfs
# - Robin Keunen <robin@coopiteasy.be>
# - Houssine bakkali <houssine@coopiteasy.be>
# - Rémy Taymans <remy@coopiteasy.be>
# - Elise Dupont
# - Thibault François
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Member Card",
"author": "BEES coop - Cellule IT, Coop IT Easy SC",
"summary": "Create a member card and link it to a partner.",
"website": "https://github.com/beescoop/Obeesdoo",
"category": "Sales",
"version": "16.0.1.0.0",
"depends": ["barcodes"],
"data": [
"security/ir.model.access.csv",
"wizard/member_card_wizards_views.xml",
"views/partner.xml",
"views/res_company_view.xml",
"report/member_card_template.xml",
],
"installable": True,
"license": "AGPL-3",
}
218 changes: 218 additions & 0 deletions member_card/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * member_card
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-08-17 07:45+0000\n"
"PO-Revision-Date: 2020-08-17 07:45+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__valid
msgid "Active"
msgstr "Actif"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__barcode
#: model:ir.model.fields,field_description:member_card.field_res_partner__barcode
#: model:ir.model.fields,field_description:member_card.field_res_users__barcode
msgid "Barcode"
msgstr "Code-barres"

#. module: member_card
#: model_terms:ir.ui.view,arch_db:member_card.membercard_requestprinting_wizard_view_form
#: model_terms:ir.ui.view,arch_db:member_card.membercard_set_as_printed_wizard_view_form
#: model_terms:ir.ui.view,arch_db:member_card.new_member_card_wizard_view_form
msgid "Cancel"
msgstr "Annuler"

#. module: member_card
#: model_terms:ir.ui.view,arch_db:member_card.res_partner_view_form
msgid "Cards"
msgstr "Cartes"

#. module: member_card
#: model:ir.model,name:member_card.model_res_partner
msgid "Contact"
msgstr "Contact"

#. module: member_card
#: model_terms:ir.ui.view,arch_db:member_card.new_member_card_wizard_view_form
msgid "Create"
msgstr "Créer"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__create_uid
#: model:ir.model.fields,field_description:member_card.field_membercard_requestprinting_wizard__create_uid
#: model:ir.model.fields,field_description:member_card.field_membercard_set_as_printed_wizard__create_uid
#: model:ir.model.fields,field_description:member_card.field_new_member_card_wizard__create_uid
msgid "Created by"
msgstr "Créé par"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__create_date
#: model:ir.model.fields,field_description:member_card.field_membercard_requestprinting_wizard__create_date
#: model:ir.model.fields,field_description:member_card.field_membercard_set_as_printed_wizard__create_date
#: model:ir.model.fields,field_description:member_card.field_new_member_card_wizard__create_date
msgid "Created on"
msgstr "Créé le"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__display_name
#: model:ir.model.fields,field_description:member_card.field_membercard_requestprinting_wizard__display_name
#: model:ir.model.fields,field_description:member_card.field_membercard_set_as_printed_wizard__display_name
#: model:ir.model.fields,field_description:member_card.field_new_member_card_wizard__display_name
msgid "Display Name"
msgstr "Nom affiché"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__end_date
msgid "Expiration Date"
msgstr "Date d'expiration"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_new_member_card_wizard__force_barcode
msgid "Force Barcode"
msgstr "Forcer le code barre"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__id
#: model:ir.model.fields,field_description:member_card.field_membercard_requestprinting_wizard__id
#: model:ir.model.fields,field_description:member_card.field_membercard_set_as_printed_wizard__id
#: model:ir.model.fields,field_description:member_card.field_new_member_card_wizard__id
msgid "ID"
msgstr "ID"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card____last_update
#: model:ir.model.fields,field_description:member_card.field_membercard_requestprinting_wizard____last_update
#: model:ir.model.fields,field_description:member_card.field_membercard_set_as_printed_wizard____last_update
#: model:ir.model.fields,field_description:member_card.field_new_member_card_wizard____last_update
msgid "Last Modified on"
msgstr "Dernière modification le"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__write_uid
#: model:ir.model.fields,field_description:member_card.field_membercard_requestprinting_wizard__write_uid
#: model:ir.model.fields,field_description:member_card.field_membercard_set_as_printed_wizard__write_uid
#: model:ir.model.fields,field_description:member_card.field_new_member_card_wizard__write_uid
msgid "Last Updated by"
msgstr "Mis à jour par"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__write_date
#: model:ir.model.fields,field_description:member_card.field_membercard_requestprinting_wizard__write_date
#: model:ir.model.fields,field_description:member_card.field_membercard_set_as_printed_wizard__write_date
#: model:ir.model.fields,field_description:member_card.field_new_member_card_wizard__write_date
msgid "Last Updated on"
msgstr "Dernière mise à jour le"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_res_partner__last_printed
#: model:ir.model.fields,field_description:member_card.field_res_users__last_printed
msgid "Last printed on"
msgstr "Dernière impression le"

#. module: member_card
#: model:ir.model,name:member_card.model_member_card
#: model:ir.model,name:member_card.model_new_member_card_wizard
#: model:ir.model.fields,field_description:member_card.field_res_partner__member_card_ids
#: model:ir.model.fields,field_description:member_card.field_res_users__member_card_ids
#: model_terms:ir.ui.view,arch_db:member_card.res_partner_view_form
msgid "Member Card"
msgstr "Carte de membre"

#. module: member_card
#: model:ir.model,name:member_card.model_membercard_requestprinting_wizard
msgid "Member Card - Request Print Wizard"
msgstr "Wizard de demande d'impression de carte de membre"

#. module: member_card
#: model:ir.model,name:member_card.model_membercard_set_as_printed_wizard
msgid "Member card - Set as printed wizard"
msgstr "Wizard pour marquer la carte de membre comme imprimée"

#. module: member_card
#: model_terms:ir.ui.view,arch_db:member_card.res_partner_view_form
msgid "New Card"
msgstr "Nouvelle carte"

#. module: member_card
#: model:ir.actions.act_window,name:member_card.membercard_wizard_action
msgid "New Member Card"
msgstr "Nouvelle carte de membre"

#. module: member_card
#: model:ir.model.fields,help:member_card.field_new_member_card_wizard__force_barcode
msgid "Override automatic barcode generation"
msgstr "Ecraser le code barre généré automatiquement"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__partner_id
#: model:ir.model.fields,field_description:member_card.field_membercard_requestprinting_wizard__partner_ids
#: model:ir.model.fields,field_description:member_card.field_membercard_set_as_printed_wizard__partner_ids
#: model:ir.model.fields,field_description:member_card.field_new_member_card_wizard__partner_id
msgid "Partner"
msgstr "Partenaire"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_res_partner__member_card_to_be_printed
#: model:ir.model.fields,field_description:member_card.field_res_users__member_card_to_be_printed
msgid "Print Member card?"
msgstr "Imprimer la cate de membre ?"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__comment
#: model:ir.model.fields,field_description:member_card.field_new_member_card_wizard__new_comment
msgid "Reason"
msgstr "Raison"

#. module: member_card
#: model_terms:ir.ui.view,arch_db:member_card.membercard_requestprinting_wizard_view_form
msgid "Request Member Card Printing"
msgstr "Demander l'impression de la carte de membre"

#. module: member_card
#: model:ir.actions.act_window,name:member_card.member_card_requestprinting_wizard_action
msgid "Request Member card printing"
msgstr "Demander l'impression de la carte de membre"

#. module: member_card
#: model_terms:ir.ui.view,arch_db:member_card.membercard_requestprinting_wizard_view_form
msgid "Request Printing for"
msgstr "Demander l'impression pour"

#. module: member_card
#: model:ir.model.fields,field_description:member_card.field_member_card__responsible_id
msgid "Responsible"
msgstr "Responsable"

#. module: member_card
#: model:ir.actions.act_window,name:member_card.member_card_set_as_printed_wizard_action
msgid "Set Member card as printed"
msgstr "Marquer la carte de membre comme imprimée"

#. module: member_card
#: model_terms:ir.ui.view,arch_db:member_card.membercard_set_as_printed_wizard_view_form
msgid "Set as Printed"
msgstr "Marquer Imprimé"

#. module: member_card
#: model_terms:ir.ui.view,arch_db:member_card.membercard_set_as_printed_wizard_view_form
msgid "Set as Printed for"
msgstr "Marqué imprimé pour"

#. module: member_card
#: model:ir.model.fields,help:member_card.field_res_partner__barcode
#: model:ir.model.fields,help:member_card.field_res_users__barcode
msgid "Use a barcode to identify this contact from the Point of Sale."
msgstr "Utiliser le code-barres pour identifier le contact dans le point de vente."
Loading
Loading