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

feat: Ajout d'un attribut pour filtrer l'envoi des besoins d'achat #1446

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

chloend
Copy link

@chloend chloend commented Sep 30, 2024

Quoi ?

Permettre aux admins d’affecter certains dépôts de besoins à des partenaires.

Pourquoi ?

Des partenaires externes en ont fait la demande.

Comment ?

  • En ajout d'un bouton "Valider et envoyer aux partenaires" dans l'admin des tenders.

  • En ajoutant un attribut 'send_to_commercial_partners_only' dans le modèle Tender qui sera set à True en cliquant sur le bouton "Valider et envoyer aux partenaires".

  • En modifiant la méthode 'validated_sent_batch' de TenderQueryset pour filtrer les envois aux structures lorsque l'attribut est False

Captures d'écran (optionnel)

Ajout du bouton
boutons_envoi_besoins

Modale avec message personnalisé si structures/partenaires
confirmation_envoi_structures
confirmation_envoi_partenaires

Tests de l'attribut

  • Attribut False par défaut
  • Attribut set à True quand on clique sur le bouton adéquat
  • L'envoi des besoins par batch skip les besoins dont l'attribut est True

Copy link
Contributor

@madjid-asa madjid-asa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quelques petites modification à apporter mais cool dans l'ensemble :)

if obj.amount_int > settings.BREVO_TENDERS_MIN_AMOUNT_TO_SEND:
api_brevo.create_deal(tender=obj, owner_email=request.user.email)
# we link deal(tender) with author contact
api_brevo.link_deal_with_contact_list(tender=obj)
self.message_user(request, "Ce dépôt de besoin a été synchronisé avec Brevo")
self.message_user(request, "Ce dépôt de besoin a été validé. Il sera envoyé en temps voulu :)")
obj.save()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pas besoin du .save() le set_validated le fait déjà, mais du coup tu peux remonter obj.send_to_commercial_partners_only = True pour le mettre avant le set_validated

@@ -632,6 +633,9 @@ class Tender(models.Model):
) # could become foreign key
# Admin specific for tenders
is_reserved_tender = models.BooleanField("Appel d'offre reservé", null=True)
send_to_commercial_partners_only = models.BooleanField(
"Envoyer uniquement aux partenaires externes", default=False
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"Envoyer uniquement aux partenaires externes", default=False
"Envoyer uniquement aux partenaires commerciaux", default=False

Préciser commerciaux pour ne pas confondre avec les partenaires externes (types facilitateurs ou autre)

Comment on lines +25 to +26
const recipient = button.getAttribute('data-recipient');
const title = button.getAttribute('data-title');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const recipient = button.getAttribute('data-recipient');
const title = button.getAttribute('data-title');
const recipient = button.dataset.recipient;
const title = button.dataset.title;

Tu utilise généralement les getAttribute pour les attributs non-standards, mais pour les data-* tu peux utiliser dataset

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants