From 18d0e16ca9d0d172e2e8850cc0d2dc2052e5e144 Mon Sep 17 00:00:00 2001 From: Sergey Yanovich Date: Mon, 24 Dec 2007 10:51:40 +0200 Subject: [PATCH] [app] Fix 'commit' and 'reset' in 'transfer' (bug #25) --- app/aaTestAccountViews.js | 20 +++++++++++++----- app/chrome/content/transfer.js | 40 +++++++++++++++++++++++++++++------- app/chrome/content/transfer.xul | 19 ++++++++++------- app/chrome/locale/en-US/transfer.dtd | 1 + 4 files changed, 61 insertions(+), 19 deletions(-) diff --git a/app/aaTestAccountViews.js b/app/aaTestAccountViews.js index 2702d3f..c77831e 100644 --- a/app/aaTestAccountViews.js +++ b/app/aaTestAccountViews.js @@ -599,10 +599,12 @@ function transfer_sync_check(runner) result = false; } - if (getElement(runner, "transfer.value").value != wnd.gTransaction.value) { - runner.addJSFailure(" 'value' is wrong: " + getElement(runner, - "transfer.value").value); - result = false; + if ((wnd.gTransaction && (getElement(runner, "transfer.value").value + != wnd.gTransaction.value)) || !wnd.gTransaction + && (getElement(runner, "transfer.value").value != "")) { + runner.addJSFailure(" 'value' is wrong: " + getElement(runner, + "transfer.value").value); + result = false; } return result; @@ -734,7 +736,15 @@ function transfer_save_test(runner) sendOnClick(getElement(runner, "transfer.commit")); if (! transfer_sync_check(runner)) runner.addJSFailure(" [transfer save] page out of sync"); - if (getElement(runner, "transfer.value").value != "6990.00") + if (getElement(runner, "transfer.value").value != "6840.00") runner.addJSFailure(" [transfer save] wrong value:" + getElement(runner, "transfer.value").value); + if (getElement(runner, "transfer.earnings").value != "150.00") + runner.addJSFailure(" [transfer save] wrong earnings:" + getElement(runner, + "transfer.earnings").value); + if (getElement(runner,"transfer.commit").getAttribute("disabled") != "true") + runner.addJSFailure(" [transfer save] 'commit' not disabled"); + sendOnClick(getElement(runner, "transfer.reset")); + if (getElement(runner,"transfer.commit").hasAttribute("disabled")) + runner.addJSFailure(" [transfer save] 'commit' not enabled"); } diff --git a/app/chrome/content/transfer.js b/app/chrome/content/transfer.js index 950c2a7..b85b6a2 100644 --- a/app/chrome/content/transfer.js +++ b/app/chrome/content/transfer.js @@ -64,8 +64,6 @@ function transferPageLoad() createInstance(nsCI.aaIFact); gEvent = Components.classes["@aasii.org/base/event;1"]. createInstance(nsCI.aaIEvent); - gTransaction = Components.classes["@aasii.org/base/transaction;1"]. - createInstance(nsCI.aaITransaction); dateChange(); gView = new aaView(); var broadcaster = Components.classes["@mozilla.org/observer-service;1"]. @@ -102,13 +100,36 @@ function amountType() function transferCommit() { + if (gTransaction) + return; + var transaction = Components.classes["@aasii.org/base/transaction;1"]. + createInstance(nsCI.aaITransaction); gEvent.appendElement(gFact, false); session().save(gEvent, null); - gTransaction.fact = gFact; - session().save(gTransaction, null); + transaction.fact = gFact; + session().save(transaction, null); + gTransaction = transaction; + document.getElementById("canCommit").setAttribute("disabled","true"); + document.getElementById("canReset").removeAttribute("disabled"); + document.getElementById("canReset").removeAttribute("collapsed"); updateValue(); } +function transferReset() +{ + var time = gEvent.time; + gTransaction = null; + gFact = Components.classes["@aasii.org/base/fact;1"]. + createInstance(nsCI.aaIFact); + gEvent = Components.classes["@aasii.org/base/event;1"]. + createInstance(nsCI.aaIEvent); + gEvent.time = time; + document.getElementById("canCommit").removeAttribute("disabled"); + document.getElementById("canReset").setAttribute("disabled","true"); + document.getElementById("canReset").setAttribute("collapsed","true"); + updateAll(); +} + function chosenFrom() { removeEventListener("pageshow", chosenFrom, true); @@ -130,6 +151,7 @@ function updateAll() updateFromFlow(); updateToFlow(); updateAmount(); + updateValue(); } function updateFromFlow() @@ -160,10 +182,14 @@ function updateAmount() function updateValue() { - if (gTransaction) + if (gTransaction) { document.getElementById("transfer.value").value = gTransaction.value.toFixed(2); - else - document.getElementById("transfer.value").value = "0.00"; + document.getElementById("transfer.earnings").value = gTransaction.hasEarnings ? + gTransaction.earnings.toFixed(2) : ""; + } else { + document.getElementById("transfer.value").value = ""; + document.getElementById("transfer.earnings").value = ""; + } } function aaView() diff --git a/app/chrome/content/transfer.xul b/app/chrome/content/transfer.xul index 2bd9440..3a07335 100644 --- a/app/chrome/content/transfer.xul +++ b/app/chrome/content/transfer.xul @@ -23,6 +23,8 @@ + + @@ -43,6 +45,8 @@ &transfer.amount.label; &transfer.value.label; + &transfer.earnings.label; + @@ -52,13 +56,14 @@ onclick="openFlow(true);"/> - - - diff --git a/app/chrome/locale/en-US/transfer.dtd b/app/chrome/locale/en-US/transfer.dtd index 813d3dc..c78f939 100644 --- a/app/chrome/locale/en-US/transfer.dtd +++ b/app/chrome/locale/en-US/transfer.dtd @@ -8,3 +8,4 @@ + -- 2.11.4.GIT