Aller au contenu

Pack Coupon

Modèle représentant un pack de coupons. Un Contact peut posséder plusieurs packs de coupons.

MCD

classDiagram
    class PackCoupon {
        +text message_mail
    }

    PackCoupon "1" <--> "0..n" Contact
    PackCoupon "1" <--> "0..n" TemplatePackCoupon
    PackCoupon "0..n" <--> "0..1" Article
    PackCoupon "1" <--> "1..n" AttributionPackCoupon

Associations

  • contact(Contact) : Contacts possédant le pack de coupons.
  • template_pack_coupon(TemplatePackCoupon) : Template du pack de coupons. Délègue toutes les informations au template.
  • articles(Article) : Articles utilisant un coupon du pack de coupons.
  • attribution_pack_coupon(AttributionPackCoupon) : Classe génératrice des packs AttributionPackCoupon.

Attributs

  • message_mail : Texte du mail envoyé au contact.

Fonctionnement

Une fois généré par une attribution_pack_coupon, le pack de coupon est automatiquement ajouté à la liste des packs de coupons du contact si le template est actif, sinon on attends le changement d'état. + Pour les coupons de type 'au match', le pack devient inutilisable une fois que taille coupons ont été utilisés. + Pour les coupons de type 'récurrent', le pack devient inutilisable pour un match donné une fois que taille coupons ont été utilisés pour ce match.

Les coupons de type_produit privés permettent d'accéder à des interfaces supplémentaires afin d'ajouter au panier les produit privés. Ces derniers n'apparaissent pas dans la liste des articles de la homepage. Le coupon est automatiquement appliqué.

À la création d'un pack (attribution à un contact), un email (personnalisé) est envoyé à l'adresse du contact pour l'en notifier.

Méthodes

  • matchs : renvoi les matchs auxquels le pack de coupons s'applique.
  • date_expiration : renvoi la date d'expiration du pack de coupons.
  • articles_vendu_count : renvoi le nombre d'articles vendus par le pack de coupons. Possibilité de scope par match.
  • articles_vendu : renvoi les articles vendus par le pack de coupons. Possibilité de scope par match.
  • appliquer : applique le pack de coupons à un article si possible.
  • retirer : retire le pack de coupons d'un article.
  • send_email_to_contact : Envoie un mail au contact pour le notifier de l'attribution du pack.