Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions src/classes/GW_CTRL_SettingsTabCampMbr.cls
Original file line number Diff line number Diff line change
@@ -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<Campaign_Mbr_Status_Settings__c> 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<Campaign_Mbr_Status_Settings__c> listCStoDel = new list<Campaign_Mbr_Status_Settings__c>();

// 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);
}


}
5 changes: 5 additions & 0 deletions src/classes/GW_CTRL_SettingsTabCampMbr.cls-meta.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>25.0</apiVersion>
<status>Active</status>
</ApexClass>
103 changes: 103 additions & 0 deletions src/classes/GW_CTRL_SettingsTabLead.cls
Original file line number Diff line number Diff line change
@@ -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<Lead_Converter_Field_Map__c> 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<Lead_Converter_Field_Map__c> listLStoDel = new list<Lead_Converter_Field_Map__c>();

// 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);
}

}
5 changes: 5 additions & 0 deletions src/classes/GW_CTRL_SettingsTabLead.cls-meta.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>25.0</apiVersion>
<status>Active</status>
</ApexClass>
49 changes: 49 additions & 0 deletions src/classes/GW_CTRL_SettingsTabMisc.cls
Original file line number Diff line number Diff line change
@@ -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);
}


}
5 changes: 5 additions & 0 deletions src/classes/GW_CTRL_SettingsTabMisc.cls-meta.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>25.0</apiVersion>
<status>Active</status>
</ApexClass>
49 changes: 49 additions & 0 deletions src/classes/GW_CTRL_SettingsTabOpp.cls
Original file line number Diff line number Diff line change
@@ -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);
}


}
5 changes: 5 additions & 0 deletions src/classes/GW_CTRL_SettingsTabOpp.cls-meta.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>25.0</apiVersion>
<status>Active</status>
</ApexClass>
Loading