Fairoj : Changes and issues fixes

This commit is contained in:
venbatechnologies@gmail.com 2019-10-24 17:15:06 +05:30
parent 83725caed0
commit 79c71aa4ae
39 changed files with 900 additions and 541 deletions

View File

@ -67,6 +67,8 @@ import {
} from "ngx-social-button";
import { PasswordChangeComponent } from './components/password-change/password-change.component';
import { ShareButtonsModule } from '@ngx-share/buttons';
import { OnlyNumberDirective } from './directives/only-number.directive';
import { DirectivesModuleModule } from './directives/directives-module/directives-module.module';
export function HttpLoaderFactory(http: HttpClient) {
@ -109,7 +111,8 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
UserCertificateComponent,
PrivacyPolicyComponent,
PasswordChangeComponent,
userCertificateDisplay
userCertificateDisplay,
// ProjectListComponent
],
@ -155,7 +158,8 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
MatProgressBarModule,
// MDBBootstrapModule.forRoot()
NgxSocialButtonModule,
ShareButtonsModule
ShareButtonsModule,
DirectivesModuleModule
],
providers: [
TranslateService,

View File

@ -88,7 +88,7 @@
<!-- Sponsor Column -->
<ng-container matColumnDef="Sponsor_Qty">
<mat-header-cell *matHeaderCellDef > Sponsored Qty </mat-header-cell>
<mat-cell data-label="Sponsored Qty" *matCellDef="let row;let i = index"> <input step="1" min="1" max="" title="Qty" [(ngModel)]="sponsor_qty[i]" class="text" size="2" type="number" (change)="somethingChanged($event.target.value,i,row.cost_per_unit,row.mat_id,row)"
<mat-cell data-label="Sponsored Qty" *matCellDef="let row;let i = index"> <input OnlyNumber="true" step="1" min="1" max="" title="Qty" [(ngModel)]="sponsor_qty[i]" class="text" size="2" type="number" (change)="somethingChanged($event.target.value,i,row.cost_per_unit,row.mat_id,row)"
class="sponsor_input" > </mat-cell>
</ng-container>
@ -121,10 +121,26 @@
</div>
</div>
<mat-paginator [pageSize]="pageSize" [pageSizeOptions]="[5, 10, 25, 50, 100]" showFirstLastButtons ></mat-paginator>
<div style="text-align: center;" *ngIf="dataStatus" fxLayoutAlign="center">
<mat-label style=" font-size: 1.25rem;">I am happy to contribute</mat-label>&nbsp;&nbsp;
<mat-radio-group [(ngModel)]="contribute_type" >&nbsp;&nbsp;&nbsp;
<mat-radio-button value="2" ><span style=" font-size: 1.25rem;">Material</span></mat-radio-button><br/>
<mat-radio-button value="1"><span style=" font-size: 1.25rem;">Funds</span></mat-radio-button>
</mat-radio-group><br/>
<!-- <mat-form-field appearance="outline" fxFlex="50" fxFlex.xs="100" class="select_cot_type">
<mat-label style=" font-size: 1.25rem;">I am happy to contribute</mat-label>
<mat-select color="secondary" placeholder="Select" [(ngModel)]="contribute_type" #username="ngModel">
<mat-option value="2"><span style=" font-size: 1.25rem;">Materials</span></mat-option>
<mat-option value="1"><span style=" font-size: 1.25rem;">Funds/Money</span></mat-option>
</mat-select>
<mat-error *ngIf="username.invalid && username.errors.required && (username.dirty || username.touched)">Contribute type is required</mat-error>
</mat-form-field> -->
</div>
<div class="pt-1 pr-1" style="text-align: right;" *ngIf="dataStatus">
<button mat-raised-button color="primary" (click)="finalSave(2)" class="mr-1 mb-1">I'd like to Contribute in Kind</button>
<button (click)="finalSave(1)" mat-raised-button style="background-color:rgb(69, 189, 189);color:white" >I'd like to Contribute in Cash</button>
<!-- <button mat-raised-button color="primary" (click)="finalSave(2)" class="mr-1 mb-1">I'd like to Contribute in Kind</button> -->
<button (click)="finalSave(contribute_type)" mat-raised-button style="background-color:rgb(69, 189, 189);color:white;font-weight: bold" >Submit</button>
</div>
</div>
<ng-template #status><h2>{{msg}}</h2></ng-template>
@ -163,7 +179,7 @@
<!-- <div fxLayout fxLayout="row" fxLayout.xs="column" fxLayoutGap.xs="0"> -->
<div class="text-center" fxFlex="100%" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="40" fxFlex.lg="100" fxFlex.xl="100">
<mat-form-field appearance="outline" style="width: 70%;text-align: center;">
<input matInput type="tel" placeholder="Amount in Rs." [(ngModel)]="general_devlop_amt" maxlength="10" (change)="dev_fund_change($event.target.value)" onkeypress="return event.charCode >= 48 && event.charCode <= 57">
<input matInput type="tel" OnlyNumber="true" placeholder="Amount in Rs." [(ngModel)]="general_devlop_amt" maxlength="10" (change)="dev_fund_change($event.target.value)" onkeypress="return event.charCode >= 48 && event.charCode <= 57">
</mat-form-field>
<!-- </div> -->
</div>

View File

@ -264,4 +264,16 @@ a {
width:30%;
text-align: left;
}
}
.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
border-color: cyan;
}
::ng-deep .mat-select-content{
width:2000px;
background-color: red;
font-size: 10px;
}

View File

@ -43,6 +43,7 @@ export class ContributeComponent implements OnInit {
msg: any;
@ViewChild('table_element',{static:true}) table_element : ElementRef
clientWidth: any;
contribute_type:any='';
constructor(public restApi:ApiService,public fb:FormBuilder,public router:Router,private apiService:ApiService,public schInfo:SchoolDetailsService) {
// Create 100 users
@ -345,6 +346,10 @@ export class ContributeComponent implements OnInit {
alert("Please tell us the number of items you would like to contribute");
return
}
if(this.contribute_type == '' ){
alert("Please choose the contribute type");
return
}
let data = {'records':
{
'id':'',
@ -387,7 +392,7 @@ export class ContributeComponent implements OnInit {
return
}
if(this.general_devlop_amt ==''){
alert("Please tell us the number of items you would like to contribute");
alert("Please Fill the Amount");
return
}
let data = {'records':

View File

@ -18,7 +18,8 @@
<input matInput placeholder="Password" type="password" name="password" required formControlName="password">
</mat-form-field>
<button class="mat-green" mat-raised-button (click)="csrUserLogin()">SIGN IN</button>
<p class="mat-text-warn mb-0">Forgot password?</p>
<p class="mat-text-warn mb-0" style="text-align: right;color:red;"><a style="color:red;
text-decoration: underline;" (click)="forgotPassworDialog()" class="mat-text-primary"><span style="color:red;">Forgot Password?</span></a></p>
<p class="mb-0">Don't have an account? <a (click)="registerDialog()" class="mat-text-primary">Register Here</a></p>
</div>
<!-- <div>

View File

@ -9,4 +9,14 @@
transition: transform 1.5s;
// color: blue;
cursor: pointer;
}
.forgot_p{
float: right;
}
.forgot_a{
color:red;
text-decoration: underline;
}
.forgot_a :hover{
text-decoration: none;
}

View File

@ -4,9 +4,10 @@ import { FormControl, FormBuilder } from '@angular/forms';
import { environment } from 'environments/environment';
import { ApiService } from 'app/shared/api.service';
import { Location } from "@angular/common";
import { MatDialog } from '@angular/material';
import { MatDialog, MatDialogRef } from '@angular/material';
import { RegisterComponent } from '../register/register.component';
import { AdminLayoutComponent } from 'app/layouts/admin/admin-layout.component';
import { PasswordChangeComponent } from '../password-change/password-change.component';
@Component({
selector: 'ms-login-session',
@ -22,7 +23,7 @@ export class LoginComponent {
previousUrl: string;
constructor(public restApi:ApiService,public fb:FormBuilder,public router:Router,
private location:Location,private matDialog:MatDialog) {
private location:Location,private matDialog:MatDialog,private dialogRef:MatDialogRef<LoginComponent>) {
// console.log(this.router.events);
@ -111,6 +112,15 @@ this.previousUrl = this.restApi.getPreviousUrl();
panelClass: 'custom-modalbox'
})
}
forgotPassworDialog(){
this.dialogRef.close();
this.matDialog.open(PasswordChangeComponent,{
"height":"360px",
"width":"320px",
panelClass: 'custom-modalbox',
data:'forgotPass'
})
}
}

View File

@ -4,6 +4,7 @@
<div class="close_icon" (click)="closeDialog()">
<mat-icon >close</mat-icon>
</div>
<div *ngIf="!forgotPassComponent">
<header> <h4>Password Change</h4></header>
<!-- <mat-card style="width:100%">
@ -16,6 +17,9 @@
<mat-form-field appearance="outline" style="width:100%">
<input matInput type="password" placeholder="Password" formControlName="password" autocomplete="off">
<mat-error *ngIf="passwordChangeForm.controls['password'].hasError('required')">Password is Required</mat-error>
<mat-error *ngIf="passwordChangeForm.controls['password'].hasError('minlength')">Password must be minimum of 4 Characters</mat-error>
<mat-error *ngIf="passwordChangeForm.controls['password'].hasError('maxlength')">Password must be maximum of 12 Characters</mat-error>
</mat-form-field>
<mat-form-field appearance="outline" style="width:100%">
<input matInput type="password" placeholder="Confirm Password" formControlName="confirm_password" autocomplete="off" (keyup)="checkValidators($event.target.value,'pass')">
@ -24,7 +28,33 @@
<button style="float:right;" class="mat-red" mat-raised-button (click)="csrUserRegistration()">Update</button> <br/>
</form>
</div>
<div *ngIf="forgotPassComponent">
<header> <h4>Forgot Password</h4></header>
<!-- <mat-card style="width:100%">
<mat-card-header>
<mat-card-title>
</mat-card-title>
</mat-card-header> -->
<form [formGroup]="forgotPassForm">
<mat-form-field appearance="outline" style="width:100%">
<input matInput type="text" placeholder="Email" formControlName="mail" autocomplete="off">
<mat-error *ngIf="forgotPassForm.controls['mail'].hasError('required')">Email is required</mat-error>
<mat-error *ngIf="forgotPassForm.controls['mail'].hasError('email')">Invalid Email</mat-error>
</mat-form-field>
<mat-form-field appearance="outline" style="width:100%">
<input OnlyNumber="true" matInput type="number" placeholder="Mobile Number" formControlName="mobile" autocomplete="off" >
<mat-error *ngIf="forgotPassForm.controls['mobile'].hasError('required')">mobile number is required</mat-error>
<mat-error *ngIf="forgotPassForm.controls['mobile'].hasError('min')">minimum 10 digit required</mat-error>
<mat-error *ngIf="forgotPassForm.controls['mobile'].hasError('max')">maximum 12 digit is allowed</mat-error>
</mat-form-field>
<button style="float:right;" class="mat-red" mat-raised-button (click)="forgotPassSubmit()">Submit</button> <br/>
</form>
</div>
<!-- </mat-card> -->
</div>
</div>

View File

@ -14,14 +14,17 @@ export class PasswordChangeComponent implements OnInit {
passwordChangeForm:FormGroup
pass_pattern_error: boolean;
go_reg: any;
forgotPassForm:FormGroup
forgotPassComponent: boolean;
constructor(private restApi:ApiService,private fb:FormBuilder,private dialogRef:MatDialog,@Inject(MAT_DIALOG_DATA) public data:any,private router:Router) {
console.log(data)
}
ngOnInit() {
if(this.data !='forgotPass'){
this.passwordChangeForm=this.fb.group({
id:[this.data,Validators.compose([Validators.required])],
password:['',Validators.compose([Validators.required])],
password:['',Validators.compose([Validators.required,Validators.minLength(4),Validators.maxLength(12)])],
confirm_password:['',Validators.compose([Validators.required])]
// name:[''],
// email:[{value:'',disabled:true}],
@ -39,6 +42,14 @@ export class PasswordChangeComponent implements OnInit {
})
}
else{
this.forgotPassComponent=true
this.forgotPassForm=this.fb.group({
mail:['',Validators.compose([Validators.email,Validators.required])],
mobile:['',Validators.compose([Validators.required, Validators.min(1000000000), Validators.max(999999999999)])]
})
}
}
checkValidators(value,option){
if(option == 'pass'){
if(value == this.passwordChangeForm.value.password){
@ -86,5 +97,20 @@ export class PasswordChangeComponent implements OnInit {
closeDialog(){
this.dialogRef.closeAll()
}
forgotPassSubmit(){
if(this.forgotPassForm.invalid){
alert("Please Fill all the Fields")
return;
}
this.restApi.forgetPwd(this.forgotPassForm.value).subscribe(res=>{
if(res['dataStatus']){
alert(res['msg'])
this.dialogRef.closeAll()
}
else{
alert(res['msg'])
}
})
}
}

View File

@ -48,7 +48,7 @@
<mat-card-content style="text-align: center;">
<h3><strong><span class="amount"><span class="currency-symbol">&#8377;&nbsp;</span>{{grand_tot_value}}</span></strong></h3><br/>
<mat-radio-group aria-label="Payment Mode" [(ngModel)]="payment_mode" (click)="changeValidation($event)">
<mat-radio-group aria-label="Payment Mode" [(ngModel)]="payment_mode" (change)="changeValidation($event,'1')">
<mat-radio-button value="1" >Online</mat-radio-button>&nbsp;
<mat-radio-button value="2">Offline</mat-radio-button>
</mat-radio-group>
@ -72,14 +72,15 @@
</mat-form-field>&nbsp;&nbsp;&nbsp; -->
<label>Please tell us when you would like to deliver the selected items :</label><br>
<mat-form-field appearance="outline">
<input matInput [matDatepicker]="picker" [min]="maxDate" placeholder="Delivery date" formControlName="do_delivery">
<input matInput [matDatepicker]="picker" [min]="maxDate" placeholder="Delivery date" formControlName="do_delivery" required>
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
<mat-error *ngIf="contributeKind.controls['do_delivery'].errors">Delivery Date is Required</mat-error>
</mat-form-field>&nbsp;&nbsp;&nbsp;<br/>
<label>Please deliver the items to the following address :</label><br>
<mat-form-field appearance="outline" >
<!--<label>Please deliver the items to the following address :</label><br>
<mat-form-field appearance="outline" >
<input matInput placeholder = "Delivery Point" type="text" formControlName="delivery_point">
</mat-form-field>&nbsp;&nbsp;&nbsp;<br/>
</mat-form-field>&nbsp;&nbsp;&nbsp;<br/> -->
<label>Please leave your comments and any other inputs here :</label><br>
<mat-form-field appearance="outline">
<textarea matInput placeholder="Remarks" type="text" formControlName="remarks"></textarea>
@ -114,7 +115,7 @@
<mat-card-title>Payment Details</mat-card-title>
<form [formGroup]="offlineDetForm">
<mat-form-field style="width: 100%;">
<mat-select placeholder="Payment Mode" formControlName="payment_type">
<mat-select placeholder="Payment Mode" formControlName="payment_type" (selectionChange)="changeValidation($event,'2')">
<mat-option *ngFor="let value of payment_mode_data" [value]="value.id">{{value.name}}</mat-option>
</mat-select>
<mat-error>Please Choose the option </mat-error>
@ -123,13 +124,15 @@
<div fxLayout="row" fxLayout.xs="column">
<mat-form-field class="mr-1" fxFlex.xs="100" fxFlex="50" >
<input matInput type="text" formControlName="payment_ref" placeholder="Cheque / DD Number">
<input OnlyNumber="true" matInput type="text" formControlName="payment_ref" placeholder="Cheque / DD Number">
<mat-error *ngIf="offlineDetForm.controls['payment_ref'].errors">Cheque / DD Number is required</mat-error>
</mat-form-field>
<mat-form-field fxFlex.xs="100" fxFlex="50">
<input matInput [matDatepicker]="picker" placeholder="Date" formControlName="check_date">
<input matInput [matDatepicker]="picker" [min]="checkDate_DD_min" [max]="checkDate_DD_max" placeholder="Date" formControlName="check_date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
<mat-error *ngIf="offlineDetForm.controls['check_date'].errors">Date is required</mat-error>
</mat-form-field>
</div>
<div fxLayout="row" fxLayout.xs="column">
@ -157,7 +160,7 @@
</div>
<div *ngIf="offlineDetForm.value.check_deposit_mode == '2' && offlineDetForm.controls['check_deposit_mode']">
<mat-form-field style="width: 100%;">
<input matInput type="text" formControlName="cheque_drop_address" placeholder="Cheque Drop Details">
<input matInput type="text" formControlName="cheque_drop_address" placeholder="Please provide details of the bank, branch where the cheque is dropped">
</mat-form-field>
</div>
</div>
@ -167,12 +170,14 @@
<div fxLayout="row">
<mat-form-field style="width: 50%;" class="mr-1">
<input matInput type="text" formControlName="payment_ref" placeholder="Transaction Reference">
<input matInput type="text" formControlName="payment_ref" placeholder="Transaction Reference Id">
<mat-error *ngIf="offlineDetForm.controls['payment_ref'].errors">Transaction Reference Id is required</mat-error>
</mat-form-field>
<mat-form-field style="width: 50%;">
<input matInput [matDatepicker]="picker" placeholder="Date" formControlName="check_date">
<input matInput [matDatepicker]="picker" [max]="maxDate" placeholder="Date" formControlName="check_date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
<mat-error *ngIf="offlineDetForm.controls['check_date'].errors">Date is required</mat-error>
</mat-form-field>
</div>
</div>
@ -183,9 +188,9 @@
</div>
<ul>
<li *ngIf="payment_mode == '1'"><span>Tamil Nadu State Parent Teacher Association (TNPTA) accepts online voluntary contributions using Net Banking or VISA-Debit/Credit Cards in Indian Rupees (INR) from Individuals, Organizations, Trusts,Companies and Institutions etc.</span></li>
<li><span>All contributions towards Tamil Nadu State Parent Teacher Association (TNPTA) are exempt from Income Tax under section 80 (G).</span></li>
<li><span>The PAN Number of Tamil Nadu State Parent Teacher Association (TNPTA) is AACAT2920R.</span></li>
<li *ngIf="payment_mode == '1'"><span>Tamil Nadu State Parent Teacher Association (TNPTA) accepts online voluntary contributions using Net Banking or Debit/Credit Cards in Indian Rupees (INR) from Individuals, Organizations, Trusts,Companies and Institutions etc.</span></li>
<li *ngIf="payment_mode == '1' || payment_mode == '2'"><span>All contributions towards Tamil Nadu State Parent Teacher Association (TNPTA) are exempt from Income Tax under section 80 (G).</span></li>
<li *ngIf="payment_mode == '1' || payment_mode == '2'"><span>The PAN Number of Tamil Nadu State Parent Teacher Association (TNPTA) is AACAT2920R.</span></li>
</ul>

View File

@ -56,9 +56,19 @@ export class PaymentComponent implements OnInit {
offlineDetForm:FormGroup;
payment_mode_data=[{id:1,name:"Cheque/DD"},{id:2,name:"Bank Transfer"}]
deposit_mode_data=[{id:1,name:"Despatch"},{id:2,name:"Cheque Drop"}]
checkDate_DD_min: any;
checkDate_DD_max: any;
constructor(public restApi:ApiService,public fb:FormBuilder,public router:Router,private apiService:ApiService) {
this.isToken();
console.log(this.maxDate)
let month = this.maxDate.getMonth();
let year = this.maxDate.getFullYear();
let prevMonth = (month === 0) ? 10 : month -2;
let nextMonth = (month === 11) ? 12 : month + 1;
this.checkDate_DD_min=new Date()
this.checkDate_DD_max=new Date()
this.checkDate_DD_min.setMonth(prevMonth);
this.checkDate_DD_max.setMonth(nextMonth);
}
ngOnInit() {
@ -83,9 +93,10 @@ export class PaymentComponent implements OnInit {
if(this.contribute_type == '2'){
this.contributeKind=this.fb.group({
delivery_point:[''],
do_delivery:[''],
do_delivery:['',Validators.compose([Validators.required])],
remarks:['']
})
}
this.offlineDetForm=this.fb.group({
payment_type:[''],
@ -117,6 +128,13 @@ export class PaymentComponent implements OnInit {
}
}
validateAllFormFields(formGroup: FormGroup) {
console.log(formGroup) //{1}
Object.keys(formGroup.controls).forEach(field => { // {1}
const control = formGroup.get(field); // {2}
control.markAsTouched({ onlySelf: true }); // {3}
});
}
proceed_for_payment(){
if(this.payment_mode == '' && this.contribute_type != '2'){
alert('Please Choose the Payment Option')
@ -124,14 +142,19 @@ export class PaymentComponent implements OnInit {
}
let params=this.contribute_params
if(this.contribute_type == '2'){
params.records.mat_delivery_point=this.contributeKind.value.delivery_point
if(this.contributeKind.invalid){
alert("Please Fill the Date of Delivery Field")
return;
}
// params.records.mat_delivery_point=this.contributeKind.value.delivery_point
params.records.mat_delivery_date=this.contributeKind.value.do_delivery
params.records.gen_dev_fund_remarks=this.contributeKind.value.remarks
}
if(this.payment_mode == '2'){
if(this.offlineDetForm.invalid){
alert('Please Choose the Payment Mode');
this.validateAllFormFields(this.offlineDetForm)
alert('Please fill all the fields');
return;
}
params.records.payment_type=this.offlineDetForm.value.payment_type
@ -207,13 +230,37 @@ export class PaymentComponent implements OnInit {
// }
// }
changeValidation(value){
if(value.target.innerText == 'Offline'){
changeValidation(event,flag){
console.log(event)
// for paymet type 1-online 2-offline
if(flag == '1'){
if(event.value == '2'){
this.offlineDetForm.controls['payment_type'].setValidators(Validators.compose([Validators.required]))
}
else{
this.offlineDetForm.controls['payment_type'].clearValidators();
this.offlineDetForm.controls['payment_type'].updateValueAndValidity();
}
}
// for paymet ref 1-check-dd 2-bt
if(flag== '2'){
if(event.value == '1'){
this.offlineDetForm.controls['payment_ref'].setValidators(Validators.compose([Validators.required]))
this.offlineDetForm.controls['check_date'].setValidators(Validators.compose([Validators.required]))
this.offlineDetForm.controls['check_branch_bank'].setValidators(Validators.compose([Validators.required]))
this.offlineDetForm.controls['check_deposit_mode'].setValidators(Validators.compose([Validators.required]))
}
else if(event.value == '2'){
this.offlineDetForm.controls['payment_ref'].setValidators(Validators.compose([Validators.required]))
this.offlineDetForm.controls['check_date'].setValidators(Validators.compose([Validators.required]))
this.offlineDetForm.controls['check_branch_bank'].clearValidators()
this.offlineDetForm.controls['check_branch_bank'].updateValueAndValidity()
this.offlineDetForm.controls['check_deposit_mode'].clearValidators()
this.offlineDetForm.controls['check_deposit_mode'].updateValueAndValidity()
}
}
}

View File

@ -6,478 +6,487 @@
</mat-card-title>
</mat-card-header>
<mat-card-content><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="LibreOffice 4.1.6.2 (Linux)">
<META NAME="AUTHOR" CONTENT="Arun Selvan">
<META NAME="CREATED" CONTENT="20191016;121800000000000">
<META NAME="CHANGEDBY" CONTENT="Arun Selvan">
<META NAME="CHANGED" CONTENT="20191016;134600000000000">
<META NAME="AppVersion" CONTENT="16.0000">
<META NAME="DocSecurity" CONTENT="0">
<META NAME="HyperlinksChanged" CONTENT="false">
<META NAME="LinksUpToDate" CONTENT="false">
<META NAME="ScaleCrop" CONTENT="false">
<META NAME="ShareDoc" CONTENT="false">
<STYLE TYPE="text/css">
<!--
@page { margin: 1in }
P { margin-bottom: 0.08in; direction: ltr; widows: 2; orphans: 2 }
A:link { color: #0000ff; }
-->
</STYLE>
</HEAD>
<BODY LANG="en-IN" LINK="#0000ff" DIR="LTR">
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">LAST UPDATED: OCTOBER
16, 2019</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">This Privacy Policy
applies to&nbsp;</FONT></FONT><A style="color:#0000ff;text-decoration: underline" HREF="https://contribute.tnschools.gov.in"><FONT FACE="Arial, serif">https://contribute.tnschools.gov.in</FONT></A><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;(“</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Website</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&quot;),
and all other websites, applications, online services, and other
interactive features or downloads that post a link to this Privacy
Policy, whether accessed via computer, mobile device or otherwise
(collectively, &quot;</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Sites</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">,&quot;
and individually, a “</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Site</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">”).
The Sites are owned or controlled by TAMIL NADU STATE PARENT TEACHER
ASSOCIATION ( “</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>TNTPTA</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">
,&quot;</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Owner</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&quot;).
This Privacy Policy only covers information collected at the Sites.
This Privacy Policy may apply to the information that Owner collects
offline, but only if specifically stated at the time of collection or
if the information is combined in our databases. Please review this
Privacy Policy carefully. In addition, please review our Terms of
Use, which governs your use of the Sites. This Privacy Policy is
incorporated into and subject to the Terms of Use. By visiting the
Sites you agree to be bound by the terms of this Privacy Policy. If
you do not agree please do not use or access the Site and immediately
close this page.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">We fully describe our
privacy practices below in this Privacy Policy.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>THIS OVERVIEW
HIGHLIGHTS SOME IMPORTANT INFORMATION REGARDING OUR USE AND SHARING
OF YOUR INFORMATION, BUT PLEASE REVIEW OUR FULL PRIVACY POLICY BEFORE
USING OUR SITE.</B></FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">We primarily use the
information we collect when you interact with the Sites in connection
with your relationship with the Owner, your use of the Sites, and for
sending you information from us or on behalf of third parties. Please
review the “</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Information
Collection</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">
and “</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>How
We Use Your Information</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">
sections for a full description of the information we collect and how
we use that information. Note that we do not share your Personal
Information (information that identifies you as a specific
individual, such as your full name, email address or street address)
with third parties for their marketing purposes without your consent;
however, we may share your Personal Information under certain limited
circumstances. For more information, please review the section below
entitled “</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>How
We May Share the Information Collected</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">.”</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">This Privacy Policy
is published in accordance with the provisions of the Indian
Information Technology Act, 2000 and the rules made thereunder,
specifically, The Information Technology (Reasonable Security
Practices and Procedures and Sensitive Personal data or information)
Rules, 2011 and the Information Technology (Intermediary Guidelines)
Rules, 2011.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Personal Information
for the purposes of this Policy shall include, but not limited to,
information regarding Your name, photograph, address, telephone
number, date of birth, gender, e-mail address, financial information
details, Facebook profile, contacts, etc.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<BR><BR>
</P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>By Visiting This
Site You Agree To Be Bound By The Terms And Conditions Of This </B></FONT></FONT>
</P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">1.
Collection of Personal Information, Other Information and Its Usage</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;This
Privacy Policy explains the nature of personal and non-personal
information that the Site collects or receives and the manner in
which it possesses, stores, deals or handles such personal and
non-personal information.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Where
possible, we indicate which fields are required and which fields are
optional. You always have the option to not provide information by
choosing not to use a particular service or feature on the Site. We
may automatically track certain information about you based upon your
behaviour on our Site.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
use data collection devices such as &quot;Cookies or Web Beacons&quot;
on certain pages of the Site to help analyse our web page flow,
measure promotional effectiveness, and promote trust and safety.
&quot;Cookies&quot; are small files placed on your hard drive that
assist us in providing our services. We offer certain features that
are only available through the use of a &quot;Cookie&quot;. We also
use Cookies to allow you to enter your password less frequently
during a session. Cookies or Web Beacons can also help us provide
information that is targeted to your interests, tell us which parts
of our website you have visited, and facilitate and measure the
effectiveness of advertisements and web searches.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.4</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;The
information as collected will be retained by TNTPA in compliance of
the applicable laws.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Information
for the purposes of this Policy shall include, but shall not be
limited to the following:</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Personal
information such as your name, photograph, address, telephone number,
date of birth, gender, e-mail address, financial information details,
etc.;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Your
log-in and password details in connection with the account sign-in
process. The Owner reserve the right to reject usernames that are
offensive or are found to be unsuitable by the Owner;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Limited
access to your Facebook/ social media profile if you choose to log in
through such login process;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.4</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;If
you transact with us (through making donations / contributions), we
collect some additional information, such as a billing address, a
credit / debit card number and a credit / debit card expiration date
and/ or other payment instrument details and tracking information
from cheques or money orders;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.5</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;If
you choose to post mails or leave feedback, we will collect that
information you provide to us. We retain this information as
necessary to resolve disputes, provide User support and troubleshoot
problems as permitted by law;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.6</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;If
you send us personal correspondence, such as emails or letters, or if
other Users or third parties send us correspondence about your
activities or postings on the Site, we may collect such information
into a file specific to you;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.7</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Details
of any requests or transactions made by you through the Site; and</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.8</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;IP
addresses, browser and operating system specifications, location etc.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.6</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Such
personal information may be collected in various ways including
during the course of you registering as a user/donor on the Site;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.7</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;You
hereby represent to us that:</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.7.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;the
information you provide us from time to time is and shall be
authentic, correct, current and updated and you have all the rights,
permissions and consents as may be required to provide such
information to us;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.7.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Your
providing the information to us and our consequent storage,
collection, usage, transfer, access or processing of the same shall
not be in violation of any third party agreement, laws, charter
documents, judgments, orders and decrees;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.7.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
and each of our entities officers, directors, contractors or agents
shall not be responsible for the authenticity of the information that
you or any other user provide to us. You shall indemnify and hold
harmless us and each of our entities officers, directors, contractors
or agents and any third party relying on the information provided by
you in the event you are in breach of this Privacy Policy including
this provision and the immediately preceding provision above.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.7.4</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;You
are capable (in case of an individual, being above 18 years of age)
and duly authorised (in case of a legal entity, by way of appropriate
corporate approvals) to enter into the campaigning/ funding
arrangement, on behalf of himself, any other person, company, or
other entity.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;The
information so collected from you may be used:</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
identify you when you sign-in and administer your account with us;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
enable us to provide you with our services and ensure a better user
experience;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
send you information such as receipts, certificates, upcoming events,
newsletters, etc. which we think you may find useful or which you
have requested from us;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.4</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
present projects to you when you use the Site, which we believe will
be of interest;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.5</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
respond to your queries and assist you with customer service or
technical support issues;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.6</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
analyze the use of the Site and the people visiting, to improve our
content and services;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.7</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;For
other purposes that we disclose when we request for this information;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.8</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
notify you about our updated information, activities, and other
related information; </FONT></FONT>
</P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">2.
Sharing of Personal Information</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>2.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;
We may also disclose aggregated user information for the purpose of
maintaining &amp; understanding user analytics and behaviour on the
Site. For example, we may disclose the number of Users on the Site,
total and average contribution data, nationality of the contributors,
organization of the contributors etc.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>2.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
may exchange, transfer, share, part with all information (personal
information and/or any information provided by you), across borders
and from your country and jurisdiction to any other countries and
jurisdictions across the world (including India), with affiliates /
agent / third party service provider / partners and other agencies
for purposes specified under this Privacy Policy or to fulfil our
obligations towards you or as may be required by law.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>2.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
may share personal information with our other corporate entities and
affiliates to help detect and prevent identity theft, fraud and other
potentially illegal acts; correlate related or multiple accounts to
prevent abuse of our services; and to facilitate joint or co-branded
services that you request where such services are provided by more
than one corporate entity.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>2.4</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
may disclose personal information if required to do so by law or in
good faith if such disclosure is reasonably necessary to respond to
subpoenas, court orders, or other legal process. We may disclose
personal information to law enforcement offices, third party rights
owners, or others in good faith if such disclosure is reasonably
necessary to enforce our Terms or Privacy Policy; or protect the
rights, property or personal safety of our Users or the general
public.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">3.
Use of Demographic / Profile Data / Your Information</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>3.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
use personal information to provide the services you request. To the
extent we use your personal information to market to you, we will
provide you the ability to opt-out of such uses. We use your personal
information to resolve disputes; troubleshoot problems; help promote
a safe service; collect money; measure interest in our services and
updates; customize your experience; detect and protect us against
error, fraud and other criminal activity; enforce our terms and
conditions; and as otherwise described to you at the time of
collection. In our efforts to continually improve our service
offerings, we collect and analyse demographic and profile data about
our users' activity on our Website.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>3.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
identify and use your IP address to help diagnose problems with our
server, and to administer our Website. Your IP address is also used
to help identify you and to gather broad demographic information. We
will occasionally ask you to complete optional online surveys. These
surveys may ask you for contact information and demographic
information (like zip code, age, or income level). We use this data
to tailor your experience at our Website, providing you with content
that we think you might be interested in and to display content
according to your preferences.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">4.
Uses of your Credit/Debit Card Details</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>4.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;The
credit and debit card details that you submit while making a
contribution on the Site goes through the safe and secure transaction
process provided by our payment gateway partners, which only include
the most trusted payment gateways in India. Furthermore, you will
also be taken through a 3D secure verification such as &quot;Verified
by Visa&quot; or “Master Card 3D Secure” password protected
process to prevent any misuse of your debit/credit cards.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>4.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Please
note the following regarding your debit/credit card details: Your
credit/debit card details (card numbers, passwords, CVV numbers,
etc.) are not shared with the Owner or the Site or the campaigner.
They remain safely with the certified payment gateway.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">5.
Anonymity</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>5.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;The
Site allows a contributor to make an &quot;anonymous&quot;
contribution to a campaign, even after registering through email or
the Facebook login. By choosing to be anonymous, the Site does not
publish the contributor's name or image on a campaign's contributor
section. TNTPA knows about your identity when you register, but does
not reveal it to anyone.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">6.
Review of Information / Account Deactivation / Removal of Information</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>6.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;If
at any time a user wishes to review the information provided to us at
the time of registering with us or at any time thereafter, you may do
so by signing into your account and amending the same.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>6.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
provide all Users with the opportunity to opt-out of receiving
non-essential (updates, newsletters) communications from us after
setting up an account. All Users are also given the option of
cancelling their user accounts and bringing to our attention their
desire to discontinue the use of our services. If you want to remove
your contact information from this Site and our newsletters, please
send us an email at&nbsp;tnpta.csr@gmail.com Even if user opts-out,
TNPA reserves the right to notify you about your existing account.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">7.
Consent</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>7.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;By
using the Site and/ or by providing your information, you consent to
the collection and use of the information you disclose on the Site in
accordance with this Privacy Policy, including but not limited to
your consent for sharing your information as per this Privacy Policy.
If we decide to change our Privacy Policy, we will post those changes
on this page so that you are always aware of what information we
collect, how we use it, and under what circumstances we disclose it.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">8.
Security</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>8.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
have adopted reasonable security practices and procedure to ensure
that the personal information collected is secure. Your personal
information is held on secure servers. You agree that such measures
are secured and adequate when you register with us/create an account.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>8.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;While
we will endeavour to take all reasonable and appropriate steps to
keep secure any information which we hold about you and prevent
unauthorized access, you acknowledge that the internet is not 100%
secure and that we cannot provide any absolute assurance regarding
the security of your personal information. We will not be liable in
any way in relation to any breach of security or unintended loss or
disclosure of information caused by us in relation to your personal
information.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>8.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Notwithstanding
anything contained in this Privacy Policy or elsewhere, we shall not
be held responsible for any loss, damage or misuse of your personal
information, if such loss, damage or misuse is attributable to a
Force Majeure Event.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Force
Majeure Event</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">
shall mean any event that is beyond the reasonable control of us and
shall include, without limitation, sabotage, fire, flood, explosion,
acts of God, civil commotion, strikes or industrial action of any
kind, riots, insurrection, war, acts of government, computer hacking,
unauthorised access to computer, computer system or computer network,
computer crashes, breach of security and encryption (provided beyond
reasonable control of us), power or electricity failure or
unavailability of adequate power or electricity.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">9.
Link to Third Party Site</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>9.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Links
to third-party advertisements, third-party websites or any third
party electronic communication service are not provided on the Site
and are not controlled by, or affiliated to, or associated with, us
unless expressly specified on the Site.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>9.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
are not responsible for any form of transmission, whatsoever,
received by you from any third party website. Accordingly, we do not
make any representations concerning the privacy practices or policies
of such third parties or terms of use of such third party websites,
nor do we control or guarantee the accuracy, integrity, or quality of
the information, data, text, software, music, sound, photographs,
graphics, videos, messages or other materials available on such third
party websites. The inclusion or exclusion does not imply any
endorsement by us of the third party websites, the website's
provider, or the information on the website. The information provided
by you to such third party websites shall be governed in accordance
with the privacy policies of such third party websites and it is
recommended that you review the privacy policy of such third party
websites prior to using such websites.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">10.
Grievance Officer</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>10.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;In
accordance with Information Technology Act, 2000 and rules made there
under, the name and contact details of the Grievance Officer who can
be contacted with respect to any complaints, questions, comments or
concerns including those pertaining to breach of Terms of Use,
Privacy Policy and other policies or questions is provided below:</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Mr. Umasankar</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Treasurer, Tamil Nadu
State Parent Teacher Association</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">DPI Campus, College
Road,</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Chennai - 600006,
India.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Email:&nbsp;tnpta.csr@gmail.com
</FONT></FONT>
</P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">11.
Changes to this Policy</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>11.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;The
Owner may update this Privacy Policy at any time and any changes will
be effective upon posting. In the event that there are material
changes to the way we treat your Personal Information, we will
provide notice through the Site. We may also notify you by email, in
our discretion. We will use your consent in a manner consistent with
the Privacy Policy in effect at the time you submitted the
information, unless you consent to the new or revised policy.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">12.
Effective Date</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in"><A NAME="_GoBack"></A>
<FONT COLOR="#212529"><FONT FACE="Arial, serif">This policy was
updated and became immediately effective on October, 16th 2019</FONT></FONT></P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
</BODY>
</HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="LibreOffice 4.1.6.2 (Linux)">
<META NAME="AUTHOR" CONTENT="Arun Selvan">
<META NAME="CREATED" CONTENT="20191016;121800000000000">
<META NAME="CHANGEDBY" CONTENT="Arun Selvan">
<META NAME="CHANGED" CONTENT="20191024;82700000000000">
<META NAME="AppVersion" CONTENT="16.0000">
<META NAME="DocSecurity" CONTENT="0">
<META NAME="HyperlinksChanged" CONTENT="false">
<META NAME="LinksUpToDate" CONTENT="false">
<META NAME="ScaleCrop" CONTENT="false">
<META NAME="ShareDoc" CONTENT="false">
<STYLE TYPE="text/css">
<!--
@page { margin: 1in }
P { margin-bottom: 0.08in; direction: ltr; widows: 2; orphans: 2; background:none; }
A:link { color: #0000ff; }
A{
color:#0000ff;
text-decoration: underline;
}
-->
</STYLE>
</HEAD>
<BODY LANG="en-IN" LINK="#0000ff" DIR="LTR" style="padding: 8px;">
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">LAST UPDATED: OCTOBER
24, 2019</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">This Privacy Policy
applies to&nbsp;</FONT></FONT><A HREF="https://contribute.tnschools.gov.in"><FONT FACE="Arial, serif">https://contribute.tnschools.gov.in</FONT></A><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;(“</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Website</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&quot;),
and all other websites, applications, online services, and other
interactive features or downloads that post a link to this Privacy
Policy, whether accessed via computer, mobile device or otherwise
(collectively, &quot;</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Sites</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">,&quot;
and individually, a “</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Site</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">”).
The Sites are owned or controlled by TAMIL NADU STATE PARENT TEACHER
ASSOCIATION ( “</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>TNTPTA</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">
,&quot;</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Owner</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&quot;).
This Privacy Policy only covers information collected at the Sites.
This Privacy Policy may apply to the information that Owner collects
offline, but only if specifically stated at the time of collection or
if the information is combined in our databases. Please review this
Privacy Policy carefully. In addition, please review our Terms of
Use, which governs your use of the Sites. This Privacy Policy is
incorporated into and subject to the Terms of Use. By visiting the
Sites you agree to be bound by the terms of this Privacy Policy. If
you do not agree please do not use or access the Site and immediately
close this page.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">We fully describe our
privacy practices below in this Privacy Policy.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>THIS OVERVIEW
HIGHLIGHTS SOME IMPORTANT INFORMATION REGARDING OUR USE AND SHARING
OF YOUR INFORMATION, BUT PLEASE REVIEW OUR FULL PRIVACY POLICY BEFORE
USING OUR SITE.</B></FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">We primarily use the
information we collect when you interact with the Sites in connection
with your relationship with the Owner, your use of the Sites, and for
sending you information from us or on behalf of third parties. Please
review the “</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Information
Collection</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">
and “</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>How
We Use Your Information</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">
sections for a full description of the information we collect and how
we use that information. Note that we do not share your Personal
Information (information that identifies you as a specific
individual, such as your full name, email address or street address)
with third parties for their marketing purposes without your consent;
however, we may share your Personal Information under certain limited
circumstances. For more information, please review the section below
entitled “</FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>How
We May Share the Information Collected</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">.”</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">This Privacy Policy
is published in accordance with the provisions of the Indian
Information Technology Act, 2000 and the rules made thereunder,
specifically, The Information Technology (Reasonable Security
Practices and Procedures and Sensitive Personal data or information)
Rules, 2011 and the Information Technology (Intermediary Guidelines)
Rules, 2011.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Personal Information
for the purposes of this Policy shall include, but not limited to,
information regarding Your name, photograph, address, telephone
number, date of birth, gender, e-mail address, financial information
details, Facebook profile, contacts, etc.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<BR><BR>
</P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>By Visiting This
Site You Agree To Be Bound By The Terms And Conditions</B></FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">1.
Collection of Personal Information, Other Information and Its Usage</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;This
Privacy Policy explains the nature of personal and non-personal
information that the Site collects or receives and the manner in
which it possesses, stores, deals or handles such personal and
non-personal information.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Where
possible, we indicate which fields are required and which fields are
optional. You always have the option to not provide information by
choosing not to use a particular service or feature on the Site. We
may automatically track certain information about you based upon your
behaviour on our Site.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
use data collection devices such as &quot;Cookies or Web Beacons&quot;
on certain pages of the Site to help analyse our web page flow,
measure promotional effectiveness, and promote trust and safety.
&quot;Cookies&quot; are small files placed on your hard drive that
assist us in providing our services. We offer certain features that
are only available through the use of a &quot;Cookie&quot;. We also
use Cookies to allow you to enter your password less frequently
during a session. Cookies or Web Beacons can also help us provide
information that is targeted to your interests, tell us which parts
of our website you have visited, and facilitate and measure the
effectiveness of advertisements and web searches.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.4</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;The
information as collected will be retained by TNTPA in compliance of
the applicable laws.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Information
for the purposes of this Policy shall include, but shall not be
limited to the following:</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Personal
information such as your name, photograph, address, telephone number,
date of birth, gender, e-mail address, financial information details,
etc.;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Your
log-in and password details in connection with the account sign-in
process. The Owner reserve the right to reject usernames that are
offensive or are found to be unsuitable by the Owner;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Limited
access to your Facebook/ social media profile if you choose to log in
through such login process;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.4</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;If
you transact with us (through making donations / contributions), we
collect some additional information, such as a billing address, a
credit / debit card number and a credit / debit card expiration date
and/ or other payment instrument details and tracking information
from cheques or money orders;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.5</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;If
you choose to post mails or leave feedback, we will collect that
information you provide to us. We retain this information as
necessary to resolve disputes, provide User support and troubleshoot
problems as permitted by law;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.6</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;If
you send us personal correspondence, such as emails or letters, or if
other Users or third parties send us correspondence about your
activities or postings on the Site, we may collect such information
into a file specific to you;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.7</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Details
of any requests or transactions made by you through the Site; and</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.5.8</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;IP
addresses, browser and operating system specifications, location etc.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.6</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Such
personal information may be collected in various ways including
during the course of you registering as a user/donor on the Site;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.7</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;You
hereby represent to us that:</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.7.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;the
information you provide us from time to time is and shall be
authentic, correct, current and updated and you have all the rights,
permissions and consents as may be required to provide such
information to us;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.7.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;By
providing the information to us and our consequent storage,
collection, usage, transfer, access or processing of the same shall
not be in violation of any third party agreement, laws, charter
documents, judgments, orders and decrees;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.7.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
and each of our entities officers, directors, contractors or agents
shall not be responsible for the authenticity of the information that
you or any other user provide to us. You shall indemnify and hold
harmless us and each of our entities officers, directors, contractors
or agents and any third party relying on the information provided by
you in the event you are in breach of this Privacy Policy including
this provision and the immediately preceding provision above.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.7.4</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;You
are capable (in case of an individual, being above 18 years of age)
and duly authorised (in case of a legal entity, by way of appropriate
corporate approvals) to enter into the campaigning/ funding
arrangement, on behalf of himself, any other person, company, or
other entity.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;The
information so collected from you may be used:</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
identify you when you sign-in and administer your account with us;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
enable us to provide you with our services and ensure a better user
experience;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
send you information such as receipts, certificates, upcoming events,
newsletters, etc. which we think you may find useful or which you
have requested from us;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.4</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
present projects to you when you use the Site, which we believe will
be of interest;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.5</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
respond to your queries and assist you with customer service or
technical support issues;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.6</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
analyze the use of the Site and the people visiting, to improve our
content and services;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.7</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;For
other purposes that we disclose when we request for this information;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>1.8.8</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;To
notify you about our updated information, activities, and other
related information; </FONT></FONT>
</P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">2.
Sharing of Personal Information</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>2.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;
We may also disclose aggregated user information for the purpose of
maintaining &amp; understanding user analytics and behaviour on the
Site. For example, we may disclose the number of Users on the Site,
total and average contribution data, nationality of the contributors,
organization of the contributors etc.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>2.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
may exchange, transfer, share, part with all information (personal
information and/or any information provided by you), across borders
and from your country and jurisdiction to any other countries and
jurisdictions across the world (including India), with affiliates /
agent / third party service provider / partners and other agencies
for purposes specified under this Privacy Policy or to fulfil our
obligations towards you or as may be required by law.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>2.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
may share personal information with our other corporate entities and
affiliates to help detect and prevent identity theft, fraud and other
potentially illegal acts; correlate related or multiple accounts to
prevent abuse of our services; and to facilitate joint or co-branded
services that you request where such services are provided by more
than one corporate entity.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>2.4</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
may disclose personal information if required to do so by law or in
good faith if such disclosure is reasonably necessary to respond to
subpoenas, court orders, or other legal process. We may disclose
personal information to law enforcement offices, third party rights
owners, or others in good faith if such disclosure is reasonably
necessary to enforce our Terms or Privacy Policy; or protect the
rights, property or personal safety of our Users or the general
public.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">3.
Use of Demographic / Profile Data / Your Information</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>3.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
use personal information to provide the services you request. To the
extent we use your personal information to market, we will provide
you the option to opt-out of such uses. We use your personal
information to resolve disputes; troubleshoot problems; help promote
a safe service; collect money; measure interest in our services and
updates; customize your experience; detect and protect us against
error, fraud and other criminal activity; enforce our terms and
conditions; and as otherwise described to you at the time of
collection. In our efforts to continually improve our service
offerings, we collect and analyse demographic and profile data about
our users' activity on our Website.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>3.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
identify and use your IP address to help diagnose problems with our
server, and to administer our Website. Your IP address is also used
to help identify you and to gather broad demographic information. We
will occasionally ask you to complete optional online surveys. These
surveys may ask you for contact information and demographic
information (like zip code, age, or income level). We use this data
to tailor your experience at our Website, providing you with content
that we think you might be interested in and to display content
according to your preferences.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">4.
Uses of your Credit/Debit Card Details</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>4.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;The
credit and debit card details that you submit while making a
contribution on the Site goes through the safe and secure transaction
process provided by our payment gateway partners, which only include
the most trusted payment gateways in India. Furthermore, you will
also be taken through a 3D secure verification such as &quot;Verified
by Visa&quot; or “Master Card 3D Secure” password protected
process to prevent any misuse of your debit/credit cards.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>4.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Please
note the following regarding your debit/credit card details: Your
credit/debit card details (card numbers, passwords, CVV numbers,
etc.) are not shared with the Owner or the Site or the campaigner.
They remain safely with the certified payment gateway.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">5.
Anonymity</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>5.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;The
Site allows a contributor to make an &quot;anonymous&quot;
contribution to a campaign, even after registering through email or
the Facebook login. By choosing to be anonymous, the Site does not
publish the contributor's name or image on a campaign's contributor
section. TNTPA knows about your identity when you register, but does
not reveal it to anyone without your consent.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">6.
Review of Information / Account Deactivation / Removal of Information</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>6.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;If
at any time a user wishes to review the information provided to us at
the time of registering with us or at any time thereafter, you may do
so by signing into your account and amending the same.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>6.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
provide all Users with the opportunity to opt-out of receiving
non-essential (updates, newsletters) communications from us after
setting up an account. All Users are also given the option of
cancelling their user accounts and bringing to our attention their
desire to discontinue the use of our services. If you want to remove
your contact information from this Site and our newsletters, please
send us an email at&nbsp;tnpta.csr@gmail.com Even if user opts-out,
TNPA reserves the right to notify you about your existing account.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">7.
Consent</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>7.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;By
using the Site and/ or by providing your information, you consent to
the collection and use of the information you disclose on the Site in
accordance with this Privacy Policy, including but not limited to
your consent for sharing your information as per this Privacy Policy.
If we decide to change our Privacy Policy, we will post those changes
on this page so that you are always aware of what information we
collect, how we use it, and under what circumstances we disclose it.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">8.
Security</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>8.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
have adopted reasonable security practices and procedure to ensure
that the personal information collected is secure. Your personal
information is held on secure servers. You agree that such measures
are secure and adequate when you register with us/create an account.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>8.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;While
we will endeavour to take all reasonable and appropriate steps to
keep secure any information which we hold about you and prevent
unauthorized access, you acknowledge that the internet is not 100%
secure and that we cannot provide any absolute assurance regarding
the security of your personal information. We will not be liable in
any way in relation to any breach of security or unintended loss or
disclosure of information caused by us in relation to your personal
information.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>8.3</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Notwithstanding
anything contained in this Privacy Policy or elsewhere, we shall not
be held responsible for any loss, damage or misuse of your personal
information, if such loss, damage or misuse is attributable to a
Force Majeure Event.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>Force
Majeure Event</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">
shall mean any event that is beyond the reasonable control of us and
shall include, without limitation, sabotage, fire, flood, explosion,
acts of God, civil commotion, strikes or industrial action of any
kind, riots, insurrection, war, acts of government, computer hacking,
unauthorised access to computer, computer system or computer network,
computer crashes, breach of security and encryption (provided beyond
reasonable control of us), power or electricity failure or
unavailability of adequate power or electricity.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">9.
Link to Third Party Site</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>9.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;Links
to third-party advertisements, third-party websites or any third
party electronic communication service are not provided on the Site
and are not controlled by, or affiliated to, or associated with, us
unless expressly specified on the Site.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>9.2</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;We
are not responsible for any form of transmission, whatsoever,
received by you from any third party website. Accordingly, we do not
make any representations concerning the privacy practices or policies
of such third parties or terms of use of such third party websites,
nor do we control or guarantee the accuracy, integrity, or quality of
the information, data, text, software, music, sound, photographs,
graphics, videos, messages or other materials available on such third
party websites. The inclusion or exclusion does not imply any
endorsement by us of the third party websites, the website's
provider, or the information on the website. The information provided
by you to such third party websites shall be governed in accordance
with the privacy policies of such third party websites and it is
recommended that you review the privacy policy of such third party
websites prior to using such websites.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">10.
Grievance Officer</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>10.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;In
accordance with Information Technology Act, 2000 and rules made there
under, the name and contact details of the Grievance Officer who can
be contacted with respect to any complaints, questions, comments or
concerns including those pertaining to breach of Terms of Use,
Privacy Policy and other policies or questions is provided below:</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Treasurer, </FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Tamil Nadu State
Parent Teacher Association</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">DPI Campus, College
Road,</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Chennai - 600006,
India.</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Email:&nbsp;</FONT></FONT><A HREF="mailto:tnpta.csr@gmail.com"><FONT FACE="Arial, serif">tnpta.csr@gmail.com</FONT></A><FONT COLOR="#212529"><FONT FACE="Arial, serif">
</FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; background: #ffffff; line-height: 0.23in"><A NAME="_GoBack"></A>
<FONT COLOR="#212529"><FONT FACE="Arial, serif">Phone : +91 44 -
28279758</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">11.
Changes to this Policy</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif"><B>11.1</B></FONT></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">&nbsp;The
Owner may update this Privacy Policy at any time and any changes will
be effective upon posting. In the event that there are material
changes to the way we treat your Personal Information, we will
provide notice through the Site. We may also notify you by email, in
our discretion. We will use your consent in a manner consistent with
the Privacy Policy in effect at the time you submitted the
information, unless you consent to the new or revised policy.</FONT></FONT></P>
<P STYLE="margin-bottom: 0.19in; line-height: 0.5in">
<FONT COLOR="#000000"><FONT FACE="Arial, serif"><FONT SIZE=6 STYLE="font-size: 27pt">12.
Effective Date</FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0.19in; line-height: 0.23in">
<FONT COLOR="#212529"><FONT FACE="Arial, serif">This policy is
effective from October, 24</FONT></FONT><FONT COLOR="#212529"><SUP><FONT FACE="Arial, serif">th</FONT></SUP></FONT><FONT COLOR="#212529"><FONT FACE="Arial, serif">
2019</FONT></FONT></P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
</BODY>
</HTML>
</mat-card-content></mat-card>
<footer class="footer">
<h5>&#9400; TN Schools, All rights reserved &nbsp;&nbsp;|<span class="footer-web"><a class="footer-privacy" href="#/privacy-policy" target="_blank">Privacy Policy</a></span></h5>

View File

@ -334,7 +334,7 @@
<!-- Sponsor Column -->
<ng-container matColumnDef="Sponsor_Qty">
<mat-header-cell *matHeaderCellDef > Sponsored Qty </mat-header-cell>
<mat-cell data-label="Sponsored Qty" *matCellDef="let row;let i = index"> <input step="1" min="1" max="" title="Qty" [(ngModel)]="sponsor_qty[i]" class="text" size="2" type="number" (change)="somethingChanged($event.target.value,i,row.cost_per_unit,row.mat_id,row)"
<mat-cell data-label="Sponsored Qty" *matCellDef="let row;let i = index"> <input OnlyNumber="true" step="1" min="1" max="" title="Qty" [(ngModel)]="sponsor_qty[i]" class="text" size="2" type="number" (change)="somethingChanged($event.target.value,i,row.cost_per_unit,row.mat_id,row)"
class="sponsor_input"> </mat-cell>
</ng-container>
@ -366,12 +366,33 @@
</table>
</div>
</div>
<mat-paginator [pageSize]="pageSize" [pageSizeOptions]="[5, 10, 25, 50, 100]" showFirstLastButtons ></mat-paginator>
<!-- <mat-paginator [pageSize]="pageSize" [pageSizeOptions]="[5, 10, 25, 50, 100]" showFirstLastButtons ></mat-paginator> -->
<div class="pt-1 pr-1" style="text-align: right;" *ngIf="dataStatus">
<!-- <div class="pt-1 pr-1" style="text-align: right;" *ngIf="dataStatus">
<button mat-raised-button color="primary" (click)="finalSave(2)" class="mr-1 mb-1">I'd like to Contribute in Kind</button>
<button (click)="finalSave(1)" mat-raised-button style="background-color:rgb(69, 189, 189);color:white" >I'd like to Contribute in Cash</button>
</div>
</div> -->
<div style="text-align: center;" *ngIf="dataStatus" fxLayoutAlign="center">
<mat-label style=" font-size: 1.25rem;">I am happy to contribute</mat-label>&nbsp;&nbsp;
<mat-radio-group [(ngModel)]="contribute_type" >&nbsp;&nbsp;&nbsp;
<mat-radio-button value="2" ><span style=" font-size: 1.25rem;">Material</span></mat-radio-button><br/>
<mat-radio-button value="1"><span style=" font-size: 1.25rem;">Funds</span></mat-radio-button>
</mat-radio-group><br/>
<!-- <mat-form-field appearance="outline" fxFlex="50" fxFlex.xs="100" class="select_cot_type">
<mat-label style=" font-size: 1.25rem;">I am happy to contribute</mat-label>
<mat-select color="secondary" placeholder="Select" [(ngModel)]="contribute_type" #username="ngModel">
<mat-option value="2"><span style=" font-size: 1.25rem;">Materials</span></mat-option>
<mat-option value="1"><span style=" font-size: 1.25rem;">Funds/Money</span></mat-option>
</mat-select>
<mat-error *ngIf="username.invalid && username.errors.required && (username.dirty || username.touched)">Contribute type is required</mat-error>
</mat-form-field> -->
</div>
<div class="pt-1 pr-1" style="text-align: right;" *ngIf="dataStatus">
<!-- <button mat-raised-button color="primary" (click)="finalSave(2)" class="mr-1 mb-1">I'd like to Contribute in Kind</button> -->
<button (click)="finalSave(contribute_type)" mat-raised-button style="background-color:rgb(69, 189, 189);color:white;font-weight: bold" >Submit</button>
</div>
</div>
<ng-template #status><h2>{{msg}}</h2></ng-template>

View File

@ -34,6 +34,7 @@ export class ProjectDetailComponent implements OnInit {
@ViewChild('table_element',{static:true}) table_element : ElementRef
clientWidth: any;
@ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;
contribute_type:any=''
// types_of_funds=['State Fund','District Fund','School common Fund','For this Project']
constructor(public restApi:ApiService,public fb:FormBuilder,public router:Router,public schInfo:SchoolDetailsService,private activatedRoute:ActivatedRoute) { }
@ -136,6 +137,10 @@ finalSave(flag)
alert("Please Fill the amount");
return
}
if(this.contribute_type == '' ){
alert("Please choose the contribute type");
return
}
let data = {'records':
{
'id':'',

View File

@ -28,7 +28,7 @@
<!-- <div class="buy"><i class="material-icons">add_shopping_cart</i></div> -->
</div>
</div>
<div class="inside" *ngIf="schooldetails.school_name != 'More'">
<div class="inside" *ngIf="schooldetails.school_name != 'MORE'">
<div class="icon"><mat-icon>info_outline</mat-icon></div>
<div class="contents">
<table>
@ -59,6 +59,15 @@
<h1 class="text"><span> More</span></h1>
</mat-card>
</div> -->
<div fxFlex.sm="33.33" fxFlex.xs="100" fxFlex.md="23.33" fxFlex.lg="23.33" fxFlex.xl="23.33" class="m-gap p-gap">
<mat-card style="margin: 8px;padding:0px;height: 300px;border-radius: 40px;" fxFlex="100" [routerLink]="['/contribute']">
<mat-card style=" -webkit-filter: blur(3px);
filter: blur(3px);background-image:url('assets/images/csr-img/collage.png');background-repeat: no-repeat, repeat;background-size: cover;" fxLayoutAlign="center center" >
</mat-card>
<h1 class="text"><span style="font-size: 40px">+</span><br/><span class="more_text"> MORE</span></h1>
</mat-card>
</div>
<!-- <div fxFlex.sm="33.33" fxFlex.xs="100" fxFlex.sm="50" fxFlex.md="23.33" fxFlex.lg="23.33" fxFlex.xl="23.33" class="m-gap p-gap"> -->
<!-- <div class="p-list-main mb-2">

View File

@ -201,23 +201,28 @@ mat-card{
border-radius: 4px;
// background-color: #e91e63;
border: none;
color: white;
color:cyan;
text-align: center;
font-size: 35px;
padding: 5px;
width: 200px;
transition: all 0.5s;
cursor: pointer;
position: absolute;
top:20%;
left:17%;
}
.text span {
.text .more_text {
cursor: pointer;
display: inline-block;
position: relative;
transition: 0.5s;
}
.text span:after {
.text .more_text:after {
content: '\00bb';
position: absolute;
opacity: 0;
@ -226,12 +231,12 @@ mat-card{
transition: 0.5s;
}
.text:hover span {
.text:hover .more_text {
padding-right: 25px;
color:rgb(225, 0, 255)
}
.text:hover span:after {
.text:hover .more_text:after {
opacity: 1;
right: 0;
}

View File

@ -31,7 +31,7 @@ export class ProjectListComponent implements OnInit {
// this.school_list = schDet['records'].filter(sch=>sch.is_featured==this.is_featured)[0];
this.school_list = schDet['records'];
this.school_list = this.school_list.filter(sch=>sch.is_featured==1);
this.school_list.push({school_name:"More",images:['assets/images/csr-img/school_empty.jpg']})
// this.school_list.push({school_name:"MORE",images:['assets/images/csr-img/school_empty.jpg']})
// this.school_list[this.school_list.length-1].images.push('assets/images/csr-img/school_empty.jpg')
console.log(this.school_list);
@ -54,7 +54,7 @@ export class ProjectListComponent implements OnInit {
getschDetails(schDetails)
{
if(schDetails.school_name != 'More'){
if(schDetails.school_name != 'MORE'){
let data = {'school_name':schDetails.school_name,'images':schDetails.images,'district_name':schDetails.district_name,'total_b':schDetails.total_b,'total_g':schDetails.total_g,'total':schDetails.total,'teach_tot':schDetails.teach_tot,'nonteach_tot':schDetails.nonteach_tot,'totstaff':schDetails.totstaff,'total_cost':schDetails.total_cost,'total_recevied':schDetails.total_recevied,'school_id':schDetails.school_id,'block_name':schDetails.block_name,'management':schDetails.management,'category':schDetails.category,'high_class':schDetails.high_class,'low_class':schDetails.low_class,'latitude':schDetails.longitude,'longitude':schDetails.longitude,'school_req_id':schDetails.school_req_id};
this.schInfo.updateDetails(data);

View File

@ -14,16 +14,24 @@
<div fxLayout="column" fxLayoutAlign="start stretch">
<mat-form-field style="width: 100%">
<input matInput placeholder="Name" type="text" name="name" formControlName="name" required>
<mat-error *ngIf="go_reg.controls['name'].errors">Name is Required</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput placeholder="E Mail" type="email" name="email" formControlName="email" required >
<input matInput placeholder="E Mail" type="email" name="email" formControlName="email" required (change)="checkExists($event.target.value,'email')">
<mat-error *ngIf="go_reg.controls['email'].hasError('required')">Email is required</mat-error>
<mat-error *ngIf="go_reg.controls['email'].hasError('email')">Invalid Email</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput placeholder="Confirm E Mail" type="email" name="confirm_email" formControlName="confirm_email" required (keyup)="checkValidators($event.target.value,'email')">
<mat-error *ngIf="go_reg.controls['confirm_email'].hasError('required')">Email is required</mat-error>
<mat-error *ngIf="go_reg.controls['confirm_email'].hasError('email')">Invalid Email</mat-error>
</mat-form-field>
<div style="color:red;font-size: 14px;float: right" *ngIf="email_pattern_error"> Email & Confirm Email does not match.</div>
<mat-form-field style="width: 100%">
<input matInput placeholder="Phone Number" type="number" name="mobile" formControlName="mobile" required>
<input matInput placeholder="Phone Number" type="text" name="mobile" inputmode="numeric" pattern="[0-9]*" OnlyNumber="true" formControlName="mobile" required min="10" max="12" minlength="10" maxlength="12" (change)="checkExists($event.target.value,'mobile')">
<mat-error *ngIf="go_reg.controls['mobile'].hasError('required')">mobile number is required</mat-error>
<mat-error *ngIf="go_reg.controls['mobile'].hasError('min')">minimum 10 digit required</mat-error>
<mat-error *ngIf="go_reg.controls['mobile'].hasError('max')">maximum 12 digit is allowed</mat-error>
</mat-form-field>
<!-- <mat-form-field style="width: 100%">
<input matInput [matDatepicker]="picker" [max]="maxDate" placeholder="Date of Birth" formControlName="user_dob">
@ -32,10 +40,14 @@
</mat-form-field> -->
<mat-form-field style="width: 100%">
<input matInput placeholder="Password" type="password" name="password" formControlName="password" required >
<mat-error *ngIf="go_reg.controls['password'].hasError('required')">Password is Required</mat-error>
<mat-error *ngIf="go_reg.controls['password'].hasError('minlength')">Password must be minimum of 4 Characters</mat-error>
<mat-error *ngIf="go_reg.controls['password'].hasError('maxlength')">Password must be maximum of 12 Characters</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput placeholder="Confirm Password" type="password" name="confirm_password" formControlName="confirm_password" required (keyup)="checkValidators($event.target.value,'pass')">
<mat-error *ngIf="go_reg.controls['confirm_password'].errors">Confirm Password is Required</mat-error>
</mat-form-field>
<div style="color:red;font-size: 14px;float: right" *ngIf="pass_pattern_error"> Password & Confirm Password does not match.</div>
<!-- <div fxLayout="row" fxLayoutAlign="start center" class="mb-2">
@ -60,6 +72,7 @@
<div *ngIf="slide1">
<mat-form-field style="width: 100%">
<input matInput placeholder="Organisation Name" type="text" name="orgname" formControlName="orgname" >
<mat-error *ngIf="go_reg.controls['org_info']['controls'].orgname.hasError('required')">Organisation Name is Required</mat-error>
</mat-form-field>
<mat-form-field style="width: 100%;">
<textarea matInput placeholder="Registered Address" name="org_address" formControlName="org_address" ></textarea>
@ -70,13 +83,17 @@
<mat-slide-toggle name="slideToggle" (change)="change_fun2($event)" >
</mat-slide-toggle>
</div>
<div *ngIf="slide2">
<mat-form-field style="width: 100%">
<input matInput placeholder="PAN of the Organisation" type="text" name="org_pan" max="10" maxlength="10" formControlName="org_pan" >
<mat-label>PAN of the Organisation</mat-label>
<input matInput placeholder="Format:ACDEF1234Z" type="text" name="org_pan" max="10" maxlength="10" formControlName="org_pan" oninput="this.value = this.value.toUpperCase()">
<mat-error *ngIf="go_reg.controls['org_info']['controls'].org_pan.errors">Enter a valid PAN number</mat-error>
</mat-form-field>
</div>
</div>
<mat-checkbox formControlName="profile_share"> </mat-checkbox>&nbsp; <span tex-wrap>I hereby consent to share details of my contributions with the public</span><br/><br/>
<mat-checkbox formControlName="profile_share"> </mat-checkbox>&nbsp; <span tex-wrap>I hereby give my consent to share details of my contribution in the public domain</span><br/><br/>
<mat-checkbox formControlName="notify_pref" text-wrap></mat-checkbox>&nbsp;
<span tex-wrap>I hereby give my consent to receive periodic updates through email and other modes</span>
<!-- <mat-label>Conscent profile share to public</mat-label>

View File

@ -41,9 +41,10 @@ export class RegisterComponent {
name: new FormControl('',Validators.compose([Validators.required])),
email: new FormControl('',Validators.compose([Validators.required,Validators.email])),
confirm_email:new FormControl('',Validators.compose([Validators.required,Validators.email])),
mobile: new FormControl(''),
// mobile: new FormControl('',Validators.compose([Validators.required,Validators.minLength(10),Validators.maxLength(12), Validators.pattern('[0-9]*')])),
mobile: new FormControl('',Validators.compose([Validators.required, Validators.min(1000000000), Validators.max(999999999999)])),
// user_dob:new FormControl(''),
password: new FormControl('',Validators.compose([Validators.required])),
password: new FormControl('',Validators.compose([Validators.required,Validators.minLength(4),Validators.maxLength(12)])),
confirm_password:new FormControl('',Validators.compose([Validators.required])),
user_type:new FormControl('1'),
org_info: this.fb.group({
@ -63,10 +64,13 @@ export class RegisterComponent {
if(value.checked == true){
this.slide1=true
this.go_reg.controls['user_type'].setValue('2');
this.go_reg.controls['org_info']['controls'].orgname.setValidators(Validators.compose([Validators.required,Validators.maxLength(99)]))
}
else{
this.slide1=false
this.go_reg.controls['user_type'].setValue('1');
this.go_reg.controls['org_info']['controls'].orgname.clearValidators();
this.go_reg.controls['org_info']['controls'].orgname.updateValueAndValidity()
}
}
setValidatorConfirmPass(value){
@ -108,9 +112,13 @@ export class RegisterComponent {
if(value.checked == true){
this.slide2=true
// this.go_reg.controls['org_pan'].setV
console.log(this.go_reg.controls['org_info'])
this.go_reg.controls['org_info']['controls'].org_pan.setValidators(Validators.compose([Validators.required,Validators.maxLength(10),Validators.minLength(10),Validators.pattern('[A-Z]{5}[0-9]{4}[A-Z]{1}')]))
}
else{
this.slide2=false
this.go_reg.controls['org_info']['controls'].org_pan.clearValidators();
this.go_reg.controls['org_info']['controls'].org_pan.updateValueAndValidity();
}
}
loginScreen(){
@ -133,9 +141,12 @@ export class RegisterComponent {
alert("Please fill all the mandatory fields marked with '*'")
return;
}
// this.go_reg.removeControl('confirm_password')
// this.go_reg.removeControl('cofirm_email')
// console.log(this.go_reg.value);return false;
let url = `${environment.apiUrl}${'csrUserRegistration'}`;
console.log("dd",url)
let data = this.go_reg.value;
@ -148,6 +159,7 @@ export class RegisterComponent {
// this.router.navigate(['/authentication/login']);
this.loginScreen()
})
}
register() {
this.router.navigate(['/']);
@ -155,6 +167,21 @@ export class RegisterComponent {
closeDialog(){
this.matDialog.closeAll();
}
checkExists(value,option){
if(value == ''){
return
}
console.log(this.go_reg.controls)
let param={key:option,data:value}
this.restApi.checkExistCredentials(param).subscribe(res=>{
if(!res['dataStatus']){
alert(res['msg'])
setTimeout(()=>{
this.go_reg.controls[option].setValue('')
})
}
})
}
}

View File

@ -47,6 +47,11 @@
<mat-cell data-label="Cost/Qty" *matCellDef="let row;" > {{row.cost_per_unit === null?0:row.cost_per_unit}} </mat-cell>
<!-- <td mat-footer-cell *matFooterCellDef> Total </td> -->
</ng-container>
<ng-container matColumnDef="HM_Address">
<mat-header-cell *matHeaderCellDef >Delivery Address</mat-header-cell>
<mat-cell data-label="Delivery Address" *matCellDef="let row;" ><span style="text-transform: capitalize;"> {{row.teacher_name != null ? row.teacher_name.toLowerCase() : ''}}<br/>{{row.school_address != null ? row.school_address.split("/")[0].toLowerCase() : ''}}<br/>{{row.school_address != null ? row.school_address.split("/")[1].toLowerCase() : ''}} - {{row.pincode}}<br/>{{row.mbl_nmbr}}</span></mat-cell>
<!-- <td mat-footer-cell *matFooterCellDef> Total </td> -->
</ng-container>
<!-- Total Column -->
<ng-container matColumnDef="Amount">

View File

@ -101,6 +101,12 @@
justify-content: flex-end ;
}
.mat-column-HM_Address{
margin:0px;
padding: 0px;
justify-content: center;
flex: 0 0 25%;
}
@media(max-width:768px) {
.main-detail-product {
padding: 0.3rem !important;

View File

@ -13,16 +13,30 @@ export class ReqListComponent implements OnInit {
@ViewChild(MatSort, {static: true}) sort: MatSort;
pageSize = 10;
displayedColumns: string[] = [ 'Item_Need', 'School', 'Required_Qty', 'Received_Qty', 'balance_Qty','Sponsor_Qty', 'Cost_Per_Unit', 'Amount'];
cont_type
constructor() {
}
ngOnInit() {
let list_req= sessionStorage.getItem('contribute-selected-list')
let list_req:any= sessionStorage.getItem('contribute-selected-list')
let cont_params:any=sessionStorage.getItem('contribute-params')
this. cont_type=JSON.parse(cont_params).records.cont_type
if(this.cont_type == '2'){
this.displayedColumns.pop()
this.displayedColumns.pop()
this.displayedColumns.push('HM_Address')
console.log(this.displayedColumns)
}
console.log(cont_params,this.cont_type)
list_req=JSON.parse(list_req)
console.log(list_req);
if(list_req.length > 0){
this.dataLength = list_req.length;
list_req.forEach(value=>{
value.school_address=value.school_address.replace('<br>','/')
})
console.log(list_req)
this.dataSource.data = list_req;
}
}

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { ApiService } from 'app/shared/api.service';
import { FormGroup, FormBuilder, FormControl } from '@angular/forms';
import { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';
import {animate, state, style, transition, trigger} from '@angular/animations';
import { MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';
import * as jspdf from 'jspdf';
@ -76,6 +76,7 @@ export class UserProfileComponent implements OnInit {
this.user_data.profile_share == '1' ? this.user_data.profile_share = true : this.user_data.profile_share=false
this.user_data.notify_pref == '1' ? this.user_data.notify_pref = true : this.user_data.notify_pref=false
this.user_data.org_pan!= null && this.user_data.org_pan != '' ? this.slide2=true: false
this.user_data.org_pan!= null && this.user_data.org_pan != '' ? this.profile_form.controls['org_info']['controls'].org_pan.setValidators( Validators.compose([Validators.required,Validators.maxLength(10),Validators.minLength(10),Validators.pattern('[A-Z]{5}[0-9]{4}[A-Z]{1}')])) : this.profile_form.controls['org_info']['controls'].org_pan.clearValidators()
this.user_data.user_type == '2' ? this.slide1 =true : this.slide1=false
this.profile_form.patchValue(this.user_data)
this.profile_form.controls['org_info'].patchValue(this.user_data);
@ -210,7 +211,10 @@ export class UserProfileComponent implements OnInit {
}
csrUserRegistration()
{
if(this.profile_form.invalid){
alert("Please Fill All the Fields")
return
}
// this.go_reg.removeControl('confirm_password')
// this.go_reg.removeControl('cofirm_email')
// console.log(this.go_reg.value);return false;

View File

@ -28,6 +28,7 @@
</div> -->
<slideshow class="image" [height]="height"
[autoPlay]="true"
autoPlayInterval="9000"
[showArrows]="true"
arrowSize="20px"
[imageUrls]="imageSources"
@ -65,7 +66,7 @@ showCaptions="true"
</div>
</div>
<div fxLayout="column">
<h5 >Requirements<br/><small style="font-size:12px;">of the listed </small></h5>
<h5 >Support Required<br/><small style="font-size:12px;">at</small></h5>
<hr style="border-top:2px solid rgb(81, 202, 202) !important;width:190px !important;">
<div fxLayout="column" class="text-center mt-2 mb-1">
@ -77,7 +78,7 @@ showCaptions="true"
<!-- <div fxLayout="row" class="text-center mt-1 mb-1"> -->
<div fxFlex="100">
<h2 class="mt-0 logo_one" style="color: #a978e0 !important;"><span>{{support_and_req.students_tot_count}}</span></h2>
<p>Student lives impacted</p>
<p>Students get benefited</p>
</div>
</div>
</div>

View File

@ -694,8 +694,10 @@ hr{
height: auto;
transition: .5s ease;
backface-visibility: hidden;
box-shadow: 10px 10px 60px 0 rgba(0,0,0,.75) !important;
}
.middle {
transition: .5s ease;

View File

@ -55,11 +55,11 @@ export class DashboardComponent {
width:string="300px;"
imageSources=[{
// url:'https://cdn.vox-cdn.com/uploads/chorus_image/image/56748793/dbohn_170625_1801_0018.0.0.jpg',
url:'assets/images/csr-img/s1m.jpg',
url:'assets/images/csr-img/s6.jpg',
// caption:'First'
},
{
url:'assets/images/csr-img/s6m.jpg'
url:'assets/images/csr-img/s1m.jpg'
},
{
// url:'https://cdn.vox-cdn.com/uploads/chorus_asset/file/9278671/jbareham_170917_2000_0124.jpg',

View File

@ -17,6 +17,8 @@ import { ProjectListComponent } from 'app/components/project-list/project-list.c
import { ProjectDetailComponent } from 'app/components/project-detail/project-detail.component';
import {FooterComponent} from 'app/components/footer/footer.component'
import { SlickCarouselModule } from 'ngx-slick-carousel';
import { OnlyNumberDirective } from 'app/directives/only-number.directive';
import { DirectivesModuleModule } from 'app/directives/directives-module/directives-module.module';
@NgModule({
@ -46,7 +48,7 @@ import { SlickCarouselModule } from 'ngx-slick-carousel';
MatButtonToggleModule,
MatTabsModule,
MatPaginatorModule,
DirectivesModuleModule
],
declarations: [ DashboardComponent,ProjectListComponent,ProjectDetailComponent ]
})

View File

@ -0,0 +1,14 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { OnlyNumberDirective } from '../only-number.directive';
@NgModule({
declarations: [OnlyNumberDirective],
exports: [
OnlyNumberDirective,
]
})
export class DirectivesModuleModule { }

View File

@ -0,0 +1,8 @@
import { OnlyNumberDirective } from './only-number.directive';
describe('OnlyNumberDirective', () => {
it('should create an instance', () => {
const directive = new OnlyNumberDirective();
expect(directive).toBeTruthy();
});
});

View File

@ -0,0 +1,32 @@
import { Directive, Input, HostListener } from '@angular/core';
@Directive({
selector: '[OnlyNumber]'
})
export class OnlyNumberDirective {
constructor() { }
@Input() OnlyNumber: boolean;
@HostListener('keydown', ['$event']) onKeyDown(event) {
let e = <KeyboardEvent> event;
if (this.OnlyNumber) {
if ([46, 8, 9, 27, 13, 110, 190].indexOf(e.keyCode) !== -1 ||
// Allow: Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// Allow: Ctrl+C
(e.keyCode == 67 && e.ctrlKey === true) ||
// Allow: Ctrl+X
(e.keyCode == 88 && e.ctrlKey === true) ||
// Allow: home, end, left, right
(e.keyCode >= 35 && e.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
}
}
}

View File

@ -113,8 +113,8 @@
</div>
</div>
</div> -->
<div fxFlex.sm="100" fxFlex.xs="100" fxFlex.md="99.33" fxFlex.lg="63.33" fxFlex.xl="53.33" fxFlex="100" fxLayoutAlign="right">
<div class="horizontal-menu" style="text-align: right;margin-left: 40px;position: relative;left:14%;">
<div fxFlex.sm="100" fxFlex.xs="100" fxFlex.md="99.33" fxFlex.lg="100" fxFlex.xl="53.33" fxFlex="100" fxLayoutAlign="flex-end">
<div class="horizontal-menu" style="text-align: right;">
<nav>
<ul class="main-h-list" style="font-size: 18px;font-weight: bold">
<li *ngFor="let menuitem of horizontalMenuItems.getAll()" class="vertical_nav">

View File

@ -54,6 +54,7 @@ export class ApiService {
});
}
//GET
get(url)
@ -178,6 +179,14 @@ export class ApiService {
return this.http.get(apiUrl+'csrDashboardContent').pipe
(catchError(err=>this.handleError(err)))
}
checkExistCredentials(data){
return this.http.post(apiUrl+'checkExistCredentials',data).pipe
(catchError(err=>this.handleError(err)))
}
forgetPwd(data){
return this.http.post(apiUrl+'forgetPwd',data).pipe(
catchError(err=>this.handleError(err))
)
}
}

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 416 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -5,12 +5,12 @@
<!-- <head> -->
<meta property="og:description" content="Alone we can do so little,
together we can do so much " />
<meta property="og:image" content="https://contribute.tnschools.gov.in/certificate.jpg" />
<meta property="og:image" content="https://contribute.tnschools.gov.in/csr/assets/certificate.jpg" />
<!-- </head> -->
<base href="./">
<meta property="og:image" content="certificate.jpg" />
<!-- <meta property="og:image" content="certificate.jpg" /> -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">