/*
- * Copyright © 2018 Damyan Ivanov.
+ * Copyright © 2019 Damyan Ivanov.
* This file is part of Mobile-Ledger.
* Mobile-Ledger is free software: you can distribute it and/or modify it
* under the term of the GNU General Public License as published by
package net.ktnx.mobileledger.async;
-import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.util.Log;
+import net.ktnx.mobileledger.model.Data;
import net.ktnx.mobileledger.model.LedgerTransaction;
-import net.ktnx.mobileledger.model.LedgerTransactionItem;
+import net.ktnx.mobileledger.model.LedgerTransactionAccount;
import net.ktnx.mobileledger.utils.NetworkUtil;
import net.ktnx.mobileledger.utils.UrlEncodedFormData;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
-import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
private LedgerTransaction ltr;
protected String error;
- private SharedPreferences pref;
- public void setPref(SharedPreferences pref) {
- this.pref = pref;
- }
-
public SaveTransactionTask(TaskCallback callback) {
task_callback = callback;
}
private boolean send_ok() throws IOException {
- HttpURLConnection http = NetworkUtil.prepare_connection(pref, "add");
+ HttpURLConnection http = NetworkUtil.prepare_connection("add");
http.setRequestMethod("POST");
http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
http.setRequestProperty("Accept", "*/*");
if (token != null) params.add_pair("_token", token);
params.add_pair("date", ltr.getDate());
params.add_pair("description", ltr.getDescription());
- {
- Iterator<LedgerTransactionItem> items = ltr.getItemsIterator();
- while (items.hasNext()) {
- LedgerTransactionItem item = items.next();
- params.add_pair("account", item.getAccountName());
- if (item.isAmountSet())
- params.add_pair("amount", String.format(Locale.US, "%1.2f", item.getAmount()));
- else params.add_pair("amount", "");
- }
+ for (LedgerTransactionAccount acc : ltr.getAccounts()) {
+ params.add_pair("account", acc.getAccountName());
+ if (acc.isAmountSet())
+ params.add_pair("amount", String.format(Locale.US, "%1.2f", acc.getAmount()));
+ else params.add_pair("amount", "");
}
String body = params.toString();
protected Void doInBackground(LedgerTransaction... ledgerTransactions) {
error = null;
try {
- backend_url = pref.getString("backend_url", "");
+ backend_url = Data.profile.get().getUrl();
ltr = ledgerTransactions[0];
int tried = 0;