Skip to content

Instantly share code, notes, and snippets.

View dancinllama's full-sized avatar

James Loghry dancinllama

View GitHub Profile
IF(
OR(
ISBLANK(Available_From__c)
,Available_From__c < CASE(
MOD(TODAY() - DATE( 1900, 1, 7 ), 7 ),
2, TODAY() + 2 + 4,
3, TODAY() + 2 + 4,
4, TODAY() + 2 + 4,
5, TODAY() + 2 + 4,
6, TODAY() + 1 + 4,
@dancinllama
dancinllama / gist:4772135
Created February 12, 2013 18:39
Method for retrieving managed package prefix
/**
* @description determines the namespace prefix of the managed package
*/
public static String getNamespacePrefix(DescribeFieldResult fr){
String prefix = null;
String fieldName = fr.getName();
String localname = fr.getLocalName();
Integer idx = fieldName.indexOf(localname);
<apex:repeat var="fs" value="{!$ObjectType.Lead.FieldSets.My_Fs}">
<apex:inputField value="{!currentLead[fs]}" rendered="{!editableFields[fs.fieldPath]}" required="{!fs.required}" />
<apex:outputField value="{!currentLead[fs]}" rendered="{!NOT(editableFields[fs.fieldPath])}" />
</apex:repeat>
Map<String,String> strMap = new Map<String,String>();
strMap.put('pig','lowercasepig');
strMap.put('PIG','uppercasepig');
strMap.put('PiG','mixedCasePig');
//spits out 3
System.debug(strMap.size());
//spits out 3
System.debug(strMap.keySet().size());
for(String str : strMap.values()){
//Spits out 3 different values, 1 at a time
@dancinllama
dancinllama / gist:5404238
Created April 17, 2013 13:20
Apex code for implementing a custom clone quote button for Big Machines related work. The following takes a child opportunity and clones the Big Machines quote from the parent object onto the child opportunity
PageReferene pageRef = Page.BigMachines__QuoteEdit;
Map<String,String> parms = pageRef.getParameters();
//Get First (Primary) Big Machine Quote From current Opportunity's parent opportunity
parms.put('Id',parentOpp.BigMachines__BigMachines_Quotes__r.get(0).Id);
//Clone the parent into the the current aka child opportunity.
parms.put('oppId',opp.Id);
/**
* ManagedPackageUtils
* @description Utility class for finding info out regarding managed package
* @author James Loghry
* @date 2/12/2013
*/
public class ManagedPackageUtils{
/**
* @description determines the namespace prefix of the managed package
trigger mytrigger on object(before update){
for(Object current : Trigger.new){
Object olObject = Trigger.oldMap.get(current.Id);
if(olObject.MyField__c != current.MyField__c && otherConditionsGoHere){
//Option1
olObject.MyField__c.addError('Cannot do that, Hal..');
//Option2
current.MyField__c = olObject.MyField__c;
}
}
@dancinllama
dancinllama / gist:7826948
Created December 6, 2013 15:50
Schedulable class
global class MySchedulableClass implements Schedulable{
global void execute(SchedulableContext sc){
Database.execute(new MyBatchClass());
}
}
@dancinllama
dancinllama / Apex controller
Last active November 21, 2016 16:49
Component for displaying Contact Name(s)
/**
* ContactsCtrl
* @description Apex and stuff..
* @author
* @date 11/21/2016
*/
public with sharing class ContactsCtrl {
@AuraEnabled
public static List<Contact> getContacts(){
public class InvocableDebugger{
@InvocableMethod
public static void debugMessage(List<String> messages){
for(String str : messages){
System.debug(str);
}
}
}