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'attributs de contact pour les acheteurs inscrits #1468

Merged
merged 6 commits into from
Nov 7, 2024
Merged
Changes from 1 commit
Commits
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
Prev Previous commit
Next Next commit
Ajout de l'appel à 'add_to_contact_list' après création d'un tender
chloend committed Nov 5, 2024
commit be840574296185737bbab94b5b695b132b4e81aa
4 changes: 3 additions & 1 deletion lemarche/api/tenders/views.py
Original file line number Diff line number Diff line change
@@ -8,6 +8,7 @@
from lemarche.tenders import constants as tender_constants
from lemarche.tenders.models import Tender
from lemarche.users import constants as user_constants
from lemarche.utils.emails import add_to_contact_list
from lemarche.www.tenders.utils import get_or_create_user_from_anonymous_content


@@ -73,13 +74,14 @@ def perform_create(self, serializer: TenderSerializer):
serializer.validated_data.pop("contact_kind", None)
serializer.validated_data.pop("contact_buyer_kind_detail", None)
# create Tender
serializer.save(
tender = serializer.save(
author=user,
status=tender_constants.STATUS_PUBLISHED,
published_at=timezone.now(),
source=tender_source,
import_raw_object=self.request.data,
)
add_to_contact_list(user=user, type="signup", source=user_source, tender=tender)


class TenderKindViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
2 changes: 2 additions & 0 deletions lemarche/www/pages/views.py
Original file line number Diff line number Diff line change
@@ -18,6 +18,7 @@
from lemarche.tenders.models import Tender, TenderStepsData
from lemarche.users import constants as user_constants
from lemarche.users.models import User
from lemarche.utils.emails import add_to_contact_list
from lemarche.utils.tracker import track
from lemarche.www.pages.forms import (
CompanyReferenceCalculatorForm,
@@ -342,6 +343,7 @@ def csrf_failure(request, reason=""): # noqa C901
# create tender
if is_adding:
tender: Tender = create_tender_from_dict(tender_dict)
add_to_contact_list(user=user, type="signup", source=user_constants.SOURCE_TENDER_FORM, tender=tender)
elif is_update:
slug = request.path.split("/")[-1]
tender: Tender = Tender.objects.get(slug=slug)
4 changes: 3 additions & 1 deletion lemarche/www/tenders/views.py
Original file line number Diff line number Diff line change
@@ -18,6 +18,7 @@
from lemarche.users.models import User
from lemarche.utils import constants, settings_context_processors
from lemarche.utils.data import get_choice
from lemarche.utils.emails import add_to_contact_list
from lemarche.utils.mixins import (
SesameSiaeMemberRequiredMixin,
SesameTenderAuthorRequiredMixin,
@@ -229,7 +230,6 @@ def done(self, _, form_dict, **kwargs):
tender_dict = cleaned_data | {"author": user, "source": tender_constants.SOURCE_FORM}
is_draft: bool = self.request.POST.get("is_draft", False)
self.save_instance_tender(tender_dict=tender_dict, form_dict=form_dict, is_draft=is_draft)

# remove steps data
uuid = self.request.session.get("tender_steps_data_uuid", None)
if uuid:
@@ -254,6 +254,8 @@ def done(self, _, form_dict, **kwargs):
message=self.get_success_message(cleaned_data, self.instance, is_draft=is_draft),
extra_tags="modal_message_bizdev",
)
tender = self.instance
add_to_contact_list(user=user, type="signup", source=user_constants.SOURCE_TENDER_FORM, tender=tender)
return redirect(self.get_success_url())

def get_success_url(self):