Skip to content

Commit

Permalink
Back up before destructive actions
Browse files Browse the repository at this point in the history
Fixes #767
  • Loading branch information
rivaldi8 committed Feb 12, 2018
2 parents 394ef4f + 068988f commit b5b666a
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
import org.gnucash.android.ui.util.AccountBalanceTask;
import org.gnucash.android.ui.util.CursorRecyclerAdapter;
import org.gnucash.android.ui.util.widget.EmptyRecyclerView;
import org.gnucash.android.util.BackupManager;

import java.util.List;

Expand Down Expand Up @@ -247,6 +248,7 @@ public void tryDeleteAccount(long rowId) {
if (acc.getTransactionCount() > 0 || mAccountsDbAdapter.getSubAccountCount(acc.getUID()) > 0) {
showConfirmationDialog(rowId);
} else {
BackupManager.backupActiveBook();
// Avoid calling AccountsDbAdapter.deleteRecord(long). See #654
String uid = mAccountsDbAdapter.getUID(rowId);
mAccountsDbAdapter.deleteRecord(uid);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
import org.gnucash.android.model.AccountType;
import org.gnucash.android.ui.common.Refreshable;
import org.gnucash.android.ui.homescreen.WidgetConfigurationActivity;
import org.gnucash.android.util.BackupManager;
import org.gnucash.android.util.QualifiedAccountNameCursorAdapter;

import java.util.List;
Expand Down Expand Up @@ -209,6 +210,7 @@ public void onClick(View v) {

@Override
public void onClick(View v) {
BackupManager.backupActiveBook();

AccountsDbAdapter accountsDbAdapter = AccountsDbAdapter.getInstance();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import org.gnucash.android.R;
import org.gnucash.android.db.adapter.BooksDbAdapter;
import org.gnucash.android.ui.common.Refreshable;
import org.gnucash.android.util.BackupManager;

/**
* Confirmation dialog for deleting a book.
Expand Down Expand Up @@ -52,6 +53,7 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
@Override
public void onClick(DialogInterface dialogInterface, int which) {
final String bookUID = getArguments().getString("bookUID");
BackupManager.backupBook(bookUID);
BooksDbAdapter.getInstance().deleteBook(bookUID);
((Refreshable) getTargetFragment()).refresh();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
import org.gnucash.android.model.Transaction;
import org.gnucash.android.ui.common.FormActivity;
import org.gnucash.android.ui.common.UxArgument;
import org.gnucash.android.util.BackupManager;

import java.text.DateFormat;
import java.util.Date;
Expand Down Expand Up @@ -116,6 +117,8 @@ public void onDestroyActionMode(ActionMode mode) {
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.context_menu_delete:
BackupManager.backupActiveBook();

for (long id : getListView().getCheckedItemIds()) {

if (mActionType == ScheduledAction.ActionType.TRANSACTION) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
import org.gnucash.android.ui.transaction.dialog.BulkMoveDialogFragment;
import org.gnucash.android.ui.util.CursorRecyclerAdapter;
import org.gnucash.android.ui.util.widget.EmptyRecyclerView;
import org.gnucash.android.util.BackupManager;

import java.util.List;

Expand Down Expand Up @@ -354,6 +355,7 @@ public void onClick(View v) {
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.context_menu_delete:
BackupManager.backupActiveBook();
mTransactionsDbAdapter.deleteRecord(transactionId);
WidgetConfigurationActivity.updateAllWidgets(getActivity());
refresh();
Expand Down

0 comments on commit b5b666a

Please sign in to comment.