Hi I'm new building Visualforce Pages with Controllers and I'm sure I'm missing something stupid here but I'm getting the following Error:
Error: Unknown constructor 'AuditTeamControllerExtension.AuditTeamControllerExtension(AuditController controller)
This are my custom controllers:
public class AuditController {
/* Audit__c Object Section Begin*/
public Audit__c Audit {get; set;}
public AuditController() {
Id id = ApexPages.currentPage().getParameters().get('id');
String newID = '\''+id+'\'';
system.debug('Reference ID: '+newID);
Audit = (id == null) ? new Audit__c() :
Database.query('SELECT ' + String.join(new List<String>(Schema.getGlobalDescribe().get('Audit__c').getDescribe().fields.getMap().keySet()), ',') + ' FROM Audit__c ' + 'WHERE ' + 'Id='+newID);
}
public PageReference save() {
try {
upsert(Audit);
} catch(system.DmlException e) {
ApexPages.addMessages(e);
return null;
}
//After sucessful Save, navigate to the custom view page
PageReference redirectSuccess = ApexPages.currentPage();
return redirectSuccess;
}
/* Audit__c Object Section End */
}
Extension:
public class AuditTeamControllerExtension {
public List<Audit_Team__c> AuditTeam {get; set;}
public AuditTeamControllerExtension() {
AuditTeam = [SELECT Id, Name, Audit__c, Auditor_Name__c, CreatedById, Role__c
FROM Audit_Team__c
WHERE Audit__c= :ApexPages.currentPage().getParameters().get('id')];
}
}
VF Markup:
<!-- Remember that the format for record ID is the following: https://salesforce_instance/apex/myPage?id=001D000000IRt2 -->
<apex:page controller="AuditController" extensions="AuditTeamControllerExtension" lightningStylesheets="true" showHeader="true" id="MainPage">
<apex:form >
<h2>Hello {!$User.FirstName} {!$User.LastName}, welcome back!</h2>
<apex:pageblock title="Audit">
<apex:pageBlockSection columns="3">
<apex:OutputField value="{! Audit.Name }"/>
<apex:OutputField value="{! Audit.Type__c }"/>
<apex:OutputField value="{! Audit.Status__c }"/>
<apex:OutputField value="{! Audit.Account__c }"/>
<apex:OutputField value="{! Audit.Department__c }"/>
<apex:OutputField value="{! Audit.Stage__c }"/>
<apex:OutputField value="{! Audit.Title__c }"/>
</apex:pageBlockSection>
<!-- This is the edit part
<apex:inlineEditSupport event="onClick" showOnEdit="saveButton, cancelButton" hideOnEdit="editButton"/>
<apex:pageBlockButtons >
<apex:commandButton value="Edit" action="{!save}" id="editButton"/>
<apex:commandButton value="Save" action="{!save}" id="saveButton"/>
<apex:commandButton value="Cancel" action="{!cancel}" id="cancelButton"/>
</apex:pageBlockButtons>
-->
</apex:pageblock>
<apex:pageBlock >
<apex:tabPanel switchType="client" selectedTab="" id="theTabPanel">
<apex:tab label="Audit" name="Audit" id="tabAudit">
<apex:pageBlock >
<apex:pageBlockSection columns="3">
<apex:OutputField value="{! Audit.Account__c}"/>
<apex:OutputField value="{! Audit.Audit_Category__c }"/>
<apex:pageBlockSectionItem ></apex:pageBlockSectionItem>
<apex:OutputField value="{! Audit.External_Auditor__c }"/>
<apex:OutputField value="{! Audit.Auditor_Names__c }"/>
<apex:OutputField value="{! Audit.OwnerId }"/>
<apex:OutputField value="{! Audit.Start_Date__c }"/>
<apex:OutputField value="{! Audit.End_Date__c }"/>
</apex:pageBlockSection>
<apex:pageBlockSection title="Audit" columns="3">
<apex:OutputField value="{! Audit.Account__c }"/>
<apex:OutputField value="{! Audit.Auditee_Contact__c }"/>
<apex:OutputField value="{! Audit.Department__c }"/>
<apex:OutputField value="{! Audit.Location__c }"/>
<apex:OutputField value="{! Audit.Business_Unit__c }"/>
</apex:pageBlockSection>
<apex:pageBlockSection title="Description" columns="1">
<apex:OutputField value="{! Audit.Title__c }"/>
<apex:OutputField value="{! Audit.Audit_Scope__c }" label="Audit Scope/Description"/>
</apex:pageBlockSection>
<apex:pageBlockSection title="Follow-up Audit__c" columns="3">
<apex:OutputField value="{! Audit.Follow_up_Required__c }"/>
<apex:OutputField value="{! Audit.Follow_up_Date__c }"/>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:tab>
<apex:tab label="Audit Team" name="AuditTeam" id="tabAuditTeam">
<apex:pageBlock >
<apex:pageBlockTable columns="3" rows="10" title="Audit Team" value="{!AuditTeam}" var="at">
<apex:column value="{!at.Auditor_Name__c}"/>
<apex:column value="{!at.Role__c}"/>
<apex:column value="{!at.CreatedById}"/>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:tab>
<apex:tab label="Files" name="Files" id="tabFiles">content for tab one</apex:tab>
<apex:tab label="Audit Checklist" name="AuditChecklist" id="tabAuditChecklist">content for tab two</apex:tab>
<apex:tab label="Finding" name="Finding" id="tabFinding">content for tab one</apex:tab>
<apex:tab label="Objective Evidence" name="ObjectiveEvidence" id="tabTwo">content for tab two</apex:tab>
<apex:tab label="Audit Response" name="AuditResponse" id="tabAuditResponse">content for tab one</apex:tab>
<apex:tab label="Implementation" name="Implementation" id="tabImplementation">content for tab two</apex:tab>
<apex:tab label="Record Activity" name="RecordActivity" id="tabRecordActivity">content for tab one</apex:tab>
</apex:tabPanel>
</apex:pageBlock>
</apex:form>
</apex:page>