Skip to content

Commit f01346b

Browse files
authored
Merge pull request #119 from adamspd/release-v3.3.0
Small fixes & update version release
2 parents 373d989 + 0e4d9d3 commit f01346b

17 files changed

+244
-73
lines changed

appointment/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
__package_name__ = "django-appointment"
66
__url__ = "https://github.com/adamspd/django-appointment"
77
__package_website__ = "https://django-appt.adamspierredavid.com/"
8-
__version__ = "3.2.0"
8+
__version__ = "3.3.0"
99
__test_version__ = False

appointment/admin.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@
99
from django import forms
1010
from django.contrib import admin
1111

12-
from .models import (Appointment, AppointmentRequest, AppointmentRescheduleHistory, Config, DayOff,
13-
EmailVerificationCode, Service, StaffMember, WorkingHours)
12+
from .models import (
13+
Appointment, AppointmentRequest, AppointmentRescheduleHistory, Config, DayOff, EmailVerificationCode,
14+
PasswordResetToken, Service, StaffMember, WorkingHours
15+
)
1416

1517

1618
@admin.register(Service)
@@ -91,3 +93,12 @@ class AppointmentRescheduleHistoryAdmin(admin.ModelAdmin):
9193
list_filter = ('appointment_request__service', 'date', 'created_at')
9294
date_hierarchy = 'created_at'
9395
ordering = ('-created_at',)
96+
97+
98+
@admin.register(PasswordResetToken)
99+
class PasswordResetTokenAdmin(admin.ModelAdmin):
100+
list_display = ('user', 'token', 'expires_at', 'status')
101+
search_fields = ('user__email', 'token')
102+
list_filter = ('status', 'expires_at')
103+
date_hierarchy = 'expires_at'
104+
ordering = ('-expires_at',)

appointment/templates/appointment/rescheduling_thank_you.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,30 @@
1111
align-items: center;
1212
min-height: 40vh;
1313
}
14+
1415
.confirmation-message {
1516
max-width: 600px;
1617
text-align: center;
1718
padding: 20px;
1819
background-color: #ffffff;
1920
border: 1px solid #dee2e6;
2021
border-radius: 5px;
21-
box-shadow: 0 4px 6px rgba(0,0,0,.1);
22+
box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
2223
}
24+
2325
.confirmation-message h1 {
2426
color: #333;
2527
font-size: 24px;
2628
font-weight: 600;
2729
margin-bottom: 20px;
2830
}
31+
2932
.confirmation-message p {
3033
color: #555;
3134
font-size: 16px;
3235
line-height: 1.6;
3336
}
37+
3438
.confirmation-message a {
3539
display: inline-block;
3640
margin-top: 25px;
@@ -41,6 +45,7 @@
4145
text-decoration: none;
4246
font-weight: 500;
4347
}
48+
4449
.confirmation-message a:hover {
4550
background-color: #0056b3;
4651
}

appointment/templates/base_templates/base.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@
3535
<script nomodule src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.js"></script>
3636

3737
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"
38-
integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g=="
39-
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
38+
integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g=="
39+
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
4040
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.2/js/bootstrap.min.js"
41-
integrity="sha512-WW8/jxkELe2CAiE4LvQfwm1rajOS8PHasCCx+knHG0gBHt8EXxS6T6tJRTGuDQVnluuAvMxWF4j8SNFDKceLFg=="
42-
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
41+
integrity="sha512-WW8/jxkELe2CAiE4LvQfwm1rajOS8PHasCCx+knHG0gBHt8EXxS6T6tJRTGuDQVnluuAvMxWF4j8SNFDKceLFg=="
42+
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
4343
{% block customJS %}{% endblock %}
4444

4545
<!--end footer-->

appointment/templates/email_sender/admin_new_appointment_email.html

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
padding: 20px;
1414
margin: 0;
1515
}
16+
1617
.email-container {
1718
background-color: #ffffff;
1819
padding: 25px;
@@ -21,20 +22,24 @@
2122
border-radius: 5px;
2223
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
2324
}
25+
2426
h1 {
2527
color: #333;
2628
font-size: 24px;
2729
}
30+
2831
p {
2932
font-size: 16px;
3033
line-height: 1.6;
3134
}
35+
3236
.appointment-details {
3337
background-color: #f9f9f9;
3438
padding: 15px;
3539
margin-top: 20px;
3640
border-left: 5px solid #007bff;
3741
}
42+
3843
.footer {
3944
margin-top: 30px;
4045
font-size: 14px;
@@ -44,25 +49,26 @@
4449
</style>
4550
</head>
4651
<body>
47-
<div class="email-container">
48-
<h1>{% translate 'New Appointment Request' %}</h1>
49-
<p>{% translate 'Dear Admin,' %}</p>
50-
<p>{% translate 'You have received a new appointment request. Here are the details:' %}</p>
52+
<div class="email-container">
53+
<h1>{% translate 'New Appointment Request' %}</h1>
54+
<p>{% translate 'Dear Admin,' %}</p>
55+
<p>{% translate 'You have received a new appointment request. Here are the details:' %}</p>
5156

52-
<div class="appointment-details">
53-
<p><strong>{% translate 'Client Name' %}:</strong> {{ client_name }}</p>
54-
<p><strong>{% translate 'Service Requested' %}:</strong> {{ appointment.get_service_name }}</p>
55-
<p><strong>{% translate 'Appointment Date' %}:</strong> {{ appointment.appointment_request.date }}</p>
56-
<p><strong>{% translate 'Time' %}:</strong> {{ appointment.appointment_request.start_time }} - {{ appointment.appointment_request.end_time }}</p>
57-
<p><strong>{% translate 'Contact Details' %}:</strong> {{ appointment.phone }} | {{ client_email }}</p>
58-
<p><strong>{% translate 'Additional Info' %}:</strong> {{ appointment.additional_info|default:"N/A" }}</p>
59-
</div>
57+
<div class="appointment-details">
58+
<p><strong>{% translate 'Client Name' %}:</strong> {{ client_name }}</p>
59+
<p><strong>{% translate 'Service Requested' %}:</strong> {{ appointment.get_service_name }}</p>
60+
<p><strong>{% translate 'Appointment Date' %}:</strong> {{ appointment.appointment_request.date }}</p>
61+
<p><strong>{% translate 'Time' %}:</strong> {{ appointment.appointment_request.start_time }}
62+
- {{ appointment.appointment_request.end_time }}</p>
63+
<p><strong>{% translate 'Contact Details' %}:</strong> {{ appointment.phone }} | {{ client_email }}</p>
64+
<p><strong>{% translate 'Additional Info' %}:</strong> {{ appointment.additional_info|default:"N/A" }}</p>
65+
</div>
6066

61-
<p>{% translate 'Please review the appointment request and take the necessary action.' %}</p>
67+
<p>{% translate 'Please review the appointment request and take the necessary action.' %}</p>
6268

63-
<div class="footer">
64-
<p>{% translate 'This is an automated message. Please do not reply directly to this email.' %}</p>
65-
</div>
69+
<div class="footer">
70+
<p>{% translate 'This is an automated message. Please do not reply directly to this email.' %}</p>
6671
</div>
72+
</div>
6773
</body>
6874
</html>

0 commit comments

Comments
 (0)