Skip to content

Commit 52bc785

Browse files
committed
msgbox or modal depends on View config
1 parent da074a3 commit 52bc785

7 files changed

Lines changed: 68 additions & 59 deletions

File tree

chipy_org/apps/contact/templates/contact/contact.html

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@
1919
</table>
2020
<div class="text-center">
2121
<input class="btn btn-primary" type="submit" value="Send Email">
22-
<!-- <input class="btn btn-primary" type="submit" value="Send Email" data-bs-toggle="modal" data-bs-target="#contact-modal"> -->
2322
</div>
24-
<div id="contact-modal-show" style="display:none" data-bs-toggle="modal" data-bs-target="#contact-modal"></div>
2523
</form>
2624
</div>
2725
</div>
@@ -37,38 +35,6 @@ <h3>Did you know ChiPy has a mailing list?</h3>
3735
</div>
3836
</div>
3937
</div>
40-
41-
{% if messages %}
42-
<!-- CONTACT MODAL STARTS-->
43-
<div class="modal fade" id="contact-modal" tabindex="-1" aria-labelledby="contactModalLabel" aria-hidden="true">
44-
<div class="modal-dialog modal-dialog-centered">
45-
<div class="modal-content">
46-
<div class="modal-header">
47-
<img src="https://via.placeholder.com/150"></img>
48-
<h5 class="modal-title black-text" id="contactModalLabel">Thank You.</h5>
49-
</div>
50-
<div class="modal-body">
51-
{% include "_messages.html" %}
52-
<button
53-
type="button"
54-
class="btn btn-primary"
55-
data-bs-dismiss="modal"
56-
aria-label="Close"
57-
onclick="javascript:window.location='/'">
58-
Return to home
59-
</button>
60-
</div>
61-
</div>
62-
</div>
63-
</div>
64-
65-
<script>
66-
window.addEventListener('load', function () {
67-
document.querySelector("#contact-modal-show").click();
68-
});
69-
</script>
70-
<!-- CONTACT MODAL ENDS-->
71-
{% endif %}
7238
{% endblock %}
7339

7440

chipy_org/apps/contact/views.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ class ContactView(FormView):
88
template_name = "contact/contact.html"
99
form_class = ContactForm
1010
success_url = "/contact"
11+
message_as_modal = True
1112

1213
def form_valid(self, form):
1314
try:
@@ -17,3 +18,9 @@ def form_valid(self, form):
1718
messages.error(self.request, "Your message was NOT sent to Chipy's organizers")
1819

1920
return super().form_valid(form)
21+
22+
def get_context_data(self, **kwargs):
23+
""" Used to access message_as_modal in template as context """
24+
context = super(ContactView, self).get_context_data(**kwargs)
25+
context.update({'message_as_modal': self.message_as_modal})
26+
return context

chipy_org/apps/main/templates/main/homepage.html

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@
2828

2929
{% block content %}
3030

31+
<!-- Renders message box unless View declares message_as_modal instead -->
3132
{% if messages %}
32-
<div class="container-xl">
33-
<div class="row">
34-
<div class="col">
35-
{% include "_messages.html" %}
36-
</div>
37-
</div>
38-
</div><!--closes container-->
33+
{% if message_as_modal %}
34+
{% include "_modal.html" %}
35+
{% else %}
36+
{% include "_messages.html" %}
37+
{% endif %}
3938
{% endif %}
4039

4140
<div class="container-xl">

chipy_org/apps/main/views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
class Home(TemplateView, InitialRSVPMixin):
1717
template_name = "main/homepage.html"
18+
message_as_modal = True
1819

1920
def get_meeting(self):
2021
return (
@@ -28,6 +29,7 @@ def get_context_data(self, **kwargs):
2829
context.update(kwargs)
2930
context["IS_HOMEPAGE"] = True
3031
context["featured_sponsor"] = Sponsor.featured_sponsor()
32+
context["message_as_modal"] = self.message_as_modal
3133

3234
context = self.add_extra_context(context)
3335
return context

chipy_org/templates/_messages.html

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1-
{% for message in messages %}
2-
<div>{{ message|linebreaks }}</div>
3-
{% endfor %}
1+
{% if message_as_modal %}
2+
{% for message in messages %}
3+
<div>{{ message|linebreaks }}</div>
4+
{% endfor %}
45

5-
<!-- ORIGINAL
6-
{% for message in messages %}
7-
<div class="alert alert-dismissible {% if message.tags %} {% for tag in message.tags.split %}alert-{{ tag }} {% endfor %}{% endif %} fade show">
8-
<a class="close" href="#" data-bs-dismiss="alert" aria-label="Close">&times;</a>
9-
{{ message|linebreaks }}
10-
</div>
11-
{% endfor %}
12-
-->
6+
{% else %}
7+
{% for message in messages %}
8+
<div class="container-xl">
9+
<div class="row">
10+
<div class="col-md-12">
11+
<div class="alert alert-dismissible {% if message.tags %} {% for tag in message.tags.split %}alert-{{ tag }} {% endfor %}{% endif %} fade show">
12+
<a class="close" href="#" data-bs-dismiss="alert" aria-label="Close">&times;</a>
13+
{{ message|linebreaks }}
14+
</div>
15+
</div>
16+
</div>
17+
</div><!--closes container xl-->
18+
{% endfor %}
19+
{% endif %}

chipy_org/templates/_modal.html

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<div id="modal-show" style="display:none" data-bs-toggle="modal" data-bs-target="#modal"></div>
2+
3+
<div class="modal fade" id="modal" tabindex="-1" aria-labelledby="modalLabel" aria-hidden="true">
4+
<div class="modal-dialog modal-dialog-centered">
5+
<div class="modal-content">
6+
<div class="modal-header">
7+
<img src="https://via.placeholder.com/150"></img>
8+
<h5 class="modal-title black-text" id="modalLabel">Thank You.</h5>
9+
</div>
10+
<div class="modal-body">
11+
{% include "_messages.html" %}
12+
<button
13+
type="button"
14+
class="btn btn-primary"
15+
data-bs-dismiss="modal"
16+
aria-label="Close"
17+
onclick="javascript:window.location='/'">
18+
Return to home
19+
</button>
20+
</div>
21+
</div>
22+
</div>
23+
</div>
24+
25+
<script>
26+
window.addEventListener('load', function () {
27+
document.querySelector("#modal-show").click();
28+
});
29+
</script>

chipy_org/templates/shiny/slim.html

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@
1717

1818
{% block content %}
1919

20+
<!-- Renders message box unless View declares message_as_modal instead -->
2021
{% if messages %}
21-
<div class="container-xl">
22-
<div class="row">
23-
<div class="col-md-12">
24-
{% include "_messages.html" %}
25-
</div>
26-
</div>
27-
</div><!--closes container xl-->
22+
{% if message_as_modal %}
23+
{% include "_modal.html" %}
24+
{% else %}
25+
{% include "_messages.html" %}
26+
{% endif %}
2827
{% endif %}
2928

3029
<div class="container-xl">

0 commit comments

Comments
 (0)