• VijayNi
  • NEWBIE
  • 205 Points
  • Member since 2020

  • Chatter
    Feed
  • 0
    Best Answers
  • 1
    Likes Received
  • 0
    Likes Given
  • 49
    Questions
  • 23
    Replies
Hi Team,

We have two custom profiles Profile A and B for custom objevt when user views the record on object A he see 50 records and user from profile B can see only 20 records . As profile controls object level access two profiles have same access what might be the issue .
Hi Team,

A system Administrator has created a report of 10 opportunities with creadted Date as today with no additional filters . When a user runs the report he can see around 40 reports but system admin can see only 10 records what additonal permisssion hasd caused the user tp see 40 opportunites report  User is in standrad profile 
Hi Team,

I am trying to create a validation Rule i have custom Field called status it has 4 picklist values(NEW,old,current,upgraded) when any one of the value is selected user shou;ld not be able to edit the Fields.


AND(
    ISPICKVAL( status__c,'NEW'),
    OR(
        ISCHANGED( NHPMS__Re_Admit__c ),
        ISCHANGED( NHPMS__Discharge_Date__c ),
        ISCHANGED( Next_Appointment__c )
)
    ISPICKVAL( status__c,'old'),
    OR(
        ISCHANGED( NHPMS__Re_Admit__c ),
        ISCHANGED( NHPMS__Discharge_Date__c ),
        ISCHANGED( Next_Appointment__c ))
    )
    ISPICKVAL( status__c,'current'),
    OR(
        ISCHANGED( NHPMS__Re_Admit__c ),
        ISCHANGED( NHPMS__Discharge_Date__c ),
        ISCHANGED( Next_Appointment__c ))
    
)
    ISPICKVAL( status__c,'upgraded'),
    OR(
        ISCHANGED( NHPMS__Re_Admit__c ),
        ISCHANGED( NHPMS__Discharge_Date__c ),
        ISCHANGED( Next_Appointment__c ))
    
)
)
Hi All,

I have a requriement where i need to display my  Lightning component in classic I  have included  Lightning component it in My visualforce page  but i am seeing the below erorr in nloading the Vf page  and output is being displayed as blank.
Vf Page :
<apex:page>
    <apex:includeLightning />
    <script>
        $Lightning.use("c:ExampleApp", function() {
          $Lightning.createComponent("c:ExampleApp",
              { displaytext: "This is your Lightning component"
              },
               function(cmp){
                   console.log('Lightning component is being displayed in a VF page');
              });
        });
    </script>
    <apex:includeLightning />
    <div style="Width:100%;height:150px;" id="lightningcomp" />
</apex:page>




User-added image


Can i include my Lightning component directly in salesforce classic ?
Thanks,
Vijay.
Hi All,

I have the below V page code  where i need to display the below with Alignment  and spaces between the case number and description i have used nobrackspace but it's not working as expected .
Can anyone suggest  how to align the output correctly 


<apex:page controller="NewCaseListController">
<apex:form >
 <apex:pageblock title="New Cases List" id="cases_list"> 
        <apex:repeat var="case" value="{! newCases }" rendered="true"  id="case_list"  >
           <li>
                <apex:outputLink value="/{!case.ID}" >
                    <apex:outputText value="{!case.CaseNumber}"/>
                    &nbsp;
                    <apex:outputText value="{!case.Subject}"/>
                </apex:outputLink>
            </li>
</apex:repeat>
</apex:pageBlock>
</apex:form>

</apex:page>




public class NewCaseListController {
    private String val = 'New';
public List<Case> getNewCases() { 
        List<Case> results = Database.query(
        'SELECT Id, CaseNumber,Subject FROM Case WHERE Status = \'' + String.escapeSingleQuotes(val)+'\'');
    return results;
}
}

Output of the case details

 
Hi All,

If we are laoding records through wokbench or dataloader how to know if the records got processed sucessfully or if there are any failures while loading the records

Thanks,
Vijay.
Hi All,

I am  creating Vf page  while rendering the Vf page i am geting the below error .

Error is in expression '{!case.Asset}' in component <apex:inputField> in page newaccountpage

Asset is the Lookup filed for the case object

<apex:page standardController="case" >

<apex:form >
<apex:pageBlock >
<apex:pageBlockSection title="Case Details " collapsible="true">
<apex:inputField value="{!case.Subject}"/>
<apex:inputField value="{!case.CaseNumber}"/>
<apex:inputField value="{!case.Priority}"/>
<apex:inputfield value="{!case.Asset}"/>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>

Thanks,
Vijay.
Hi Team,

can you please  help me on why we are getting the below error 

User-added image


19:12:51.998 ended SFDX: Deploy Source to Org
19:20:15.573 Starting SFDX: Deploy Source to Org
=== Deploy Errors
PROJECT PATH  ERRORS                                                
────────────  ──────────────────────────────────────────────────────
              LWC1503: Parsing error: Unexpected token (7:11) (7:11)
19:20:18.812 ended SFDX: Deploy Source to Org


Thanks,
Vijay.
Hi Team,

I am using @api record and @objectApiName in my ligthinging web component but the data  record id and objevt details are not  visible  on my record page .
Please find the screenshot  of account record page from the app builder page where the component i added it to the record page but it's not displaying the record id or object details .

account record page


Account record page after saving the component and refresh also i couldn't see the component in my account record page User-added image
Js file :

import { LightningElement,api } from 'lwc';
export default class CurrentRecordAndObjectInfo extends LightningElement {
    @api recordId;
    @api objectApiName;
}

Html file :

<template>
    <lightning-card title="current Record and object Info" icon-name="standard:user">
        <div class="slds-m-around_medium">
<p> Record Id <strong>{recordId}</strong></p>
<p> Object Api Name <strong>{objectApiName}</strong></p>
  </div>
 </lightning-card>
</template>

Meta.xml file :

<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
    </targets>
</LightningComponentBundle>


Thanks,
Vijay.
Hi Team,

I am doing a trailhead challenge my output is  showing the result twice .
Can anyone help me out what could be the  issue 
html file :
<template>
    <div>
        <div>Name: {name}</div>
        <div>Description: {description}</div>
        <lightning-badge label={material}></lightning-badge>
        <lightning-badge label={category}></lightning-badge>
        <div>Price: {price}</div>
        <div><img src={pictureUrl}/></div>
    </div>
</template>

Xml file :

<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
       <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
        <target>lightningCommunity__Page</target>
    </targets>
</LightningComponentBundle>


Js file :

import { LightningElement } from 'lwc';
export default class BikeCard extends LightningElement {
    name = 'Electra X4';
    description = 'A sweet bike built for comfort.';
    category = 'Mountain';
    material = 'Steel';
    price = '$2,700';
    pictureUrl = 'https://s3-us-west-1.amazonaws.com/sfdc-demo/ebikes/electrax4.jpg';
}

Thanks,
Vijay.User-added image
Hi  Team,

Can you help me in understand what is a masterLabel in saleforce i  am having a custom metadata (Support_Tier__mdt)

$CustomMetadata.Support_Tier__mdt.Bronze.MasterLabel.
I am creating a filed on account object i am trying to defalut value as Bronze but didn't undertand the usage of MasterLabel

Thanks,
Vijay.
Hi Team,

How can we execute a batch apex which is scheduled to run from monday to friday and exculde any public holidays  it should nor run on any public holidays.

One way is we can use schedulable class but how can we exclude a public holiday 


Thanks,
Vijay.

Hi Team,

i have a scenario where two user A and B are under same profile 
user A should only have read access and user B should only have write access how to achieve this 

One way I see is we need to create a profile and create two permission sets one with read and one with write and assign it to different users 

Thanks,
vijay. 

Hi Team,
I  have created a new lightning web component and deployed it into my dev org but when i am trying to add  the component it is not visible from app page .

I have deployed the lightning component from Vs code to source org 
Meta .xml file :

<?xml version="1.0" encoding="UTF-8" ?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
    <masterLabel>Product Card</masterLabel>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
        <target>lightningCommunity__Page</target>
    </targets>
    <targetConfigs>
        <targetConfig targets="lightning__RecordPage">
            <objects>
                <object>Product__c</object>
            </objects>
        </targetConfig>
    </targetConfigs>
</LightningComponentBundle>


bikeCard.html:
<template>
    <div>
        <div>Name: {name}</div>
        <div>Description: {description}</div>
        <lightning-badge label={material}></lightning-badge>
        <lightning-badge label={category}></lightning-badge>
        <div>Price: {price}</div>
        <div><img src={pictureUrl}/></div>
    </div>
</template>

bikeCard.js:
import { LightningElement } from 'lwc';
export default class bikeCard extends LightningElement {
   name = 'Electra X4';
   description = 'A sweet bike built for comfort.';
   category = 'Mountain';
   material = 'Steel';
   price = '$2,700';
   pictureUrl = 'https://s3-us-west-1.amazonaws.com/sfdc-demo/ebikes/electrax4.jpg';
 }





User-added image




Thanks,
Vijay.
Hi Team,

When to use salesforce APIs for postman vs Workbench

Thanks,
Vijay.
Hi  Team,

Can you help me when to use rest API and SOAP API when we want to integrate with external system .

We have a requirement where  salesforce data in our system needs to be updated in the external system an ERP appliaction as well .

Thanks,
Vijay.
Hi Team,

I was doing apex super badge while perfoming unit test i am facing the below error .
System.AssertException: Assertion Failed: Expected: 0, Actual: 280
I have checked  it through it should have been Expected as to be 280 but its showing as zero .
Can someone help me here  why my test class is showing as zero


@isTest
private class MaintenanceRequestHelperTest {
    @testSetup static void setup() {
        // Create one equip record with a 40 day maintenance cycle
        Product2 testEquip40 = new Product2(name='test',maintenance_cycle__c=40,replacement_part__c=true);
        insert testEquip40;
        
        // Create one equip record with a 50 day maintenance cycle
        Product2 testEquip50 = new Product2(name='test',maintenance_cycle__c=50,replacement_part__c=true);
        insert testEquip50;
        
        // Create one vehicle; the vehicle is not used for anything in these scenarios
        Vehicle__c testVehicle = new Vehicle__c(name='test');
        
        // Create 300 Cases with testEquip50, testVehicle
        // for the 'Repair' cases, create two Work Parts (one testEquip40 and one testEquip50)
        // all the Cases are created with Status='New'; we'll close them later
        // 140 are Type='Repair'; 140 are Type='Routine Maintenance'; 20 are Type='Mechanical' (to test non-creation of Cases)
        List<Case> testCases = new List<Case>();
        for (Integer i=0;i<140;i++) {
            Case c1 = new Case(Subject='Test '+ i,Status='New',Type='Repair',Equipment__c=testEquip50.Id,Vehicle__c=testVehicle.Id,Origin='Web');
            Case c2 = new Case(Subject='Test '+ 140 + i,Status='New',Type='Routine Maintenance',Equipment__c=testEquip50.Id,Vehicle__c=testVehicle.Id,Origin='Web');
            testCases.add(c1);
            testCases.add(c2);
        }
        for (Integer i=280;i<300;i++){
            Case c3 = new Case(Subject='Test '+i,Status='New',Type='Mechanical',Origin='Web');
            testCases.add(c3);
        }
        insert testCases;
        
        List<Work_Part__c> testWorkParts = new List<Work_Part__c>();
        for (Case c: testCases) {
            if (c.Type == 'Repair') {
                testWorkParts.add(new Work_Part__c(Maintenance_Request__c=c.Id,Equipment__c=testEquip40.Id));
                testWorkParts.add(new Work_Part__c(Maintenance_Request__c=c.Id,Equipment__c=testEquip50.Id));
            }
        }
        insert testWorkParts;
    }
    
    @isTest static void testCaseUpdate() {
        // get the test cases
        List<Case> cases = new List<Case>([SELECT Id, Status FROM Case WHERE Subject LIKE 'Test%']);
        
        // close the cases
        for (Case c: cases) {
            c.Status = 'Closed';            
        }
        update cases;

        // 280 cases should have been updated; the 20 Type='Mechanical' should not have been updated
        List<Case> updatedCases = [SELECT Id, Parent.Type FROM Case 
                                   WHERE Subject = 'Routine Maintenance'
                                     AND (Parent.Type = 'Repair' OR Parent.Type = 'Routine Maintenance')];
        System.assertEquals(updatedCases.size(), 280);

        // 140 'Repair' cases should have Work Parts with a due date of today()+40
        // because the two Work Parts have cycle times of 40 and 50, respectively, and we use the MIN.
        // And there should be 280 Work Part clones attached to these cases
        Date due = Date.today().addDays(40);
        List<Case> repairCases = [SELECT Id, Parent.Type, Date_Due__c FROM Case
                                  WHERE Subject = 'Routine Maintenance'
                                    AND Parent.Type = 'Repair'
                                    AND Date_Due__c = :due];
        System.assertEquals(140, repairCases.size());
        
        // And there should be 280 Work Part clones attached to these cases
        List<Work_Part__c> workParts = [SELECT Id, Maintenance_Request__r.Subject, Maintenance_Request__r.Parent.Type 
                                        FROM Work_Part__c
                                        WHERE Maintenance_Request__r.Subject = 'Routine Maintenance'
                                                AND Maintenance_Request__r.Parent.Type = 'Repair'];
        System.assertEquals(280, workParts.size());

        // Finally, for the 140 'Routine Maintenance' parents, 
        // the cycle time should be using the 50 days from the related Equipment 
        due = Date.today().addDays(50);
        List<Case> rmCases = [SELECT Id, Parent.Type, Date_Due__c FROM Case
                                  WHERE Subject = 'Routine Maintenance'
                                    AND Parent.Type = 'Routine Maintenance'
                                    AND Date_Due__c = :due];
        System.assertEquals(140, rmCases.size());
    }
}


Thanks,
Vijay.
Hi Team,

In process builder if the first set of actions of the criteria node is true and the immediate actions get executed .
The second set of criteria should also be  executed will the second set of actions get executed  or the process builder action stops the actions.


Thanks,
Vijay.


 
Hi Team,

can we use database.querylocator in apex class 

Thanks,
Vijay.
Hi Team,

I am trying to write a triiger when an account email is updated i want to update contact email as well. 
can you help me in achevie this from trigger .

trigger accountemailupdated on account(before insert,before update){
List<account> emailnew = new List<account>();
set<id> idvalue = new set<id>();
{
for(account a : trigger.new){
idvalue.add(a);
}
emailnew = [select id,name,email (select id,email from contacts) form account where account id in:idvalue]

for(contacts c :emailnew.accountid){
contacts con = new contacts();
if(emailnew.accountid==con.accountid)
{
con.email = emailnew.email;
}
update emailnew;
}
    
 
Hi  Team,

Can you help me in understand what is a masterLabel in saleforce i  am having a custom metadata (Support_Tier__mdt)

$CustomMetadata.Support_Tier__mdt.Bronze.MasterLabel.
I am creating a filed on account object i am trying to defalut value as Bronze but didn't undertand the usage of MasterLabel

Thanks,
Vijay.
Hi Team,

We have two custom profiles Profile A and B for custom objevt when user views the record on object A he see 50 records and user from profile B can see only 20 records . As profile controls object level access two profiles have same access what might be the issue .
Hi All,

If we are laoding records through wokbench or dataloader how to know if the records got processed sucessfully or if there are any failures while loading the records

Thanks,
Vijay.
Hi All,

I am  creating Vf page  while rendering the Vf page i am geting the below error .

Error is in expression '{!case.Asset}' in component <apex:inputField> in page newaccountpage

Asset is the Lookup filed for the case object

<apex:page standardController="case" >

<apex:form >
<apex:pageBlock >
<apex:pageBlockSection title="Case Details " collapsible="true">
<apex:inputField value="{!case.Subject}"/>
<apex:inputField value="{!case.CaseNumber}"/>
<apex:inputField value="{!case.Priority}"/>
<apex:inputfield value="{!case.Asset}"/>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>

Thanks,
Vijay.
Hi Team,

can you please  help me on why we are getting the below error 

User-added image


19:12:51.998 ended SFDX: Deploy Source to Org
19:20:15.573 Starting SFDX: Deploy Source to Org
=== Deploy Errors
PROJECT PATH  ERRORS                                                
────────────  ──────────────────────────────────────────────────────
              LWC1503: Parsing error: Unexpected token (7:11) (7:11)
19:20:18.812 ended SFDX: Deploy Source to Org


Thanks,
Vijay.
Hi Team,

I am using @api record and @objectApiName in my ligthinging web component but the data  record id and objevt details are not  visible  on my record page .
Please find the screenshot  of account record page from the app builder page where the component i added it to the record page but it's not displaying the record id or object details .

account record page


Account record page after saving the component and refresh also i couldn't see the component in my account record page User-added image
Js file :

import { LightningElement,api } from 'lwc';
export default class CurrentRecordAndObjectInfo extends LightningElement {
    @api recordId;
    @api objectApiName;
}

Html file :

<template>
    <lightning-card title="current Record and object Info" icon-name="standard:user">
        <div class="slds-m-around_medium">
<p> Record Id <strong>{recordId}</strong></p>
<p> Object Api Name <strong>{objectApiName}</strong></p>
  </div>
 </lightning-card>
</template>

Meta.xml file :

<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
    </targets>
</LightningComponentBundle>


Thanks,
Vijay.
Hi Team,
I  have created a new lightning web component and deployed it into my dev org but when i am trying to add  the component it is not visible from app page .

I have deployed the lightning component from Vs code to source org 
Meta .xml file :

<?xml version="1.0" encoding="UTF-8" ?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
    <masterLabel>Product Card</masterLabel>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
        <target>lightningCommunity__Page</target>
    </targets>
    <targetConfigs>
        <targetConfig targets="lightning__RecordPage">
            <objects>
                <object>Product__c</object>
            </objects>
        </targetConfig>
    </targetConfigs>
</LightningComponentBundle>


bikeCard.html:
<template>
    <div>
        <div>Name: {name}</div>
        <div>Description: {description}</div>
        <lightning-badge label={material}></lightning-badge>
        <lightning-badge label={category}></lightning-badge>
        <div>Price: {price}</div>
        <div><img src={pictureUrl}/></div>
    </div>
</template>

bikeCard.js:
import { LightningElement } from 'lwc';
export default class bikeCard extends LightningElement {
   name = 'Electra X4';
   description = 'A sweet bike built for comfort.';
   category = 'Mountain';
   material = 'Steel';
   price = '$2,700';
   pictureUrl = 'https://s3-us-west-1.amazonaws.com/sfdc-demo/ebikes/electrax4.jpg';
 }





User-added image




Thanks,
Vijay.
Hi Team,

I have the metadta and i want to create a custom object using the XML 
How to implement it  . Could you please help me here .
Can i load the data from Developer console 


<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>Accept</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>CancelEdit</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Clone</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Delete</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Edit</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>List</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>New</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>SaveEdit</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Tab</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>View</actionName>
<type>Default</type>
</actionOverrides>
<allowInChatterGroups>true</allowInChatterGroups>
<compactLayoutAssignment>SYSTEM</compactLayoutAssignment>
<deploymentStatus>Deployed</deploymentStatus>
<enableActivities>false</enableActivities>
<enableBulkApi>true</enableBulkApi>
<enableFeeds>false</enableFeeds>
<enableHistory>true</enableHistory>
<enableReports>true</enableReports>
<enableSearch>false</enableSearch>
<enableSharing>true</enableSharing>
<enableStreamingApi>true</enableStreamingApi>
<label>Work Part</label>
<nameField>
<displayFormat>PART-{0000}</displayFormat>
<label>Name</label>
<trackHistory>false</trackHistory>
<type>AutoNumber</type>
</nameField>
<pluralLabel>Work Parts</pluralLabel>
<searchLayouts/>
<sharingModel>ControlledByParent</sharingModel>
<visibility>Public</visibility>
</CustomObject>


Thanks,
Vijay.
Hi Team,

I would like to know  where does the data is stored in salesforce for a production environment whenever we create a new record say 1M record  and how to view the data from backend is it through developer console if its stored in salesforce.

An example say user is trying to fetch a records which are getting retrived by a SOQL query in an apextrigger .
how to find out if there are any perfomance issues or we can fine tune the query and where to see the query plan.

Thanks,
Vijay.
Hi Team,

I have a requirement where two users say user A and user B are having acess to the details of an object (patient__C) now how do i make sure that only those records where the user A can only see the details which he has acess and he should not see the details of user B from the object 

Thanks,
Vijay.
Hi Team,

I have a requirement for the below  to acheieve it using trigger
contact is the parent of account  having master detail relationship.
account is the parent of opportunity.
copy the opportunity name  field of opportunity from the conatct object 


Thanks,
Vijay.
 
Hi Team,

We have a requirement where two Objects Invoice and account . whenever an account is created  it should update total number of invoices and  amount on  Sum of amount object on account .

Account and Invoice object  are having lookup relationship
Account and Amount are the fileds on Invoices object
 
Hi Team,

I would like to know  the below output i have 10000 recors batch apex is processing them at 2000 recors in the third batch the query has  failed what is the result  will the other batch size executes and what is the output 

Thanks,
Vijay.
Hi All,

I want to delete an immediate actions from process builder  where  my Process Builder - Price Change Push Notification . There is an action
IMMEDIATE ACTIONS
Push Notification
Add Action
 I have set the fields  below  now i am unable to change it .
Set Apex Variables
Field*Type*Value*1 Field
propertyId1 Type
IDField ReferenceGlobal ConstantFormula1 Value
[Property__c].Id
Find a field...[Property__c].Id

I have deactiavted the  process builder aand  activated again now i am uanble to editt it can anyone tell me what is the issue ?
I don't want to clone it an make a new changes.

 
  • September 05, 2020
  • Like
  • 0
Hi All,

I am doing Use Apex to Automate Business Processes 
Set Up the BOTanicals App a trailhead challenge . while doing the below at the last step .

Click and select Setup.
In the Quick Find box, enter Flows.
Under Process Automation, select Flows.
Click Load Sample Data.
Click Run.
When you see YOUR FLOW FINISHED, close the Load Sample window.
Close the Flow Builder window.
Click and select BOTanicals.
I am unable to find the load sample data what could be the issue ?
  • September 04, 2020
  • Like
  • 0
Hi ,

I am getting the below error while creating a simple calcultor app . can anyone please help me .

calculator component

<aura:component >
    <aura:attribute name="input1" type ="integer" required ="true" description = "For first Input" /> 
    <aura:attribute name="input2" type ="integer" required ="true" description = "For second Input" />
    <lightning:input type="number" value="{!v.input1}" label="Please enter a value " required ="true" /> 
     <lightning:input type="number" value="{!v.input2}" label="Please enter a value " required ="true" />

    <lightning:button variant="Component Methods" label="add"  onclick="{! c.doAdd}"/>
    <lightning:button variant="Component Methods" label="sub"  onclick="{! c.dosub}"/>
    <lightning:button variant="Component Methods" label="Multiply"  onclick="{! c.doMul}"/>
    <lightning:button variant="Component Methods" label="Divide"  onclick="{! c.doDiv}"/>


          </aura:component>

controllerr :

({
    doAdd : function(component, event, helper) {
        var number1 = component.get('v.input1');
        var number2 = component.get('v.input2');
        alert(parseInt(number1) + parseInt(number2));
        
    },
    
    
    dosub : function(component, event, helper) {
         var number1 = component.get('v.input1');
        var number2 = component.get('v.input2');
        
    },
    
    doMul : function(component, event, helper) {
         var number1 = component.get('v.input1');
        var number2 = component.get('v.input2');
        
    },
    doDiv : function(component, event, helper) {
         var number1 = component.get('v.input1');
        var number2 = component.get('v.input2');
    },
    
})

Application :


<aura:application >
    <c:calculator />
    
</aura:application>