-
Notifications
You must be signed in to change notification settings - Fork 2
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(Admin des Besoins): Demande de modification ou clôture d'un besoin #1596
base: master
Are you sure you want to change the base?
Conversation
0fba46e
to
2a56a9c
Compare
2a56a9c
to
f174a7c
Compare
lemarche/tenders/migrations/0097_add_templatetransactional_tender_author_reject_message.py
Outdated
Show resolved
Hide resolved
dbc29a9
to
3e3e43c
Compare
3e3e43c
to
f988dcb
Compare
lemarche/tenders/management/commands/update_tender_status_to_rejected.py
Outdated
Show resolved
Hide resolved
lemarche/tenders/management/commands/update_tender_status_to_rejected.py
Outdated
Show resolved
Hide resolved
...ions/0018_add_templatetransactional_tender_author_modification_request_and_reject_message.py
Outdated
Show resolved
Hide resolved
f988dcb
to
d0adabc
Compare
- 'email_sent_for_modification' - 'changes_information'
- 'add_log_entry' - 'reset_modification_request'
- 'send_tender_author_modification_request' - 'send_tender_author_reject_message'
d0adabc
to
9a3db2b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Super fonctionnalité, bravo !
Je t'ai fait quelques retours ;)
@@ -81,6 +81,10 @@ def perform_create(self, serializer: TenderSerializer): | |||
source=tender_source, | |||
import_raw_object=self.request.data, | |||
) | |||
# Check before adding logs or resetting modification request | |||
if tender.status == tender_constants.STATUS_PUBLISHED: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je ne suis pas sûr de l'utilité de ce if
vu que status
est affecté juste au dessus.
recipient_email = tender.author.email | ||
recipient_name = tender.author.full_name | ||
|
||
tender_update_url = reverse("tenders:update", kwargs={"slug": tender.slug}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je ne pense pas que tu obtienne l'URL absolue en faisant ça, je pense qu'il faut que tu appel la fonction "get_domain_url" comme un peu plus haut.
@@ -802,6 +840,10 @@ def response_change(self, request, obj: Tender): | |||
# we don't need to send it in the crm, parteners manage them | |||
self.message_user(request, "Ce dépôt de besoin a été validé. Il sera envoyé aux partenaires :)") | |||
return HttpResponseRedirect(".") | |||
if request.POST.get("_send_modification_request"): | |||
return self.handle_email_sent_for_modification(request, obj) | |||
if obj.status == tender_constants.STATUS_REJECTED: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pour moi, le status
est à juste titre en lecture seule, donc je ne vois pas comment on peut tomber dans ce cas ? Ta volonté était bien de permettre le rejet depuis l'admin ou uniquement après l'expiration de la demande de modifications ?
Quoi ?
Permettre de demander des modifications sur un DDB ou de le clôturer si nécessaire.
Pourquoi ?
Actuellement, les admins sont contraints de mettre une mention "HS" sur le titre des besoins afin de les trier. Cela leur permettra de gagner du temps et d'améliorer le suivi des DDB.
Comment ?
1. Modèle
Tender
email_sent_for_modification
: un booléen à False par défautAjout de deux méthodes :
reset_modification_request
: réinitialise les champsemail_sent_for_modification
et/ouchanges_information
lorsque des modifications ont été apportées et que le statut du besoin passe de "brouillon" à "publié".set_modification_request
: sauvegarde les champsemail_sent_for_modification
,status
etlogs
après avoir cliqué sur le bouton d'envoi de modification dans l'admin.2. Modèle
Conversation
a. Ajout deux de
TemplateTransactional
dans une migration :TENDERS_AUTHOR_MODIFICATION_REQUEST
: template de mail de demande de modification d'un DDBTENDERS_AUTHOR_REJECT_MESSAGE
: template de mail de rejet du DDBCaptures d'écran (optionnel)
email_sent_for_modification
à TrueAutre (optionnel)