Skip to content

Commit

Permalink
#724 - add new column for description
Browse files Browse the repository at this point in the history
  • Loading branch information
deadlocker8 committed Jan 14, 2023
1 parent 207b29f commit 31250ff
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ public String columnSettings(WebRequest request,
{
final String date = csvRow.getColumns().get(csvColumnSettings.columnDate() - 1);
final String name = csvRow.getColumns().get(csvColumnSettings.columnName() - 1);
final String description = csvRow.getColumns().get(csvColumnSettings.columnDescription() - 1);

final String amount = csvRow.getColumns().get(csvColumnSettings.columnAmount() - 1);
final Optional<Integer> parsedAmountOptional = AmountParser.parse(amount);
Expand All @@ -170,7 +171,7 @@ public String columnSettings(WebRequest request,
continue;
}

csvTransactions.add(new CsvTransaction(date, name, parsedAmountOptional.get(), CsvTransactionStatus.PENDING));
csvTransactions.add(new CsvTransaction(date, name, parsedAmountOptional.get(), description, CsvTransactionStatus.PENDING));
}
catch(IndexOutOfBoundsException e)
{
Expand Down Expand Up @@ -248,6 +249,7 @@ public String newTransactionInPlace(WebRequest request,

// update original CsvTransaction attributes with values from user (from newCsvTransaction)
csvTransaction.setName(newCsvTransaction.getName());
csvTransaction.setDescription(newCsvTransaction.getDescription());

final Transaction newTransaction = createTransactionFromCsvTransaction(csvTransaction);
transactionService.getRepository().save(newTransaction);
Expand All @@ -261,6 +263,7 @@ private Transaction createTransactionFromCsvTransaction(CsvTransaction csvTransa
// TODO parse first
// newTransaction.setDate(csvTransaction.getDate());
newTransaction.setName(csvTransaction.getName());
newTransaction.setDescription(csvTransaction.getDescription());
newTransaction.setAmount(csvTransaction.getAmount());
newTransaction.setIsExpenditure(true);
newTransaction.setAccount(helpers.getCurrentAccountOrDefault());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package de.deadlocker8.budgetmaster.transactions.csvimport;

public record CsvColumnSettings(int columnDate, int columnName, int columnAmount)
public record CsvColumnSettings(int columnDate, int columnName, int columnAmount, int columnDescription)
{
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@ public final class CsvTransaction
private final String date;
private String name;
private final Integer amount;
private String description;
private CsvTransactionStatus status;

public CsvTransaction(String date, String name, Integer amount, CsvTransactionStatus status)
public CsvTransaction(String date, String name, Integer amount, String description, CsvTransactionStatus status)
{
this.date = date;
this.name = name;
this.amount = amount;
this.description = description;
this.status = status;
}

Expand All @@ -37,6 +39,16 @@ public Integer getAmount()
return amount;
}

public String getDescription()
{
return description;
}

public void setDescription(String description)
{
this.description = description;
}

public CsvTransactionStatus getStatus()
{
return status;
Expand All @@ -53,13 +65,13 @@ public boolean equals(Object o)
if(this == o) return true;
if(o == null || getClass() != o.getClass()) return false;
CsvTransaction that = (CsvTransaction) o;
return Objects.equals(date, that.date) && Objects.equals(name, that.name) && Objects.equals(amount, that.amount) && status == that.status;
return Objects.equals(date, that.date) && Objects.equals(name, that.name) && Objects.equals(amount, that.amount) && Objects.equals(description, that.description) && status == that.status;
}

@Override
public int hashCode()
{
return Objects.hash(date, name, amount, status);
return Objects.hash(date, name, amount, description, status);
}

@Override
Expand All @@ -68,7 +80,8 @@ public String toString()
return "CsvTransaction{" +
"date='" + date + '\'' +
", name='" + name + '\'' +
", amount='" + amount + '\'' +
", amount=" + amount +
", description='" + description + '\'' +
", status=" + status +
'}';
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,18 @@
<label class="input-label" for="columnAmount">${locale.getString("transactions.import.column")}</label>
</div>
</div>
<div class="row">
<div class="col s6 m4 offset-m2 l3 offset-l3">
<div class="transaction-import-text-with-icon">
<i class="material-icons">article</i>
${locale.getString("transaction.new.label.description")}
</div>
</div>
<div class="input-field col s6 m4 l3 no-margin-top no-margin-bottom">
<input id="columnDescription" type="number" min="1" max="${csvRows?size}" name="columnDescription" <@validation.validation "columnDescription"/> value="<#if csvColumnSettings??>${csvColumnSettings.columnDescription()}</#if>">
<label class="input-label" for="columnDescription">${locale.getString("transactions.import.column")}</label>
</div>
</div>

<br>

Expand Down Expand Up @@ -195,6 +207,7 @@
<td class="bold">${locale.getString("transactions.import.status")}</td>
<td class="bold">${locale.getString("transaction.new.label.date")}</td>
<td class="bold">${locale.getString("transaction.new.label.name")}</td>
<td class="bold">${locale.getString("transaction.new.label.description")}</td>
<td class="bold">${locale.getString("transaction.new.label.amount")}</td>
<td class="bold">${locale.getString("transactions.import.actions")}</td>
</tr>
Expand All @@ -217,6 +230,11 @@
<input class="no-margin-bottom" type="text" name="name" required value="${csvTransaction.getName()}">
</div>
</td>
<td>
<div class="input-field no-margin-top no-margin-bottom">
<input class="no-margin-bottom" type="text" name="description" value="${csvTransaction.getDescription()}">
</div>
</td>
<td>${currencyService.getCurrencyString(csvTransaction.getAmount())}</td>
<td>
<@header.buttonSubmit name='action' icon='save' localizationKey='' classes='text-white'/>&nbsp;
Expand Down

0 comments on commit 31250ff

Please sign in to comment.