Skip to content

Instantly share code, notes, and snippets.

@mickle00
mickle00 / data_category_creator.js
Created July 30, 2014 22:33
May need to truncate length of strings, XML encode ampersands, and fit into the rest of the XML
var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
var outputString = '';
function getAPISafeLabel(name){
name = name.replace(/\ /g,'_');
name = name.replace(/\//g,'_');
name = name.replace(/\,/g,'_');
@mickle00
mickle00 / Metadata.java
Last active August 29, 2015 14:03
ApexMetadata API Samples
MetadataService.MetadataPort service = new MetadataService.MetadataPort();
service.SessionHeader = new MetadataService.SessionHeader_element();
service.SessionHeader.sessionId = UserInfo.getSessionId();
MetadataService.Layout layout = (MetadataService.Layout) service.readMetadata('Layout', new String[] { 'Account-Account Layout' }).getRecords()[0];
system.debug(JSON.serializePretty(layout.layoutSections[0].layoutColumns[0].layoutItems[0].field));
List<MetadataService.ListMetadataQuery> queries = new List<MetadataService.ListMetadataQuery>();
MetadataService.ListMetadataQuery queryListView = new MetadataService.ListMetadataQuery();
queryListView.type_x = 'ListView';
import xmltodict
OBJECT_NAME = 'Case_Backup.object'
PICKLIST_FIELD = 'Team__c'
def parseRecordTypes():
for recordType in getRecordTypes():
parseRecordType(recordType)
def parseRecordType(recordType):
var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
function main(){
var formulaFieldCells = $("td:contains('Formula (')");
var fieldList = [];
formulaFieldCells.each(function(){
formulaField = $($(this).prev()[0]).html();
List<Case> c = [SELECT Id, isDeleted FROM Case WHERE Id = '500C000000VlnSsIAJ'];
system.debug(c.size()); //1
//Formula field
c = [SELECT Id, Created_During_Business_Hours__c FROM Case WHERE Id = '500C000000VlnSsIAJ'];
system.debug(c.size()); //0
//Created_During_Business_Hours__c uses this field in formula
c = [SELECT Id, Actual_Case_Start_Time__c FROM Case WHERE Id = '500C000000VlnSsIAJ'];
system.debug(c.size()); //0
// must be in edit page of particular profile
// e.g., https://cs15.salesforce.com/00ee0000000Lw5d/e?s=ObjectsAndTabs&o=Account
// will add read to every field.
// doesnt change edit permissions
var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
function main(){
#!/usr/bin/python
import xmltodict
import glob
def getProfiles():
profiles = glob.glob('profiles/*.profile')
rows = getCSVShell(profiles[0])
for profile in profiles:
addColumns(profile, rows)
var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
var outputString = '';
function getCategory(){
categories = document.getElementById('00NC0000004yBn3').options;
j$(categories).each(function(){
if (j$(this).val() !== ''){
commit 192ee11660dba20d393fae1a1dc0a8cc83c0b5b5
Author: Michael Stewart <mickle00@gmail.com>
Date: Wed Jan 15 14:07:05 2014 -0800
Removing Button
diff --git a/layouts/Deployment__c-Deployment Layout.layout b/layouts/Deployment__c-Deployment Layout.layout
index 33a0e00..4604363 100644
--- a/layouts/Deployment__c-Deployment Layout.layout
+++ b/layouts/Deployment__c-Deployment Layout.layout
commit d723472a2fe06028e53f3bf5225fb5793680dd95
Author: Michael Stewart <mickle00@gmail.com>
Date: Wed Jan 15 14:02:20 2014 -0800
Adding button.
diff --git a/layouts/Deployment__c-Deployment Layout.layout b/layouts/Deployment__c-Deployment Layout.layout
index afcf8c0..33a0e00 100644
--- a/layouts/Deployment__c-Deployment Layout.layout
+++ b/layouts/Deployment__c-Deployment Layout.layout