Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b8beec8209 | |||
| dd9390c649 | |||
| f31c4e2ff7 | |||
| 71e2895362 | |||
| d2c7e57f8d |
@@ -198,7 +198,7 @@ def build_client_slot_ics(appointment_id: str, slot_start: str, client_name: str
|
||||
return '\r\n'.join(ics_lines)
|
||||
|
||||
|
||||
def new(date_start: str, date_end: str, time_span: list, slots, slot_length, user: str, mail: list=None, note:str="", calendar_enabled: bool=False, title: str="", custom_fields: list = (), client_per_slot: int=1) -> dict:
|
||||
def new(date_start: str, date_end: str, time_span: list, slots, slot_length, user: str, mail: list=None, note:str="", calendar_enabled: bool=False, title: str="", custom_fields: list = (), clients_per_slot: int=1) -> dict:
|
||||
"""
|
||||
Generates a link for the executive to send to his clients to book a time Slot
|
||||
"""
|
||||
@@ -220,7 +220,7 @@ def new(date_start: str, date_end: str, time_span: list, slots, slot_length, use
|
||||
normalized_time_span = _normalize_time_span(time_span)
|
||||
normalized_mail = _normalize_mail_list(mail or [])
|
||||
|
||||
id = termin.add(date_start, date_end, normalized_time_span, slots_int, slot_length_int, user, normalized_mail, note, calendar_enabled=calendar_enabled, title=title, custom_fields=custom_fields, clients_p_slot=client_per_slot)
|
||||
id = termin.add(date_start, date_end, normalized_time_span, slots_int, slot_length_int, user, normalized_mail, note, calendar_enabled=calendar_enabled, title=title, custom_fields=custom_fields, clients_p_slot=clients_per_slot)
|
||||
id_str = str(id)
|
||||
tenant_id = _current_tenant_id()
|
||||
|
||||
|
||||
@@ -293,34 +293,27 @@ def configure():
|
||||
date_end=end,
|
||||
time_span=time,
|
||||
slots=slots_amount,
|
||||
slot_lenght=slot_length,
|
||||
slot_length=slot_length,
|
||||
user=session["username"],
|
||||
mail=mail,
|
||||
note=note,
|
||||
calendar_enabled=add_to_calendar,
|
||||
title=title,
|
||||
custom_fields=custom,
|
||||
clients_p_slot=clients_p_slot
|
||||
clients_per_slot=clients_p_slot
|
||||
)
|
||||
|
||||
if not inserted_id:
|
||||
flash('Fehler beim Erstellen des Terminplans.', 'error')
|
||||
return redirect(url_for('terminplaner.configure'))
|
||||
|
||||
# Resolve the URL string here using Flask's native url_for instead of relying on the database layer
|
||||
generated_link = url_for(
|
||||
'terminplaner.client',
|
||||
appointment_id=str(inserted_id),
|
||||
tenant=_current_tenant_id() or None,
|
||||
_external=True
|
||||
)
|
||||
|
||||
flash('Der Terminplan wurde angelegt.', 'success')
|
||||
#flash('Der Terminplan wurde angelegt.', 'success')
|
||||
flash(f'{inserted_id['link']}', 'warning')
|
||||
return render_template(
|
||||
'termin_configure.html',
|
||||
school_periods=cfg.SCHOOL_PERIODS,
|
||||
generated_link=generated_link,
|
||||
calendar_link=None, # Update with calendar service link generation if needed
|
||||
generated_link=inserted_id['link'],
|
||||
calendar_link=None,
|
||||
add_to_calendar=add_to_calendar,
|
||||
email_service_enabled=cfg.EMAIL_ENABLED,
|
||||
title=title,
|
||||
|
||||
@@ -452,7 +452,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
const slotStartSet = new Set(candidateSlots.map(function (slot) { return slot.start; }));
|
||||
const allDays = dateRangeInclusive(String(available.date_start || ''), String(available.date_end || ''));
|
||||
|
||||
let slotMinTime = '08:15:00';
|
||||
let slotMinTime = '08:00:00';
|
||||
let slotMaxTime = '20:00:00';
|
||||
|
||||
const visibleStart = allDays[0] || String(available.date_start || '');
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="custom-fields-container" class="mt-4">
|
||||
<h3 class="mb-3">Custom Fields</h3>
|
||||
<h3 class="mb-3">Benutzerdefinierte Felder</h3>
|
||||
|
||||
<div class="mb-3 custom-field-row">
|
||||
<input type="text"
|
||||
@@ -435,8 +435,8 @@
|
||||
slotLengthInput.addEventListener('change', calculateSlots);
|
||||
}
|
||||
if (clientsperslot) {
|
||||
slotLengthInput.addEventListener('input', calculateSlots);
|
||||
slotLengthInput.addEventListener('change', calculateSlots);
|
||||
clientsperslot.addEventListener('input', calculateSlots);
|
||||
clientsperslot.addEventListener('change', calculateSlots);
|
||||
}
|
||||
|
||||
if (startDateInput.value && endDateInput.value) {
|
||||
|
||||
Reference in New Issue
Block a user