-
ChatterFeed
-
1Best Answers
-
6Likes Received
-
2Likes Given
-
1Questions
-
5Replies
Build a Conference Management App: Batching and Scheduling using APEX
By no means am I a coder/developer but I was excited to have made it this far. I am literally having trouble with this last step and I am not sure how I am to format my code. The goal is to:

Any help is greatly appreciated!
- Make the class global, implement the Batchable interface, and define the three methods of the interface
- Declare three instance variables to store the query, the email subject, and the email body
- Define a constructor implemented
- Implement the start() method
- Implement the execute()
Any help is greatly appreciated!
-
- Dannielle Givens 4
- June 15, 2016
- Like
- 0
- Continue reading or reply
Lightning Components Basics - Connect to Salesforce with Server-Side Controllers
Hi everyone!
I have a problem with the challenge, my App work fine but I don´t pass the challenge. This is my code:
campingList.cmp:
campingListController.js:
Challenge Not yet complete... here's what's wrong:
The campingList JavaScript helper isn't saving the new record to the database or adding it to the 'items' value provider.
My App save the new record into the database and add it to the "items" list.
Thanks for your answers!
I have a problem with the challenge, my App work fine but I don´t pass the challenge. This is my code:
campingList.cmp:
<aura:component controller="CampingListController"> <ltng:require styles="/resource/SLDS105/assets/styles/salesforce-lightning-design-system-ltng.css"/> <aura:handler name="init" action="{!c.doInit}" value="{!this}"/> <aura:attribute name="newItem" type="Camping_Item__c" default="{ 'sobjectType': 'Camping_Item__c', 'Price__c': 0, 'Quantity__c': 0}"/> <div class="slds-card slds-p-top--medium"> <ui:inputText aura:id="campname" label="Camping Name" value="{!v.newItem.Name}" required="true"/> <ui:inputCheckbox aura:id="packed" label="Packed?" value="{!v.newItem.Packed__c}"/> <ui:inputCurrency aura:id="price" label="Price" value="{!v.newItem.Price__c}" required="true"/> <ui:inputNumber aura:id="quantity" label="Quantity" value="{!v.newItem.Quantity__c}" required="true"/> <ui:button label="Create Camping" press="{!c.clickCreateCamping}"/> </div> <aura:attribute name="items" type="Camping_Item__c[]"/> <div class="slds-card slds-p-top--medium"> <header class="slds-card__header"> <h3 class="slds-text-heading--small">Campings</h3> </header> <section class="slds-card__body"> <div id="list" class="row"> <aura:iteration items="{!v.items}" var="item"> <c:campingListItem item="{!item}"/> </aura:iteration> </div> </section> </div> </aura:component>
campingListController.js:
({ // Load expenses from Salesforce doInit: function(component, event, helper) { // Create the action var action = component.get("c.getItems"); // Add callback behavior for when response is received action.setCallback(this, function(response) { var state = response.getState(); if (component.isValid() && state === "SUCCESS") { component.set("v.items", response.getReturnValue()); } else { console.log("Failed with state: " + state); } }); // Send action off to be executed $A.enqueueAction(action); }, clickCreateCamping: function(component, event, helper) { if(helper.validateCampingForm(component)){ // Create the new expense var newCamping = component.get("v.newItem"); helper.createItem(component, newCamping); } } })campingListHelper.js
({ createItem: function(component, camping) { var action = component.get("c.saveItem"); action.setParams({ "item": camping }); action.setCallback(this, function(response){ var state = response.getState(); if (component.isValid() && state === "SUCCESS") { var campings = component.get("v.items"); campings.push(response.getReturnValue()); component.set("v.items", campings); } }); $A.enqueueAction(action); }, validateCampingForm: function(component) { var validQuantity = true; var validPrice = true; var nameField = component.find("campname"); var campname = nameField.get("v.value"); var quantityField = component.find("quantity"); var quantity = quantityField.get("v.value"); var priceField = component.find("price"); var price = priceField.get("v.value"); if ($A.util.isEmpty(campname) || $A.util.isEmpty(quantity) || $A.util.isEmpty(price)){ validQuantity = false; validPrice = false; nameField.set("v.errors", [{message:"Camping name, quantity or price can't be blank."}]); } else { nameField.set("v.errors", null); } return(validQuantity && validPrice); } })CampingListController.apxc:
public with sharing class CampingListController { @AuraEnabled public static List<Camping_Item__c> getItems() { // Check to make sure all fields are accessible to this user String[] fieldsToCheck = new String[] { 'Id', 'Name', 'Packed__c', 'Price__c', 'Quantity__c' }; Map<String,Schema.SObjectField> fieldDescribeTokens = Schema.SObjectType.Camping_Item__c.fields.getMap(); for(String field : fieldsToCheck) { if( ! fieldDescribeTokens.get(field).getDescribe().isAccessible()) { throw new System.NoAccessException(); return null; } } // Perform isAccessible() checking first, then return [SELECT Id, Name, Packed__c, Price__c, Quantity__c FROM Camping_Item__c]; } @AuraEnabled public static Camping_Item__c saveItem(Camping_Item__c item) { // Perform isUpdatable() checking first, then upsert item; return item; } }I am still getting this error:
Challenge Not yet complete... here's what's wrong:
The campingList JavaScript helper isn't saving the new record to the database or adding it to the 'items' value provider.
My App save the new record into the database and add it to the "items" list.
Thanks for your answers!
-
- Manuel Casas
- June 13, 2016
- Like
- 6
- Continue reading or reply
Lightning Components Basics - Connect to Salesforce with Server-Side Controllers
Hi everyone!
I have a problem with the challenge, my App work fine but I don´t pass the challenge. This is my code:
campingList.cmp:
campingListController.js:
Challenge Not yet complete... here's what's wrong:
The campingList JavaScript helper isn't saving the new record to the database or adding it to the 'items' value provider.
My App save the new record into the database and add it to the "items" list.
Thanks for your answers!
I have a problem with the challenge, my App work fine but I don´t pass the challenge. This is my code:
campingList.cmp:
<aura:component controller="CampingListController"> <ltng:require styles="/resource/SLDS105/assets/styles/salesforce-lightning-design-system-ltng.css"/> <aura:handler name="init" action="{!c.doInit}" value="{!this}"/> <aura:attribute name="newItem" type="Camping_Item__c" default="{ 'sobjectType': 'Camping_Item__c', 'Price__c': 0, 'Quantity__c': 0}"/> <div class="slds-card slds-p-top--medium"> <ui:inputText aura:id="campname" label="Camping Name" value="{!v.newItem.Name}" required="true"/> <ui:inputCheckbox aura:id="packed" label="Packed?" value="{!v.newItem.Packed__c}"/> <ui:inputCurrency aura:id="price" label="Price" value="{!v.newItem.Price__c}" required="true"/> <ui:inputNumber aura:id="quantity" label="Quantity" value="{!v.newItem.Quantity__c}" required="true"/> <ui:button label="Create Camping" press="{!c.clickCreateCamping}"/> </div> <aura:attribute name="items" type="Camping_Item__c[]"/> <div class="slds-card slds-p-top--medium"> <header class="slds-card__header"> <h3 class="slds-text-heading--small">Campings</h3> </header> <section class="slds-card__body"> <div id="list" class="row"> <aura:iteration items="{!v.items}" var="item"> <c:campingListItem item="{!item}"/> </aura:iteration> </div> </section> </div> </aura:component>
campingListController.js:
({ // Load expenses from Salesforce doInit: function(component, event, helper) { // Create the action var action = component.get("c.getItems"); // Add callback behavior for when response is received action.setCallback(this, function(response) { var state = response.getState(); if (component.isValid() && state === "SUCCESS") { component.set("v.items", response.getReturnValue()); } else { console.log("Failed with state: " + state); } }); // Send action off to be executed $A.enqueueAction(action); }, clickCreateCamping: function(component, event, helper) { if(helper.validateCampingForm(component)){ // Create the new expense var newCamping = component.get("v.newItem"); helper.createItem(component, newCamping); } } })campingListHelper.js
({ createItem: function(component, camping) { var action = component.get("c.saveItem"); action.setParams({ "item": camping }); action.setCallback(this, function(response){ var state = response.getState(); if (component.isValid() && state === "SUCCESS") { var campings = component.get("v.items"); campings.push(response.getReturnValue()); component.set("v.items", campings); } }); $A.enqueueAction(action); }, validateCampingForm: function(component) { var validQuantity = true; var validPrice = true; var nameField = component.find("campname"); var campname = nameField.get("v.value"); var quantityField = component.find("quantity"); var quantity = quantityField.get("v.value"); var priceField = component.find("price"); var price = priceField.get("v.value"); if ($A.util.isEmpty(campname) || $A.util.isEmpty(quantity) || $A.util.isEmpty(price)){ validQuantity = false; validPrice = false; nameField.set("v.errors", [{message:"Camping name, quantity or price can't be blank."}]); } else { nameField.set("v.errors", null); } return(validQuantity && validPrice); } })CampingListController.apxc:
public with sharing class CampingListController { @AuraEnabled public static List<Camping_Item__c> getItems() { // Check to make sure all fields are accessible to this user String[] fieldsToCheck = new String[] { 'Id', 'Name', 'Packed__c', 'Price__c', 'Quantity__c' }; Map<String,Schema.SObjectField> fieldDescribeTokens = Schema.SObjectType.Camping_Item__c.fields.getMap(); for(String field : fieldsToCheck) { if( ! fieldDescribeTokens.get(field).getDescribe().isAccessible()) { throw new System.NoAccessException(); return null; } } // Perform isAccessible() checking first, then return [SELECT Id, Name, Packed__c, Price__c, Quantity__c FROM Camping_Item__c]; } @AuraEnabled public static Camping_Item__c saveItem(Camping_Item__c item) { // Perform isUpdatable() checking first, then upsert item; return item; } }I am still getting this error:
Challenge Not yet complete... here's what's wrong:
The campingList JavaScript helper isn't saving the new record to the database or adding it to the 'items' value provider.
My App save the new record into the database and add it to the "items" list.
Thanks for your answers!
-
- Manuel Casas
- June 13, 2016
- Like
- 6
- Continue reading or reply
Build a Conference Management App: Batching and Scheduling using APEX
By no means am I a coder/developer but I was excited to have made it this far. I am literally having trouble with this last step and I am not sure how I am to format my code. The goal is to:

Any help is greatly appreciated!
- Make the class global, implement the Batchable interface, and define the three methods of the interface
- Declare three instance variables to store the query, the email subject, and the email body
- Define a constructor implemented
- Implement the start() method
- Implement the execute()
Any help is greatly appreciated!
- Dannielle Givens 4
- June 15, 2016
- Like
- 0
- Continue reading or reply
Set Up Contacts to Multiple Accounts - Trailhead badge "Understanding Account and Contact Relationships"
I'm stuck at steps 3d. and 4. The instructions don't match the pictures and the walkthrough. I can't seem to complete this step. Any help would be appreciated.
- Jared Pena
- June 14, 2016
- Like
- 0
- Continue reading or reply
Lightning Components Basics - Connect to Salesforce with Server-Side Controllers
Hi everyone!
I have a problem with the challenge, my App work fine but I don´t pass the challenge. This is my code:
campingList.cmp:
campingListController.js:
Challenge Not yet complete... here's what's wrong:
The campingList JavaScript helper isn't saving the new record to the database or adding it to the 'items' value provider.
My App save the new record into the database and add it to the "items" list.
Thanks for your answers!
I have a problem with the challenge, my App work fine but I don´t pass the challenge. This is my code:
campingList.cmp:
<aura:component controller="CampingListController"> <ltng:require styles="/resource/SLDS105/assets/styles/salesforce-lightning-design-system-ltng.css"/> <aura:handler name="init" action="{!c.doInit}" value="{!this}"/> <aura:attribute name="newItem" type="Camping_Item__c" default="{ 'sobjectType': 'Camping_Item__c', 'Price__c': 0, 'Quantity__c': 0}"/> <div class="slds-card slds-p-top--medium"> <ui:inputText aura:id="campname" label="Camping Name" value="{!v.newItem.Name}" required="true"/> <ui:inputCheckbox aura:id="packed" label="Packed?" value="{!v.newItem.Packed__c}"/> <ui:inputCurrency aura:id="price" label="Price" value="{!v.newItem.Price__c}" required="true"/> <ui:inputNumber aura:id="quantity" label="Quantity" value="{!v.newItem.Quantity__c}" required="true"/> <ui:button label="Create Camping" press="{!c.clickCreateCamping}"/> </div> <aura:attribute name="items" type="Camping_Item__c[]"/> <div class="slds-card slds-p-top--medium"> <header class="slds-card__header"> <h3 class="slds-text-heading--small">Campings</h3> </header> <section class="slds-card__body"> <div id="list" class="row"> <aura:iteration items="{!v.items}" var="item"> <c:campingListItem item="{!item}"/> </aura:iteration> </div> </section> </div> </aura:component>
campingListController.js:
({ // Load expenses from Salesforce doInit: function(component, event, helper) { // Create the action var action = component.get("c.getItems"); // Add callback behavior for when response is received action.setCallback(this, function(response) { var state = response.getState(); if (component.isValid() && state === "SUCCESS") { component.set("v.items", response.getReturnValue()); } else { console.log("Failed with state: " + state); } }); // Send action off to be executed $A.enqueueAction(action); }, clickCreateCamping: function(component, event, helper) { if(helper.validateCampingForm(component)){ // Create the new expense var newCamping = component.get("v.newItem"); helper.createItem(component, newCamping); } } })campingListHelper.js
({ createItem: function(component, camping) { var action = component.get("c.saveItem"); action.setParams({ "item": camping }); action.setCallback(this, function(response){ var state = response.getState(); if (component.isValid() && state === "SUCCESS") { var campings = component.get("v.items"); campings.push(response.getReturnValue()); component.set("v.items", campings); } }); $A.enqueueAction(action); }, validateCampingForm: function(component) { var validQuantity = true; var validPrice = true; var nameField = component.find("campname"); var campname = nameField.get("v.value"); var quantityField = component.find("quantity"); var quantity = quantityField.get("v.value"); var priceField = component.find("price"); var price = priceField.get("v.value"); if ($A.util.isEmpty(campname) || $A.util.isEmpty(quantity) || $A.util.isEmpty(price)){ validQuantity = false; validPrice = false; nameField.set("v.errors", [{message:"Camping name, quantity or price can't be blank."}]); } else { nameField.set("v.errors", null); } return(validQuantity && validPrice); } })CampingListController.apxc:
public with sharing class CampingListController { @AuraEnabled public static List<Camping_Item__c> getItems() { // Check to make sure all fields are accessible to this user String[] fieldsToCheck = new String[] { 'Id', 'Name', 'Packed__c', 'Price__c', 'Quantity__c' }; Map<String,Schema.SObjectField> fieldDescribeTokens = Schema.SObjectType.Camping_Item__c.fields.getMap(); for(String field : fieldsToCheck) { if( ! fieldDescribeTokens.get(field).getDescribe().isAccessible()) { throw new System.NoAccessException(); return null; } } // Perform isAccessible() checking first, then return [SELECT Id, Name, Packed__c, Price__c, Quantity__c FROM Camping_Item__c]; } @AuraEnabled public static Camping_Item__c saveItem(Camping_Item__c item) { // Perform isUpdatable() checking first, then upsert item; return item; } }I am still getting this error:
Challenge Not yet complete... here's what's wrong:
The campingList JavaScript helper isn't saving the new record to the database or adding it to the 'items' value provider.
My App save the new record into the database and add it to the "items" list.
Thanks for your answers!
- Manuel Casas
- June 13, 2016
- Like
- 6
- Continue reading or reply
cannot edit lightning home page for trailhead module: Building a Custom Home Page for Lightning Experience
Please advise.
I cannot edit my Lightning Experience homepage to complete the following module:
Building a Custom Home Page for Lightning Experience
https://developer.salesforce.com/trailhead/en/lightning_app_builder/lightning_app_builder_homepage
I cannot edit the page and creating a new app does not give me the choice of creating a new home page.
- Dan Hew
- June 06, 2016
- Like
- 3
- Continue reading or reply
Lightning Components Basics - Connect Components with Events Challenge
Hi,
I can't pass the challenge (https://developer.salesforce.com/trailhead/force_com_dev_intermediate/lex_dev_lc_basics/lex_dev_lc_basics_events). This is the error when check challenge:
Challenge Not yet complete... here's what's wrong:
The campingList JavaScript controller isn't adding the new record to the 'items' value provider.
I tryed in the browser add new Camping Items and it's working correctly. The item is added to database and the list is updated.
This is my code:
campingList Component
campingList Controller.js
CampingListController
CampingListForm Component
CampingListForm Controller.js
CampingListForm Helper.js
Could anyone help me?
Thanks,
Regards.
I can't pass the challenge (https://developer.salesforce.com/trailhead/force_com_dev_intermediate/lex_dev_lc_basics/lex_dev_lc_basics_events). This is the error when check challenge:
Challenge Not yet complete... here's what's wrong:
The campingList JavaScript controller isn't adding the new record to the 'items' value provider.
I tryed in the browser add new Camping Items and it's working correctly. The item is added to database and the list is updated.
This is my code:
campingList Component
<aura:component controller="CampingListController"> <aura:handler name="init" action="{!c.doInit}" value="{!this}"/> <aura:handler name="addItem" event="c:addItemEvent" action="{!c.handleAddItem}"/> <div class="slds-page-header" role="banner"> <div class="slds-grid"> <div class="slds-col"> <p class="slds-text-heading--label">Camping Items</p> <h1 class="slds-text-heading--medium">My Camping Items</h1> </div> </div> </div> <div aria-labelledby="newitemform"> <fieldset class="slds-box slds-theme--default slds-container--small"> <c:campingListForm /> </fieldset> </div> <aura:attribute name="items" type="Camping_Item__c[]"/> <div class="slds-card slds-p-top--medium"> <header class="slds-card__header"> <h3 class="slds-text-heading--small">Camping List Items</h3> </header> <section class="slds-card__body"> <div id="list" class="row"> <aura:iteration items="{!v.items}" var="campItem"> <c:campingListItem item="{!campItem}"/> </aura:iteration> </div> </section> </div> </aura:component>
campingList Controller.js
({ doInit: function(component, event, helper) { var action = component.get("c.getItems"); action.setCallback(this, function(response) { var state = response.getState(); if (component.isValid() && state === "SUCCESS") { component.set("v.items", response.getReturnValue()); } else { console.log("Failed with state: " + state); } }); $A.enqueueAction(action); }, handleAddItem: function(component, event, helper) { var item = event.getParam("item"); var action = component.get("c.saveItem"); action.setParams({ "item": item }); action.setCallback(this, function(response){ var state = response.getState(); if (component.isValid() && state === "SUCCESS") { var theItems = component.get("v.items"); theItems.push(item); component.set("v.items",theItems); } }); $A.enqueueAction(action); } })
CampingListController
public with sharing class CampingListController { @AuraEnabled public static List<Camping_Item__c> getItems() { return [SELECT Id, Name, Price__c, Quantity__c, Packed__c FROM Camping_Item__c]; } @AuraEnabled public static Camping_Item__c saveItem(Camping_Item__c item) { upsert item; return item; } }
CampingListForm Component
<aura:component > <aura:attribute name="newItem" type="Camping_Item__c" default="{ 'sobjectType': 'Camping_Item__c', 'Name': '', 'Packed__c': false, 'Price__c': '0', 'Quantity__c': '0' }"/> <aura:registerEvent name="addItem" type="c:addItemEvent"/> <div aria-labelledby="newitemform"> <fieldset class="slds-box slds-theme--default slds-container--small"> <legend id="newitemform" class="slds-text-heading--small slds-p-vertical--medium"> Add Camping Item </legend> <form class="slds-form--stacked"> <div class="slds-form-element slds-is-required"> <div class="slds-form-element__control"> <ui:inputText aura:id="name" label="Camping Item Name" class="slds-input" labelClass="slds-form-element__label" value="{!v.newItem.Name}" required="true"/> </div> </div> <div class="slds-form-element"> <ui:inputCheckbox aura:id="packed" label="Packed?" class="slds-checkbox" labelClass="slds-form-element__label" value="{!v.newItem.Packed__c}"/> </div> <div class="slds-form-element"> <div class="slds-form-element__control"> <ui:inputCurrency aura:id="price" label="Price" class="slds-input" labelClass="slds-form-element__label" value="{!v.newItem.Price__c}" /> </div> </div> <div class="slds-form-element"> <div class="slds-form-element__control"> <ui:inputNumber aura:id="quantity" label="Quantity" class="slds-input" labelClass="slds-form-element__label" value="{!v.newItem.Quantity__c}"/> </div> </div> <div class="slds-form-element"> <ui:button label="Create Camping Item" class="slds-button slds-button--brand" press="{!c.clickCreateCampingItem}"/> </div> </form> </fieldset> </div> </aura:component>
CampingListForm Controller.js
({ clickCreateCampingItem : function(component, event, helper) { var validCamping = true; // Name must not be blank var nameField = component.find("name"); var expname = nameField.get("v.value"); if ($A.util.isEmpty(expname)){ validCamping = false; nameField.set("v.errors", [{message:"Camping Item name can't be blank."}]); } else { nameField.set("v.errors", null); } var priceField = component.find("price"); var price = priceField.get("v.value"); if ($A.util.isEmpty(price) || isNaN(price) || (price <= 0.0)){ validCamping = false; priceField.set("v.errors", [{message:"Camping Item price can't be blank."}]); } else { priceField.set("v.errors", null); } var quantityField = component.find("quantity"); var quantity = quantityField.get("v.value"); if ($A.util.isEmpty(quantity) || isNaN(quantity) || (quantity <= 0)){ validCamping = false; quantityField.set("v.errors", [{message:"Camping Item quantity can't be blank."}]); } else { quantityField.set("v.errors", null); } if(validCamping){ helper.createItem(component); } }, })
CampingListForm Helper.js
({ createItem : function(component) { var newItem = component.get("v.newItem"); var addEvent = component.getEvent("addItem"); addEvent.setParams({"item" : newItem}); addEvent.fire(); component.set("v.newItem", { 'sobjectType': 'Camping_Item__c', 'Name': '', 'Packed__c': false, 'Price__c': 0, 'Quantity__c': 0}); } })
Could anyone help me?
Thanks,
Regards.
- Guiomar Fernández de Bobadilla
- June 14, 2016
- Like
- 4
- Continue reading or reply
Trailhead - Create an Account Using REST API and Workbench
Hello,
I have this error when I try to check challenge:
Challenge Not yet complete... here's what's wrong:
Could not find an account named 'Blackbeards Grog Emporium' created from Workbench with the Description 'The finest grog in the seven seas.'
In the next picture you can see what I send by the Workbench

The result is succes and in my Developer Org I can see the Account created correctly, but the challenge isn't passed.
I have this error when I try to check challenge:
Challenge Not yet complete... here's what's wrong:
Could not find an account named 'Blackbeards Grog Emporium' created from Workbench with the Description 'The finest grog in the seven seas.'
In the next picture you can see what I send by the Workbench
The result is succes and in my Developer Org I can see the Account created correctly, but the challenge isn't passed.
- Guiomar Fernández de Bobadilla
- June 06, 2016
- Like
- 1
- Continue reading or reply