It takes a fair amount of work to do almost anything in Lightning, so here's a basic framework to get you started. Note that this is meant to be a "same-as-previous-question-but-in-Lightning" answer, so interested readers might also want to check out this question. Advanced error handling is left as an exercise to the reader.
LightningMethods.cls
This class provides the query and update mechanisms that we need. Other methods would be ideal for a solid, reusable framework, but this should get you started.
public class LightningMethods {
@AuraEnabled public static void updateRecords(SObject[] records) {
update records;
}
@AuraEnabled public static SObject[] queryRecords(String query) {
return Database.query(query);
}
}
UpdateRecordComponent.cmp
Change the name of the component, as appropriate, plus all related data types.
<aura:component controller="LightningMethods" implements="force:hasRecordId,flexipage:availableForRecordHome">
<aura:attribute name="record" type="SObject" />
<aura:handler name="init" value="{!this}" action="{!c.doInit}" />
<ui:button label="Update" press="{!c.updateRecord}" />
</aura:component>
UpdateRecordComponentController.js
This only includes the minimum error handling, but demonstrates how we can query and update records. Again, modify data types as needed for your purpose.
({
doInit: function(component) {
var action = component.get("c.queryRecords");
action.setParams({
query: "SELECT Id, No_Parent_Account__c FROM Account WHERE Id = '"+recordId+"'"
});
action.setCallback(this, function(result) {
// Add error handling here
if(component.isValid() && event.getState() === "SUCCESS") {
component.set("v.record", result.getReturnValue()[0]);
}
});
$A.enqueueAction(action);
},
updateRecord: function(component, event, helper) {
var record = component.get("v.record")
action = component.get("c.updateRecords");
record.No_Parent_Account__c = !record.No_Parent_Account__c;
action.setParams({
records: [record]
});
action.setCallback(this, function(result) {
// Add error handling here
if(component.isValid() && event.getState() === "SUCCESS") {
var toast = $A.get("e.force:showToast"),
refresh = $A.get("e.force:refreshView");
toast.setParams({
title: "Record Updated",
message: "The record was updated successfully."
});
toast.fire();
refresh.fire();
}
});
$A.enqueueAction(action);
}
})