function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Shravani M 9Shravani M 9 

visualforce page - Command Button

Hi Friends,
We have a requirement that, we need to enable the upload button of Invoice once all other documents are uploaded.

Thanks in Advance.
<apex:actionRegion ><!-- Needed for re-rendering enclosed sections without re-rendering input file component -->

			<apex:pageBlockSection title="Close Down Requirements" columns="1">
				<apex:outputField value="{!workOrder.Resubmission_Notes__c}" rendered="{!NOT(ISBLANK(workOrder.Resubmission_Notes__c))}" />

				<apex:pageBlockSectionItem rendered="{!beforePicturesRequired}">
					<apex:outputPanel >
						<apex:outputLabel value="Before Pictures" />
						<br />
						<apex:outputText id="beforePictureStatus" value="({!workOrder.Before_Pictures__c})" />
                       <!-- <apex:actionSupport event="onclick" rerender="pbs"/> -->
					</apex:outputPanel>
					<c:PluploadS3 id="before" control="{!beforePictures}" uploadAction="{!gotBeforePictures}" rerender="beforePictureStatus" />
				</apex:pageBlockSectionItem>

				<apex:pageBlockSectionItem rendered="{!afterPicturesRequired}">
					<apex:outputPanel >
						<apex:outputLabel value="After Pictures" />
						<br />
						<apex:outputText id="afterPictureStatus" value="({!workOrder.After_Pictures__c})" />
					</apex:outputPanel>
					<c:PluploadS3 id="after" control="{!afterPictures}" uploadAction="{!gotAfterPictures}" rerender="afterPictureStatus"/>
				</apex:pageBlockSectionItem>

				<apex:pageBlockSectionItem rendered="{!lienWaiverRequired}">
					<apex:outputPanel >
						<apex:outputLabel value="Lien Waiver" />
						<br />
						<apex:outputText id="lienWaiverStatus" value="({!workOrder.Lien_Waiver_Status__c})" />
					</apex:outputPanel>
					<c:PluploadS3 id="lienWaiver" control="{!uploader}" uploadAction="{!gotLienWaiver}" rerender="lienWaiverStatus" />
				</apex:pageBlockSectionItem>
	
				<apex:pageBlockSectionItem rendered="{!SiteSignoffRequired}">
					<apex:outputPanel >
						<apex:outputLabel value="Site Sign Off" />
						<br />
						<apex:outputText id="siteSignOffStatus" value="({!workOrder.Site_Sign_Off_Status__c})" />
					</apex:outputPanel>
					<c:PluploadS3 id="siteSignOff" control="{!uploader}" uploadAction="{!gotSiteSignOff}" rerender="siteSignOffStatus"/>
				</apex:pageBlockSectionItem>

				<apex:pageBlockSectionItem rendered="{!PunchListRequired}">
					<apex:outputPanel >
						<apex:outputLabel value="Punch List" />
						<br />
						<apex:outputText id="punchListStatus" value="({!workOrder.Punch_List__c})" />
					</apex:outputPanel>
					<c:PluploadS3 id="punchList" control="{!uploader}" uploadAction="{!gotPunchList}" rerender="punchListStatus"/>
				</apex:pageBlockSectionItem>

				<apex:pageBlockSectionItem rendered="{!StatDecRequired}">
					<apex:outputPanel >
						<apex:outputLabel value="Stat Dec / CCDC" />
						<br />
						<apex:outputText id="statDecStatus" value="({!workOrder.Stat_Dec_CCDC__c})" />
					</apex:outputPanel>
					<c:PluploadS3 id="statDec" control="{!uploader}" uploadAction="{!gotStatDec}" rerender="statDecStatus"/>
				</apex:pageBlockSectionItem>
	
				<apex:pageBlockSectionItem rendered="{!othersRequired}">
					<apex:outputPanel >
						<div>
							<apex:outputLabel value="Other Requirements" />
						</div>
						<div>
							<apex:outputText id="otherRequirementsStatus" value="({!workOrder.Other_Requirements_Status__c})" />
						</div>
						<br />
						<div>
							<apex:outputText escape="false" value="{!OtherCloseDownDetail}" />
						</div>
					</apex:outputPanel>
					<c:PluploadS3 id="otherRequirements" control="{!uploader}" uploadAction="{!gotOtherRequirements}" />
				</apex:pageBlockSectionItem>

			</apex:pageBlockSection>

			</apex:actionRegion>
			
			<apex:pageBlockSection columns="1" id="pbs">
				<apex:pageBlockSectionItem rendered="{!InvoiceRequired}" id="Pbst">
					<apex:outputPanel id= "p1">
						<apex:outputLabel value="Invoice" />
						<br />
						<apex:outputText id="invoiceStatus" value="({!workOrder.Invoice_Status__c})" />
					</apex:outputPanel>
					<apex:outputPanel id="p2">
						<apex:outputText value="Invoice # " />
						<apex:outputText value="{!invoiceRec.Number__c}" rendered="{!NOT(invoiceNotSubmitted)}" />
                    	<apex:inputText value="{!invoiceRec.Number__c}" size="10" rendered="{!invoiceNotSubmitted}" />
                    	&nbsp;&nbsp;
                    	<apex:inputFile value="{!invoiceDoc.body}" filename="{!invoiceDoc.name}" rendered="{!invoiceNotSubmitted}" />
                    	<apex:commandButton action="{!submitInvoice}" disabled="{!IF(workOrder.Before_Pictures__c !=null,true,false)}" value="Upload" rendered="{!invoiceNotSubmitted}" />                     
					</apex:outputPanel>
				</apex:pageBlockSectionItem>
				<apex:repeat rendered="{!InvoiceRequired}" value="{!memberSpecificFields}" var="field" >
					<apex:pageBlockSectionItem >
						<apex:outputLabel value="{!field.label}" />
						<apex:inputField value="{!workOrder[field.fieldPath]}" />
					</apex:pageBlockSectionItem>
				</apex:repeat>
				<apex:pageBlockSectionItem >
					<apex:outputPanel >
						<apex:outputLabel value="" />
					</apex:outputPanel>
					<apex:outputPanel >
				        <apex:commandButton action="{!submitForApproval}" value="Submit for Approval" />
				        <br />
                        <apex:outputText rendered="{!isSubmitted}" value="✓Last Submitted for Approval " />
                        <apex:outputField rendered="{!isSubmitted}" value="{!workOrder.Contractor_Submission_Date__c}" />
                    </apex:outputPanel>
				</apex:pageBlockSectionItem>
			</apex:pageBlockSection>
		</apex:pageBlock>
	</apex:form>