From 4c42246aa0cc7b70015965791773accaef91c67d Mon Sep 17 00:00:00 2001 From: Zachary Fine Date: Thu, 23 Aug 2012 11:31:09 -0700 Subject: [PATCH 1/3] GWBase Custom Setings Wizard Update Added custom settings wizard for GWBase --- src/classes/GW_CTRL_SettingsTabCampMbr.cls | 105 +++++ .../GW_CTRL_SettingsTabCampMbr.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabLead.cls | 103 +++++ .../GW_CTRL_SettingsTabLead.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabMisc.cls | 49 ++ .../GW_CTRL_SettingsTabMisc.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabOpp.cls | 49 ++ .../GW_CTRL_SettingsTabOpp.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabOrg.cls | 100 +++++ .../GW_CTRL_SettingsTabOrg.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabRoles.cls | 99 ++++ .../GW_CTRL_SettingsTabRoles.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabTrigger.cls | 49 ++ .../GW_CTRL_SettingsTabTrigger.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsWizard.cls | 423 ++++++++++++++++++ .../GW_CTRL_SettingsWizard.cls-meta.xml | 5 + .../OrganizationMetrics/Engagement.dashboard | 2 +- .../RevenueandForecasting.dashboard | 2 +- .../AdoptionDashboard.dashboard | 2 +- src/objects/Account.object | 1 - src/objects/AccountContactRole.object | 1 - src/objects/Activity.object | 1 - src/objects/Asset.object | 1 - src/objects/Campaign.object | 45 +- src/objects/CampaignMember.object | 1 - src/objects/Case.object | 1 - src/objects/CaseContactRole.object | 1 - src/objects/Contact.object | 9 +- src/objects/Contract.object | 1 - src/objects/ContractContactRole.object | 1 - .../EngagementFrequencySettings__c.object | 30 ++ .../EngagementTrackerSettings__c.object | 78 ++++ src/objects/Event.object | 1 - src/objects/Idea.object | 1 - src/objects/Lead.object | 1 - .../Lead_Converter_Field_Map__c.object | 1 - src/objects/Opportunity.object | 74 ++- src/objects/OpportunityContactRole.object | 25 +- src/objects/PartnerRole.object | 1 - src/objects/Product2.object | 1 - src/objects/Solution.object | 1 - src/objects/Task.object | 1 - src/objects/User.object | 1 - src/pages/SettingsTabCampMbr.page | 75 ++++ src/pages/SettingsTabCampMbr.page-meta.xml | 5 + src/pages/SettingsTabLead.page | 58 +++ src/pages/SettingsTabLead.page-meta.xml | 5 + src/pages/SettingsTabMisc.page | 66 +++ src/pages/SettingsTabMisc.page-meta.xml | 5 + src/pages/SettingsTabOpp.page | 200 +++++++++ src/pages/SettingsTabOpp.page-meta.xml | 5 + src/pages/SettingsTabOrg.page | 50 +++ src/pages/SettingsTabOrg.page-meta.xml | 5 + src/pages/SettingsTabRole.page | 50 +++ src/pages/SettingsTabRole.page-meta.xml | 5 + src/pages/SettingsTabTrigger.page | 84 ++++ src/pages/SettingsTabTrigger.page-meta.xml | 5 + src/pages/Settings_Page.page | 190 ++++++++ src/pages/Settings_Page.page-meta.xml | 5 + .../Top_25_Largest_Gifts.report | 4 + .../ONEN_GrantAwardTotals.report | 4 + src/reports/Revenue/AllRevenueThisYear.report | 4 + src/reports/Revenue/AllRevenuebyYear.report | 4 + .../ONEN_Pipeline_Totals_by_Stage.report | 4 + .../ONEN_RevenueBestCaseThisYear.report | 4 + .../Revenue/Revenue_Totals_by_Campaign.report | 4 + 66 files changed, 2113 insertions(+), 30 deletions(-) create mode 100644 src/classes/GW_CTRL_SettingsTabCampMbr.cls create mode 100644 src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabLead.cls create mode 100644 src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabMisc.cls create mode 100644 src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabOpp.cls create mode 100644 src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabOrg.cls create mode 100644 src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabRoles.cls create mode 100644 src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabTrigger.cls create mode 100644 src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsWizard.cls create mode 100644 src/classes/GW_CTRL_SettingsWizard.cls-meta.xml create mode 100644 src/pages/SettingsTabCampMbr.page create mode 100644 src/pages/SettingsTabCampMbr.page-meta.xml create mode 100644 src/pages/SettingsTabLead.page create mode 100644 src/pages/SettingsTabLead.page-meta.xml create mode 100644 src/pages/SettingsTabMisc.page create mode 100644 src/pages/SettingsTabMisc.page-meta.xml create mode 100644 src/pages/SettingsTabOpp.page create mode 100644 src/pages/SettingsTabOpp.page-meta.xml create mode 100644 src/pages/SettingsTabOrg.page create mode 100644 src/pages/SettingsTabOrg.page-meta.xml create mode 100644 src/pages/SettingsTabRole.page create mode 100644 src/pages/SettingsTabRole.page-meta.xml create mode 100644 src/pages/SettingsTabTrigger.page create mode 100644 src/pages/SettingsTabTrigger.page-meta.xml create mode 100644 src/pages/Settings_Page.page create mode 100644 src/pages/Settings_Page.page-meta.xml diff --git a/src/classes/GW_CTRL_SettingsTabCampMbr.cls b/src/classes/GW_CTRL_SettingsTabCampMbr.cls new file mode 100644 index 0000000..7365f56 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabCampMbr.cls @@ -0,0 +1,105 @@ +public with sharing class GW_CTRL_SettingsTabCampMbr { + + // constructor + public GW_CTRL_SettingsTabCampMbr(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + public List listCampMbrSettings { + get { + if (listCampMbrSettings == null) { + listCampMbrSettings = Campaign_Mbr_Status_Settings__c.getall().values(); + AddEmptyRows(); + } + return listCampMbrSettings; + } + set; + } + + + public PageReference AddEmptyRows() { + for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { + listCampMbrSettings.add(new Campaign_Mbr_Status_Settings__c()); + } + return null; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabCampMbr'; + return null; + } + + public PageReference saveTab() { + list listCStoDel = new list(); + + // go thru the campaign member settings, and delete empty ones + for (integer i = listCampMbrSettings.size()-1; i >= 0; i--) { + Campaign_Mbr_Status_Settings__c cs = listCampMbrSettings[i]; + if (isnullStr(cs.Campaign_Subtype__c) && + isnullStr(cs.Campaign_Type__c) && + isnullStr(cs.Status_Label__c)) { + if (cs.Id == null) { + // it's a new empty dls; just remove it + listCampMbrSettings.remove(i); + } else { + // it's an existing, but cleared entry; delete it. + listCampMbrSettings.remove(i); + listCStoDel.add(cs); + } + } + } + + // name new settings + ctrlWizard.nameNewSettings(listCampMbrSettings, 'CampaignMemberSetting'); + + if (listCStoDel.size() > 0) delete listCStoDel; + try { + system.debug(listCampMbrSettings); + upsert listCampMbrSettings; + } catch (exception ex) { + ApexPages.addMessages(ex); + return null; + } + AddEmptyRows(); + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabCampMbr'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + listCampMbrSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabCampMbr' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + private boolean isnullStr(string str) { + return (str == null || str == ''); + } + + private boolean isnullNum(decimal num) { + return (num == null || num == 0); + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabCampMbr() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabCampMbr != null); + system.assertEquals(ctrl.ctabCampMbr.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabCampMbr.isEditingTab, false); + ctrl.ctabCampMbr.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabCampMbr'); + ctrl.ctabCampMbr.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabCampMbr.cancelTab() != null); + } + + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabLead.cls b/src/classes/GW_CTRL_SettingsTabLead.cls new file mode 100644 index 0000000..626a284 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabLead.cls @@ -0,0 +1,103 @@ +public with sharing class GW_CTRL_SettingsTabLead { + + // constructor + public GW_CTRL_SettingsTabLead(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public List listLeadSettings { + get { + if (listLeadSettings == null) { + listLeadSettings = Lead_Converter_Field_Map__c.getall().values(); + AddEmptyRows(); + } + return listLeadSettings; + } + set; + } + + public PageReference AddEmptyRows() { + for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { + listLeadSettings.add(new Lead_Converter_Field_Map__c()); + } + return null; + } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabLead'; + return null; + } + + public PageReference saveTab() { + list listLStoDel = new list(); + + // go thru the frequency settings, and delete empty ones + for (integer i = listLeadSettings.size()-1; i >= 0; i--) { + Lead_Converter_Field_Map__c ls = listLeadSettings[i]; + if (isnullStr(ls.Contact_Field__c) && + isnullStr(ls.Field_Type__c)) { + if (ls.Id == null) { + // it's a new empty dls; just remove it + listLeadSettings.remove(i); + } else { + // it's an existing, but cleared entry; delete it. + listLeadSettings.remove(i); + listLStoDel.add(ls); + } + } + } + + // name new settings + ctrlWizard.nameNewSettings(listLeadSettings, 'LeadConversionSetting'); + + if (listLStoDel.size() > 0) delete listLStoDel; + try { + system.debug(listLeadSettings); + upsert listLeadSettings; + } catch (exception ex) { + ApexPages.addMessages(ex); + return null; + } + AddEmptyRows(); + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabLead'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + listLeadSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabLead' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + private boolean isnullStr(string str) { + return (str == null || str == ''); + } + + private boolean isnullNum(decimal num) { + return (num == null || num == 0); + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabLead() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabLead != null); + system.assertEquals(ctrl.ctabLead.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabLead.isEditingTab, false); + system.assert(ctrl.ctabLead.listLeadSettings != null); + ctrl.ctabLead.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabLead'); + ctrl.ctabLead.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabLead.cancelTab() != null); + } + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabMisc.cls b/src/classes/GW_CTRL_SettingsTabMisc.cls new file mode 100644 index 0000000..7fccb5b --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabMisc.cls @@ -0,0 +1,49 @@ +public with sharing class GW_CTRL_SettingsTabMisc { + + // constructor + public GW_CTRL_SettingsTabMisc(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabMisc'; + return null; + } + + public PageReference saveTab() { + upsert ctrlWizard.mSettings; + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabMisc'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + ctrlWizard.mSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabMisc' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabMisc() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabMisc != null); + system.assertEquals(ctrl.ctabMisc.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabMisc.isEditingTab, false); + system.assert(ctrl.ctabMisc.ctrlWizard.mSettings != null); + ctrl.ctabMisc.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabGeneral'); + ctrl.ctabMisc.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabMisc.cancelTab() != null); + } + + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabOpp.cls b/src/classes/GW_CTRL_SettingsTabOpp.cls new file mode 100644 index 0000000..5f2180a --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabOpp.cls @@ -0,0 +1,49 @@ +public with sharing class GW_CTRL_SettingsTabOpp { + + // constructor + public GW_CTRL_SettingsTabOpp(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabOpp'; + return null; + } + + public PageReference saveTab() { + upsert ctrlWizard.oSettings; + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabOpp'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + ctrlWizard.oSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabOpp' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabOpp() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabOpp != null); + system.assertEquals(ctrl.ctabOpp.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabOpp.isEditingTab, false); + system.assert(ctrl.ctabOpp.ctrlWizard.oSettings != null); + ctrl.ctabOpp.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabOpp'); + ctrl.ctabOpp.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabOpp.cancelTab() != null); + } + + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabOrg.cls b/src/classes/GW_CTRL_SettingsTabOrg.cls new file mode 100644 index 0000000..515acf0 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabOrg.cls @@ -0,0 +1,100 @@ +public with sharing class GW_CTRL_SettingsTabOrg { + + // constructor + public GW_CTRL_SettingsTabOrg(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public List listOrgSettings { + get { + if (listOrgSettings == null) { + listOrgSettings = OrgConRole_Settings__c.getall().values(); + AddEmptyRows(); + } + return listOrgSettings; + } + set; + } + + public PageReference AddEmptyRows() { + for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { + listOrgSettings.add(new OrgConRole_Settings__c()); + } + return null; + } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabOrg'; + return null; + } + + public PageReference saveTab() { + list listOStoDel = new list(); + + // go thru the frequency settings, and delete empty ones + for (integer i = listOrgSettings.size()-1; i >= 0; i--) { + OrgConRole_Settings__c os = listOrgSettings[i]; + if (isnullStr(os.Primary_Contact_Role__c) && + isnullStr(os.Name)) { + if (os.Id == null) { + // it's a new empty dls; just remove it + listOrgSettings.remove(i); + } else { + // it's an existing, but cleared entry; delete it. + listOrgSettings.remove(i); + listOStoDel.add(os); + } + } + } + + if (listOStoDel.size() > 0) delete listOStoDel; + try { + system.debug(listOrgSettings); + upsert listOrgSettings; + } catch (exception ex) { + ApexPages.addMessages(ex); + return null; + } + AddEmptyRows(); + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabOrg'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + listOrgSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabOrg' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + private boolean isnullStr(string str) { + return (str == null || str == ''); + } + + private boolean isnullNum(decimal num) { + return (num == null || num == 0); + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabOrg() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabOrg != null); + system.assertEquals(ctrl.ctabOrg.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabOrg.isEditingTab, false); + system.assert(ctrl.ctabOrg.listOrgSettings != null); + ctrl.ctabOrg.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabOrg'); + ctrl.ctabOrg.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabOrg.cancelTab() != null); + } + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabRoles.cls b/src/classes/GW_CTRL_SettingsTabRoles.cls new file mode 100644 index 0000000..1a9396d --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabRoles.cls @@ -0,0 +1,99 @@ +public with sharing class GW_CTRL_SettingsTabRoles { + + // constructor + public GW_CTRL_SettingsTabRoles(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public List listRoleSettings { + get { + if (listRoleSettings == null) { + listRoleSettings = ConRole_Settings__c.getall().values(); + AddEmptyRows(); + } + return listRoleSettings; + } + set; + } + + public PageReference AddEmptyRows() { + for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { + listRoleSettings.add(new ConRole_Settings__c()); + } + return null; + } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabRoles'; + return null; + } + + public PageReference saveTab() { + list listRStoDel = new list(); + + // go thru the frequency settings, and delete empty ones + for (integer i = listRoleSettings.size()-1; i >= 0; i--) { + ConRole_Settings__c rs = listRoleSettings[i]; + if (isnullStr(rs.Primary__c)) { + if (rs.Id == null) { + // it's a new empty dls; just remove it + listRoleSettings.remove(i); + } else { + // it's an existing, but cleared entry; delete it. + listRoleSettings.remove(i); + listRStoDel.add(rs); + } + } + } + + if (listRStoDel.size() > 0) delete listRStoDel; + try { + system.debug(listRoleSettings); + upsert listRoleSettings; + } catch (exception ex) { + ApexPages.addMessages(ex); + return null; + } + AddEmptyRows(); + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabRoles'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + listRoleSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabRoles' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + private boolean isnullStr(string str) { + return (str == null || str == ''); + } + + private boolean isnullNum(decimal num) { + return (num == null || num == 0); + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabRoles() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabRoles != null); + system.assertEquals(ctrl.ctabRoles.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabRoles.isEditingTab, false); + system.assert(ctrl.ctabRoles.listRoleSettings != null); + ctrl.ctabRoles.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabRoles'); + ctrl.ctabRoles.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabRoles.cancelTab() != null); + } + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabTrigger.cls b/src/classes/GW_CTRL_SettingsTabTrigger.cls new file mode 100644 index 0000000..c97179f --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabTrigger.cls @@ -0,0 +1,49 @@ +public with sharing class GW_CTRL_SettingsTabTrigger { + + // constructor + public GW_CTRL_SettingsTabTrigger(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabTrigger'; + return null; + } + + public PageReference saveTab() { + upsert ctrlWizard.tSettings; + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabTrigger'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + ctrlWizard.tSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabTrigger' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabTrigger() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabTrigger != null); + system.assertEquals(ctrl.ctabTrigger.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabTrigger.isEditingTab, false); + system.assert(ctrl.ctabTrigger.ctrlWizard.tSettings != null); + ctrl.ctabTrigger.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabTrigger'); + ctrl.ctabTrigger.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabTrigger.cancelTab() != null); + } + + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsWizard.cls b/src/classes/GW_CTRL_SettingsWizard.cls new file mode 100644 index 0000000..d562875 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsWizard.cls @@ -0,0 +1,423 @@ +public with sharing class GW_CTRL_SettingsWizard { + + // constructor + public GW_CTRL_SettingsWizard() { + + map params = ApexPages.currentPage().getParameters(); + string str = params.get('currentTab'); + if (str != null && str != '') { + strCurrentTab = str; + } else { + strCurrentTab = 'tabOpp'; + } + str = params.get('sfdc.tabName'); + if (str != null && str != '') { + strSalesforceTabNameParam = '&sfdc.tabName=' + str; + } else { + strSalesforceTabNameParam = ''; + } + } + + public boolean inEditMode { + get { + return + ctabLead.isEditingTab || + ctabOrg.isEditingTab || + ctabRoles.isEditingTab || + ctabTrigger.isEditingTab || + ctabMisc.isEditingTab || + ctabOpp.isEditingTab || + ctabCampMbr.isEditingTab; + + } + set; + } + + public string strSalesforceTabNameParam { get; set; } + + public string strCurrentEditTab { + get { + if (ctabCampMbr.isEditingTab) return 'tabCampMbr'; + if (ctabLead.isEditingTab) return 'tabLead'; + if (ctabOrg.isEditingTab) return 'tabOrg'; + if (ctabRoles.isEditingTab) return 'tabRoles'; + if (ctabMisc.isEditingTab) return 'tabMisc'; + if (ctabTrigger.isEditingTab) return 'tabTrigger'; + if (ctabOpp.isEditingTab) return 'tabOpp'; + + return null; + } + set; + } + + // tabPanel sets this thru an ajax call. + public string strCurrentTab { get; set; } + + + public GW_CTRL_SettingsTabCampMbr ctabCampMbr { + get { + if (ctabCampMbr == null) ctabCampMbr = new GW_CTRL_SettingsTabCampMbr(this); + return ctabCampMbr; + } + set; + } + + public GW_CTRL_SettingsTabLead ctabLead { + get { + if (ctabLead == null) ctabLead = new GW_CTRL_SettingsTabLead(this); + return ctabLead; + } + set; + } + + public GW_CTRL_SettingsTabMisc ctabMisc { + get { + if (ctabMisc == null) ctabMisc = new GW_CTRL_SettingsTabMisc(this); + return ctabMisc; + } + set; + } + + public GW_CTRL_SettingsTabRoles ctabRoles { + get { + if (ctabRoles == null) ctabRoles = new GW_CTRL_SettingsTabRoles(this); + return ctabRoles; + } + set; + } + + public GW_CTRL_SettingsTabTrigger ctabTrigger { + get { + if (ctabTrigger == null) ctabTrigger = new GW_CTRL_SettingsTabTrigger(this); + return ctabTrigger; + } + set; + } + + public GW_CTRL_SettingsTabOrg ctabOrg { + get { + if (ctabOrg == null) ctabOrg = new GW_CTRL_SettingsTabOrg(this); + return ctabOrg; + } + set; + } + + public GW_CTRL_SettingsTabOpp ctabOpp { + get { + if (ctabOpp == null) ctabOpp = new GW_CTRL_SettingsTabOpp(this); + return ctabOpp; + } + set; + } + + public OppRollupSettings__c oSettings { + get { + if (oSettings == null) oSettings = OppRollupSettings__c.getOrgDefaults(); + return oSettings; + } + set; + } + + public TriggerSettings__c tSettings { + get { + if (tSettings == null) tSettings = TriggerSettings__c.getOrgDefaults(); + return tSettings; + } + set; + } + + public MiscellaneousBaseSettings__c mSettings { + get { + if (mSettings == null) mSettings = MiscellaneousBaseSettings__c.getOrgDefaults(); + return mSettings; + } + set; + } + + + + + + // utility to create unique new names for the list of objects that don't have names. + public void nameNewSettings(list listSobj, string strPrefix) { + if (listSobj == null || strPrefix == null) return; + + // name new settings, by first finding the last name used. + integer iUsedMax = 0; + for (integer i = 0; i < listSobj.size(); i++ ) { + string strName = string.valueOf(listSobj[i].get('name')); + if (strName != null && strName.startsWith(strPrefix)) { + integer iNum = integer.valueOf(strName.subString(strPrefix.length())); + if (iNum > iUsedMax) { + iUsedMax = iNum; + } + } + } + for (integer i = 0; i < listSobj.size(); i++ ) { + if (listSobj[i].get('id') == null) { + listSobj[i].put('name', strPrefix + string.valueOf(++iUsedMax)); + } + } + } + + + + + // the list of Engagement Levels to put in the dropdowns (not in use for GWBASE) + /* + public list listSOLevels { + get { + if (listSOLevels == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + for (integer i = 1; i <= 8; i++) { + string strLevel = 'Level_' + string.valueOf(i) + '_Name__c'; + string strLevelName = string.valueOf(etSettings.get(strLevel)); + if (strLevelName != null && strLevelName != '') { + listSO.add(new SelectOption(string.valueOf(i) + '.0', strLevelName)); + } + } + listSOLevels = listSO; + } + return listSOLevels; + } + set; + } + */ + // set used to keep track of which contact fields are boolean, + // so we can automaticaly mark them as checkbox when saving Contact Field Settings. + public set setCheckboxFields { get; set; } + + // the list of Contact Fields to put in the dropdowns + public list listSOContactFields { + get { + if (listSOContactFields == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + Map mapS = Schema.SObjectType.Contact.fields.getMap(); + + // create temp list of strings to sort by alpha + list listStr = new list(); + setCheckboxFields = new set(); + for (Schema.SObjectField sf : mapS.values()) { + Schema.DescribeFieldResult f = sf.getDescribe(); + listStr.add(f.Label + '.' + f.Name); + if (f.Type == Schema.DisplayType.Boolean) { + setCheckboxFields.add(f.Name); + } + } + listStr.sort(); + + for (string str : listStr) { + list listPair = str.split('\\.'); // need to escape the dot char since this is regex + listSO.add(new SelectOption(listPair[1], listPair[0])); + } + + listSOContactFields = listSO; + } + return listSOContactFields; + } + set; + } + + // helper to say whether this instance has any campaign record types defined. + // used by several tabs to hide a campaign record type column, when not needed. + public boolean hasCampaignRecordTypes { + get { + return (listSOCampaignRecordTypes.size() > 1); + } + } + + // the list of Campaign Record Types to put in the dropdowns + public list listSOCampaignRecordTypes { + get { + if (listSOCampaignRecordTypes == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + for (RecordType rt : [SELECT Name FROM RecordType WHERE SobjectType='Campaign']) { + listSO.add(new SelectOption(rt.Name, rt.Name)); + } + listSOCampaignRecordTypes = listSO; + } + return listSOCampaignRecordTypes; + } + set; + } + + // the list of Campaign Types to put in the dropdowns + public list listSOCampaignTypes { + get { + if (listSOCampaignTypes == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + Schema.DescribeFieldResult F = Campaign.Type.getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + listSOCampaignTypes = listSO; + } + return listSOCampaignTypes; + } + set; + } + + + // the list of Opportunity Stages to put in the dropdowns + public list listSOOppStages { + get { + if (listSOOppStages == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + Schema.DescribeFieldResult F = Opportunity.StageName.getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + listSOOppStages = listSO; + } + return listSOOppStages; + } + set; + } + + // the list of Opportunity Types to put in the dropdowns + public list listSOOppTypes { + get { + if (listSOOppTypes == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + Schema.DescribeFieldResult F = Opportunity.Type.getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + listSOOppTypes = listSO; + } + return listSOOppTypes; + } + set; + } + + + // the list of Opportunity Record Types to put in the dropdowns + public list listSOOppRecordTypes { + get { + if (listSOOppRecordTypes == null) { + + list listSO = new list(); + for (RecordType rt : [SELECT Name FROM RecordType WHERE SobjectType='Opportunity']) { + + listSO.add(new SelectOption(rt.Name, rt.Name)); + } + listSOOppRecordTypes = listSO; + } + return listSOOppRecordTypes; + } + set; + } + + // the list of Opportunity Contact Roles to put in the dropdowns + public list listSOContactRoles { + get { + if (listSOContactRoles == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + Schema.DescribeFieldResult F = OpportunityContactRole.Role.getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + listSOContactRoles = listSO; + } + return listSOContactRoles; + } + set; + } + + // the list of Campaign Member Statuses to put in the dropdowns + public list listSOMbrStatus { + get { + if (listSOMbrStatus == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + Schema.DescribeFieldResult F = CampaignMember.Status.getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + listSOMbrStatus = listSO; + } + return listSOMbrStatus; + } + set; + } + + + // the list of Campaign Sub Types to put in the dropdowns + public list listSOCampaignSubTypes { + get { + if (listSOCampaignSubTypes == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + if (GW_BATCH_EngagementRollup.IsGWBaseInstalled) { + Map M = Schema.SObjectType.Campaign.fields.getMap(); + String sub_type = GW_BATCH_EngagementRollup.addNSPrefixET('Campaign_Sub_Type__c', false, false); + Schema.DescribeFieldResult F = M.get(sub_type).getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + } + + listSOCampaignSubTypes = listSO; + } + return listSOCampaignSubTypes; + } + set; + } + + // helper used to hide Campaign Sub Type columns when not running with GWBase. + public boolean IsGWBaseInstalled { + get { + return (GW_BATCH_EngagementRollup.IsGWBaseInstalled); + } + } + + public boolean isnullStr(string str) { + return (str == null || str == ''); + } + + public boolean isnullNum(decimal num) { + return (num == null || num == 0); + } + + public static integer cEmptyRows = 3; + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestWizard() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + + system.assert(ctrl.ctabOpp != null); + system.assert(ctrl.ctabRoles != null); + system.assert(ctrl.ctabOrg != null); + system.assert(ctrl.ctabTrigger != null); + system.assert(ctrl.ctabCampMbr!= null); + system.assert(ctrl.ctabLead != null); + system.assert(ctrl.ctabMisc != null); + system.assert(ctrl.inEditMode == false); + system.assert(ctrl.strCurrentEditTab == null); + system.assert(ctrl.strCurrentTab == 'tabLevels'); + system.assert(ctrl.tSettings != null); + system.assert(ctrl.oSettings != null); + system.assert(ctrl.mSettings != null); + system.assert(ctrl.listSOContactFields != null); + system.assert(ctrl.listSOCampaignRecordTypes != null); + system.assert(ctrl.listSOCampaignTypes != null); + system.assert(ctrl.setCheckboxFields != null); + system.assert(ctrl.hasCampaignRecordTypes == (ctrl.listSOCampaignRecordTypes.size() > 1)); + system.assert(ctrl.IsGWBaseInstalled == GW_BATCH_EngagementRollup.IsGWBaseInstalled); + + + } +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsWizard.cls-meta.xml b/src/classes/GW_CTRL_SettingsWizard.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsWizard.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/dashboards/OrganizationMetrics/Engagement.dashboard b/src/dashboards/OrganizationMetrics/Engagement.dashboard index 7425b34..f816eee 100644 --- a/src/dashboards/OrganizationMetrics/Engagement.dashboard +++ b/src/dashboards/OrganizationMetrics/Engagement.dashboard @@ -160,7 +160,7 @@ true - matthew@onenw_dev.org + zach4@delbenegroup.com #000000 Engagement #000000 diff --git a/src/dashboards/OrganizationMetrics/RevenueandForecasting.dashboard b/src/dashboards/OrganizationMetrics/RevenueandForecasting.dashboard index 95a89ff..6f3751e 100644 --- a/src/dashboards/OrganizationMetrics/RevenueandForecasting.dashboard +++ b/src/dashboards/OrganizationMetrics/RevenueandForecasting.dashboard @@ -177,7 +177,7 @@ false - matthew@onenw_dev.org + zach4@delbenegroup.com #000000 Revenue and Forecasting #000000 diff --git a/src/dashboards/Shared_Dashboards/AdoptionDashboard.dashboard b/src/dashboards/Shared_Dashboards/AdoptionDashboard.dashboard index 69e329e..9810da4 100644 --- a/src/dashboards/Shared_Dashboards/AdoptionDashboard.dashboard +++ b/src/dashboards/Shared_Dashboards/AdoptionDashboard.dashboard @@ -270,7 +270,7 @@ false - davem+1dev@groundwire.org + zach4@delbenegroup.com #000000 Adoption Dashboard #000099 diff --git a/src/objects/Account.object b/src/objects/Account.object index 98df6a5..a939ae5 100644 --- a/src/objects/Account.object +++ b/src/objects/Account.object @@ -1,6 +1,5 @@ - true AccountSource diff --git a/src/objects/AccountContactRole.object b/src/objects/AccountContactRole.object index 53e60e3..4857730 100644 --- a/src/objects/AccountContactRole.object +++ b/src/objects/AccountContactRole.object @@ -1,6 +1,5 @@ - false Role diff --git a/src/objects/Activity.object b/src/objects/Activity.object index 3ed63d7..c12febf 100644 --- a/src/objects/Activity.object +++ b/src/objects/Activity.object @@ -1,6 +1,5 @@ - false AllActivities Team diff --git a/src/objects/Asset.object b/src/objects/Asset.object index 2204eca..c309f12 100644 --- a/src/objects/Asset.object +++ b/src/objects/Asset.object @@ -1,6 +1,5 @@ - false ProductFamily diff --git a/src/objects/Campaign.object b/src/objects/Campaign.object index 1dfadbf..1c42bb0 100644 --- a/src/objects/Campaign.object +++ b/src/objects/Campaign.object @@ -1,6 +1,5 @@ - false Campaign_Sub_Type__c false @@ -249,6 +248,50 @@ Drip Campaign false + + Conference + true + + + Webinar + false + + + Trade Show + false + + + Public Relations + false + + + Partners + false + + + Referral Program + false + + + Advertisement + false + + + Banner Ads + false + + + Direct Mail + false + + + Email + false + + + Telemarketing + false + false Picklist diff --git a/src/objects/CampaignMember.object b/src/objects/CampaignMember.object index 5a360b0..1a262b3 100644 --- a/src/objects/CampaignMember.object +++ b/src/objects/CampaignMember.object @@ -1,6 +1,5 @@ - false Effective_Action_Date__c false diff --git a/src/objects/Case.object b/src/objects/Case.object index d757026..4dfae02 100644 --- a/src/objects/Case.object +++ b/src/objects/Case.object @@ -1,6 +1,5 @@ - true Origin diff --git a/src/objects/CaseContactRole.object b/src/objects/CaseContactRole.object index 168ec00..85813eb 100644 --- a/src/objects/CaseContactRole.object +++ b/src/objects/CaseContactRole.object @@ -1,6 +1,5 @@ - false Role diff --git a/src/objects/Contact.object b/src/objects/Contact.object index 00f3f63..a05b64f 100644 --- a/src/objects/Contact.object +++ b/src/objects/Contact.object @@ -1,6 +1,5 @@ - true Action_Alerts__c false @@ -1117,10 +1116,10 @@ IF ( AND ( OtherStreet = "" , OtherCity = "" , OtherState = Recurring_Annualized_Amount__c false - IF( AND( NOT( ISBLANK( Recurring_Amount__c ) ),NOT( ISBLANK( Recurring_Payment_Frequency__c ) ),NOT( ISBLANK( TEXT(Recurring_Payment_Period__c) ) ) ), - -IF(TEXT(Recurring_Payment_Period__c) = 'Day', Recurring_Amount__c * (365/Recurring_Payment_Frequency__c),IF(TEXT(Recurring_Payment_Period__c) = 'Week', Recurring_Amount__c * (52/Recurring_Payment_Frequency__c),IF(TEXT(Recurring_Payment_Period__c) = 'Month', Recurring_Amount__c * (12/Recurring_Payment_Frequency__c),Recurring_Amount__c * (1/Recurring_Payment_Frequency__c)))), - + IF( AND( NOT( ISBLANK( Recurring_Amount__c ) ),NOT( ISBLANK( Recurring_Payment_Frequency__c ) ),NOT( ISBLANK( TEXT(Recurring_Payment_Period__c) ) ) ), + +IF(TEXT(Recurring_Payment_Period__c) = 'Day', Recurring_Amount__c * (365/Recurring_Payment_Frequency__c),IF(TEXT(Recurring_Payment_Period__c) = 'Week', Recurring_Amount__c * (52/Recurring_Payment_Frequency__c),IF(TEXT(Recurring_Payment_Period__c) = 'Month', Recurring_Amount__c * (12/Recurring_Payment_Frequency__c),Recurring_Amount__c * (1/Recurring_Payment_Frequency__c)))), + null) BlankAsZero Specifies the annualized total from a recurring payment profile associated with this contact. e.g. for a contact who gives $10 per month, this value would be $120 diff --git a/src/objects/Contract.object b/src/objects/Contract.object index 55d780e..158a34d 100644 --- a/src/objects/Contract.object +++ b/src/objects/Contract.object @@ -1,6 +1,5 @@ - false Status diff --git a/src/objects/ContractContactRole.object b/src/objects/ContractContactRole.object index 53e60e3..4857730 100644 --- a/src/objects/ContractContactRole.object +++ b/src/objects/ContractContactRole.object @@ -1,6 +1,5 @@ - false Role diff --git a/src/objects/EngagementFrequencySettings__c.object b/src/objects/EngagementFrequencySettings__c.object index 0d26894..0b0474a 100644 --- a/src/objects/EngagementFrequencySettings__c.object +++ b/src/objects/EngagementFrequencySettings__c.object @@ -5,6 +5,36 @@ Specify an Engagement Level to be set based on the frequency of a Contact's participation in Campaigns at a certain level, optionally only counting Campaigns with a certain field value. false false + + Campaign_Record_Type__c + false + The Record Type of the Campaign to set an Engagement Level for. This field is optional. + + 255 + false + Text + false + + + Campaign_Sub_Type__c + false + The Sub Type of the Campaign to set an Engagement Level for. This field is optional. + + 255 + false + Text + false + + + Campaign_Type__c + false + The Type of the Campaign to set an Engagement Level for. This field is optional. + + 255 + false + Text + false + Field_Value_1__c false diff --git a/src/objects/EngagementTrackerSettings__c.object b/src/objects/EngagementTrackerSettings__c.object index 2ea3435..d0a1fa3 100644 --- a/src/objects/EngagementTrackerSettings__c.object +++ b/src/objects/EngagementTrackerSettings__c.object @@ -14,6 +14,62 @@ Number false + + Gratitude_Machine_Days_To_Exclude__c + 365 + false + Exclude contacts in the Gratitude Machine that have already been on a Gratitude Machine campaign within this number of days. + + 4 + false + 0 + Number + false + + + Gratitude_Machine_Minimum_Days_in_Level__c + 90 + false + When finding "Old Steadies", only include contacts who have been in their level at least this number of days. + + 4 + false + 0 + Number + false + + + Gratitude_Machine_Minumum_Level__c + 3 + false + The minum Engagement Level of contacts to include in the Gratitude Machine. + + 2 + false + 0 + Number + false + + + Gratitude_Machine_Recent_Activity_Days__c + 365 + false + For "Old Steadies" the number of days they must have done some engagement related action in. + + 4 + false + 0 + Number + false + + + Householded_Donor_Levels__c + true + false + If checked, assigns engagement levels to everyone in the household based on the total donations from the household. + + Checkbox + Include_Membership__c false @@ -142,6 +198,28 @@ Number false + + Opp_Rectype_For_Tests_Default__c + "Donation" + false + The default Opportunity Record Type for donations to be used in unit tests. + + 255 + true + Text + false + + + Opp_Rectype_For_Tests_Member__c + "Membership" + false + Opportunity Record Type for membership to be used in unit tests. + + 255 + true + Text + false + Override_Default_Duration__c false diff --git a/src/objects/Event.object b/src/objects/Event.object index ce53601..7f34472 100644 --- a/src/objects/Event.object +++ b/src/objects/Event.object @@ -1,6 +1,5 @@ - false Subject diff --git a/src/objects/Idea.object b/src/objects/Idea.object index a60c6e9..c613fb0 100644 --- a/src/objects/Idea.object +++ b/src/objects/Idea.object @@ -1,6 +1,5 @@ - false Categories diff --git a/src/objects/Lead.object b/src/objects/Lead.object index e20e2da..37e4297 100644 --- a/src/objects/Lead.object +++ b/src/objects/Lead.object @@ -1,6 +1,5 @@ - true Address_Flag__c false diff --git a/src/objects/Lead_Converter_Field_Map__c.object b/src/objects/Lead_Converter_Field_Map__c.object index 132957e..4e8bdb5 100644 --- a/src/objects/Lead_Converter_Field_Map__c.object +++ b/src/objects/Lead_Converter_Field_Map__c.object @@ -17,7 +17,6 @@ Field_Type__c - "Text" false Should be either Text, Checkbox, or Multiselect. Text can correspond to a number of Salesforce field types that are text based, e.g. Text, Text Area, Picklist, Email, et al. diff --git a/src/objects/Opportunity.object b/src/objects/Opportunity.object index a1e5aab..2204987 100644 --- a/src/objects/Opportunity.object +++ b/src/objects/Opportunity.object @@ -60,7 +60,6 @@ false - true Amount_Requested__c false @@ -537,6 +536,62 @@ 0 false + + Qualification + false + false + Pipeline + 10 + false + + + Needs Analysis + false + false + Pipeline + 20 + false + + + Value Proposition + false + false + Pipeline + 50 + false + + + Id. Decision Makers + false + false + Pipeline + 60 + false + + + Perception Analysis + false + false + Pipeline + 70 + false + + + Proposal/Price Quote + false + false + Pipeline + 75 + false + + + Negotiation/Review + false + false + Pipeline + 90 + false + false Picklist @@ -605,6 +660,22 @@ Other false + + Existing Customer - Upgrade + false + + + Existing Customer - Replacement + false + + + Existing Customer - Downgrade + false + + + New Customer + false + false Picklist @@ -804,7 +875,6 @@ - false Gift true diff --git a/src/objects/OpportunityContactRole.object b/src/objects/OpportunityContactRole.object index 76c2c2e..5e21a48 100644 --- a/src/objects/OpportunityContactRole.object +++ b/src/objects/OpportunityContactRole.object @@ -1,6 +1,5 @@ - false Role @@ -52,6 +51,30 @@ Honoree false + + Business User + false + + + Economic Buyer + false + + + Economic Decision Maker + false + + + Evaluator + false + + + Executive Sponsor + false + + + Technical Buyer + false + false Picklist diff --git a/src/objects/PartnerRole.object b/src/objects/PartnerRole.object index e33827c..1b29551 100644 --- a/src/objects/PartnerRole.object +++ b/src/objects/PartnerRole.object @@ -1,6 +1,5 @@ - false ReverseRole diff --git a/src/objects/Product2.object b/src/objects/Product2.object index 1f35a23..b31b72f 100644 --- a/src/objects/Product2.object +++ b/src/objects/Product2.object @@ -1,6 +1,5 @@ - false Family diff --git a/src/objects/Solution.object b/src/objects/Solution.object index 1f34015..9ffccd0 100644 --- a/src/objects/Solution.object +++ b/src/objects/Solution.object @@ -1,6 +1,5 @@ - false Status diff --git a/src/objects/Task.object b/src/objects/Task.object index 376776a..1c2c434 100644 --- a/src/objects/Task.object +++ b/src/objects/Task.object @@ -1,6 +1,5 @@ - false Priority diff --git a/src/objects/User.object b/src/objects/User.object index 628b5f7..393ae67 100644 --- a/src/objects/User.object +++ b/src/objects/User.object @@ -1,6 +1,5 @@ - true ActiveUsers Everything diff --git a/src/pages/SettingsTabCampMbr.page b/src/pages/SettingsTabCampMbr.page new file mode 100644 index 0000000..413b2cf --- /dev/null +++ b/src/pages/SettingsTabCampMbr.page @@ -0,0 +1,75 @@ + + + + + + +
+
Campaign Member
+
Default and available statuses for Campaign Members, by Campaign Type and Sub Type.
+
Help
+ +
+
+ + +    + +

+ + + + + + + del + + + With
Campaign Type ___
+ + + +
+ + + And Campaign SubType
____
+ + + +
+ + Counts as
Responded?
+ +
+ + Default Status?
(One Per Type)
+ +
+ +

And Status Label
___
+ + + + + + + + +

+ +    + + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabCampMbr.page-meta.xml b/src/pages/SettingsTabCampMbr.page-meta.xml new file mode 100644 index 0000000..649b62d --- /dev/null +++ b/src/pages/SettingsTabCampMbr.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabLead.page b/src/pages/SettingsTabLead.page new file mode 100644 index 0000000..795672a --- /dev/null +++ b/src/pages/SettingsTabLead.page @@ -0,0 +1,58 @@ + + + + + + +
+

Lead Conversion
+
Fields that the Lead Converter (Importer) Visualforce page should automatically transfer from leads to contacts during conversion.
+
Help
+ +
+
+ + +    + +

+ + + + + + + del + + +

Contact Field
+ + + + + +
And Field Type
+ + +
+ + + + + + +

+ +    + + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabLead.page-meta.xml b/src/pages/SettingsTabLead.page-meta.xml new file mode 100644 index 0000000..b75882a --- /dev/null +++ b/src/pages/SettingsTabLead.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabMisc.page b/src/pages/SettingsTabMisc.page new file mode 100644 index 0000000..8ba3761 --- /dev/null +++ b/src/pages/SettingsTabMisc.page @@ -0,0 +1,66 @@ + + + + + + +
+

Miscellaneous Settings
+
Miscellaneous settings used by GWBase..
+ + +
+
+ + +    + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +    + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabMisc.page-meta.xml b/src/pages/SettingsTabMisc.page-meta.xml new file mode 100644 index 0000000..eb0aebe --- /dev/null +++ b/src/pages/SettingsTabMisc.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabOpp.page b/src/pages/SettingsTabOpp.page new file mode 100644 index 0000000..1e0ce63 --- /dev/null +++ b/src/pages/SettingsTabOpp.page @@ -0,0 +1,200 @@ + + + + + + +
+

Opportunity and Rollup Settings
+
Settings for Opportunities and Rollups.
+ +
+
+ + +    + +

+ + + + + + + +
Help
+

+ + + + + + + + + + + + + + + + + + + + + + +
Help
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +

+ +    + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabOpp.page-meta.xml b/src/pages/SettingsTabOpp.page-meta.xml new file mode 100644 index 0000000..e948df0 --- /dev/null +++ b/src/pages/SettingsTabOpp.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabOrg.page b/src/pages/SettingsTabOrg.page new file mode 100644 index 0000000..4a184e3 --- /dev/null +++ b/src/pages/SettingsTabOrg.page @@ -0,0 +1,50 @@ + + + + + + +
+

Org Contact Roles
+
Specify the default Primary Contact Role for each Opportunity Record Type for Opportunities applied to Organizations.
+ +
+ + +    + +

+ + + + + + + del + + + {!$ObjectType.OrgConRole_Settings__c.Fields.Primary_Contact_Role__c.Label} + + + + + Organization Opportunity Record Type + + + + + + + + + +

+ +    + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabOrg.page-meta.xml b/src/pages/SettingsTabOrg.page-meta.xml new file mode 100644 index 0000000..dc8c750 --- /dev/null +++ b/src/pages/SettingsTabOrg.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabRole.page b/src/pages/SettingsTabRole.page new file mode 100644 index 0000000..b3f9bf0 --- /dev/null +++ b/src/pages/SettingsTabRole.page @@ -0,0 +1,50 @@ + + + + + + +
+

Contact Roles
+
Specify the default Primary Contact Role for each Opportunity Record Type for Opportunities applied to Contacts.
+ +
+ + +    + +

+ + + + + + + del + + + {!$ObjectType.ConRole_Settings__c.Fields.Primary__c.Label} + + + + + Opportunity Record Type + + + + + + + + + +

+ +    + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabRole.page-meta.xml b/src/pages/SettingsTabRole.page-meta.xml new file mode 100644 index 0000000..e87e4dc --- /dev/null +++ b/src/pages/SettingsTabRole.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabTrigger.page b/src/pages/SettingsTabTrigger.page new file mode 100644 index 0000000..d4720e3 --- /dev/null +++ b/src/pages/SettingsTabTrigger.page @@ -0,0 +1,84 @@ + + + + + + +
+

Trigger Settings
+
Enable or disable all trigger based functionality for GWBase..
+
Help
+ +
+
+ + +    + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +    + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabTrigger.page-meta.xml b/src/pages/SettingsTabTrigger.page-meta.xml new file mode 100644 index 0000000..05feb61 --- /dev/null +++ b/src/pages/SettingsTabTrigger.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/Settings_Page.page b/src/pages/Settings_Page.page new file mode 100644 index 0000000..51fb6ad --- /dev/null +++ b/src/pages/Settings_Page.page @@ -0,0 +1,190 @@ + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/src/pages/Settings_Page.page-meta.xml b/src/pages/Settings_Page.page-meta.xml new file mode 100644 index 0000000..19262b1 --- /dev/null +++ b/src/pages/Settings_Page.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/reports/DonorManagement/Top_25_Largest_Gifts.report b/src/reports/DonorManagement/Top_25_Largest_Gifts.report index ec9541b..b0a385f 100644 --- a/src/reports/DonorManagement/Top_25_Largest_Gifts.report +++ b/src/reports/DonorManagement/Top_25_Largest_Gifts.report @@ -54,6 +54,10 @@ probability >0 + + co + 1 + Opportunity 25 organization diff --git a/src/reports/GrantManagement/ONEN_GrantAwardTotals.report b/src/reports/GrantManagement/ONEN_GrantAwardTotals.report index b06ea9a..dbc1729 100644 --- a/src/reports/GrantManagement/ONEN_GrantAwardTotals.report +++ b/src/reports/GrantManagement/ONEN_GrantAwardTotals.report @@ -68,6 +68,10 @@ probability >0 + + co + 1 + Opportunity organization false diff --git a/src/reports/Revenue/AllRevenueThisYear.report b/src/reports/Revenue/AllRevenueThisYear.report index 8f3fdd3..14840f9 100644 --- a/src/reports/Revenue/AllRevenueThisYear.report +++ b/src/reports/Revenue/AllRevenueThisYear.report @@ -61,6 +61,10 @@ probability >0 + + co + 1 + Opportunity organization false diff --git a/src/reports/Revenue/AllRevenuebyYear.report b/src/reports/Revenue/AllRevenuebyYear.report index 4d4afec..d08d4c1 100644 --- a/src/reports/Revenue/AllRevenuebyYear.report +++ b/src/reports/Revenue/AllRevenuebyYear.report @@ -61,6 +61,10 @@ probability >0 + + co + 1 + Opportunity organization false diff --git a/src/reports/Revenue/ONEN_Pipeline_Totals_by_Stage.report b/src/reports/Revenue/ONEN_Pipeline_Totals_by_Stage.report index 79e750d..5fcb9c0 100644 --- a/src/reports/Revenue/ONEN_Pipeline_Totals_by_Stage.report +++ b/src/reports/Revenue/ONEN_Pipeline_Totals_by_Stage.report @@ -91,6 +91,10 @@ probability >0 + + co + 1 + Opportunity organization false diff --git a/src/reports/Revenue/ONEN_RevenueBestCaseThisYear.report b/src/reports/Revenue/ONEN_RevenueBestCaseThisYear.report index 7f2cbf0..cf26750 100644 --- a/src/reports/Revenue/ONEN_RevenueBestCaseThisYear.report +++ b/src/reports/Revenue/ONEN_RevenueBestCaseThisYear.report @@ -97,6 +97,10 @@ probability >0 + + co + 1 + Opportunity organization false diff --git a/src/reports/Revenue/Revenue_Totals_by_Campaign.report b/src/reports/Revenue/Revenue_Totals_by_Campaign.report index 092fa83..9ec996d 100644 --- a/src/reports/Revenue/Revenue_Totals_by_Campaign.report +++ b/src/reports/Revenue/Revenue_Totals_by_Campaign.report @@ -53,6 +53,10 @@ probability >0 + + co + 1 + OpportunityCampaign organization false From 929d7e330cb32dc1ea978ef68f50f5f9bb0d84fa Mon Sep 17 00:00:00 2001 From: Zachary Fine Date: Thu, 23 Aug 2012 11:36:05 -0700 Subject: [PATCH 2/3] Revert "GWBase Custom Setings Wizard Update" This reverts commit 4c42246aa0cc7b70015965791773accaef91c67d. --- src/classes/GW_CTRL_SettingsTabCampMbr.cls | 105 ----- .../GW_CTRL_SettingsTabCampMbr.cls-meta.xml | 5 - src/classes/GW_CTRL_SettingsTabLead.cls | 103 ----- .../GW_CTRL_SettingsTabLead.cls-meta.xml | 5 - src/classes/GW_CTRL_SettingsTabMisc.cls | 49 -- .../GW_CTRL_SettingsTabMisc.cls-meta.xml | 5 - src/classes/GW_CTRL_SettingsTabOpp.cls | 49 -- .../GW_CTRL_SettingsTabOpp.cls-meta.xml | 5 - src/classes/GW_CTRL_SettingsTabOrg.cls | 100 ----- .../GW_CTRL_SettingsTabOrg.cls-meta.xml | 5 - src/classes/GW_CTRL_SettingsTabRoles.cls | 99 ---- .../GW_CTRL_SettingsTabRoles.cls-meta.xml | 5 - src/classes/GW_CTRL_SettingsTabTrigger.cls | 49 -- .../GW_CTRL_SettingsTabTrigger.cls-meta.xml | 5 - src/classes/GW_CTRL_SettingsWizard.cls | 423 ------------------ .../GW_CTRL_SettingsWizard.cls-meta.xml | 5 - .../OrganizationMetrics/Engagement.dashboard | 2 +- .../RevenueandForecasting.dashboard | 2 +- .../AdoptionDashboard.dashboard | 2 +- src/objects/Account.object | 1 + src/objects/AccountContactRole.object | 1 + src/objects/Activity.object | 1 + src/objects/Asset.object | 1 + src/objects/Campaign.object | 45 +- src/objects/CampaignMember.object | 1 + src/objects/Case.object | 1 + src/objects/CaseContactRole.object | 1 + src/objects/Contact.object | 9 +- src/objects/Contract.object | 1 + src/objects/ContractContactRole.object | 1 + .../EngagementFrequencySettings__c.object | 30 -- .../EngagementTrackerSettings__c.object | 78 ---- src/objects/Event.object | 1 + src/objects/Idea.object | 1 + src/objects/Lead.object | 1 + .../Lead_Converter_Field_Map__c.object | 1 + src/objects/Opportunity.object | 74 +-- src/objects/OpportunityContactRole.object | 25 +- src/objects/PartnerRole.object | 1 + src/objects/Product2.object | 1 + src/objects/Solution.object | 1 + src/objects/Task.object | 1 + src/objects/User.object | 1 + src/pages/SettingsTabCampMbr.page | 75 ---- src/pages/SettingsTabCampMbr.page-meta.xml | 5 - src/pages/SettingsTabLead.page | 58 --- src/pages/SettingsTabLead.page-meta.xml | 5 - src/pages/SettingsTabMisc.page | 66 --- src/pages/SettingsTabMisc.page-meta.xml | 5 - src/pages/SettingsTabOpp.page | 200 --------- src/pages/SettingsTabOpp.page-meta.xml | 5 - src/pages/SettingsTabOrg.page | 50 --- src/pages/SettingsTabOrg.page-meta.xml | 5 - src/pages/SettingsTabRole.page | 50 --- src/pages/SettingsTabRole.page-meta.xml | 5 - src/pages/SettingsTabTrigger.page | 84 ---- src/pages/SettingsTabTrigger.page-meta.xml | 5 - src/pages/Settings_Page.page | 190 -------- src/pages/Settings_Page.page-meta.xml | 5 - .../Top_25_Largest_Gifts.report | 4 - .../ONEN_GrantAwardTotals.report | 4 - src/reports/Revenue/AllRevenueThisYear.report | 4 - src/reports/Revenue/AllRevenuebyYear.report | 4 - .../ONEN_Pipeline_Totals_by_Stage.report | 4 - .../ONEN_RevenueBestCaseThisYear.report | 4 - .../Revenue/Revenue_Totals_by_Campaign.report | 4 - 66 files changed, 30 insertions(+), 2113 deletions(-) delete mode 100644 src/classes/GW_CTRL_SettingsTabCampMbr.cls delete mode 100644 src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml delete mode 100644 src/classes/GW_CTRL_SettingsTabLead.cls delete mode 100644 src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml delete mode 100644 src/classes/GW_CTRL_SettingsTabMisc.cls delete mode 100644 src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml delete mode 100644 src/classes/GW_CTRL_SettingsTabOpp.cls delete mode 100644 src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml delete mode 100644 src/classes/GW_CTRL_SettingsTabOrg.cls delete mode 100644 src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml delete mode 100644 src/classes/GW_CTRL_SettingsTabRoles.cls delete mode 100644 src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml delete mode 100644 src/classes/GW_CTRL_SettingsTabTrigger.cls delete mode 100644 src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml delete mode 100644 src/classes/GW_CTRL_SettingsWizard.cls delete mode 100644 src/classes/GW_CTRL_SettingsWizard.cls-meta.xml delete mode 100644 src/pages/SettingsTabCampMbr.page delete mode 100644 src/pages/SettingsTabCampMbr.page-meta.xml delete mode 100644 src/pages/SettingsTabLead.page delete mode 100644 src/pages/SettingsTabLead.page-meta.xml delete mode 100644 src/pages/SettingsTabMisc.page delete mode 100644 src/pages/SettingsTabMisc.page-meta.xml delete mode 100644 src/pages/SettingsTabOpp.page delete mode 100644 src/pages/SettingsTabOpp.page-meta.xml delete mode 100644 src/pages/SettingsTabOrg.page delete mode 100644 src/pages/SettingsTabOrg.page-meta.xml delete mode 100644 src/pages/SettingsTabRole.page delete mode 100644 src/pages/SettingsTabRole.page-meta.xml delete mode 100644 src/pages/SettingsTabTrigger.page delete mode 100644 src/pages/SettingsTabTrigger.page-meta.xml delete mode 100644 src/pages/Settings_Page.page delete mode 100644 src/pages/Settings_Page.page-meta.xml diff --git a/src/classes/GW_CTRL_SettingsTabCampMbr.cls b/src/classes/GW_CTRL_SettingsTabCampMbr.cls deleted file mode 100644 index 7365f56..0000000 --- a/src/classes/GW_CTRL_SettingsTabCampMbr.cls +++ /dev/null @@ -1,105 +0,0 @@ -public with sharing class GW_CTRL_SettingsTabCampMbr { - - // constructor - public GW_CTRL_SettingsTabCampMbr(GW_CTRL_SettingsWizard cWiz) { - ctrlWizard = cWiz; - isEditingTab = false; - } - - public List listCampMbrSettings { - get { - if (listCampMbrSettings == null) { - listCampMbrSettings = Campaign_Mbr_Status_Settings__c.getall().values(); - AddEmptyRows(); - } - return listCampMbrSettings; - } - set; - } - - - public PageReference AddEmptyRows() { - for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { - listCampMbrSettings.add(new Campaign_Mbr_Status_Settings__c()); - } - return null; - } - - private GW_CTRL_SettingsWizard ctrlWizard { get; set; } - - public boolean isEditingTab { get; set; } - - public PageReference editTab() { - isEditingTab = true; - ctrlWizard.strCurrentTab = 'tabCampMbr'; - return null; - } - - public PageReference saveTab() { - list listCStoDel = new list(); - - // go thru the campaign member settings, and delete empty ones - for (integer i = listCampMbrSettings.size()-1; i >= 0; i--) { - Campaign_Mbr_Status_Settings__c cs = listCampMbrSettings[i]; - if (isnullStr(cs.Campaign_Subtype__c) && - isnullStr(cs.Campaign_Type__c) && - isnullStr(cs.Status_Label__c)) { - if (cs.Id == null) { - // it's a new empty dls; just remove it - listCampMbrSettings.remove(i); - } else { - // it's an existing, but cleared entry; delete it. - listCampMbrSettings.remove(i); - listCStoDel.add(cs); - } - } - } - - // name new settings - ctrlWizard.nameNewSettings(listCampMbrSettings, 'CampaignMemberSetting'); - - if (listCStoDel.size() > 0) delete listCStoDel; - try { - system.debug(listCampMbrSettings); - upsert listCampMbrSettings; - } catch (exception ex) { - ApexPages.addMessages(ex); - return null; - } - AddEmptyRows(); - isEditingTab = false; - ctrlWizard.strCurrentTab = 'tabCampMbr'; - return null; - } - - public PageReference cancelTab() { - isEditingTab = false; - listCampMbrSettings = null; - PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabCampMbr' + ctrlWizard.strSalesforceTabNameParam); - p.setRedirect(true); - return p; - } - - private boolean isnullStr(string str) { - return (str == null || str == ''); - } - - private boolean isnullNum(decimal num) { - return (num == null || num == 0); - } - - //---------------------------------------- TEST CODE ------------------------------------------------- - static testmethod void TestTabCampMbr() { - GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); - system.assert(ctrl.ctabCampMbr != null); - system.assertEquals(ctrl.ctabCampMbr.ctrlWizard, ctrl); - system.assertEquals(ctrl.ctabCampMbr.isEditingTab, false); - ctrl.ctabCampMbr.editTab(); - system.assertEquals(ctrl.strCurrentEditTab, 'tabCampMbr'); - ctrl.ctabCampMbr.saveTab(); - system.assertEquals(ctrl.strCurrentEditTab, null); - system.assert(ctrl.ctabCampMbr.cancelTab() != null); - } - - -} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml deleted file mode 100644 index 307ce73..0000000 --- a/src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - Active - diff --git a/src/classes/GW_CTRL_SettingsTabLead.cls b/src/classes/GW_CTRL_SettingsTabLead.cls deleted file mode 100644 index 626a284..0000000 --- a/src/classes/GW_CTRL_SettingsTabLead.cls +++ /dev/null @@ -1,103 +0,0 @@ -public with sharing class GW_CTRL_SettingsTabLead { - - // constructor - public GW_CTRL_SettingsTabLead(GW_CTRL_SettingsWizard cWiz) { - ctrlWizard = cWiz; - isEditingTab = false; - } - - private GW_CTRL_SettingsWizard ctrlWizard { get; set; } - - public List listLeadSettings { - get { - if (listLeadSettings == null) { - listLeadSettings = Lead_Converter_Field_Map__c.getall().values(); - AddEmptyRows(); - } - return listLeadSettings; - } - set; - } - - public PageReference AddEmptyRows() { - for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { - listLeadSettings.add(new Lead_Converter_Field_Map__c()); - } - return null; - } - - public boolean isEditingTab { get; set; } - - public PageReference editTab() { - isEditingTab = true; - ctrlWizard.strCurrentTab = 'tabLead'; - return null; - } - - public PageReference saveTab() { - list listLStoDel = new list(); - - // go thru the frequency settings, and delete empty ones - for (integer i = listLeadSettings.size()-1; i >= 0; i--) { - Lead_Converter_Field_Map__c ls = listLeadSettings[i]; - if (isnullStr(ls.Contact_Field__c) && - isnullStr(ls.Field_Type__c)) { - if (ls.Id == null) { - // it's a new empty dls; just remove it - listLeadSettings.remove(i); - } else { - // it's an existing, but cleared entry; delete it. - listLeadSettings.remove(i); - listLStoDel.add(ls); - } - } - } - - // name new settings - ctrlWizard.nameNewSettings(listLeadSettings, 'LeadConversionSetting'); - - if (listLStoDel.size() > 0) delete listLStoDel; - try { - system.debug(listLeadSettings); - upsert listLeadSettings; - } catch (exception ex) { - ApexPages.addMessages(ex); - return null; - } - AddEmptyRows(); - isEditingTab = false; - ctrlWizard.strCurrentTab = 'tabLead'; - return null; - } - - public PageReference cancelTab() { - isEditingTab = false; - listLeadSettings = null; - PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabLead' + ctrlWizard.strSalesforceTabNameParam); - p.setRedirect(true); - return p; - } - - private boolean isnullStr(string str) { - return (str == null || str == ''); - } - - private boolean isnullNum(decimal num) { - return (num == null || num == 0); - } - - //---------------------------------------- TEST CODE ------------------------------------------------- - static testmethod void TestTabLead() { - GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); - system.assert(ctrl.ctabLead != null); - system.assertEquals(ctrl.ctabLead.ctrlWizard, ctrl); - system.assertEquals(ctrl.ctabLead.isEditingTab, false); - system.assert(ctrl.ctabLead.listLeadSettings != null); - ctrl.ctabLead.editTab(); - system.assertEquals(ctrl.strCurrentEditTab, 'tabLead'); - ctrl.ctabLead.saveTab(); - system.assertEquals(ctrl.strCurrentEditTab, null); - system.assert(ctrl.ctabLead.cancelTab() != null); - } - -} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml deleted file mode 100644 index 307ce73..0000000 --- a/src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - Active - diff --git a/src/classes/GW_CTRL_SettingsTabMisc.cls b/src/classes/GW_CTRL_SettingsTabMisc.cls deleted file mode 100644 index 7fccb5b..0000000 --- a/src/classes/GW_CTRL_SettingsTabMisc.cls +++ /dev/null @@ -1,49 +0,0 @@ -public with sharing class GW_CTRL_SettingsTabMisc { - - // constructor - public GW_CTRL_SettingsTabMisc(GW_CTRL_SettingsWizard cWiz) { - ctrlWizard = cWiz; - isEditingTab = false; - } - - private GW_CTRL_SettingsWizard ctrlWizard { get; set; } - - public boolean isEditingTab { get; set; } - - public PageReference editTab() { - isEditingTab = true; - ctrlWizard.strCurrentTab = 'tabMisc'; - return null; - } - - public PageReference saveTab() { - upsert ctrlWizard.mSettings; - isEditingTab = false; - ctrlWizard.strCurrentTab = 'tabMisc'; - return null; - } - - public PageReference cancelTab() { - isEditingTab = false; - ctrlWizard.mSettings = null; - PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabMisc' + ctrlWizard.strSalesforceTabNameParam); - p.setRedirect(true); - return p; - } - - //---------------------------------------- TEST CODE ------------------------------------------------- - static testmethod void TestTabMisc() { - GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); - system.assert(ctrl.ctabMisc != null); - system.assertEquals(ctrl.ctabMisc.ctrlWizard, ctrl); - system.assertEquals(ctrl.ctabMisc.isEditingTab, false); - system.assert(ctrl.ctabMisc.ctrlWizard.mSettings != null); - ctrl.ctabMisc.editTab(); - system.assertEquals(ctrl.strCurrentEditTab, 'tabGeneral'); - ctrl.ctabMisc.saveTab(); - system.assertEquals(ctrl.strCurrentEditTab, null); - system.assert(ctrl.ctabMisc.cancelTab() != null); - } - - -} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml deleted file mode 100644 index 307ce73..0000000 --- a/src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - Active - diff --git a/src/classes/GW_CTRL_SettingsTabOpp.cls b/src/classes/GW_CTRL_SettingsTabOpp.cls deleted file mode 100644 index 5f2180a..0000000 --- a/src/classes/GW_CTRL_SettingsTabOpp.cls +++ /dev/null @@ -1,49 +0,0 @@ -public with sharing class GW_CTRL_SettingsTabOpp { - - // constructor - public GW_CTRL_SettingsTabOpp(GW_CTRL_SettingsWizard cWiz) { - ctrlWizard = cWiz; - isEditingTab = false; - } - - private GW_CTRL_SettingsWizard ctrlWizard { get; set; } - - public boolean isEditingTab { get; set; } - - public PageReference editTab() { - isEditingTab = true; - ctrlWizard.strCurrentTab = 'tabOpp'; - return null; - } - - public PageReference saveTab() { - upsert ctrlWizard.oSettings; - isEditingTab = false; - ctrlWizard.strCurrentTab = 'tabOpp'; - return null; - } - - public PageReference cancelTab() { - isEditingTab = false; - ctrlWizard.oSettings = null; - PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabOpp' + ctrlWizard.strSalesforceTabNameParam); - p.setRedirect(true); - return p; - } - - //---------------------------------------- TEST CODE ------------------------------------------------- - static testmethod void TestTabOpp() { - GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); - system.assert(ctrl.ctabOpp != null); - system.assertEquals(ctrl.ctabOpp.ctrlWizard, ctrl); - system.assertEquals(ctrl.ctabOpp.isEditingTab, false); - system.assert(ctrl.ctabOpp.ctrlWizard.oSettings != null); - ctrl.ctabOpp.editTab(); - system.assertEquals(ctrl.strCurrentEditTab, 'tabOpp'); - ctrl.ctabOpp.saveTab(); - system.assertEquals(ctrl.strCurrentEditTab, null); - system.assert(ctrl.ctabOpp.cancelTab() != null); - } - - -} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml deleted file mode 100644 index 307ce73..0000000 --- a/src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - Active - diff --git a/src/classes/GW_CTRL_SettingsTabOrg.cls b/src/classes/GW_CTRL_SettingsTabOrg.cls deleted file mode 100644 index 515acf0..0000000 --- a/src/classes/GW_CTRL_SettingsTabOrg.cls +++ /dev/null @@ -1,100 +0,0 @@ -public with sharing class GW_CTRL_SettingsTabOrg { - - // constructor - public GW_CTRL_SettingsTabOrg(GW_CTRL_SettingsWizard cWiz) { - ctrlWizard = cWiz; - isEditingTab = false; - } - - private GW_CTRL_SettingsWizard ctrlWizard { get; set; } - - public List listOrgSettings { - get { - if (listOrgSettings == null) { - listOrgSettings = OrgConRole_Settings__c.getall().values(); - AddEmptyRows(); - } - return listOrgSettings; - } - set; - } - - public PageReference AddEmptyRows() { - for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { - listOrgSettings.add(new OrgConRole_Settings__c()); - } - return null; - } - - public boolean isEditingTab { get; set; } - - public PageReference editTab() { - isEditingTab = true; - ctrlWizard.strCurrentTab = 'tabOrg'; - return null; - } - - public PageReference saveTab() { - list listOStoDel = new list(); - - // go thru the frequency settings, and delete empty ones - for (integer i = listOrgSettings.size()-1; i >= 0; i--) { - OrgConRole_Settings__c os = listOrgSettings[i]; - if (isnullStr(os.Primary_Contact_Role__c) && - isnullStr(os.Name)) { - if (os.Id == null) { - // it's a new empty dls; just remove it - listOrgSettings.remove(i); - } else { - // it's an existing, but cleared entry; delete it. - listOrgSettings.remove(i); - listOStoDel.add(os); - } - } - } - - if (listOStoDel.size() > 0) delete listOStoDel; - try { - system.debug(listOrgSettings); - upsert listOrgSettings; - } catch (exception ex) { - ApexPages.addMessages(ex); - return null; - } - AddEmptyRows(); - isEditingTab = false; - ctrlWizard.strCurrentTab = 'tabOrg'; - return null; - } - - public PageReference cancelTab() { - isEditingTab = false; - listOrgSettings = null; - PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabOrg' + ctrlWizard.strSalesforceTabNameParam); - p.setRedirect(true); - return p; - } - - private boolean isnullStr(string str) { - return (str == null || str == ''); - } - - private boolean isnullNum(decimal num) { - return (num == null || num == 0); - } - - //---------------------------------------- TEST CODE ------------------------------------------------- - static testmethod void TestTabOrg() { - GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); - system.assert(ctrl.ctabOrg != null); - system.assertEquals(ctrl.ctabOrg.ctrlWizard, ctrl); - system.assertEquals(ctrl.ctabOrg.isEditingTab, false); - system.assert(ctrl.ctabOrg.listOrgSettings != null); - ctrl.ctabOrg.editTab(); - system.assertEquals(ctrl.strCurrentEditTab, 'tabOrg'); - ctrl.ctabOrg.saveTab(); - system.assertEquals(ctrl.strCurrentEditTab, null); - system.assert(ctrl.ctabOrg.cancelTab() != null); - } - -} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml deleted file mode 100644 index 307ce73..0000000 --- a/src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - Active - diff --git a/src/classes/GW_CTRL_SettingsTabRoles.cls b/src/classes/GW_CTRL_SettingsTabRoles.cls deleted file mode 100644 index 1a9396d..0000000 --- a/src/classes/GW_CTRL_SettingsTabRoles.cls +++ /dev/null @@ -1,99 +0,0 @@ -public with sharing class GW_CTRL_SettingsTabRoles { - - // constructor - public GW_CTRL_SettingsTabRoles(GW_CTRL_SettingsWizard cWiz) { - ctrlWizard = cWiz; - isEditingTab = false; - } - - private GW_CTRL_SettingsWizard ctrlWizard { get; set; } - - public List listRoleSettings { - get { - if (listRoleSettings == null) { - listRoleSettings = ConRole_Settings__c.getall().values(); - AddEmptyRows(); - } - return listRoleSettings; - } - set; - } - - public PageReference AddEmptyRows() { - for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { - listRoleSettings.add(new ConRole_Settings__c()); - } - return null; - } - - public boolean isEditingTab { get; set; } - - public PageReference editTab() { - isEditingTab = true; - ctrlWizard.strCurrentTab = 'tabRoles'; - return null; - } - - public PageReference saveTab() { - list listRStoDel = new list(); - - // go thru the frequency settings, and delete empty ones - for (integer i = listRoleSettings.size()-1; i >= 0; i--) { - ConRole_Settings__c rs = listRoleSettings[i]; - if (isnullStr(rs.Primary__c)) { - if (rs.Id == null) { - // it's a new empty dls; just remove it - listRoleSettings.remove(i); - } else { - // it's an existing, but cleared entry; delete it. - listRoleSettings.remove(i); - listRStoDel.add(rs); - } - } - } - - if (listRStoDel.size() > 0) delete listRStoDel; - try { - system.debug(listRoleSettings); - upsert listRoleSettings; - } catch (exception ex) { - ApexPages.addMessages(ex); - return null; - } - AddEmptyRows(); - isEditingTab = false; - ctrlWizard.strCurrentTab = 'tabRoles'; - return null; - } - - public PageReference cancelTab() { - isEditingTab = false; - listRoleSettings = null; - PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabRoles' + ctrlWizard.strSalesforceTabNameParam); - p.setRedirect(true); - return p; - } - - private boolean isnullStr(string str) { - return (str == null || str == ''); - } - - private boolean isnullNum(decimal num) { - return (num == null || num == 0); - } - - //---------------------------------------- TEST CODE ------------------------------------------------- - static testmethod void TestTabRoles() { - GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); - system.assert(ctrl.ctabRoles != null); - system.assertEquals(ctrl.ctabRoles.ctrlWizard, ctrl); - system.assertEquals(ctrl.ctabRoles.isEditingTab, false); - system.assert(ctrl.ctabRoles.listRoleSettings != null); - ctrl.ctabRoles.editTab(); - system.assertEquals(ctrl.strCurrentEditTab, 'tabRoles'); - ctrl.ctabRoles.saveTab(); - system.assertEquals(ctrl.strCurrentEditTab, null); - system.assert(ctrl.ctabRoles.cancelTab() != null); - } - -} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml deleted file mode 100644 index 307ce73..0000000 --- a/src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - Active - diff --git a/src/classes/GW_CTRL_SettingsTabTrigger.cls b/src/classes/GW_CTRL_SettingsTabTrigger.cls deleted file mode 100644 index c97179f..0000000 --- a/src/classes/GW_CTRL_SettingsTabTrigger.cls +++ /dev/null @@ -1,49 +0,0 @@ -public with sharing class GW_CTRL_SettingsTabTrigger { - - // constructor - public GW_CTRL_SettingsTabTrigger(GW_CTRL_SettingsWizard cWiz) { - ctrlWizard = cWiz; - isEditingTab = false; - } - - private GW_CTRL_SettingsWizard ctrlWizard { get; set; } - - public boolean isEditingTab { get; set; } - - public PageReference editTab() { - isEditingTab = true; - ctrlWizard.strCurrentTab = 'tabTrigger'; - return null; - } - - public PageReference saveTab() { - upsert ctrlWizard.tSettings; - isEditingTab = false; - ctrlWizard.strCurrentTab = 'tabTrigger'; - return null; - } - - public PageReference cancelTab() { - isEditingTab = false; - ctrlWizard.tSettings = null; - PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabTrigger' + ctrlWizard.strSalesforceTabNameParam); - p.setRedirect(true); - return p; - } - - //---------------------------------------- TEST CODE ------------------------------------------------- - static testmethod void TestTabTrigger() { - GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); - system.assert(ctrl.ctabTrigger != null); - system.assertEquals(ctrl.ctabTrigger.ctrlWizard, ctrl); - system.assertEquals(ctrl.ctabTrigger.isEditingTab, false); - system.assert(ctrl.ctabTrigger.ctrlWizard.tSettings != null); - ctrl.ctabTrigger.editTab(); - system.assertEquals(ctrl.strCurrentEditTab, 'tabTrigger'); - ctrl.ctabTrigger.saveTab(); - system.assertEquals(ctrl.strCurrentEditTab, null); - system.assert(ctrl.ctabTrigger.cancelTab() != null); - } - - -} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml deleted file mode 100644 index 307ce73..0000000 --- a/src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - Active - diff --git a/src/classes/GW_CTRL_SettingsWizard.cls b/src/classes/GW_CTRL_SettingsWizard.cls deleted file mode 100644 index d562875..0000000 --- a/src/classes/GW_CTRL_SettingsWizard.cls +++ /dev/null @@ -1,423 +0,0 @@ -public with sharing class GW_CTRL_SettingsWizard { - - // constructor - public GW_CTRL_SettingsWizard() { - - map params = ApexPages.currentPage().getParameters(); - string str = params.get('currentTab'); - if (str != null && str != '') { - strCurrentTab = str; - } else { - strCurrentTab = 'tabOpp'; - } - str = params.get('sfdc.tabName'); - if (str != null && str != '') { - strSalesforceTabNameParam = '&sfdc.tabName=' + str; - } else { - strSalesforceTabNameParam = ''; - } - } - - public boolean inEditMode { - get { - return - ctabLead.isEditingTab || - ctabOrg.isEditingTab || - ctabRoles.isEditingTab || - ctabTrigger.isEditingTab || - ctabMisc.isEditingTab || - ctabOpp.isEditingTab || - ctabCampMbr.isEditingTab; - - } - set; - } - - public string strSalesforceTabNameParam { get; set; } - - public string strCurrentEditTab { - get { - if (ctabCampMbr.isEditingTab) return 'tabCampMbr'; - if (ctabLead.isEditingTab) return 'tabLead'; - if (ctabOrg.isEditingTab) return 'tabOrg'; - if (ctabRoles.isEditingTab) return 'tabRoles'; - if (ctabMisc.isEditingTab) return 'tabMisc'; - if (ctabTrigger.isEditingTab) return 'tabTrigger'; - if (ctabOpp.isEditingTab) return 'tabOpp'; - - return null; - } - set; - } - - // tabPanel sets this thru an ajax call. - public string strCurrentTab { get; set; } - - - public GW_CTRL_SettingsTabCampMbr ctabCampMbr { - get { - if (ctabCampMbr == null) ctabCampMbr = new GW_CTRL_SettingsTabCampMbr(this); - return ctabCampMbr; - } - set; - } - - public GW_CTRL_SettingsTabLead ctabLead { - get { - if (ctabLead == null) ctabLead = new GW_CTRL_SettingsTabLead(this); - return ctabLead; - } - set; - } - - public GW_CTRL_SettingsTabMisc ctabMisc { - get { - if (ctabMisc == null) ctabMisc = new GW_CTRL_SettingsTabMisc(this); - return ctabMisc; - } - set; - } - - public GW_CTRL_SettingsTabRoles ctabRoles { - get { - if (ctabRoles == null) ctabRoles = new GW_CTRL_SettingsTabRoles(this); - return ctabRoles; - } - set; - } - - public GW_CTRL_SettingsTabTrigger ctabTrigger { - get { - if (ctabTrigger == null) ctabTrigger = new GW_CTRL_SettingsTabTrigger(this); - return ctabTrigger; - } - set; - } - - public GW_CTRL_SettingsTabOrg ctabOrg { - get { - if (ctabOrg == null) ctabOrg = new GW_CTRL_SettingsTabOrg(this); - return ctabOrg; - } - set; - } - - public GW_CTRL_SettingsTabOpp ctabOpp { - get { - if (ctabOpp == null) ctabOpp = new GW_CTRL_SettingsTabOpp(this); - return ctabOpp; - } - set; - } - - public OppRollupSettings__c oSettings { - get { - if (oSettings == null) oSettings = OppRollupSettings__c.getOrgDefaults(); - return oSettings; - } - set; - } - - public TriggerSettings__c tSettings { - get { - if (tSettings == null) tSettings = TriggerSettings__c.getOrgDefaults(); - return tSettings; - } - set; - } - - public MiscellaneousBaseSettings__c mSettings { - get { - if (mSettings == null) mSettings = MiscellaneousBaseSettings__c.getOrgDefaults(); - return mSettings; - } - set; - } - - - - - - // utility to create unique new names for the list of objects that don't have names. - public void nameNewSettings(list listSobj, string strPrefix) { - if (listSobj == null || strPrefix == null) return; - - // name new settings, by first finding the last name used. - integer iUsedMax = 0; - for (integer i = 0; i < listSobj.size(); i++ ) { - string strName = string.valueOf(listSobj[i].get('name')); - if (strName != null && strName.startsWith(strPrefix)) { - integer iNum = integer.valueOf(strName.subString(strPrefix.length())); - if (iNum > iUsedMax) { - iUsedMax = iNum; - } - } - } - for (integer i = 0; i < listSobj.size(); i++ ) { - if (listSobj[i].get('id') == null) { - listSobj[i].put('name', strPrefix + string.valueOf(++iUsedMax)); - } - } - } - - - - - // the list of Engagement Levels to put in the dropdowns (not in use for GWBASE) - /* - public list listSOLevels { - get { - if (listSOLevels == null) { - list listSO = new list(); - listSO.add(new SelectOption('', '')); - for (integer i = 1; i <= 8; i++) { - string strLevel = 'Level_' + string.valueOf(i) + '_Name__c'; - string strLevelName = string.valueOf(etSettings.get(strLevel)); - if (strLevelName != null && strLevelName != '') { - listSO.add(new SelectOption(string.valueOf(i) + '.0', strLevelName)); - } - } - listSOLevels = listSO; - } - return listSOLevels; - } - set; - } - */ - // set used to keep track of which contact fields are boolean, - // so we can automaticaly mark them as checkbox when saving Contact Field Settings. - public set setCheckboxFields { get; set; } - - // the list of Contact Fields to put in the dropdowns - public list listSOContactFields { - get { - if (listSOContactFields == null) { - list listSO = new list(); - listSO.add(new SelectOption('', '')); - Map mapS = Schema.SObjectType.Contact.fields.getMap(); - - // create temp list of strings to sort by alpha - list listStr = new list(); - setCheckboxFields = new set(); - for (Schema.SObjectField sf : mapS.values()) { - Schema.DescribeFieldResult f = sf.getDescribe(); - listStr.add(f.Label + '.' + f.Name); - if (f.Type == Schema.DisplayType.Boolean) { - setCheckboxFields.add(f.Name); - } - } - listStr.sort(); - - for (string str : listStr) { - list listPair = str.split('\\.'); // need to escape the dot char since this is regex - listSO.add(new SelectOption(listPair[1], listPair[0])); - } - - listSOContactFields = listSO; - } - return listSOContactFields; - } - set; - } - - // helper to say whether this instance has any campaign record types defined. - // used by several tabs to hide a campaign record type column, when not needed. - public boolean hasCampaignRecordTypes { - get { - return (listSOCampaignRecordTypes.size() > 1); - } - } - - // the list of Campaign Record Types to put in the dropdowns - public list listSOCampaignRecordTypes { - get { - if (listSOCampaignRecordTypes == null) { - list listSO = new list(); - listSO.add(new SelectOption('', '')); - for (RecordType rt : [SELECT Name FROM RecordType WHERE SobjectType='Campaign']) { - listSO.add(new SelectOption(rt.Name, rt.Name)); - } - listSOCampaignRecordTypes = listSO; - } - return listSOCampaignRecordTypes; - } - set; - } - - // the list of Campaign Types to put in the dropdowns - public list listSOCampaignTypes { - get { - if (listSOCampaignTypes == null) { - list listSO = new list(); - listSO.add(new SelectOption('', '')); - - Schema.DescribeFieldResult F = Campaign.Type.getDescribe(); - for (Schema.PicklistEntry pe : F.getPicklistValues()) { - listSO.add(new SelectOption(pe.Value, pe.Label)); - } - listSOCampaignTypes = listSO; - } - return listSOCampaignTypes; - } - set; - } - - - // the list of Opportunity Stages to put in the dropdowns - public list listSOOppStages { - get { - if (listSOOppStages == null) { - list listSO = new list(); - listSO.add(new SelectOption('', '')); - - Schema.DescribeFieldResult F = Opportunity.StageName.getDescribe(); - for (Schema.PicklistEntry pe : F.getPicklistValues()) { - listSO.add(new SelectOption(pe.Value, pe.Label)); - } - listSOOppStages = listSO; - } - return listSOOppStages; - } - set; - } - - // the list of Opportunity Types to put in the dropdowns - public list listSOOppTypes { - get { - if (listSOOppTypes == null) { - list listSO = new list(); - listSO.add(new SelectOption('', '')); - - Schema.DescribeFieldResult F = Opportunity.Type.getDescribe(); - for (Schema.PicklistEntry pe : F.getPicklistValues()) { - listSO.add(new SelectOption(pe.Value, pe.Label)); - } - listSOOppTypes = listSO; - } - return listSOOppTypes; - } - set; - } - - - // the list of Opportunity Record Types to put in the dropdowns - public list listSOOppRecordTypes { - get { - if (listSOOppRecordTypes == null) { - - list listSO = new list(); - for (RecordType rt : [SELECT Name FROM RecordType WHERE SobjectType='Opportunity']) { - - listSO.add(new SelectOption(rt.Name, rt.Name)); - } - listSOOppRecordTypes = listSO; - } - return listSOOppRecordTypes; - } - set; - } - - // the list of Opportunity Contact Roles to put in the dropdowns - public list listSOContactRoles { - get { - if (listSOContactRoles == null) { - list listSO = new list(); - listSO.add(new SelectOption('', '')); - - Schema.DescribeFieldResult F = OpportunityContactRole.Role.getDescribe(); - for (Schema.PicklistEntry pe : F.getPicklistValues()) { - listSO.add(new SelectOption(pe.Value, pe.Label)); - } - listSOContactRoles = listSO; - } - return listSOContactRoles; - } - set; - } - - // the list of Campaign Member Statuses to put in the dropdowns - public list listSOMbrStatus { - get { - if (listSOMbrStatus == null) { - list listSO = new list(); - listSO.add(new SelectOption('', '')); - - Schema.DescribeFieldResult F = CampaignMember.Status.getDescribe(); - for (Schema.PicklistEntry pe : F.getPicklistValues()) { - listSO.add(new SelectOption(pe.Value, pe.Label)); - } - listSOMbrStatus = listSO; - } - return listSOMbrStatus; - } - set; - } - - - // the list of Campaign Sub Types to put in the dropdowns - public list listSOCampaignSubTypes { - get { - if (listSOCampaignSubTypes == null) { - list listSO = new list(); - listSO.add(new SelectOption('', '')); - - if (GW_BATCH_EngagementRollup.IsGWBaseInstalled) { - Map M = Schema.SObjectType.Campaign.fields.getMap(); - String sub_type = GW_BATCH_EngagementRollup.addNSPrefixET('Campaign_Sub_Type__c', false, false); - Schema.DescribeFieldResult F = M.get(sub_type).getDescribe(); - for (Schema.PicklistEntry pe : F.getPicklistValues()) { - listSO.add(new SelectOption(pe.Value, pe.Label)); - } - } - - listSOCampaignSubTypes = listSO; - } - return listSOCampaignSubTypes; - } - set; - } - - // helper used to hide Campaign Sub Type columns when not running with GWBase. - public boolean IsGWBaseInstalled { - get { - return (GW_BATCH_EngagementRollup.IsGWBaseInstalled); - } - } - - public boolean isnullStr(string str) { - return (str == null || str == ''); - } - - public boolean isnullNum(decimal num) { - return (num == null || num == 0); - } - - public static integer cEmptyRows = 3; - - //---------------------------------------- TEST CODE ------------------------------------------------- - static testmethod void TestWizard() { - GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); - - system.assert(ctrl.ctabOpp != null); - system.assert(ctrl.ctabRoles != null); - system.assert(ctrl.ctabOrg != null); - system.assert(ctrl.ctabTrigger != null); - system.assert(ctrl.ctabCampMbr!= null); - system.assert(ctrl.ctabLead != null); - system.assert(ctrl.ctabMisc != null); - system.assert(ctrl.inEditMode == false); - system.assert(ctrl.strCurrentEditTab == null); - system.assert(ctrl.strCurrentTab == 'tabLevels'); - system.assert(ctrl.tSettings != null); - system.assert(ctrl.oSettings != null); - system.assert(ctrl.mSettings != null); - system.assert(ctrl.listSOContactFields != null); - system.assert(ctrl.listSOCampaignRecordTypes != null); - system.assert(ctrl.listSOCampaignTypes != null); - system.assert(ctrl.setCheckboxFields != null); - system.assert(ctrl.hasCampaignRecordTypes == (ctrl.listSOCampaignRecordTypes.size() > 1)); - system.assert(ctrl.IsGWBaseInstalled == GW_BATCH_EngagementRollup.IsGWBaseInstalled); - - - } -} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsWizard.cls-meta.xml b/src/classes/GW_CTRL_SettingsWizard.cls-meta.xml deleted file mode 100644 index 307ce73..0000000 --- a/src/classes/GW_CTRL_SettingsWizard.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - Active - diff --git a/src/dashboards/OrganizationMetrics/Engagement.dashboard b/src/dashboards/OrganizationMetrics/Engagement.dashboard index f816eee..7425b34 100644 --- a/src/dashboards/OrganizationMetrics/Engagement.dashboard +++ b/src/dashboards/OrganizationMetrics/Engagement.dashboard @@ -160,7 +160,7 @@ true - zach4@delbenegroup.com + matthew@onenw_dev.org #000000 Engagement #000000 diff --git a/src/dashboards/OrganizationMetrics/RevenueandForecasting.dashboard b/src/dashboards/OrganizationMetrics/RevenueandForecasting.dashboard index 6f3751e..95a89ff 100644 --- a/src/dashboards/OrganizationMetrics/RevenueandForecasting.dashboard +++ b/src/dashboards/OrganizationMetrics/RevenueandForecasting.dashboard @@ -177,7 +177,7 @@ false - zach4@delbenegroup.com + matthew@onenw_dev.org #000000 Revenue and Forecasting #000000 diff --git a/src/dashboards/Shared_Dashboards/AdoptionDashboard.dashboard b/src/dashboards/Shared_Dashboards/AdoptionDashboard.dashboard index 9810da4..69e329e 100644 --- a/src/dashboards/Shared_Dashboards/AdoptionDashboard.dashboard +++ b/src/dashboards/Shared_Dashboards/AdoptionDashboard.dashboard @@ -270,7 +270,7 @@ false - zach4@delbenegroup.com + davem+1dev@groundwire.org #000000 Adoption Dashboard #000099 diff --git a/src/objects/Account.object b/src/objects/Account.object index a939ae5..98df6a5 100644 --- a/src/objects/Account.object +++ b/src/objects/Account.object @@ -1,5 +1,6 @@ + true AccountSource diff --git a/src/objects/AccountContactRole.object b/src/objects/AccountContactRole.object index 4857730..53e60e3 100644 --- a/src/objects/AccountContactRole.object +++ b/src/objects/AccountContactRole.object @@ -1,5 +1,6 @@ + false Role diff --git a/src/objects/Activity.object b/src/objects/Activity.object index c12febf..3ed63d7 100644 --- a/src/objects/Activity.object +++ b/src/objects/Activity.object @@ -1,5 +1,6 @@ + false AllActivities Team diff --git a/src/objects/Asset.object b/src/objects/Asset.object index c309f12..2204eca 100644 --- a/src/objects/Asset.object +++ b/src/objects/Asset.object @@ -1,5 +1,6 @@ + false ProductFamily diff --git a/src/objects/Campaign.object b/src/objects/Campaign.object index 1c42bb0..1dfadbf 100644 --- a/src/objects/Campaign.object +++ b/src/objects/Campaign.object @@ -1,5 +1,6 @@ + false Campaign_Sub_Type__c false @@ -248,50 +249,6 @@ Drip Campaign false - - Conference - true - - - Webinar - false - - - Trade Show - false - - - Public Relations - false - - - Partners - false - - - Referral Program - false - - - Advertisement - false - - - Banner Ads - false - - - Direct Mail - false - - - Email - false - - - Telemarketing - false - false Picklist diff --git a/src/objects/CampaignMember.object b/src/objects/CampaignMember.object index 1a262b3..5a360b0 100644 --- a/src/objects/CampaignMember.object +++ b/src/objects/CampaignMember.object @@ -1,5 +1,6 @@ + false Effective_Action_Date__c false diff --git a/src/objects/Case.object b/src/objects/Case.object index 4dfae02..d757026 100644 --- a/src/objects/Case.object +++ b/src/objects/Case.object @@ -1,5 +1,6 @@ + true Origin diff --git a/src/objects/CaseContactRole.object b/src/objects/CaseContactRole.object index 85813eb..168ec00 100644 --- a/src/objects/CaseContactRole.object +++ b/src/objects/CaseContactRole.object @@ -1,5 +1,6 @@ + false Role diff --git a/src/objects/Contact.object b/src/objects/Contact.object index a05b64f..00f3f63 100644 --- a/src/objects/Contact.object +++ b/src/objects/Contact.object @@ -1,5 +1,6 @@ + true Action_Alerts__c false @@ -1116,10 +1117,10 @@ IF ( AND ( OtherStreet = "" , OtherCity = "" , OtherState = Recurring_Annualized_Amount__c false - IF( AND( NOT( ISBLANK( Recurring_Amount__c ) ),NOT( ISBLANK( Recurring_Payment_Frequency__c ) ),NOT( ISBLANK( TEXT(Recurring_Payment_Period__c) ) ) ), - -IF(TEXT(Recurring_Payment_Period__c) = 'Day', Recurring_Amount__c * (365/Recurring_Payment_Frequency__c),IF(TEXT(Recurring_Payment_Period__c) = 'Week', Recurring_Amount__c * (52/Recurring_Payment_Frequency__c),IF(TEXT(Recurring_Payment_Period__c) = 'Month', Recurring_Amount__c * (12/Recurring_Payment_Frequency__c),Recurring_Amount__c * (1/Recurring_Payment_Frequency__c)))), - + IF( AND( NOT( ISBLANK( Recurring_Amount__c ) ),NOT( ISBLANK( Recurring_Payment_Frequency__c ) ),NOT( ISBLANK( TEXT(Recurring_Payment_Period__c) ) ) ), + +IF(TEXT(Recurring_Payment_Period__c) = 'Day', Recurring_Amount__c * (365/Recurring_Payment_Frequency__c),IF(TEXT(Recurring_Payment_Period__c) = 'Week', Recurring_Amount__c * (52/Recurring_Payment_Frequency__c),IF(TEXT(Recurring_Payment_Period__c) = 'Month', Recurring_Amount__c * (12/Recurring_Payment_Frequency__c),Recurring_Amount__c * (1/Recurring_Payment_Frequency__c)))), + null) BlankAsZero Specifies the annualized total from a recurring payment profile associated with this contact. e.g. for a contact who gives $10 per month, this value would be $120 diff --git a/src/objects/Contract.object b/src/objects/Contract.object index 158a34d..55d780e 100644 --- a/src/objects/Contract.object +++ b/src/objects/Contract.object @@ -1,5 +1,6 @@ + false Status diff --git a/src/objects/ContractContactRole.object b/src/objects/ContractContactRole.object index 4857730..53e60e3 100644 --- a/src/objects/ContractContactRole.object +++ b/src/objects/ContractContactRole.object @@ -1,5 +1,6 @@ + false Role diff --git a/src/objects/EngagementFrequencySettings__c.object b/src/objects/EngagementFrequencySettings__c.object index 0b0474a..0d26894 100644 --- a/src/objects/EngagementFrequencySettings__c.object +++ b/src/objects/EngagementFrequencySettings__c.object @@ -5,36 +5,6 @@ Specify an Engagement Level to be set based on the frequency of a Contact's participation in Campaigns at a certain level, optionally only counting Campaigns with a certain field value. false false - - Campaign_Record_Type__c - false - The Record Type of the Campaign to set an Engagement Level for. This field is optional. - - 255 - false - Text - false - - - Campaign_Sub_Type__c - false - The Sub Type of the Campaign to set an Engagement Level for. This field is optional. - - 255 - false - Text - false - - - Campaign_Type__c - false - The Type of the Campaign to set an Engagement Level for. This field is optional. - - 255 - false - Text - false - Field_Value_1__c false diff --git a/src/objects/EngagementTrackerSettings__c.object b/src/objects/EngagementTrackerSettings__c.object index d0a1fa3..2ea3435 100644 --- a/src/objects/EngagementTrackerSettings__c.object +++ b/src/objects/EngagementTrackerSettings__c.object @@ -14,62 +14,6 @@ Number false - - Gratitude_Machine_Days_To_Exclude__c - 365 - false - Exclude contacts in the Gratitude Machine that have already been on a Gratitude Machine campaign within this number of days. - - 4 - false - 0 - Number - false - - - Gratitude_Machine_Minimum_Days_in_Level__c - 90 - false - When finding "Old Steadies", only include contacts who have been in their level at least this number of days. - - 4 - false - 0 - Number - false - - - Gratitude_Machine_Minumum_Level__c - 3 - false - The minum Engagement Level of contacts to include in the Gratitude Machine. - - 2 - false - 0 - Number - false - - - Gratitude_Machine_Recent_Activity_Days__c - 365 - false - For "Old Steadies" the number of days they must have done some engagement related action in. - - 4 - false - 0 - Number - false - - - Householded_Donor_Levels__c - true - false - If checked, assigns engagement levels to everyone in the household based on the total donations from the household. - - Checkbox - Include_Membership__c false @@ -198,28 +142,6 @@ Number false - - Opp_Rectype_For_Tests_Default__c - "Donation" - false - The default Opportunity Record Type for donations to be used in unit tests. - - 255 - true - Text - false - - - Opp_Rectype_For_Tests_Member__c - "Membership" - false - Opportunity Record Type for membership to be used in unit tests. - - 255 - true - Text - false - Override_Default_Duration__c false diff --git a/src/objects/Event.object b/src/objects/Event.object index 7f34472..ce53601 100644 --- a/src/objects/Event.object +++ b/src/objects/Event.object @@ -1,5 +1,6 @@ + false Subject diff --git a/src/objects/Idea.object b/src/objects/Idea.object index c613fb0..a60c6e9 100644 --- a/src/objects/Idea.object +++ b/src/objects/Idea.object @@ -1,5 +1,6 @@ + false Categories diff --git a/src/objects/Lead.object b/src/objects/Lead.object index 37e4297..e20e2da 100644 --- a/src/objects/Lead.object +++ b/src/objects/Lead.object @@ -1,5 +1,6 @@ + true Address_Flag__c false diff --git a/src/objects/Lead_Converter_Field_Map__c.object b/src/objects/Lead_Converter_Field_Map__c.object index 4e8bdb5..132957e 100644 --- a/src/objects/Lead_Converter_Field_Map__c.object +++ b/src/objects/Lead_Converter_Field_Map__c.object @@ -17,6 +17,7 @@ Field_Type__c + "Text" false Should be either Text, Checkbox, or Multiselect. Text can correspond to a number of Salesforce field types that are text based, e.g. Text, Text Area, Picklist, Email, et al. diff --git a/src/objects/Opportunity.object b/src/objects/Opportunity.object index 2204987..a1e5aab 100644 --- a/src/objects/Opportunity.object +++ b/src/objects/Opportunity.object @@ -60,6 +60,7 @@ false + true Amount_Requested__c false @@ -536,62 +537,6 @@ 0 false - - Qualification - false - false - Pipeline - 10 - false - - - Needs Analysis - false - false - Pipeline - 20 - false - - - Value Proposition - false - false - Pipeline - 50 - false - - - Id. Decision Makers - false - false - Pipeline - 60 - false - - - Perception Analysis - false - false - Pipeline - 70 - false - - - Proposal/Price Quote - false - false - Pipeline - 75 - false - - - Negotiation/Review - false - false - Pipeline - 90 - false - false Picklist @@ -660,22 +605,6 @@ Other false - - Existing Customer - Upgrade - false - - - Existing Customer - Replacement - false - - - Existing Customer - Downgrade - false - - - New Customer - false - false Picklist @@ -875,6 +804,7 @@ + false Gift true diff --git a/src/objects/OpportunityContactRole.object b/src/objects/OpportunityContactRole.object index 5e21a48..76c2c2e 100644 --- a/src/objects/OpportunityContactRole.object +++ b/src/objects/OpportunityContactRole.object @@ -1,5 +1,6 @@ + false Role @@ -51,30 +52,6 @@ Honoree false - - Business User - false - - - Economic Buyer - false - - - Economic Decision Maker - false - - - Evaluator - false - - - Executive Sponsor - false - - - Technical Buyer - false - false Picklist diff --git a/src/objects/PartnerRole.object b/src/objects/PartnerRole.object index 1b29551..e33827c 100644 --- a/src/objects/PartnerRole.object +++ b/src/objects/PartnerRole.object @@ -1,5 +1,6 @@ + false ReverseRole diff --git a/src/objects/Product2.object b/src/objects/Product2.object index b31b72f..1f35a23 100644 --- a/src/objects/Product2.object +++ b/src/objects/Product2.object @@ -1,5 +1,6 @@ + false Family diff --git a/src/objects/Solution.object b/src/objects/Solution.object index 9ffccd0..1f34015 100644 --- a/src/objects/Solution.object +++ b/src/objects/Solution.object @@ -1,5 +1,6 @@ + false Status diff --git a/src/objects/Task.object b/src/objects/Task.object index 1c2c434..376776a 100644 --- a/src/objects/Task.object +++ b/src/objects/Task.object @@ -1,5 +1,6 @@ + false Priority diff --git a/src/objects/User.object b/src/objects/User.object index 393ae67..628b5f7 100644 --- a/src/objects/User.object +++ b/src/objects/User.object @@ -1,5 +1,6 @@ + true ActiveUsers Everything diff --git a/src/pages/SettingsTabCampMbr.page b/src/pages/SettingsTabCampMbr.page deleted file mode 100644 index 413b2cf..0000000 --- a/src/pages/SettingsTabCampMbr.page +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -
-
Campaign Member
-
Default and available statuses for Campaign Members, by Campaign Type and Sub Type.
-
Help
- -
-
- - -    - -

- - - - - - - del - - - With
Campaign Type ___
- - - -
- - - And Campaign SubType
____
- - - -
- - Counts as
Responded?
- -
- - Default Status?
(One Per Type)
- -
- -

And Status Label
___
- - - - - - - - -

- -    - - - - - - \ No newline at end of file diff --git a/src/pages/SettingsTabCampMbr.page-meta.xml b/src/pages/SettingsTabCampMbr.page-meta.xml deleted file mode 100644 index 649b62d..0000000 --- a/src/pages/SettingsTabCampMbr.page-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - - diff --git a/src/pages/SettingsTabLead.page b/src/pages/SettingsTabLead.page deleted file mode 100644 index 795672a..0000000 --- a/src/pages/SettingsTabLead.page +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -
-

Lead Conversion
-
Fields that the Lead Converter (Importer) Visualforce page should automatically transfer from leads to contacts during conversion.
-
Help
- -
-
- - -    - -

- - - - - - - del - - -

Contact Field
- - - - - -
And Field Type
- - -
- - - - - - -

- -    - - - - - - \ No newline at end of file diff --git a/src/pages/SettingsTabLead.page-meta.xml b/src/pages/SettingsTabLead.page-meta.xml deleted file mode 100644 index b75882a..0000000 --- a/src/pages/SettingsTabLead.page-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - - diff --git a/src/pages/SettingsTabMisc.page b/src/pages/SettingsTabMisc.page deleted file mode 100644 index 8ba3761..0000000 --- a/src/pages/SettingsTabMisc.page +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -
-

Miscellaneous Settings
-
Miscellaneous settings used by GWBase..
- - -
-
- - -    - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- -    - - - - - \ No newline at end of file diff --git a/src/pages/SettingsTabMisc.page-meta.xml b/src/pages/SettingsTabMisc.page-meta.xml deleted file mode 100644 index eb0aebe..0000000 --- a/src/pages/SettingsTabMisc.page-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - - diff --git a/src/pages/SettingsTabOpp.page b/src/pages/SettingsTabOpp.page deleted file mode 100644 index 1e0ce63..0000000 --- a/src/pages/SettingsTabOpp.page +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - -
-

Opportunity and Rollup Settings
-
Settings for Opportunities and Rollups.
- -
-
- - -    - -

- - - - - - - -
Help
-

- - - - - - - - - - - - - - - - - - - - - - -
Help
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -

- -    - - - - - \ No newline at end of file diff --git a/src/pages/SettingsTabOpp.page-meta.xml b/src/pages/SettingsTabOpp.page-meta.xml deleted file mode 100644 index e948df0..0000000 --- a/src/pages/SettingsTabOpp.page-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - - diff --git a/src/pages/SettingsTabOrg.page b/src/pages/SettingsTabOrg.page deleted file mode 100644 index 4a184e3..0000000 --- a/src/pages/SettingsTabOrg.page +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -
-

Org Contact Roles
-
Specify the default Primary Contact Role for each Opportunity Record Type for Opportunities applied to Organizations.
- -
- - -    - -

- - - - - - - del - - - {!$ObjectType.OrgConRole_Settings__c.Fields.Primary_Contact_Role__c.Label} - - - - - Organization Opportunity Record Type - - - - - - - - - -

- -    - - - - - \ No newline at end of file diff --git a/src/pages/SettingsTabOrg.page-meta.xml b/src/pages/SettingsTabOrg.page-meta.xml deleted file mode 100644 index dc8c750..0000000 --- a/src/pages/SettingsTabOrg.page-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - - diff --git a/src/pages/SettingsTabRole.page b/src/pages/SettingsTabRole.page deleted file mode 100644 index b3f9bf0..0000000 --- a/src/pages/SettingsTabRole.page +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -
-

Contact Roles
-
Specify the default Primary Contact Role for each Opportunity Record Type for Opportunities applied to Contacts.
- -
- - -    - -

- - - - - - - del - - - {!$ObjectType.ConRole_Settings__c.Fields.Primary__c.Label} - - - - - Opportunity Record Type - - - - - - - - - -

- -    - - - - - \ No newline at end of file diff --git a/src/pages/SettingsTabRole.page-meta.xml b/src/pages/SettingsTabRole.page-meta.xml deleted file mode 100644 index e87e4dc..0000000 --- a/src/pages/SettingsTabRole.page-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - - diff --git a/src/pages/SettingsTabTrigger.page b/src/pages/SettingsTabTrigger.page deleted file mode 100644 index d4720e3..0000000 --- a/src/pages/SettingsTabTrigger.page +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -
-

Trigger Settings
-
Enable or disable all trigger based functionality for GWBase..
-
Help
- -
-
- - -    - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- -    - - - - - \ No newline at end of file diff --git a/src/pages/SettingsTabTrigger.page-meta.xml b/src/pages/SettingsTabTrigger.page-meta.xml deleted file mode 100644 index 05feb61..0000000 --- a/src/pages/SettingsTabTrigger.page-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - - diff --git a/src/pages/Settings_Page.page b/src/pages/Settings_Page.page deleted file mode 100644 index 51fb6ad..0000000 --- a/src/pages/Settings_Page.page +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/src/pages/Settings_Page.page-meta.xml b/src/pages/Settings_Page.page-meta.xml deleted file mode 100644 index 19262b1..0000000 --- a/src/pages/Settings_Page.page-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 25.0 - - diff --git a/src/reports/DonorManagement/Top_25_Largest_Gifts.report b/src/reports/DonorManagement/Top_25_Largest_Gifts.report index b0a385f..ec9541b 100644 --- a/src/reports/DonorManagement/Top_25_Largest_Gifts.report +++ b/src/reports/DonorManagement/Top_25_Largest_Gifts.report @@ -54,10 +54,6 @@ probability >0 - - co - 1 - Opportunity 25 organization diff --git a/src/reports/GrantManagement/ONEN_GrantAwardTotals.report b/src/reports/GrantManagement/ONEN_GrantAwardTotals.report index dbc1729..b06ea9a 100644 --- a/src/reports/GrantManagement/ONEN_GrantAwardTotals.report +++ b/src/reports/GrantManagement/ONEN_GrantAwardTotals.report @@ -68,10 +68,6 @@ probability >0 - - co - 1 - Opportunity organization false diff --git a/src/reports/Revenue/AllRevenueThisYear.report b/src/reports/Revenue/AllRevenueThisYear.report index 14840f9..8f3fdd3 100644 --- a/src/reports/Revenue/AllRevenueThisYear.report +++ b/src/reports/Revenue/AllRevenueThisYear.report @@ -61,10 +61,6 @@ probability >0 - - co - 1 - Opportunity organization false diff --git a/src/reports/Revenue/AllRevenuebyYear.report b/src/reports/Revenue/AllRevenuebyYear.report index d08d4c1..4d4afec 100644 --- a/src/reports/Revenue/AllRevenuebyYear.report +++ b/src/reports/Revenue/AllRevenuebyYear.report @@ -61,10 +61,6 @@ probability >0 - - co - 1 - Opportunity organization false diff --git a/src/reports/Revenue/ONEN_Pipeline_Totals_by_Stage.report b/src/reports/Revenue/ONEN_Pipeline_Totals_by_Stage.report index 5fcb9c0..79e750d 100644 --- a/src/reports/Revenue/ONEN_Pipeline_Totals_by_Stage.report +++ b/src/reports/Revenue/ONEN_Pipeline_Totals_by_Stage.report @@ -91,10 +91,6 @@ probability >0 - - co - 1 - Opportunity organization false diff --git a/src/reports/Revenue/ONEN_RevenueBestCaseThisYear.report b/src/reports/Revenue/ONEN_RevenueBestCaseThisYear.report index cf26750..7f2cbf0 100644 --- a/src/reports/Revenue/ONEN_RevenueBestCaseThisYear.report +++ b/src/reports/Revenue/ONEN_RevenueBestCaseThisYear.report @@ -97,10 +97,6 @@ probability >0 - - co - 1 - Opportunity organization false diff --git a/src/reports/Revenue/Revenue_Totals_by_Campaign.report b/src/reports/Revenue/Revenue_Totals_by_Campaign.report index 9ec996d..092fa83 100644 --- a/src/reports/Revenue/Revenue_Totals_by_Campaign.report +++ b/src/reports/Revenue/Revenue_Totals_by_Campaign.report @@ -53,10 +53,6 @@ probability >0 - - co - 1 - OpportunityCampaign organization false From 40f82a6976f2ba36c9a821e37459339e942d27e3 Mon Sep 17 00:00:00 2001 From: Zachary Fine Date: Thu, 23 Aug 2012 11:39:44 -0700 Subject: [PATCH 3/3] GWBase Custom Settings Wizard Update --- src/classes/GW_CTRL_SettingsTabCampMbr.cls | 105 +++++ .../GW_CTRL_SettingsTabCampMbr.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabLead.cls | 103 +++++ .../GW_CTRL_SettingsTabLead.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabMisc.cls | 49 ++ .../GW_CTRL_SettingsTabMisc.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabOpp.cls | 49 ++ .../GW_CTRL_SettingsTabOpp.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabOrg.cls | 100 +++++ .../GW_CTRL_SettingsTabOrg.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabRoles.cls | 99 ++++ .../GW_CTRL_SettingsTabRoles.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsTabTrigger.cls | 49 ++ .../GW_CTRL_SettingsTabTrigger.cls-meta.xml | 5 + src/classes/GW_CTRL_SettingsWizard.cls | 423 ++++++++++++++++++ .../GW_CTRL_SettingsWizard.cls-meta.xml | 5 + src/pages/SettingsTabCampMbr.page | 75 ++++ src/pages/SettingsTabCampMbr.page-meta.xml | 5 + src/pages/SettingsTabLead.page | 58 +++ src/pages/SettingsTabLead.page-meta.xml | 5 + src/pages/SettingsTabMisc.page | 66 +++ src/pages/SettingsTabMisc.page-meta.xml | 5 + src/pages/SettingsTabOpp.page | 200 +++++++++ src/pages/SettingsTabOpp.page-meta.xml | 5 + src/pages/SettingsTabOrg.page | 50 +++ src/pages/SettingsTabOrg.page-meta.xml | 5 + src/pages/SettingsTabRole.page | 50 +++ src/pages/SettingsTabRole.page-meta.xml | 5 + src/pages/SettingsTabTrigger.page | 84 ++++ src/pages/SettingsTabTrigger.page-meta.xml | 5 + src/pages/Settings_Page.page | 190 ++++++++ src/pages/Settings_Page.page-meta.xml | 5 + 32 files changed, 1830 insertions(+) create mode 100644 src/classes/GW_CTRL_SettingsTabCampMbr.cls create mode 100644 src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabLead.cls create mode 100644 src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabMisc.cls create mode 100644 src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabOpp.cls create mode 100644 src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabOrg.cls create mode 100644 src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabRoles.cls create mode 100644 src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsTabTrigger.cls create mode 100644 src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml create mode 100644 src/classes/GW_CTRL_SettingsWizard.cls create mode 100644 src/classes/GW_CTRL_SettingsWizard.cls-meta.xml create mode 100644 src/pages/SettingsTabCampMbr.page create mode 100644 src/pages/SettingsTabCampMbr.page-meta.xml create mode 100644 src/pages/SettingsTabLead.page create mode 100644 src/pages/SettingsTabLead.page-meta.xml create mode 100644 src/pages/SettingsTabMisc.page create mode 100644 src/pages/SettingsTabMisc.page-meta.xml create mode 100644 src/pages/SettingsTabOpp.page create mode 100644 src/pages/SettingsTabOpp.page-meta.xml create mode 100644 src/pages/SettingsTabOrg.page create mode 100644 src/pages/SettingsTabOrg.page-meta.xml create mode 100644 src/pages/SettingsTabRole.page create mode 100644 src/pages/SettingsTabRole.page-meta.xml create mode 100644 src/pages/SettingsTabTrigger.page create mode 100644 src/pages/SettingsTabTrigger.page-meta.xml create mode 100644 src/pages/Settings_Page.page create mode 100644 src/pages/Settings_Page.page-meta.xml diff --git a/src/classes/GW_CTRL_SettingsTabCampMbr.cls b/src/classes/GW_CTRL_SettingsTabCampMbr.cls new file mode 100644 index 0000000..7365f56 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabCampMbr.cls @@ -0,0 +1,105 @@ +public with sharing class GW_CTRL_SettingsTabCampMbr { + + // constructor + public GW_CTRL_SettingsTabCampMbr(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + public List listCampMbrSettings { + get { + if (listCampMbrSettings == null) { + listCampMbrSettings = Campaign_Mbr_Status_Settings__c.getall().values(); + AddEmptyRows(); + } + return listCampMbrSettings; + } + set; + } + + + public PageReference AddEmptyRows() { + for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { + listCampMbrSettings.add(new Campaign_Mbr_Status_Settings__c()); + } + return null; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabCampMbr'; + return null; + } + + public PageReference saveTab() { + list listCStoDel = new list(); + + // go thru the campaign member settings, and delete empty ones + for (integer i = listCampMbrSettings.size()-1; i >= 0; i--) { + Campaign_Mbr_Status_Settings__c cs = listCampMbrSettings[i]; + if (isnullStr(cs.Campaign_Subtype__c) && + isnullStr(cs.Campaign_Type__c) && + isnullStr(cs.Status_Label__c)) { + if (cs.Id == null) { + // it's a new empty dls; just remove it + listCampMbrSettings.remove(i); + } else { + // it's an existing, but cleared entry; delete it. + listCampMbrSettings.remove(i); + listCStoDel.add(cs); + } + } + } + + // name new settings + ctrlWizard.nameNewSettings(listCampMbrSettings, 'CampaignMemberSetting'); + + if (listCStoDel.size() > 0) delete listCStoDel; + try { + system.debug(listCampMbrSettings); + upsert listCampMbrSettings; + } catch (exception ex) { + ApexPages.addMessages(ex); + return null; + } + AddEmptyRows(); + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabCampMbr'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + listCampMbrSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabCampMbr' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + private boolean isnullStr(string str) { + return (str == null || str == ''); + } + + private boolean isnullNum(decimal num) { + return (num == null || num == 0); + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabCampMbr() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabCampMbr != null); + system.assertEquals(ctrl.ctabCampMbr.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabCampMbr.isEditingTab, false); + ctrl.ctabCampMbr.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabCampMbr'); + ctrl.ctabCampMbr.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabCampMbr.cancelTab() != null); + } + + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabLead.cls b/src/classes/GW_CTRL_SettingsTabLead.cls new file mode 100644 index 0000000..626a284 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabLead.cls @@ -0,0 +1,103 @@ +public with sharing class GW_CTRL_SettingsTabLead { + + // constructor + public GW_CTRL_SettingsTabLead(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public List listLeadSettings { + get { + if (listLeadSettings == null) { + listLeadSettings = Lead_Converter_Field_Map__c.getall().values(); + AddEmptyRows(); + } + return listLeadSettings; + } + set; + } + + public PageReference AddEmptyRows() { + for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { + listLeadSettings.add(new Lead_Converter_Field_Map__c()); + } + return null; + } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabLead'; + return null; + } + + public PageReference saveTab() { + list listLStoDel = new list(); + + // go thru the frequency settings, and delete empty ones + for (integer i = listLeadSettings.size()-1; i >= 0; i--) { + Lead_Converter_Field_Map__c ls = listLeadSettings[i]; + if (isnullStr(ls.Contact_Field__c) && + isnullStr(ls.Field_Type__c)) { + if (ls.Id == null) { + // it's a new empty dls; just remove it + listLeadSettings.remove(i); + } else { + // it's an existing, but cleared entry; delete it. + listLeadSettings.remove(i); + listLStoDel.add(ls); + } + } + } + + // name new settings + ctrlWizard.nameNewSettings(listLeadSettings, 'LeadConversionSetting'); + + if (listLStoDel.size() > 0) delete listLStoDel; + try { + system.debug(listLeadSettings); + upsert listLeadSettings; + } catch (exception ex) { + ApexPages.addMessages(ex); + return null; + } + AddEmptyRows(); + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabLead'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + listLeadSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabLead' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + private boolean isnullStr(string str) { + return (str == null || str == ''); + } + + private boolean isnullNum(decimal num) { + return (num == null || num == 0); + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabLead() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabLead != null); + system.assertEquals(ctrl.ctabLead.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabLead.isEditingTab, false); + system.assert(ctrl.ctabLead.listLeadSettings != null); + ctrl.ctabLead.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabLead'); + ctrl.ctabLead.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabLead.cancelTab() != null); + } + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabMisc.cls b/src/classes/GW_CTRL_SettingsTabMisc.cls new file mode 100644 index 0000000..7fccb5b --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabMisc.cls @@ -0,0 +1,49 @@ +public with sharing class GW_CTRL_SettingsTabMisc { + + // constructor + public GW_CTRL_SettingsTabMisc(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabMisc'; + return null; + } + + public PageReference saveTab() { + upsert ctrlWizard.mSettings; + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabMisc'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + ctrlWizard.mSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabMisc' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabMisc() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabMisc != null); + system.assertEquals(ctrl.ctabMisc.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabMisc.isEditingTab, false); + system.assert(ctrl.ctabMisc.ctrlWizard.mSettings != null); + ctrl.ctabMisc.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabGeneral'); + ctrl.ctabMisc.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabMisc.cancelTab() != null); + } + + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabOpp.cls b/src/classes/GW_CTRL_SettingsTabOpp.cls new file mode 100644 index 0000000..5f2180a --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabOpp.cls @@ -0,0 +1,49 @@ +public with sharing class GW_CTRL_SettingsTabOpp { + + // constructor + public GW_CTRL_SettingsTabOpp(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabOpp'; + return null; + } + + public PageReference saveTab() { + upsert ctrlWizard.oSettings; + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabOpp'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + ctrlWizard.oSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabOpp' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabOpp() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabOpp != null); + system.assertEquals(ctrl.ctabOpp.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabOpp.isEditingTab, false); + system.assert(ctrl.ctabOpp.ctrlWizard.oSettings != null); + ctrl.ctabOpp.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabOpp'); + ctrl.ctabOpp.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabOpp.cancelTab() != null); + } + + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabOrg.cls b/src/classes/GW_CTRL_SettingsTabOrg.cls new file mode 100644 index 0000000..515acf0 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabOrg.cls @@ -0,0 +1,100 @@ +public with sharing class GW_CTRL_SettingsTabOrg { + + // constructor + public GW_CTRL_SettingsTabOrg(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public List listOrgSettings { + get { + if (listOrgSettings == null) { + listOrgSettings = OrgConRole_Settings__c.getall().values(); + AddEmptyRows(); + } + return listOrgSettings; + } + set; + } + + public PageReference AddEmptyRows() { + for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { + listOrgSettings.add(new OrgConRole_Settings__c()); + } + return null; + } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabOrg'; + return null; + } + + public PageReference saveTab() { + list listOStoDel = new list(); + + // go thru the frequency settings, and delete empty ones + for (integer i = listOrgSettings.size()-1; i >= 0; i--) { + OrgConRole_Settings__c os = listOrgSettings[i]; + if (isnullStr(os.Primary_Contact_Role__c) && + isnullStr(os.Name)) { + if (os.Id == null) { + // it's a new empty dls; just remove it + listOrgSettings.remove(i); + } else { + // it's an existing, but cleared entry; delete it. + listOrgSettings.remove(i); + listOStoDel.add(os); + } + } + } + + if (listOStoDel.size() > 0) delete listOStoDel; + try { + system.debug(listOrgSettings); + upsert listOrgSettings; + } catch (exception ex) { + ApexPages.addMessages(ex); + return null; + } + AddEmptyRows(); + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabOrg'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + listOrgSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabOrg' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + private boolean isnullStr(string str) { + return (str == null || str == ''); + } + + private boolean isnullNum(decimal num) { + return (num == null || num == 0); + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabOrg() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabOrg != null); + system.assertEquals(ctrl.ctabOrg.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabOrg.isEditingTab, false); + system.assert(ctrl.ctabOrg.listOrgSettings != null); + ctrl.ctabOrg.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabOrg'); + ctrl.ctabOrg.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabOrg.cancelTab() != null); + } + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabOrg.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabRoles.cls b/src/classes/GW_CTRL_SettingsTabRoles.cls new file mode 100644 index 0000000..1a9396d --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabRoles.cls @@ -0,0 +1,99 @@ +public with sharing class GW_CTRL_SettingsTabRoles { + + // constructor + public GW_CTRL_SettingsTabRoles(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public List listRoleSettings { + get { + if (listRoleSettings == null) { + listRoleSettings = ConRole_Settings__c.getall().values(); + AddEmptyRows(); + } + return listRoleSettings; + } + set; + } + + public PageReference AddEmptyRows() { + for (integer i = 0; i < GW_CTRL_SettingsWizard.cEmptyRows; i++) { + listRoleSettings.add(new ConRole_Settings__c()); + } + return null; + } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabRoles'; + return null; + } + + public PageReference saveTab() { + list listRStoDel = new list(); + + // go thru the frequency settings, and delete empty ones + for (integer i = listRoleSettings.size()-1; i >= 0; i--) { + ConRole_Settings__c rs = listRoleSettings[i]; + if (isnullStr(rs.Primary__c)) { + if (rs.Id == null) { + // it's a new empty dls; just remove it + listRoleSettings.remove(i); + } else { + // it's an existing, but cleared entry; delete it. + listRoleSettings.remove(i); + listRStoDel.add(rs); + } + } + } + + if (listRStoDel.size() > 0) delete listRStoDel; + try { + system.debug(listRoleSettings); + upsert listRoleSettings; + } catch (exception ex) { + ApexPages.addMessages(ex); + return null; + } + AddEmptyRows(); + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabRoles'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + listRoleSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabRoles' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + private boolean isnullStr(string str) { + return (str == null || str == ''); + } + + private boolean isnullNum(decimal num) { + return (num == null || num == 0); + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabRoles() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabRoles != null); + system.assertEquals(ctrl.ctabRoles.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabRoles.isEditingTab, false); + system.assert(ctrl.ctabRoles.listRoleSettings != null); + ctrl.ctabRoles.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabRoles'); + ctrl.ctabRoles.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabRoles.cancelTab() != null); + } + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabRoles.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsTabTrigger.cls b/src/classes/GW_CTRL_SettingsTabTrigger.cls new file mode 100644 index 0000000..c97179f --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabTrigger.cls @@ -0,0 +1,49 @@ +public with sharing class GW_CTRL_SettingsTabTrigger { + + // constructor + public GW_CTRL_SettingsTabTrigger(GW_CTRL_SettingsWizard cWiz) { + ctrlWizard = cWiz; + isEditingTab = false; + } + + private GW_CTRL_SettingsWizard ctrlWizard { get; set; } + + public boolean isEditingTab { get; set; } + + public PageReference editTab() { + isEditingTab = true; + ctrlWizard.strCurrentTab = 'tabTrigger'; + return null; + } + + public PageReference saveTab() { + upsert ctrlWizard.tSettings; + isEditingTab = false; + ctrlWizard.strCurrentTab = 'tabTrigger'; + return null; + } + + public PageReference cancelTab() { + isEditingTab = false; + ctrlWizard.tSettings = null; + PageReference p = new PageReference('/apex/Settings_Page?currentTab=tabTrigger' + ctrlWizard.strSalesforceTabNameParam); + p.setRedirect(true); + return p; + } + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestTabTrigger() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + system.assert(ctrl.ctabTrigger != null); + system.assertEquals(ctrl.ctabTrigger.ctrlWizard, ctrl); + system.assertEquals(ctrl.ctabTrigger.isEditingTab, false); + system.assert(ctrl.ctabTrigger.ctrlWizard.tSettings != null); + ctrl.ctabTrigger.editTab(); + system.assertEquals(ctrl.strCurrentEditTab, 'tabTrigger'); + ctrl.ctabTrigger.saveTab(); + system.assertEquals(ctrl.strCurrentEditTab, null); + system.assert(ctrl.ctabTrigger.cancelTab() != null); + } + + +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml b/src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsTabTrigger.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/classes/GW_CTRL_SettingsWizard.cls b/src/classes/GW_CTRL_SettingsWizard.cls new file mode 100644 index 0000000..d562875 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsWizard.cls @@ -0,0 +1,423 @@ +public with sharing class GW_CTRL_SettingsWizard { + + // constructor + public GW_CTRL_SettingsWizard() { + + map params = ApexPages.currentPage().getParameters(); + string str = params.get('currentTab'); + if (str != null && str != '') { + strCurrentTab = str; + } else { + strCurrentTab = 'tabOpp'; + } + str = params.get('sfdc.tabName'); + if (str != null && str != '') { + strSalesforceTabNameParam = '&sfdc.tabName=' + str; + } else { + strSalesforceTabNameParam = ''; + } + } + + public boolean inEditMode { + get { + return + ctabLead.isEditingTab || + ctabOrg.isEditingTab || + ctabRoles.isEditingTab || + ctabTrigger.isEditingTab || + ctabMisc.isEditingTab || + ctabOpp.isEditingTab || + ctabCampMbr.isEditingTab; + + } + set; + } + + public string strSalesforceTabNameParam { get; set; } + + public string strCurrentEditTab { + get { + if (ctabCampMbr.isEditingTab) return 'tabCampMbr'; + if (ctabLead.isEditingTab) return 'tabLead'; + if (ctabOrg.isEditingTab) return 'tabOrg'; + if (ctabRoles.isEditingTab) return 'tabRoles'; + if (ctabMisc.isEditingTab) return 'tabMisc'; + if (ctabTrigger.isEditingTab) return 'tabTrigger'; + if (ctabOpp.isEditingTab) return 'tabOpp'; + + return null; + } + set; + } + + // tabPanel sets this thru an ajax call. + public string strCurrentTab { get; set; } + + + public GW_CTRL_SettingsTabCampMbr ctabCampMbr { + get { + if (ctabCampMbr == null) ctabCampMbr = new GW_CTRL_SettingsTabCampMbr(this); + return ctabCampMbr; + } + set; + } + + public GW_CTRL_SettingsTabLead ctabLead { + get { + if (ctabLead == null) ctabLead = new GW_CTRL_SettingsTabLead(this); + return ctabLead; + } + set; + } + + public GW_CTRL_SettingsTabMisc ctabMisc { + get { + if (ctabMisc == null) ctabMisc = new GW_CTRL_SettingsTabMisc(this); + return ctabMisc; + } + set; + } + + public GW_CTRL_SettingsTabRoles ctabRoles { + get { + if (ctabRoles == null) ctabRoles = new GW_CTRL_SettingsTabRoles(this); + return ctabRoles; + } + set; + } + + public GW_CTRL_SettingsTabTrigger ctabTrigger { + get { + if (ctabTrigger == null) ctabTrigger = new GW_CTRL_SettingsTabTrigger(this); + return ctabTrigger; + } + set; + } + + public GW_CTRL_SettingsTabOrg ctabOrg { + get { + if (ctabOrg == null) ctabOrg = new GW_CTRL_SettingsTabOrg(this); + return ctabOrg; + } + set; + } + + public GW_CTRL_SettingsTabOpp ctabOpp { + get { + if (ctabOpp == null) ctabOpp = new GW_CTRL_SettingsTabOpp(this); + return ctabOpp; + } + set; + } + + public OppRollupSettings__c oSettings { + get { + if (oSettings == null) oSettings = OppRollupSettings__c.getOrgDefaults(); + return oSettings; + } + set; + } + + public TriggerSettings__c tSettings { + get { + if (tSettings == null) tSettings = TriggerSettings__c.getOrgDefaults(); + return tSettings; + } + set; + } + + public MiscellaneousBaseSettings__c mSettings { + get { + if (mSettings == null) mSettings = MiscellaneousBaseSettings__c.getOrgDefaults(); + return mSettings; + } + set; + } + + + + + + // utility to create unique new names for the list of objects that don't have names. + public void nameNewSettings(list listSobj, string strPrefix) { + if (listSobj == null || strPrefix == null) return; + + // name new settings, by first finding the last name used. + integer iUsedMax = 0; + for (integer i = 0; i < listSobj.size(); i++ ) { + string strName = string.valueOf(listSobj[i].get('name')); + if (strName != null && strName.startsWith(strPrefix)) { + integer iNum = integer.valueOf(strName.subString(strPrefix.length())); + if (iNum > iUsedMax) { + iUsedMax = iNum; + } + } + } + for (integer i = 0; i < listSobj.size(); i++ ) { + if (listSobj[i].get('id') == null) { + listSobj[i].put('name', strPrefix + string.valueOf(++iUsedMax)); + } + } + } + + + + + // the list of Engagement Levels to put in the dropdowns (not in use for GWBASE) + /* + public list listSOLevels { + get { + if (listSOLevels == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + for (integer i = 1; i <= 8; i++) { + string strLevel = 'Level_' + string.valueOf(i) + '_Name__c'; + string strLevelName = string.valueOf(etSettings.get(strLevel)); + if (strLevelName != null && strLevelName != '') { + listSO.add(new SelectOption(string.valueOf(i) + '.0', strLevelName)); + } + } + listSOLevels = listSO; + } + return listSOLevels; + } + set; + } + */ + // set used to keep track of which contact fields are boolean, + // so we can automaticaly mark them as checkbox when saving Contact Field Settings. + public set setCheckboxFields { get; set; } + + // the list of Contact Fields to put in the dropdowns + public list listSOContactFields { + get { + if (listSOContactFields == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + Map mapS = Schema.SObjectType.Contact.fields.getMap(); + + // create temp list of strings to sort by alpha + list listStr = new list(); + setCheckboxFields = new set(); + for (Schema.SObjectField sf : mapS.values()) { + Schema.DescribeFieldResult f = sf.getDescribe(); + listStr.add(f.Label + '.' + f.Name); + if (f.Type == Schema.DisplayType.Boolean) { + setCheckboxFields.add(f.Name); + } + } + listStr.sort(); + + for (string str : listStr) { + list listPair = str.split('\\.'); // need to escape the dot char since this is regex + listSO.add(new SelectOption(listPair[1], listPair[0])); + } + + listSOContactFields = listSO; + } + return listSOContactFields; + } + set; + } + + // helper to say whether this instance has any campaign record types defined. + // used by several tabs to hide a campaign record type column, when not needed. + public boolean hasCampaignRecordTypes { + get { + return (listSOCampaignRecordTypes.size() > 1); + } + } + + // the list of Campaign Record Types to put in the dropdowns + public list listSOCampaignRecordTypes { + get { + if (listSOCampaignRecordTypes == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + for (RecordType rt : [SELECT Name FROM RecordType WHERE SobjectType='Campaign']) { + listSO.add(new SelectOption(rt.Name, rt.Name)); + } + listSOCampaignRecordTypes = listSO; + } + return listSOCampaignRecordTypes; + } + set; + } + + // the list of Campaign Types to put in the dropdowns + public list listSOCampaignTypes { + get { + if (listSOCampaignTypes == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + Schema.DescribeFieldResult F = Campaign.Type.getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + listSOCampaignTypes = listSO; + } + return listSOCampaignTypes; + } + set; + } + + + // the list of Opportunity Stages to put in the dropdowns + public list listSOOppStages { + get { + if (listSOOppStages == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + Schema.DescribeFieldResult F = Opportunity.StageName.getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + listSOOppStages = listSO; + } + return listSOOppStages; + } + set; + } + + // the list of Opportunity Types to put in the dropdowns + public list listSOOppTypes { + get { + if (listSOOppTypes == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + Schema.DescribeFieldResult F = Opportunity.Type.getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + listSOOppTypes = listSO; + } + return listSOOppTypes; + } + set; + } + + + // the list of Opportunity Record Types to put in the dropdowns + public list listSOOppRecordTypes { + get { + if (listSOOppRecordTypes == null) { + + list listSO = new list(); + for (RecordType rt : [SELECT Name FROM RecordType WHERE SobjectType='Opportunity']) { + + listSO.add(new SelectOption(rt.Name, rt.Name)); + } + listSOOppRecordTypes = listSO; + } + return listSOOppRecordTypes; + } + set; + } + + // the list of Opportunity Contact Roles to put in the dropdowns + public list listSOContactRoles { + get { + if (listSOContactRoles == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + Schema.DescribeFieldResult F = OpportunityContactRole.Role.getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + listSOContactRoles = listSO; + } + return listSOContactRoles; + } + set; + } + + // the list of Campaign Member Statuses to put in the dropdowns + public list listSOMbrStatus { + get { + if (listSOMbrStatus == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + Schema.DescribeFieldResult F = CampaignMember.Status.getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + listSOMbrStatus = listSO; + } + return listSOMbrStatus; + } + set; + } + + + // the list of Campaign Sub Types to put in the dropdowns + public list listSOCampaignSubTypes { + get { + if (listSOCampaignSubTypes == null) { + list listSO = new list(); + listSO.add(new SelectOption('', '')); + + if (GW_BATCH_EngagementRollup.IsGWBaseInstalled) { + Map M = Schema.SObjectType.Campaign.fields.getMap(); + String sub_type = GW_BATCH_EngagementRollup.addNSPrefixET('Campaign_Sub_Type__c', false, false); + Schema.DescribeFieldResult F = M.get(sub_type).getDescribe(); + for (Schema.PicklistEntry pe : F.getPicklistValues()) { + listSO.add(new SelectOption(pe.Value, pe.Label)); + } + } + + listSOCampaignSubTypes = listSO; + } + return listSOCampaignSubTypes; + } + set; + } + + // helper used to hide Campaign Sub Type columns when not running with GWBase. + public boolean IsGWBaseInstalled { + get { + return (GW_BATCH_EngagementRollup.IsGWBaseInstalled); + } + } + + public boolean isnullStr(string str) { + return (str == null || str == ''); + } + + public boolean isnullNum(decimal num) { + return (num == null || num == 0); + } + + public static integer cEmptyRows = 3; + + //---------------------------------------- TEST CODE ------------------------------------------------- + static testmethod void TestWizard() { + GW_CTRL_SettingsWizard ctrl = new GW_CTRL_SettingsWizard(); + + system.assert(ctrl.ctabOpp != null); + system.assert(ctrl.ctabRoles != null); + system.assert(ctrl.ctabOrg != null); + system.assert(ctrl.ctabTrigger != null); + system.assert(ctrl.ctabCampMbr!= null); + system.assert(ctrl.ctabLead != null); + system.assert(ctrl.ctabMisc != null); + system.assert(ctrl.inEditMode == false); + system.assert(ctrl.strCurrentEditTab == null); + system.assert(ctrl.strCurrentTab == 'tabLevels'); + system.assert(ctrl.tSettings != null); + system.assert(ctrl.oSettings != null); + system.assert(ctrl.mSettings != null); + system.assert(ctrl.listSOContactFields != null); + system.assert(ctrl.listSOCampaignRecordTypes != null); + system.assert(ctrl.listSOCampaignTypes != null); + system.assert(ctrl.setCheckboxFields != null); + system.assert(ctrl.hasCampaignRecordTypes == (ctrl.listSOCampaignRecordTypes.size() > 1)); + system.assert(ctrl.IsGWBaseInstalled == GW_BATCH_EngagementRollup.IsGWBaseInstalled); + + + } +} \ No newline at end of file diff --git a/src/classes/GW_CTRL_SettingsWizard.cls-meta.xml b/src/classes/GW_CTRL_SettingsWizard.cls-meta.xml new file mode 100644 index 0000000..307ce73 --- /dev/null +++ b/src/classes/GW_CTRL_SettingsWizard.cls-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + Active + diff --git a/src/pages/SettingsTabCampMbr.page b/src/pages/SettingsTabCampMbr.page new file mode 100644 index 0000000..413b2cf --- /dev/null +++ b/src/pages/SettingsTabCampMbr.page @@ -0,0 +1,75 @@ + + + + + + +
+
Campaign Member
+
Default and available statuses for Campaign Members, by Campaign Type and Sub Type.
+
Help
+ +
+
+ + +    + +

+ + + + + + + del + + + With
Campaign Type ___
+ + + +
+ + + And Campaign SubType
____
+ + + +
+ + Counts as
Responded?
+ +
+ + Default Status?
(One Per Type)
+ +
+ +

And Status Label
___
+ + + + + + + + +

+ +    + + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabCampMbr.page-meta.xml b/src/pages/SettingsTabCampMbr.page-meta.xml new file mode 100644 index 0000000..649b62d --- /dev/null +++ b/src/pages/SettingsTabCampMbr.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabLead.page b/src/pages/SettingsTabLead.page new file mode 100644 index 0000000..795672a --- /dev/null +++ b/src/pages/SettingsTabLead.page @@ -0,0 +1,58 @@ + + + + + + +
+

Lead Conversion
+
Fields that the Lead Converter (Importer) Visualforce page should automatically transfer from leads to contacts during conversion.
+
Help
+ +
+
+ + +    + +

+ + + + + + + del + + +

Contact Field
+ + + + + +
And Field Type
+ + +
+ + + + + + +

+ +    + + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabLead.page-meta.xml b/src/pages/SettingsTabLead.page-meta.xml new file mode 100644 index 0000000..b75882a --- /dev/null +++ b/src/pages/SettingsTabLead.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabMisc.page b/src/pages/SettingsTabMisc.page new file mode 100644 index 0000000..8ba3761 --- /dev/null +++ b/src/pages/SettingsTabMisc.page @@ -0,0 +1,66 @@ + + + + + + +
+

Miscellaneous Settings
+
Miscellaneous settings used by GWBase..
+ + +
+
+ + +    + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +    + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabMisc.page-meta.xml b/src/pages/SettingsTabMisc.page-meta.xml new file mode 100644 index 0000000..eb0aebe --- /dev/null +++ b/src/pages/SettingsTabMisc.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabOpp.page b/src/pages/SettingsTabOpp.page new file mode 100644 index 0000000..1e0ce63 --- /dev/null +++ b/src/pages/SettingsTabOpp.page @@ -0,0 +1,200 @@ + + + + + + +
+

Opportunity and Rollup Settings
+
Settings for Opportunities and Rollups.
+ +
+
+ + +    + +

+ + + + + + + +
Help
+

+ + + + + + + + + + + + + + + + + + + + + + +
Help
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +

+ +    + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabOpp.page-meta.xml b/src/pages/SettingsTabOpp.page-meta.xml new file mode 100644 index 0000000..e948df0 --- /dev/null +++ b/src/pages/SettingsTabOpp.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabOrg.page b/src/pages/SettingsTabOrg.page new file mode 100644 index 0000000..4a184e3 --- /dev/null +++ b/src/pages/SettingsTabOrg.page @@ -0,0 +1,50 @@ + + + + + + +
+

Org Contact Roles
+
Specify the default Primary Contact Role for each Opportunity Record Type for Opportunities applied to Organizations.
+ +
+ + +    + +

+ + + + + + + del + + + {!$ObjectType.OrgConRole_Settings__c.Fields.Primary_Contact_Role__c.Label} + + + + + Organization Opportunity Record Type + + + + + + + + + +

+ +    + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabOrg.page-meta.xml b/src/pages/SettingsTabOrg.page-meta.xml new file mode 100644 index 0000000..dc8c750 --- /dev/null +++ b/src/pages/SettingsTabOrg.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabRole.page b/src/pages/SettingsTabRole.page new file mode 100644 index 0000000..b3f9bf0 --- /dev/null +++ b/src/pages/SettingsTabRole.page @@ -0,0 +1,50 @@ + + + + + + +
+

Contact Roles
+
Specify the default Primary Contact Role for each Opportunity Record Type for Opportunities applied to Contacts.
+ +
+ + +    + +

+ + + + + + + del + + + {!$ObjectType.ConRole_Settings__c.Fields.Primary__c.Label} + + + + + Opportunity Record Type + + + + + + + + + +

+ +    + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabRole.page-meta.xml b/src/pages/SettingsTabRole.page-meta.xml new file mode 100644 index 0000000..e87e4dc --- /dev/null +++ b/src/pages/SettingsTabRole.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/SettingsTabTrigger.page b/src/pages/SettingsTabTrigger.page new file mode 100644 index 0000000..d4720e3 --- /dev/null +++ b/src/pages/SettingsTabTrigger.page @@ -0,0 +1,84 @@ + + + + + + +
+

Trigger Settings
+
Enable or disable all trigger based functionality for GWBase..
+
Help
+ +
+
+ + +    + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +    + + + + + \ No newline at end of file diff --git a/src/pages/SettingsTabTrigger.page-meta.xml b/src/pages/SettingsTabTrigger.page-meta.xml new file mode 100644 index 0000000..05feb61 --- /dev/null +++ b/src/pages/SettingsTabTrigger.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + + diff --git a/src/pages/Settings_Page.page b/src/pages/Settings_Page.page new file mode 100644 index 0000000..51fb6ad --- /dev/null +++ b/src/pages/Settings_Page.page @@ -0,0 +1,190 @@ + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/src/pages/Settings_Page.page-meta.xml b/src/pages/Settings_Page.page-meta.xml new file mode 100644 index 0000000..19262b1 --- /dev/null +++ b/src/pages/Settings_Page.page-meta.xml @@ -0,0 +1,5 @@ + + + 25.0 + +