From 627bedd130aa303a7bebc7d9e8ec3f00b38ed8d5 Mon Sep 17 00:00:00 2001 From: "robert%accettura.com" Date: Sat, 23 Apr 2005 03:11:56 +0000 Subject: [PATCH] no bug, not part of build just yet. Some UI consolidation, we now register a user on the fly when they submit a report, rather than make it a whole step and add more clicks (less is more). Some more subtle changes, nothing noteworthy. a=asa. git-svn-id: svn://10.0.0.236/trunk@172642 18797224-902f-48f8-a5cc-f745e15eee43 --- .../locales/en-US/chrome/reportWizard.dtd | 5 - .../en-US/chrome/reportWizard.properties | 8 +- .../content/reporter/reportWizard.js | 165 +++++++----------- .../content/reporter/reportWizard.xul | 21 +-- 4 files changed, 62 insertions(+), 137 deletions(-) diff --git a/mozilla/extensions/reporter/locales/en-US/chrome/reportWizard.dtd b/mozilla/extensions/reporter/locales/en-US/chrome/reportWizard.dtd index 57f04cf92bb..d39bf673a24 100644 --- a/mozilla/extensions/reporter/locales/en-US/chrome/reportWizard.dtd +++ b/mozilla/extensions/reporter/locales/en-US/chrome/reportWizard.dtd @@ -7,11 +7,6 @@ - - - - - diff --git a/mozilla/extensions/reporter/locales/en-US/chrome/reportWizard.properties b/mozilla/extensions/reporter/locales/en-US/chrome/reportWizard.properties index 4062022d913..6432f25d9cc 100644 --- a/mozilla/extensions/reporter/locales/en-US/chrome/reportWizard.properties +++ b/mozilla/extensions/reporter/locales/en-US/chrome/reportWizard.properties @@ -1,13 +1,7 @@ -privacyStatementURL=http://reporter-test.mozilla.org/privacy/?plain=true&lang=en - -registerSendingRequest=Asking Server for ID -registerSavingID=Saving ID -registerSavingFailed=Failed Saving ID -registerSuccess=Success +privacyStatementURL=http://reporter-test.mozilla.org/privacy/?plain=true sendingReport=Sending Report... reportSent=Report Sent successfullyCreatedReport=Successfully Transmitted Report failedCreatingReport=Error Creating Report - diff --git a/mozilla/extensions/reporter/resources/content/reporter/reportWizard.js b/mozilla/extensions/reporter/resources/content/reporter/reportWizard.js index dd25ddc70c3..074418d9323 100644 --- a/mozilla/extensions/reporter/resources/content/reporter/reportWizard.js +++ b/mozilla/extensions/reporter/resources/content/reporter/reportWizard.js @@ -60,21 +60,6 @@ var gFaultCode; var gFaultMessage; var gSOAPerror = false; -function product(){ - // only works on > 1.7.5. Sorry SeaMonkey of old - if ('nsIChromeRegistrySea' in Components.interfaces) { - return 'SeaMonkey/'+ - Components.classes['@mozilla.org/network/io-service;1'] - .getService(Components.interfaces.nsIIOService) - .getProtocolHandler('http') - .QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3); - } - else { - return navigator.vendor+'/'+navigator.vendorSub; - } -} - - function initPrivacyNotice(){ // If they agreed, we continue on var prefs = Components.classes["@mozilla.org/preferences-service;1"] @@ -90,7 +75,6 @@ function initPrivacyNotice(){ // Don't let users rewind, and default to checked. document.getElementById('reportWizard').canRewind= false; document.getElementById("dontShowPrivacyStatement").setAttribute("checked", "true"); - document.getElementById('mustagree').collapsed = true; // only shown if checkbox is unchecked. // Load Privacy Policy var strbundle=document.getElementById("strings"); @@ -98,90 +82,25 @@ function initPrivacyNotice(){ } function privacyPolicyCheckbox(){ - var showDetail = makeIntBool(document.getElementById('dontShowPrivacyStatement').checked); - if (showDetail){ + if (document.getElementById('dontShowPrivacyStatement').checked){ // hide message and enable forward button document.getElementById('reportWizard').canAdvance= true; - document.getElementById('mustagree').collapsed = true; } else { // show message, and disable forward button document.getElementById('reportWizard').canAdvance= false; - document.getElementById('mustagree').collapsed = false; } } function setPrivacyPref(){ - var dontShowPrivacyStatement = makeIntBool(document.getElementById('dontShowPrivacyStatement').checked); - var prefs = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefService) .getBranch("extensions.reporter."); - if (dontShowPrivacyStatement){ + if (document.getElementById('dontShowPrivacyStatement').checked){ prefs.setBoolPref("hidePrivacyStatement", true); } } -function initRegistration(){ - // if the user already registered, they can skip this page, otherwise they need to do so - var prefs = Components.classes["@mozilla.org/preferences-service;1"]. - getService(Components.interfaces.nsIPrefService). - getBranch("extensions.reporter."); - try - { - if (prefs.getPrefType("sysid") == prefs.PREF_STRING) - { - var sysid = prefs.getCharPref("sysid"); - if (sysid.length == 10) - { - document.getElementById('reportWizard').advance(); - return; - } - } - } - catch (e) {} - - // XXX sigh... we should let the user go back, but yea, see what initPrivacyNotice() does to see why that's a loopy idea ;-) - document.getElementById('reportWizard').canRewind= false; - document.getElementById('reportWizard').canAdvance= false; -} - -function register(){ - var param = new Array();; - param[0] = new SOAPParameter(gLanguage,"language"); - - var strbundle=document.getElementById("strings"); - var submitResult = document.getElementById('registrationProgressDescription'); - var meter = document.getElementById('registrationProgressIndicator'); - - // get sysID - meter.setAttribute("value","1%"); - submitResult.setAttribute("value",strbundle.getString("registerSendingRequest")); // Sending Request - callReporter("register",param,setValSysID); - meter.setAttribute("value","90%"); - - // saving - submitResult.setAttribute("value",strbundle.getString("registerSavingID")); // Saving ID - var prefs = Components.classes["@mozilla.org/preferences-service;1"] - .getService(Components.interfaces.nsIPrefService) - .getBranch("extensions.reporter."); - - if (gSysID != undefined){ - prefs.setCharPref("sysid", gSysID); - } else { - submitResult.setAttribute("value",strbundle.getString("registerSavingFailed")); // Failed - return; - } - - // success - meter.setAttribute("value","100%"); - submitResult.setAttribute("value",strbundle.getString("registerSuccess")); // Success - document.getElementById('registerButton').disabled = true; - - // user can now go forward - document.getElementById('reportWizard').canAdvance= true; -} - function initForm(){ document.getElementById('reportWizard').canRewind = false; @@ -198,6 +117,46 @@ function validateForm() { document.getElementById('reportWizard').canAdvance= false; } +function registerSysID(){ + var param = new Array();; + param[0] = new SOAPParameter(gLanguage,"language"); + + // get sysID + callReporter("register",param,setValSysID); + + // saving + var prefs = Components.classes["@mozilla.org/preferences-service;1"] + .getService(Components.interfaces.nsIPrefService) + .getBranch("extensions.reporter."); + + if (gSysID != undefined){ + prefs.setCharPref("sysid", gSysID); + alert("new sysid: "+gSysID); + return gSysID; + } else { + return; + } +} + +function getSysID() { + // SysID + var prefs = Components.classes["@mozilla.org/preferences-service;1"] + .getService(Components.interfaces.nsIPrefService) + .getBranch("extensions.reporter."); + try + { + if (prefs.getPrefType("sysid") == prefs.PREF_STRING && prefs.getCharPref("sysid") != "") + { + alert("using sysid: "+prefs.getCharPref("sysid")); + return prefs.getCharPref("sysid"); + } + else { + return registerSysID(); + } + } + catch (e) {} +} + function sendReport(){ // we control the user path from here. document.getElementById('reportWizard').canRewind = false; @@ -212,23 +171,12 @@ function sendReport(){ // Data from form we need var descriptionStri = document.getElementById('description').value; var problemTypeStri = document.getElementById('problem_type').value; - var behindLoginStri = makeIntBool(document.getElementById('behind_login').checked); + var behindLoginStri = document.getElementById('behind_login').checked; var emailStri = document.getElementById('email').value; var buildConfig = getBuildConfig(); - // SysID - var prefs = Components.classes["@mozilla.org/preferences-service;1"] - .getService(Components.interfaces.nsIPrefService) - .getBranch("extensions.reporter."); - try - { - if (prefs.getPrefType("sysid") == prefs.PREF_STRING) - { - var sysid = prefs.getCharPref("sysid"); - } - } - catch (e) {} + var sysid = getSysID() // SOAP params var param = new Array(); param[0] = new SOAPParameter(gRMOvers,"rmoVers"); @@ -306,8 +254,7 @@ function sendReport(){ } function showdetail(){ - var showDetail = makeIntBool(document.getElementById('showDetail').checked); - if (showDetail){ + if (document.getElementById('showDetail').checked){ document.getElementById('finishExtendedFrame').collapsed = false; } else { document.getElementById('finishExtendedFrame').collapsed = true; @@ -349,13 +296,6 @@ function getBuildConfig() { } } -function makeIntBool(boolStr){ - if (boolStr) - return 1; - else - return 0; -} - /* NEW WEB SERVICE MODULE */ /* Based on Apple's example implementation of SOAP at: developer.apple.com/internet/webservices/mozgoogle_source.html */ function callReporter(method,params,callback){ @@ -409,3 +349,18 @@ function setValReportID(results) gReportID = params[i].value; } } + +function product(){ + // only works on > 1.7.5. Sorry SeaMonkey of old + if ('nsIChromeRegistrySea' in Components.interfaces) { + return 'SeaMonkey/'+ + Components.classes['@mozilla.org/network/io-service;1'] + .getService(Components.interfaces.nsIIOService) + .getProtocolHandler('http') + .QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3); + } + else { + return navigator.vendor+'/'+navigator.vendorSub; + } +} + diff --git a/mozilla/extensions/reporter/resources/content/reporter/reportWizard.xul b/mozilla/extensions/reporter/resources/content/reporter/reportWizard.xul index 6f68c5db823..9e31982ff20 100644 --- a/mozilla/extensions/reporter/resources/content/reporter/reportWizard.xul +++ b/mozilla/extensions/reporter/resources/content/reporter/reportWizard.xul @@ -51,34 +51,15 @@ onpageadvanced="setPrivacyPref()" label = "&privacyNotice.label;"> &reportWizardPrivacy.description; - &reportWizardMustAgree.description;