Skip to content

Commit

Permalink
inline company creation as well
Browse files Browse the repository at this point in the history
  • Loading branch information
digitalfox committed Oct 20, 2024
1 parent e845da3 commit 477ddf9
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 12 deletions.
21 changes: 10 additions & 11 deletions crm/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -249,17 +249,16 @@ def __init__(self, *args, **kwargs):
super(MissionContactForm, self).__init__(*args, **kwargs)
if mission_id:
self.inline_helper.form_action = reverse("crm:linked_mission_contact_create", args=[mission_id])
self.inline_helper.layout = Layout(Div(Column(FieldWithButtons("contact",
HTML(
"""<a role='button' class='btn btn-primary' href='#' onclick='$("#contactForm").show("slow"); $("#contact_input_group").hide("slow")'><i class='bi bi-plus'></i></a>"""),
css_id="contact_input_group"),
css_class="col-md-6"),
Column(FieldWithButtons("company", HTML(
"<a role='button' class='btn btn-primary' href='%s' target='_blank'><i class='bi bi-plus'></i></a>" % reverse(
"crm:company"))),
css_class="col-md-6"),
css_class="row"),
)
self.inline_helper.layout = Layout(Div(
Column(FieldWithButtons("contact",
HTML("""<a role='button' class='btn btn-primary' href='#' onclick='$("#contactForm").show("slow"); $("#contact_input_group").hide("slow")'><i class='bi bi-plus'></i></a>"""),
css_id="contact_input_group"),
css_class="col-md-6"),
Column(FieldWithButtons("company",
HTML("""<a role='button' class='btn btn-primary' href='#' onclick='$("#companyForm").show("slow"); $("#company_input_group").hide("slow")'><i class='bi bi-plus'></i></a>"""),
css_id="company_input_group"),
css_class="col-md-6"),
css_class="row"))


class BusinessBrokerForm(PydiciCrispyModelForm):
Expand Down
10 changes: 9 additions & 1 deletion crm/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,15 +107,22 @@ def contact_list(request):
def linked_mission_contact_create(request, mission_id):
missionContactForm = None
contactForm = None
companyForm = None
if request.POST:
missionContactForm = MissionContactForm(request.POST, prefix="mission-contact")
contactForm = ContactForm(request.POST, prefix="contact")
companyForm = CompanyForm(request.POST, prefix="company")

if contactForm.is_valid():
contact = contactForm.save()
missionContactForm.data = missionContactForm.data.copy()
missionContactForm.data["mission-contact-contact"] = contact.id

if companyForm.is_valid():
company = companyForm.save()
missionContactForm.data = missionContactForm.data.copy()
missionContactForm.data["mission-contact-company"] = company.id

if missionContactForm.is_valid():
mission_contact = missionContactForm.save()
mission = Mission.objects.get(id=mission_id)
Expand All @@ -126,7 +133,8 @@ def linked_mission_contact_create(request, mission_id):

return render(request, "crm/_mission_contact_form.html", {"mission_id": mission_id,
"missionContactForm": missionContactForm or MissionContactForm(mission_id=mission_id, prefix="mission-contact"),
"contactForm": contactForm or ContactForm(prefix="contact")})
"contactForm": contactForm or ContactForm(prefix="contact"),
"companyForm": companyForm or CompanyForm(prefix="company")})


class MissionContactCreate(PydiciNonPublicdMixin, FeatureContactsWriteMixin, ContactReturnToMixin, CreateView):
Expand Down
1 change: 1 addition & 0 deletions templates/crm/_mission_contact_form.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@
novalidate>
{% crispy missionContactForm missionContactForm.inline_helper %}
{% crispy contactForm contactForm.inline_helper %}
{% crispy companyForm companyForm.inline_helper %}
<input type="submit" name="submit" value="{% trans 'Save' %}" class="btn btn-primary">
</form>

0 comments on commit 477ddf9

Please sign in to comment.