• Stuart Miles 25
  • NEWBIE
  • 10 Points
  • Member since 2019
  • Business Analyst
  • Quilter PLC

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 6
    Replies
Hi All - is there a way to clone the activities lightning standard component (both for Event and Task) showing on account and contact page layouts so that i can customise it to remove the visibility of the comments / notes/ descriptions field for both tasks and events for certain users. I would like to be able to use the cloned custom component and filter on the activities "assigned to" user's business unit saved on the user related object so that it is visible / read only for those users not in the same business unit. Thanks
Hi, can anyone please help me with creating a test class and js controller to display a simple banner on a lightning page? Complete novice here :-)

component:
<aura:component implements="flexipage:availableForAllPageTypes" access="global" >
    <img src="{!$Resource.Discussion_Banner}"/>
</aura:component>

thanks everyone
 
TRIGGER 1

trigger ContactCountsOnFirm on Contact (after insert,after update,after delete,after undelete) {

  List<Contact> contacts = Trigger.isdelete ? trigger.old : trigger.new;
  Set<Id> accountIds = new Set<Id>();

  for (Contact c : contacts) {
     if (c.accountid != null) {
       accountIds.add(c.accountid);
    } 
  }

  {

list<account> ActiveAdvisers = [select Total_Number_of_Active_Advisers_on_Firm__c,(select id from contacts where ZZ_Active_Adviser_Count__c > 0) from account where id In :accountIds];

 for(account a :ActiveAdvisers)  {
   a.Total_Number_of_Active_Advisers_on_Firm__c = a.contacts.size();
 }
 update ActiveAdvisers;
 
   }
   
  {

list<account> AllIndividuals = [select Total_Number_of_Individuals_on_Firm__c,(select id from contacts ) from account where id In :accountIds];

 for(account a :AllIndividuals)  {
   a.Total_Number_of_Individuals_on_Firm__c = a.contacts.size();
 }
 update AllIndividuals;
 
   }
        
  {

list<account> CampaignEngagedIndividuals = [select Total_No_of_Campaign_Eng_Individuals_on_Firm__c,(select id from contacts where 

ZZ_Campaign_1_Engaged_Individuals_Count__c > 0 or ZZ_Campaign_2_Engaged_Individuals_Count__c > 0 ) from account where id In 

:accountIds];

 for(account a :CampaignEngagedIndividuals)  {
   a.Total_No_of_Campaign_Individuals_on_Firm__c = a.contacts.size();
 }
 update CampaignEngagedIndividuals;
 
   }
   
   {

list<account> CampaignEngagedActAdvisers = [select Total_No_of_Campaign_Eng_Act_Advisers_on_Firm__c,(select id from contacts where 

ZZ_Campaign_1_Engaged_Act_Advisers_Count__c > 0 or ZZ_Campaign_2_Engaged_Act_Advisers_Count__c > 0 ) from account where id In 

:accountIds];

 for(account a :CampaignEngagedActAdvisers)  {
   a.Total_No_of_Campaign_Eng_Act_Advisers_on_Firm__c = a.contacts.size();
 }
 update CampaignEngagedActAdvisers;
 
   }    
 
 }

TRIGGER 2

trigger Update_1and2_EngagementScoreTrigger on Contact (after delete, after insert, after undelete, after update) {

Contact[] cons;
if (Trigger.isDelete) 
    cons = Trigger.old;
else
    cons = Trigger.new;

Set<ID> acctIds = new Set<ID>();
for (Contact con : cons) {
   acctIds.add(con.AccountId);
}

Map<ID, Contact> contactsForAccounts = new Map<ID, Contact>([SELECT Id ,AccountId, Total_Ind_1_Engagement_Score__c, Total_Ind_2_Engagement_Score__c, ZZ_Active_Adviser_Count__c FROM Contact WHERE AccountId IN :acctIds]);

Map<ID, Account> acctsToUpdate = new Map<ID, Account>([SELECT Id, Total_1_Engagement_Score__c, Total_2_Engagement_Score__c, Total_1_Act_Adviser_Eng_Score__c, Total_2_Act_Adviser_Eng_Score__c FROM Account WHERE Id IN :acctIds]);

for (Account acct : acctsToUpdate.values()) {
Set<Id> conIds = new Set<Id>();
Decimal totalValue = 0;
for (Contact con : contactsForAccounts.values()) {
    if (con.AccountId == acct.Id && con.Total_Ind_1_Engagement_Score__c != NULL) {
        totalValue += con.Total_Ind_1_Engagement_Score__c; 
    }
}
acct.Total_1_Engagement_Score__c = totalValue;
}
if(acctsToUpdate.values().size() > 0) {
    update acctsToUpdate.values();
}

for (Account acct : acctsToUpdate.values()) {
Set<Id> conIds = new Set<Id>();
Decimal totalValue = 0;
for (Contact con : contactsForAccounts.values()) {
    if (con.AccountId == acct.Id && con.Total_Ind_2_Engagement_Score__c != NULL) {
        totalValue += con.Total_Ind_2_Engagement_Score__c; 
    }
}
acct.Total_2_Engagement_Score__c = totalValue;
}
if(acctsToUpdate.values().size() > 0) {
    update acctsToUpdate.values();
}

for (Account acct : acctsToUpdate.values()) {
Set<Id> conIds = new Set<Id>();
Decimal totalValue = 0;
for (Contact con : contactsForAccounts.values()) {
    if (con.AccountId == acct.Id && con.Total_Ind_1_Engagement_Score__c != NULL && con.ZZ_Active_Adviser_Count__c > 0) {
        totalValue += con.Total_Ind_1_Engagement_Score__c; 
    }
}
acct.Total_1_Act_Adviser_Eng_Score__c = totalValue;
}
if(acctsToUpdate.values().size() > 0) {
    update acctsToUpdate.values();
}

for (Account acct : acctsToUpdate.values()) {
Set<Id> conIds = new Set<Id>();
Decimal totalValue = 0;
for (Contact con : contactsForAccounts.values()) {
    if (con.AccountId == acct.Id && con.Total_Ind_2_Engagement_Score__c != NULL && con.ZZ_Active_Adviser_Count__c > 0) {
        totalValue += con.Total_Ind_2_Engagement_Score__c; 
    }
}
acct.Total_2_Act_Adviser_Eng_Score__c = totalValue;
}
if(acctsToUpdate.values().size() > 0) {
    update acctsToUpdate.values();
}

}

 
Hi, can anyone please help me with creating a test class and js controller to display a simple banner on a lightning page? Complete novice here :-)

component:
<aura:component implements="flexipage:availableForAllPageTypes" access="global" >
    <img src="{!$Resource.Discussion_Banner}"/>
</aura:component>

thanks everyone
 
TRIGGER 1

trigger ContactCountsOnFirm on Contact (after insert,after update,after delete,after undelete) {

  List<Contact> contacts = Trigger.isdelete ? trigger.old : trigger.new;
  Set<Id> accountIds = new Set<Id>();

  for (Contact c : contacts) {
     if (c.accountid != null) {
       accountIds.add(c.accountid);
    } 
  }

  {

list<account> ActiveAdvisers = [select Total_Number_of_Active_Advisers_on_Firm__c,(select id from contacts where ZZ_Active_Adviser_Count__c > 0) from account where id In :accountIds];

 for(account a :ActiveAdvisers)  {
   a.Total_Number_of_Active_Advisers_on_Firm__c = a.contacts.size();
 }
 update ActiveAdvisers;
 
   }
   
  {

list<account> AllIndividuals = [select Total_Number_of_Individuals_on_Firm__c,(select id from contacts ) from account where id In :accountIds];

 for(account a :AllIndividuals)  {
   a.Total_Number_of_Individuals_on_Firm__c = a.contacts.size();
 }
 update AllIndividuals;
 
   }
        
  {

list<account> CampaignEngagedIndividuals = [select Total_No_of_Campaign_Eng_Individuals_on_Firm__c,(select id from contacts where 

ZZ_Campaign_1_Engaged_Individuals_Count__c > 0 or ZZ_Campaign_2_Engaged_Individuals_Count__c > 0 ) from account where id In 

:accountIds];

 for(account a :CampaignEngagedIndividuals)  {
   a.Total_No_of_Campaign_Individuals_on_Firm__c = a.contacts.size();
 }
 update CampaignEngagedIndividuals;
 
   }
   
   {

list<account> CampaignEngagedActAdvisers = [select Total_No_of_Campaign_Eng_Act_Advisers_on_Firm__c,(select id from contacts where 

ZZ_Campaign_1_Engaged_Act_Advisers_Count__c > 0 or ZZ_Campaign_2_Engaged_Act_Advisers_Count__c > 0 ) from account where id In 

:accountIds];

 for(account a :CampaignEngagedActAdvisers)  {
   a.Total_No_of_Campaign_Eng_Act_Advisers_on_Firm__c = a.contacts.size();
 }
 update CampaignEngagedActAdvisers;
 
   }    
 
 }

TRIGGER 2

trigger Update_1and2_EngagementScoreTrigger on Contact (after delete, after insert, after undelete, after update) {

Contact[] cons;
if (Trigger.isDelete) 
    cons = Trigger.old;
else
    cons = Trigger.new;

Set<ID> acctIds = new Set<ID>();
for (Contact con : cons) {
   acctIds.add(con.AccountId);
}

Map<ID, Contact> contactsForAccounts = new Map<ID, Contact>([SELECT Id ,AccountId, Total_Ind_1_Engagement_Score__c, Total_Ind_2_Engagement_Score__c, ZZ_Active_Adviser_Count__c FROM Contact WHERE AccountId IN :acctIds]);

Map<ID, Account> acctsToUpdate = new Map<ID, Account>([SELECT Id, Total_1_Engagement_Score__c, Total_2_Engagement_Score__c, Total_1_Act_Adviser_Eng_Score__c, Total_2_Act_Adviser_Eng_Score__c FROM Account WHERE Id IN :acctIds]);

for (Account acct : acctsToUpdate.values()) {
Set<Id> conIds = new Set<Id>();
Decimal totalValue = 0;
for (Contact con : contactsForAccounts.values()) {
    if (con.AccountId == acct.Id && con.Total_Ind_1_Engagement_Score__c != NULL) {
        totalValue += con.Total_Ind_1_Engagement_Score__c; 
    }
}
acct.Total_1_Engagement_Score__c = totalValue;
}
if(acctsToUpdate.values().size() > 0) {
    update acctsToUpdate.values();
}

for (Account acct : acctsToUpdate.values()) {
Set<Id> conIds = new Set<Id>();
Decimal totalValue = 0;
for (Contact con : contactsForAccounts.values()) {
    if (con.AccountId == acct.Id && con.Total_Ind_2_Engagement_Score__c != NULL) {
        totalValue += con.Total_Ind_2_Engagement_Score__c; 
    }
}
acct.Total_2_Engagement_Score__c = totalValue;
}
if(acctsToUpdate.values().size() > 0) {
    update acctsToUpdate.values();
}

for (Account acct : acctsToUpdate.values()) {
Set<Id> conIds = new Set<Id>();
Decimal totalValue = 0;
for (Contact con : contactsForAccounts.values()) {
    if (con.AccountId == acct.Id && con.Total_Ind_1_Engagement_Score__c != NULL && con.ZZ_Active_Adviser_Count__c > 0) {
        totalValue += con.Total_Ind_1_Engagement_Score__c; 
    }
}
acct.Total_1_Act_Adviser_Eng_Score__c = totalValue;
}
if(acctsToUpdate.values().size() > 0) {
    update acctsToUpdate.values();
}

for (Account acct : acctsToUpdate.values()) {
Set<Id> conIds = new Set<Id>();
Decimal totalValue = 0;
for (Contact con : contactsForAccounts.values()) {
    if (con.AccountId == acct.Id && con.Total_Ind_2_Engagement_Score__c != NULL && con.ZZ_Active_Adviser_Count__c > 0) {
        totalValue += con.Total_Ind_2_Engagement_Score__c; 
    }
}
acct.Total_2_Act_Adviser_Eng_Score__c = totalValue;
}
if(acctsToUpdate.values().size() > 0) {
    update acctsToUpdate.values();
}

}