Find your content:

Search form

You are here

Enabling contact object on customer portal

 
Share

I have a customer portal which uses "Authenticated Website" as license.

As of now, I am showing a custom object on portal. Everything works fine except when I create a lookup field on the custom object to contact object then it doesn't get visible on new record creation page.

This profile doesn't have access to Contact object.

How can I enable contact object so that profile have access to that?


Attribution to: doga

Possible Suggestion/Solution #1

Understand from the doc here : http://login.salesforce.com/help/doc/en/users_understanding_license_types.htm#PlatformPortalUserLicenses

Authenticated website is a user license that has access only to Documents
Ideas
Knowledge
Price Books
Products
Questions and Answers.

updates : Looks like you cannot give access to standard objects through the profile as per product manager at SF :> :

http://boards.developerforce.com/t5/Force-com-Sites-Site-com/User-types-for-Sites-Authenticated-Sites/td-p/174942

"Authenticated website user is created to address the custom web application uses cases where you need to securely authenticate your website visitors but you don't need CRM functionality. Like e-commerce checkout or recruiting resume submission.

This new license has a new sharing mechanism so it scales up to millions of users. It only provides access to custom objects and read access to documents, and it's cheaper than the customer portal licenses.

It's derived from portal licenses so technically it's a new type of portal license so the same integration you might have done for your sites-portal integration would work for this as well (just use this new license on the portal setup). Bulent Cinarkaya Product Manager- Salesforce.com"

Try switching the profile to " high volume customer portal user " from " authenticated website user"

http://fractastical.com/2010/05/28/authenticated-user-accounts-for-sites/

advantage: The “Authenticated Website User” license differs from the “High Volume Customer Portal User” license in one key area. Authenticated Website Users cannot access most of the standard objects (Account, Contact, etc) while High Volume Customer Portal Users can access these objects.

disadvantage: The High Volume Customer Portal User license is also way more expensive than the Authenticated Website User license. We got hung up on this because we were trying to let users edit their Account and Contact info but only had the Authenticated Website User license.


Attribution to: Rao

Possible Suggestion/Solution #2

So You can actually use any visual Force page for this and you don't have to pay extra money.I use authenticated website user profile for all of my users and- for the beginning-, yup you are completely true about not to be able to reach to account,contact etc. But Incase create a couple more variables as properties(for example:if you gonna use name,phone and mobilephone create three of them) and assign your contact list's fields to those variables.(like- AccountnameforVF=AccList[0].name,AccountphoneforVF=AccList[0].phone). At the end of your process.Write a method on the same class for the button on that page and just write update AccList on that. But to be able to achieve this, first you need to assign back(like- AccList[0].name=AccountnameforVF and update AccList;) and then you can update them easily. And If you are not gonna use a portal page then just create that visual force page and override the edit button on contact.

Example public string domatesname {get;set;} public string domatesbankname {get;set;} public string domatesBranchname {get;set;}

domates = [select id,name,Phone,Account_Classification2__c,Odeme_Sekli__c,Banka_Adi__c,Sube_Adi__c,Sube_Kodu__c,Hesap_Sahibi__c,IBAN_Numarasi__c,Total_Budget__c,Daily_Budget__c,Total_Cost__c,Remaining_Budget__c,Commission_Amount__c, ManagedBy__c from Account where Id=:CurrentAccount.id]; domatesname=domates[0].name; domatesbankname=domates[0].Banka_Adi__c;
domatesBranchname=domates[0].Sube_Adi__c;

then in the page under the button's action call the method you wrote

public void InfoUpdate() { domates[0].Banka_Adi__c=domatesbankname;
domates[0].Sube_Adi__c=domatesBranchname;
domates[0].Sube_Kodu__c=domatesBranchCode; update domates; }


Attribution to: Umit Can Uckan
This content is remixed from stackoverflow or stackexchange. Please visit https://salesforce.stackexchange.com/questions/4234

My Block Status

My Block Content