diff --git a/.forceignore b/.forceignore new file mode 100644 index 0000000..365b63b --- /dev/null +++ b/.forceignore @@ -0,0 +1,2 @@ +# Exclude package.xml +**package.xml \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..09b74cf --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +.project +.settings +salesforce.schema +Referenced Packages +salesforce-food-bank.sublime-project +salesforce-food-bank.sublime-settings +salesforce-food-bank.sublime-workspace +/resource-bundles/Angular.resource/mm.log +/config/ +/apex-scripts/ +/.DS_Store +/resource-bundles/.DS_Store +/resource-bundles/Angular.resource/mmui.log +/resource-bundles/Angular.resource/mmst.log +/resource-bundles/Angular.resource/bower_components* +.sfdx/ +.vscode/ +test_results* +/temp +~* +/force-app +/src.orig +/debug.log +/.vscode \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index fd63c1b..1498891 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { - "eslint.nodePath": "c:\\Users\\DaveB\\.vscode\\extensions\\salesforce.salesforcedx-vscode-lwc-45.10.0\\node_modules" + "eslint.nodePath": "c:\\Users\\DaveB\\.vscode\\extensions\\salesforce.salesforcedx-vscode-lwc-45.15.1\\node_modules" } \ No newline at end of file diff --git a/src/classes/C501_TEST_ClassReg_CreateAcct.cls b/src/classes/C501_TEST_ClassReg_CreateAcct.cls index 7948439..99c5e98 100644 --- a/src/classes/C501_TEST_ClassReg_CreateAcct.cls +++ b/src/classes/C501_TEST_ClassReg_CreateAcct.cls @@ -54,6 +54,9 @@ public class C501_TEST_ClassReg_CreateAcct { @isTest static void testSuccessfulInsert(){ Class_Site_Login_Attempt__c att = createLoggedInTestUser(); + Account school = new Account(Name='TestSchool',Region__c = 'Seattle'); + insert school; + PageReference createAcctPage = Page.C501_ClassReg_CreateAcct; Test.setCurrentPage(createAcctPage); System.currentPageReference().getParameters().put('a', att.id); @@ -67,6 +70,11 @@ public class C501_TEST_ClassReg_CreateAcct { controller.family.BillingCity = 'Seattle'; controller.family.BillingState = 'WA'; controller.family.BillingPostalCode = '98101'; + + controller.child.FirstName = 'Child'; + controller.child.LastName = 'Name'; + controller.schoolName = school.Id; + controller.createAccount(); } diff --git a/src/labels/CustomLabels.labels b/src/labels/CustomLabels.labels new file mode 100644 index 0000000..dd72319 --- /dev/null +++ b/src/labels/CustomLabels.labels @@ -0,0 +1,213 @@ + + + + C501_ClassReg_ChildMobilePhone + en_US + false + C501_ClassReg_ChildMobilePhone + Student's Mobile Phone Number (if any) + + + C501_ClassReg_ChildSchoolName + en_US + false + C501_ClassReg_ChildSchoolName + Student's School + + + C501_ClassReg_HHhomePhone + en_US + false + C501_ClassReg_ParentHomePhone + Parent/Guardian's Home Phone + + + C501_ClassReg_ParentHomePhone + en_US + false + C501_ClassReg_ParentHomePhone + Parent/Guardian Home Phone + + + C501_ClassReg_ParentMobilePhone + en_US + false + C501_ClassReg_ParentMobilePhone + Parent/Guardian Mobile Phone + + + C501_ClassReg_ParentWorkPhone + en_US + false + C501_ClassReg_ParentWorkPhone + Parent/Guardian Work Phone + + + C501_RegSite_ChildEmail + en_US + false + C501_RegSite_ChildEmail + Student's Email Address (if any) + + + C501_RegSite_ChildFirstName + en_US + false + C501_RegSite_ChildFirstName + Student First Name + + + C501_RegSite_ChildLastName + en_US + false + C501_RegSite_ChildLastName + Student Last Name + + + C501_RegSite_City + en_US + false + C501_RegSite_City + City + + + C501_RegSite_CodeMismatch + en_US + false + C501_RegSite_CodeMismatch + That doesn't seem to match the code we sent you. Try again? + + + C501_RegSite_Continue + en_US + false + C501_RegSite_Continue + Continue + + + C501_RegSite_FamilyInformation + en_US + false + C501_RegSite_FamilyInformation + Family Information + + + C501_RegSite_FirstName + en_US + false + C501_RegSite_ParentFirstName + Parent/Guardian First Name + + + C501_RegSite_InvalidEmailPhone + en_US + false + C501_RegSite_InvalidEmailPhone + That is not a valid email address or phone number. Please try again. + + + C501_RegSite_LeaveBlank + en_US + false + C501_RegSite_LeaveBlank + Leave blank if you do not have one. + + + C501_RegSite_LeaveBlankEmail + en_US + false + C501_RegSite_LeaveBlank + Leave blank if you do not have one. + + + C501_RegSite_Login + en_US + false + C501_RegSite_Login + Log in + + + C501_RegSite_ParentEmail + en_US + false + C501_RegSite_ParentEmail + Parent/Guardian Email + + + C501_RegSite_ParentFirstName + en_US + false + C501_RegSite_ParentFirstName + Parent/Guardian First Name + + + C501_RegSite_ParentLastName + en_US + false + C501_RegSite_ParentLastName + Parent/Guardian Last Name + + + C501_RegSite_ProvidePhoneEmail + en_US + false + C501_RegSite_ProvidePhoneEmail + Please provide your phone number or email address to log in. + + + C501_RegSite_RememberMeDevice + en_US + false + C501_RegSite_RememberMeDevice + Remember me on this device. + + + C501_RegSite_SiteRegFormTitle + en_US + false + C501_RegSite_SiteRegFormTitle + Techbridge Girls Class Registration Form + + + C501_RegSite_State + en_US + false + C501_RegSite_State + State + + + C501_RegSite_StreetAddress + en_US + false + C501_RegSite_StreetAddress + Street Address + + + C501_RegSite_StudentInformation + en_US + false + C501_RegSite_StudentInformation + Student Information + + + C501_RegSite_WeSentYouCode + en_US + false + C501_RegSite_WeSentYouCode + We just sent you code to the phone number or email address you provided. What is the code? + + + C501_RegSite_Youarenotauthenticated + en_US + false + C501_RegSite_Youarenotauthenticated + You are not authenticated + + + C501_RegSite_ZipCode + en_US + false + C501_RegSite_ZipCode + Zip Code + + diff --git a/src/layouts/School_Term__c-School Term Layout.layout b/src/layouts/School_Term__c-School Term Layout.layout new file mode 100644 index 0000000..e72f2da --- /dev/null +++ b/src/layouts/School_Term__c-School Term Layout.layout @@ -0,0 +1,207 @@ + + + Submit + + false + false + true + + + + Required + Student__c + + + Edit + Student_School_ID__c + + + Required + School__c + + + Edit + School_Year__c + + + Readonly + School_Region__c + + + + + Edit + Start_Date__c + + + Edit + Program_Day__c + + + Edit + Parent__c + + + + + + true + false + true + + + + Edit + Left_Program_Early__c + + + Edit + Left_Program_Early_Date__c + + + Edit + Notes__c + + + + + + true + true + true + + + + Edit + Parent_Survey__c + + + Edit + Pre_Survey__c + + + Edit + Post_Survey__c + + + Edit + Free_reduced_lunch__c + + + + + Edit + Parent_Packet__c + + + Edit + Media_Release__c + + + Edit + Waiver__c + + + Edit + Evaluation_Consent__c + + + Edit + Authorization_to_treat_minor__c + + + Readonly + Emergency_Preferred_Medical_Provider__c + + + + + + false + true + true + + + + Readonly + Name + + + Readonly + CreatedById + + + + + Readonly + LastModifiedById + + + + + + true + true + true + + + + Edit + Parent_Packet_URL__c + + + Edit + Parent_Packet_URL_Unsigned__c + + + Edit + Contract__c + + + + + + + true + false + true + + + + + + + + TASK.SUBJECT + TASK.WHO_NAME + ACTIVITY.TASK + TASK.DUE_DATE + TASK.STATUS + TASK.PRIORITY + CORE.USERS.FULL_NAME + RelatedActivityList + + + TASK.SUBJECT + TASK.WHO_NAME + ACTIVITY.TASK + TASK.DUE_DATE + CORE.USERS.FULL_NAME + TASK.LAST_UPDATE + RelatedHistoryList + + + RelatedNoteList + + false + false + false + false + false + + 00hA000000WrlWL + 4 + 0 + Default + + diff --git a/src/objects/Account.object b/src/objects/Account.object index ffa3228..3345fbc 100644 --- a/src/objects/Account.object +++ b/src/objects/Account.object @@ -33,4 +33,38 @@ SUBSTITUTE(C501_Class_Site_Mobile_Number__c, "(", ""), " false Phone + + Region__c + false + + false + false + false + Picklist + + + false + + East Bay + false + + + + South Bay + false + + + + Seattle + false + + + + DC + false + + + + + diff --git a/src/objects/Contact.object b/src/objects/Contact.object index 0b409f7..5baae98 100644 --- a/src/objects/Contact.object +++ b/src/objects/Contact.object @@ -15,4 +15,59 @@ + + Emergency_Preferred_Medical_Provider__c + false + + 255 + false + false + false + Text + false + + + Income__c + false + + false + false + false + Picklist + + + false + + Less than $20,000 + false + + + + $20,000-$39,999 + false + + + + $40,000-$59,999 + false + + + + $60,000-$79,999 + false + + + + Over $80,000 + false + + + + Decline to Answer + false + + + + + diff --git a/src/objects/School_Term__c.object b/src/objects/School_Term__c.object new file mode 100644 index 0000000..23a1e9b --- /dev/null +++ b/src/objects/School_Term__c.object @@ -0,0 +1,480 @@ + + + + Active_Year__c + Converts School year picklist into a year to rollup to contact + false + VALUE(RIGHT( TEXT(School_Year__c) , 4)) + BlankAsZero + + 18 + false + 0 + false + false + Number + false + + + Authorization_to_treat_minor__c + false + false + + false + false + Checkbox + + + Contract__c + false + false + + false + false + Checkbox + + + Current_Term__c + Marks a term as current (for use by rollups). Rolls over 7/1 + false + IF( +( MONTH( TODAY()) <=6 && YEAR(TODAY())= Active_Year__c ) || +( MONTH( TODAY()) >7 && YEAR(TODAY())= Active_Year__c - 1 ) , + +TRUE, FALSE ) + BlankAsZero + + false + false + Checkbox + + + Emergency_Preferred_Medical_Provider__c + false + Parent__r.Emergency_Preferred_Medical_Provider__c + BlankAsZero + Specified on the Parent record with other emergency info + + false + false + false + Text + false + + + Evaluation_Consent__c + false + false + STUDENT evaluation consent Check if yes, leave unchecked if no. + + false + false + Checkbox + + + Family_Income_Level__c + Pulls in income level from parent record + false + TEXT(Parent__r.Income__c) + BlankAsZero + + false + false + false + Text + false + + + Free_reduced_lunch__c + false + false + + false + false + Checkbox + + + Left_Program_Early_Date__c + Tracks when students drop out. + false + + false + false + false + Date + + + Left_Program_Early__c + false + false + Note date student left and reason in "Notes" + + false + false + Checkbox + + + Media_Release__c + false + false + + false + false + Checkbox + + + Notes__c + false + + 32768 + false + false + LongTextArea + 3 + + + Parent_Email__c + false + Parent__r.Email + BlankAsZero + For Form Assembly lookup + + false + false + false + Text + false + + + Parent_Packet_URL_Unsigned__c + false + Form Assembly record of the electronic parent packet, waiver, etc. This is the unsigned data. + + false + false + false + Url + + + Parent_Packet_URL__c + false + Form Assembly record of the electronic parent packet, waiver, etc. If this is blank, the contract signature has not been verified yet. + + false + false + false + Url + + + Parent_Packet__c + false + false + + false + false + Checkbox + + + Parent_Survey__c + false + false + Did the parent consent for evaluation? Check if yes, leave unchecked if no. + + false + false + Checkbox + + + Parent__c + SetNull + Lookup to Contact for tracking parents + false + + + true + + Contact.RecordTypeId + equals + Parent + + Choose a contact of record type Parent + true + + Contact + School Terms (as Parent) + School_Terms1 + false + false + false + Lookup + + + Post_Survey__c + false + false + + false + false + Checkbox + + + Pre_Survey__c + false + false + + false + false + Checkbox + + + Program_Day__c + Day of the week the after-school program meets + false + + false + false + false + Picklist + + + false + + Monday + false + + + + Tuesday + false + + + + Wednesday + false + + + + Thursday + false + + + + Friday + false + + + + + + + School_Region__c + false + TEXT(School__r.Region__c) + BlankAsZero + + false + false + false + Text + false + + + School_Year__c + School year for the term (September-June) + false + + false + false + false + Picklist + + + false + + 2014-2015 + false + + + + 2015-2016 + false + + + + 2016-2017 + false + + + + 2017-2018 + false + + + + 2018-2019 + false + + + + 2019-2020 + false + + + + 2013-2014 + false + + + + 2012-2013 + false + + + + 2011-2012 + false + + + + 2010-2011 + false + + + + 2009-2010 + false + + + + 2008-2009 + false + + + + 2007-2008 + false + + + + 2006-2007 + false + + + + 2005-2006 + false + + + + 2004-2005 + false + + + + 2003-2004 + false + + + + 2002-2003 + false + + + + 2001-2002 + false + + + + 2000-2001 + false + + + + + + + School__c + Master-Detail to Account to track the school + false + + Account + School Terms at School + School_Terms + 1 + true + false + false + MasterDetail + false + + + Start_Date__c + false + + false + false + false + Date + + + Student_School_ID__c + false + + 15 + false + false + false + Text + false + + + Student__c + Master Detail to Contact for student + false + + + true + + Contact.RecordTypeId + equals + Student, Alumna + + Find contact of record type Student + false + + Contact + School Terms (as Student) + School_Terms + 0 + true + false + false + MasterDetail + false + + + Waiver__c + false + false + + false + false + Checkbox + + + X2016_17_School_Terms + NAME + School__c + Student__c + CREATED_DATE + Everything + + School_Year__c + equals + 2017-2018 + + + en_US + + diff --git a/src/package.xml b/src/package.xml index 25e8e8e..f73b114 100644 --- a/src/package.xml +++ b/src/package.xml @@ -1,6 +1,5 @@ - TBGclassReg C501_CTRL_ClassReg_CreateAcct C501_CTRL_ClassReg_Home @@ -20,20 +19,87 @@ Account.C501_Class_Site_Mobile_Number_Lookup__c Account.C501_Class_Site_Mobile_Number__c + Account.Region__c Class_Site_Login_Attempt__c.Account__c + Class_Site_Login_Attempt__c.Code_Sent_To__c Class_Site_Login_Attempt__c.Login_Attempts__c + Class_Site_Login_Attempt__c.Login_IP_Address__c Class_Site_Login_Attempt__c.SMS_Timestamp__c Class_Site_Login_Attempt__c.Secret_Code__c + Class_Site_Login_Attempt__c.Verified__c + Contact.Emergency_Preferred_Medical_Provider__c + Contact.Income__c + School_Term__c.Active_Year__c + School_Term__c.Authorization_to_treat_minor__c + School_Term__c.Contract__c + School_Term__c.Current_Term__c + School_Term__c.Emergency_Preferred_Medical_Provider__c + School_Term__c.Evaluation_Consent__c + School_Term__c.Family_Income_Level__c + School_Term__c.Free_reduced_lunch__c + School_Term__c.Left_Program_Early_Date__c + School_Term__c.Left_Program_Early__c + School_Term__c.Media_Release__c + School_Term__c.Notes__c + School_Term__c.Parent_Email__c + School_Term__c.Parent_Packet_URL_Unsigned__c + School_Term__c.Parent_Packet_URL__c + School_Term__c.Parent_Packet__c + School_Term__c.Parent_Survey__c + School_Term__c.Parent__c + School_Term__c.Post_Survey__c + School_Term__c.Pre_Survey__c + School_Term__c.Program_Day__c + School_Term__c.School_Region__c + School_Term__c.School_Year__c + School_Term__c.School__c + School_Term__c.Start_Date__c + School_Term__c.Student_School_ID__c + School_Term__c.Student__c + School_Term__c.Waiver__c + TwilioConfig__c.AccountSid__c + TwilioConfig__c.ApplicationSid__c + TwilioConfig__c.AuthToken__c + TwilioConfig__c.Default_Send_Number__c CustomField - Class_Site_Login_Attempt__c - TwilioConfig__c - CustomObject + C501_ClassReg_ChildMobilePhone + C501_ClassReg_ChildSchoolName + C501_ClassReg_HHhomePhone + C501_ClassReg_ParentHomePhone + C501_ClassReg_ParentMobilePhone + C501_ClassReg_ParentWorkPhone + C501_RegSite_ChildEmail + C501_RegSite_ChildFirstName + C501_RegSite_ChildLastName + C501_RegSite_City + C501_RegSite_CodeMismatch + C501_RegSite_Continue + C501_RegSite_FamilyInformation + C501_RegSite_FirstName + C501_RegSite_InvalidEmailPhone + C501_RegSite_LeaveBlank + C501_RegSite_LeaveBlankEmail + C501_RegSite_Login + C501_RegSite_ParentEmail + C501_RegSite_ParentFirstName + C501_RegSite_ParentLastName + C501_RegSite_ProvidePhoneEmail + C501_RegSite_RememberMeDevice + C501_RegSite_SiteRegFormTitle + C501_RegSite_State + C501_RegSite_StreetAddress + C501_RegSite_StudentInformation + C501_RegSite_WeSentYouCode + C501_RegSite_Youarenotauthenticated + C501_RegSite_ZipCode + CustomLabel + Class_Site_Login_Attempt__c TwilioConfig__c - CustomSetting + CustomObject Account.C501_Class_Registration_Site_HH_Acct @@ -43,11 +109,17 @@ Class_Site_Login_Attempt__c-Class Site Login Attempt Layout + School_Term__c-School Term Layout Layout - ClassRegistration - Site + Class_Site_Login_Attempt__c.All + School_Term__c.X2016_17_School_Terms + ListView + + + techbridgeLogo + StaticResource 45.0 diff --git a/src/staticresources/techbridgeLogo.resource b/src/staticresources/techbridgeLogo.resource new file mode 100644 index 0000000..66e873a Binary files /dev/null and b/src/staticresources/techbridgeLogo.resource differ diff --git a/src/staticresources/techbridgeLogo.resource-meta.xml b/src/staticresources/techbridgeLogo.resource-meta.xml new file mode 100644 index 0000000..c3d439f --- /dev/null +++ b/src/staticresources/techbridgeLogo.resource-meta.xml @@ -0,0 +1,5 @@ + + + Public + image/jpeg +