fix: clear arrival_time and disable field when status is sent

This commit is contained in:
2026-07-05 22:15:40 +08:00
parent 84e4e457db
commit 5b6b2ccef8
2 changed files with 17 additions and 8 deletions

View File

@@ -354,7 +354,7 @@ def postcard_update(
pc.recipient_name = recipient_name or None pc.recipient_name = recipient_name or None
pc.country = country or None pc.country = country or None
pc.send_time = _parse_dt(send_time) pc.send_time = _parse_dt(send_time)
pc.arrival_time = _parse_dt(arrival_time) pc.arrival_time = None if status == "sent" else _parse_dt(arrival_time)
pc.sender_name = sender_name or None pc.sender_name = sender_name or None
pc.receive_time = _parse_dt(receive_time) pc.receive_time = _parse_dt(receive_time)
db.commit() db.commit()

View File

@@ -57,23 +57,32 @@ function toggleFields() {
country.required = false; country.required = false;
sendTime.required = false; sendTime.required = false;
arrival.required = false; arrival.required = false;
arrival.disabled = false;
sender.required = true; sender.required = true;
receive.required = true; receive.required = true;
} else if (s === 'sent') {
sd.style.display = '';
rc.style.display = 'none';
recipient.required = true;
country.required = true;
sendTime.required = true;
arrival.required = false;
arrival.disabled = true;
arrival.value = '';
labelArrival.textContent = '到达时间';
sender.required = false;
receive.required = false;
} else { } else {
sd.style.display = ''; sd.style.display = '';
rc.style.display = 'none'; rc.style.display = 'none';
recipient.required = true; recipient.required = true;
country.required = true; country.required = true;
sendTime.required = true; sendTime.required = true;
sender.required = false; arrival.disabled = false;
receive.required = false;
if (s === 'delivered') {
arrival.required = true; arrival.required = true;
labelArrival.textContent = '到达时间 *'; labelArrival.textContent = '到达时间 *';
} else { sender.required = false;
arrival.required = false; receive.required = false;
labelArrival.textContent = '到达时间';
}
} }
} }
toggleFields(); toggleFields();