\r\n
\r\n Hytech Earth Moving Engineers APPLICATION - PRIVACY POLICY\r\n
\r\n At Hytech Earth Moving Engineers, we appreciate that you are trusting us\r\n with information that is important to you, and we want to be transparent\r\n about how we use it. Here we describe the privacy practices for our\r\n applications, software and services (the “Services”). You will learn\r\n about the data we collect, how we use it, and the measures we take to\r\n keep it safe.\r\n
INFORMATION WE COLLECT
\r\n
\r\n When you use our Services, we collect the following types of\r\n information.\r\n
\r\n
ACCOUNT INFORMATION
\r\n
\r\n Some information is required to create an account on our Services,\r\n such as your name, email address, password and your mobile telephone\r\n number. You may also choose to provide other types of information,\r\n such as a profile photo, date of birth & gender.\r\n
\r\n
\r\n If you contact us or participate in a survey, contest, or promotion,\r\n Hytech Earth Moving Engineers collects the information you submit such\r\n as your name, contact information, and message.\r\n
\r\n
\r\n INFORMATION WE RECEIVE FROM YOUR USE OF OUR SERVICES\r\n
\r\n
LOCATION INFORMATION
\r\n
\r\n The Services include features that use precise location data,\r\n including GPS signals, device sensors, Wi-Fi access points, and cell\r\n tower IDs. We collect this type of data if you grant us access to your\r\n location while installing the application. We may also derive your\r\n approximate location from your IP address.\r\n
\r\n
HOW WE USE INFORMATION
\r\n
We use the information we collect for the following purposes,
\r\n
PROVIDE AND MAINTAIN THE SERVICES
\r\n
\r\n Using the information we collect, we are able to deliver the Services\r\n to you and honor our Terms of Service contract with you. For example,\r\n we need to use your information to provide you with the paperless\r\n warranty feature, and to give you customer support.\r\n
\r\n
IMPROVE, PERSONALISE AND DEVELOP THE SERVICES
\r\n
\r\n We use the information we collect to improve and personalize the\r\n Services and to develop new ones. For example, we use the information\r\n to troubleshoot and protect against errors; perform data analysis and\r\n testing; conduct research, and develop new features and Services.\r\n
\r\n
\r\n When you allow us to collect precise location information, we use that\r\n information to provide and improve features of the Services such as\r\n recording where the product was scanned.\r\n
\r\n
COMMUNICATE WITH YOU
\r\n
\r\n We use your information when needed to send you Service notifications\r\n and respond to you when you contact us. We may also use your\r\n information to promote new features or products that we think you\r\n would be interested in.\r\n
\r\n
PROMOTE SAFETY AND SECURITY
\r\n
\r\n We use the information we collect to promote the safety and security\r\n of the Services, our users, and other parties. For example, we may use\r\n the information to authenticate users, protect against fraud and\r\n abuse, respond to a legal request or claim, conduct audits, and\r\n enforce our terms and policies.\r\n
\r\n
\r\n For personal data, we rely on several legal bases to process the data.\r\n These include when you have given your consent, which you may withdraw\r\n at any time using your account settings and other tools; when the\r\n processing is necessary to perform a contract with you, like the Terms\r\n of Service; and our legitimate business interests, such as in\r\n improving, personalising, and developing the Services, marketing new\r\n features or products that may be of interest, and promoting safety and\r\n security as described above.\r\n
\r\n
HOW INFORMATION IS SHARED
\r\n
\r\n We do not share your personal information except in the limited\r\n circumstances described below.\r\n
\r\n
FOR LEGAL REASONS OR TO PREVENT HARM
\r\n
\r\n We may preserve or disclose information about you to comply with a\r\n law, regulation, legal process, or governmental request; to assert\r\n legal rights or defend against legal claims; or to prevent, detect, or\r\n investigate illegal activity, fraud, abuse, violations of our terms,\r\n or threats to the security of the Services or the physical safety of\r\n any person.\r\n
\r\n
\r\n Please note: Our policy is to notify you of legal process seeking\r\n access to your information, such as search warrants, court orders, or\r\n subpoenas unless we are prohibited by law from doing so. In cases\r\n where a court order specifies a non-disclosure period, we provide\r\n delayed notice after the expiration of the non-disclosure period.\r\n Exceptions to our notice policy include exigent or counterproductive\r\n circumstances, for example, when there is an emergency involving a\r\n danger of death or serious physical injury to a person.\r\n
\r\n
\r\n If we are involved in a merger, acquisition, or sale of assets, we\r\n will continue to take measures to protect the confidentiality of\r\n personal information and give affected users notice before\r\n transferring any personal information to a new entity.\r\n
\r\n
DATA RETENTION
\r\n
\r\n We keep your account information, like your name, email address, and\r\n password, for as long as your account is in existence because we need\r\n it to operate your account. We also keep information about you and\r\n your use of the Services for as long as necessary for our legitimate\r\n business interests, for legal reasons, and to prevent harm.\r\n
\r\n
\r\n ANALYTICS AND ADVERTISING SERVICES PROVIDED BY OTHERS\r\n
\r\n
\r\n We might work with partners who provide us with analytics and\r\n advertising services. This may include helping us understand how users\r\n interact with the Services, serving advertisements on our behalf\r\n across the internet, and measuring the performance of those\r\n advertisements. These companies may use cookies and similar\r\n technologies to collect information about your interactions with the\r\n Services and other websites and applications.\r\n
\r\n
INFORMATION SECURITY
\r\n
\r\n We work hard to keep your data safe. We use a combination of\r\n technical, administrative, and physical controls to maintain the\r\n security of your data. This includes using Transport Layer Security\r\n (“TLS”) to encrypt many of our Services. No method of transmitting or\r\n storing data is completely secure, however.\r\n
\r\n
CHANGES TO THIS POLICY
\r\n
\r\n We will notify you before we make material changes to this policy and\r\n give you an opportunity to review the revised policy before deciding\r\n if you would like to continue to use the Services.\r\n
\r\n
WHO WE ARE AND HOW TO CONTACT US
\r\n
\r\n If you have questions, suggestions, or concerns about this policy, or\r\n about our use of your information, please contact us on Customer Care\r\n No: +91 9811145620.\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Button } from \"primereact/button\";\r\nimport { connect } from \"react-redux\";\r\nimport { loginActions, alertActions, changePasswordActions } from \"../actions\";\r\nimport logo1 from \"./../assets/images/Header_logo.png\";\r\n\r\nclass DeleteAccount extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n resendbtn: true,\r\n UserName: null,\r\n Password: null,\r\n loggedIn: false,\r\n eyeToggle: true,\r\n forgotModal: false,\r\n Otp: null,\r\n\r\n formError: {\r\n UserName: \"\",\r\n Password: \"\",\r\n },\r\n formForgotHeading: \"Forgot Password\",\r\n buttonLabel: \"Submit\",\r\n Email: \"\",\r\n forgotFormError: {\r\n Email: null,\r\n },\r\n btnlog: true,\r\n };\r\n this.formHandle = this.formHandle.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.passwordToggle = this.passwordToggle.bind(this);\r\n this.hideFunc = this.hideFunc.bind(this);\r\n this.handleForgotChange = this.handleForgotChange.bind(this);\r\n this.openDialog = this.openDialog.bind(this);\r\n this.submitForgotForm = this.submitForgotForm.bind(this);\r\n this.setResend = this.setResend.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n sessionStorage.removeItem(\"LoggedInUser\");\r\n sessionStorage.removeItem(\"user\");\r\n sessionStorage.removeItem(\"UserData\");\r\n sessionStorage.removeItem(\"UserRole\");\r\n sessionStorage.removeItem(\"UserNameData\");\r\n sessionStorage.removeItem(\"UserEmailData\");\r\n sessionStorage.removeItem(\"UserMobileData\");\r\n sessionStorage.removeItem(\"CompanyData\");\r\n sessionStorage.removeItem(\"assignedPermissionsForUser\");\r\n }\r\n\r\n handleChange(event) {\r\n let { name, value } = event.target;\r\n let errors = this.state.formError;\r\n switch (name) {\r\n case \"IsActive\":\r\n value = event.target.checked;\r\n break;\r\n default:\r\n break;\r\n }\r\n this.formHandle(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n formHandle(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n switch (name) {\r\n case \"UserName\":\r\n if (value === null || value.length < 1) {\r\n errors.UserName = \"Please enter your email-id.\";\r\n } else if (value.length >= 1) {\r\n /* eslint-disable */\r\n if (!value.match(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/)) {\r\n errors.userName = \"Please enter valid email-id.\";\r\n } else errors.UserName = null;\r\n /* eslint-enable */\r\n } else errors.UserName = null;\r\n break;\r\n case \"Password\":\r\n if (value === null || value.length < 1) {\r\n errors.Password = \"Please enter password\";\r\n } else errors.Password = null;\r\n break;\r\n default:\r\n break;\r\n }\r\n return IsValid;\r\n }\r\n\r\n passwordToggle() {\r\n this.setState({ eyeToggle: !this.state.eyeToggle });\r\n }\r\n\r\n submitForm(event, flag) {\r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key];\r\n let valid = this.formHandle(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n var formData;\r\n if (flag == \"G\") {\r\n formData = {\r\n Email: this.state.UserName,\r\n Password: this.state.Password,\r\n RequestType: 1,\r\n };\r\n } else if (flag == \"L\") {\r\n formData = {\r\n Email: this.state.UserName,\r\n Password: this.state.Password,\r\n RequestType: 2,\r\n //otp: this.state.Otp,\r\n };\r\n }\r\n\r\n this.props.DeleteAccountUser(formData);\r\n }\r\n }\r\n\r\n //to reset form\r\n formForgotReset() {\r\n this.setState({ Email: this.state.UserName });\r\n let errors = this.state.forgotFormError;\r\n Object.entries(errors).map(([key, value]) => {\r\n errors[key] = \"\";\r\n return errors[key];\r\n });\r\n }\r\n //to open dialog\r\n openDialog() {\r\n this.setState({ visible: true, Email: this.state.Email });\r\n //this.formForgotReset();\r\n }\r\n //to hide function\r\n hideFunc() {\r\n this.setState({\r\n visible: false,\r\n buttonLabel: \"Submit\",\r\n });\r\n this.formForgotReset();\r\n }\r\n //to submit form\r\n submitForgotForm(event) {\r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.forgotFormError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key];\r\n let valid = this.validateForgotForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n const formData = {\r\n Email: this.state.Email,\r\n };\r\n\r\n this.props.forgotPassword(formData);\r\n }\r\n }\r\n //to handle change\r\n handleForgotChange(event) {\r\n const { name, value } = event.target;\r\n let errors = this.state.forgotFormError;\r\n\r\n this.validateForgotForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n\r\n setResend() {\r\n if (\r\n this.props.res &&\r\n this.props.res.ResponseCode &&\r\n this.props.res.ResponseCode == \"205\"\r\n ) {\r\n this.setState({\r\n resendbtn: false,\r\n });\r\n return false;\r\n } else return true;\r\n }\r\n //to validate form\r\n validateForgotForm(value, name) {\r\n let errors = this.state.forgotFormError;\r\n let IsValid = true;\r\n\r\n switch (name) {\r\n case \"Email\":\r\n if (value == null || value.length < 1) {\r\n IsValid = false;\r\n errors.Email = \"Please enter your email-id.\";\r\n } else if (value.length >= 1) {\r\n /* eslint-disable */\r\n if (!value.match(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/)) {\r\n IsValid = false;\r\n errors.Email = \"Please enter valid email-id.\";\r\n } else errors.Email = \"\";\r\n /* eslint-enable */\r\n } else errors.Email = \"\";\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n }\r\n render() {\r\n return (\r\n <>\r\n