diff --git a/handler/transaction.go b/handler/transaction.go
index 53d07d8..99494a3 100644
--- a/handler/transaction.go
+++ b/handler/transaction.go
@@ -132,13 +132,12 @@ func (h TransactionImpl) handleUpdateTransaction() http.HandlerFunc {
err error
)
input := types.TransactionInput{
- Id: r.PathValue("id"),
- AccountId: r.FormValue("account-id"),
- TreasureChestId: r.FormValue("treasure-chest-id"),
- Value: r.FormValue("value"),
- Timestamp: r.FormValue("timestamp"),
- TimezoneOffsetMinutes: r.FormValue("timezone-offset"),
- Note: r.FormValue("note"),
+ Id: r.PathValue("id"),
+ AccountId: r.FormValue("account-id"),
+ TreasureChestId: r.FormValue("treasure-chest-id"),
+ Value: r.FormValue("value"),
+ Timestamp: r.FormValue("timestamp"),
+ Note: r.FormValue("note"),
}
if input.Id == "new" {
diff --git a/main_test.go b/main_test.go
index 77370f2..1a05b1b 100644
--- a/main_test.go
+++ b/main_test.go
@@ -911,7 +911,7 @@ func TestIntegrationAuth(t *testing.T) {
assert.Equal(t, http.StatusOK, resp.StatusCode)
formData = url.Values{
- "timestamp": {"2006-01-02T15:04"},
+ "timestamp": {"2006-01-02"},
"value": {"100.00"},
"csrf-token": {csrfToken},
}
diff --git a/service/transaction.go b/service/transaction.go
index c85459a..0b462a0 100644
--- a/service/transaction.go
+++ b/service/transaction.go
@@ -440,20 +440,12 @@ func (s TransactionImpl) validateAndEnrichTransaction(oldTransaction *types.Tran
}
valueInt := int64(valueFloat * 100)
- timestampTime, err := time.Parse("2006-01-02T15:04", input.Timestamp)
+ timestamp, err := time.Parse("2006-01-02", input.Timestamp)
if err != nil {
log.Error("transaction validate: %v", err)
return nil, fmt.Errorf("could not parse timestamp: %w", ErrBadRequest)
}
- if input.TimezoneOffsetMinutes != "" {
- timezoneOffsetMinutes, err := strconv.Atoi(input.TimezoneOffsetMinutes)
- if err != nil {
- return nil, fmt.Errorf("could not parse timezone offset: %w", ErrBadRequest)
- }
- timestampTime = timestampTime.Add(time.Duration(-1*timezoneOffsetMinutes) * time.Minute)
- }
-
if input.Note != "" {
err = validateString(input.Note, "note")
if err != nil {
@@ -468,7 +460,7 @@ func (s TransactionImpl) validateAndEnrichTransaction(oldTransaction *types.Tran
AccountId: accountUuid,
TreasureChestId: treasureChestUuid,
Value: valueInt,
- Timestamp: timestampTime,
+ Timestamp: timestamp,
Note: input.Note,
CreatedAt: createdAt,
diff --git a/static/js/time.js b/static/js/time.js
index fe0a8c6..3694bd8 100644
--- a/static/js/time.js
+++ b/static/js/time.js
@@ -9,17 +9,12 @@ document.addEventListener("DOMContentLoaded", () => {
})
function updateTime(e) {
- const timezoneOffset = - new Date().getTimezoneOffset();
- e.querySelectorAll("#timezone-offset").forEach((el) => {
- el.value = timezoneOffset;
- });
document.querySelectorAll(".datetime").forEach((el) => {
if (el.textContent !== "") {
- el.textContent = el.textContent.includes("UTC") ? new Date(el.textContent).toLocaleString([], { day: 'numeric', month: 'short', year: 'numeric', hour: '2-digit', minute: '2-digit' }) : el.textContent;
+ el.textContent = el.textContent.includes("UTC") ? new Date(el.textContent).toLocaleString([], { day: 'numeric', month: 'short', year: 'numeric' }) : el.textContent;
} else if (el.attributes['value'] !== "") {
const value = el.attributes['value'].value;
const newDate = value.includes("UTC") ? new Date(value) : value;
- newDate.setTime(newDate.getTime() + timezoneOffset * 60 * 1000);
el.valueAsDate = newDate;
}
})
diff --git a/template/transaction/transaction.templ b/template/transaction/transaction.templ
index 1e93f54..207f469 100644
--- a/template/transaction/transaction.templ
+++ b/template/transaction/transaction.templ
@@ -70,11 +70,10 @@ templ EditTransaction(transaction *types.Transaction, accounts []*types.Account,
-