You need to sign in to do that
Don't have an account?
Update contact field on force.com page - access denied
Hi Folks,
I have assigned 4 custom boolean fields to the Contacts and these are for users to update which email they would like to subscribe too, such as Monthly Newsletter, New Courses etc.
I am trying to create a page on our force.com site that displays the 4 checkboxes with a save button, so we can attach a link to the bottom of the emails we send for users to update their subscriptions to the emails we send them.
Visualforce Page:
<apex:page Controller="EmailSubscriptionController"> <apex:form > <apex:messages /> <br /> <apex:inputCheckbox id="Brochure_email__c" value="{!contact.Brochure_email__c}"/>Brochure Email<br /> <apex:commandButton value="Save" action="{!save}"/> </apex:form> </apex:page>
Apex Class:
public class EmailSubscriptionController { public final Contact contact; public ID get_id {get;set;} public boolean email_brochure {get;set;} public EmailSubscriptionController() { contact = [SELECT Brochure_email__c FROM Contact WHERE Id = :ApexPages.currentPage().getParameters().get('id')]; } public Contact getContact() { return contact; } public PageReference save() { try { upsert(contact); } catch(System.DMLException e) { ApexPages.addMessages(e); return null; } return null; } }
The code shows me the force.com page fine, and check's the relevant boxes, but when i click update it gives me the following error message:
system.security.NoAccessException: Update access denied for Contact
Any ideas on how i can get this working?
Many Thanks
Dave
might be two reasons
1 Object level permissions are missing(like edit, create)
2 Missing Field level security for contact fields.(go to public access setting and give fls permissions)
I am trying to do something similar and see the same behavior.
Additionally, even though my "save" method is not yet executing any DML, I am seeing the same error, which I find very strange.
Can you try commenting out the body of your save() method (maybe just put in a debug line) and see if you still get this exception?
Follow this:
http://www.tgerm.com/2010/10/debugging-sites-authorization-required.html
"system.security.NoAccessException: Update access denied for Contact, controller action methods may not execute" exception.
However on internal page records are getting updated properly. Please suggest.