Pouvoir offrir une commande, pouvoir distinguer acheteur/bénéficiaire
Je mets ce ticket ici pour l'instant, pour servir de discussion de conception.
Je ne sais pas si c'est au plugin Commandes de prévoir ça en interne dans son stockage et ses API, ou si on est capable de gérer 100% de ça dans un sous-plugin commandes_cadeau.
Le besoin est de pouvoir offir le contenu d'une commande à une autre personne.
Le contenu pouvant aussi bien être physique (donc livraison à une autre personne) que virtuel (donc l'autre personne doit alors généralement avoir un compte créé sur le site pour accéder au contenu).
L'implication finale peut donc être multiple, mais le tout premier besoin au cœur c'est de pouvoir distinguer l'acheteur, d'un optionnel bénéficiaire différent. Par défaut, le bénéficiaire est toujours l'acheteur. Mais si besoin, il faut un moyen pour définir une autre personne bénéficiaire.
Il nous faut bien réfléchir à l'implémentation car ça doit pouvoir gérer des cas très différents :
- si j'offre des produits physiques à quelqu'un, alors j'ai seulement besoin qu'on me demande le nom et l'adresse de cette personne, et alors l'adresse de livraison doit être la sienne
- si j'offre un service en ligne, que ce soit un abonnement au site, un contenu restreint, etc, j'ai besoin qu'on me demande son nom et plutôt son email ET ça doit pouvoir créer un nouveau compte utilisateur pour pouvoir accéder au service (créer l'abonnement lié à cette personne et non pas à l'acheteur, etc)
- si j'offre une chose qui est A LA FOIS physique et virtuelle, il faut qu'on me demande un nom + une adresse + un email, par ex si j'offre un abonnement à un journal papier + l'accès numérique
Les infos à demander relatives au bénéficiaire peuvent donc être multiples (et je ne crois pas qu'on puisse les déterminer totalement). Tout comme les infos d'un acheteur peuvent être demandés par mille manières (simple inscription de SPIP, ou plugin Profils, etc), celle pour le cadeau aussi devrait pouvoir être du ressort de l'implémentation, de la personne qui intègre.
Une des premières choses à concevoir est donc : quelles informations va-t-on stocker en plus dans la commande ? Un unique champ tableau sérialisé dans "beneficiaire" ? Quelques champs à part pour les plus importants quand on les connait ? (id_auteur_beneficiaire + email_beneficiaire + infos_beneficiaires pour stocker librement en plus ?)