Fairoj : Moile_responsive_changes

This commit is contained in:
venbatechnologies@gmail.com 2019-10-17 18:48:44 +05:30
parent ca584b3397
commit 37bf0d8310
24 changed files with 908 additions and 125 deletions

View File

@ -60,6 +60,7 @@ import { UserProfileComponent } from './components/user-profile/user-profile.com
import { SuccessComponent } from './components/payment-status/success/success.component';
import { FailureComponent } from './components/payment-status/failure/failure.component';
import { UserCertificateComponent } from './components/user-certificate/user-certificate.component';
import { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component';
export function HttpLoaderFactory(http: HttpClient) {
@ -93,6 +94,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
SuccessComponent,
FailureComponent,
UserCertificateComponent,
PrivacyPolicyComponent,
// ProjectListComponent
],

View File

@ -16,6 +16,7 @@ import { UserProfileComponent } from './components/user-profile/user-profile.com
import { SuccessComponent } from './components/payment-status/success/success.component';
import { FailureComponent } from './components/payment-status/failure/failure.component';
import { UserCertificateComponent } from './components/user-certificate/user-certificate.component';
import { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component';
export const AppRoutes: Routes = [{
path: '',
redirectTo: 'home',
@ -77,6 +78,10 @@ export const AppRoutes: Routes = [{
{
path:'payment-failure',
component:FailureComponent
},
{
path:'privacy-policy',
component:PrivacyPolicyComponent
}
]

View File

@ -203,5 +203,5 @@
<!-- </div> -->
</div>
<footer class="footer">
<h5>&#9400; TN Schools, All rights reserved</h5>
</footer>
<h5>&#9400; TN Schools, All rights reserved &nbsp;&nbsp;<span ><a class="footer-privacy" href="#/privacy-policy" target="_blank">Privacy Policy</a></span></h5>
</footer>

View File

@ -132,6 +132,11 @@ a {
line-height: 60px;
background-color:rgb(69, 189, 189);
}
.footer-privacy{
color:blue;
text-decoration: underline;
}
.footer h5{
font-size: 13px;

View File

@ -1,7 +1,7 @@
<div class="relative">
<div class="">
<div fxLayout="row" fxLayoutAlign="center start" >
<div fxLayout="column" fxFlex.xl="100" fxFlex.lg="100" fxFlex.md="100" fxFlex.sm="100" fxFlex.xs="90">
<div fxLayout="column" fxFlex.xl="100" fxFlex.lg="100" fxFlex.md="100" fxFlex.sm="100" fxFlex.xs="100">
<mat-card class="login-session">
<div>
<div class="close_icon" (click)="closeDialog()">

View File

@ -91,7 +91,7 @@
</mat-card>
</div>
<div *ngIf="payment_mode == '2' && contribute_type != '2'" class="ac_det">
<div fxLayout="row" fxLayoutGap.lg="0" class="p-2">
<div fxLayout="row" fxLayout.xs="column" fxLayoutGap.lg="0" class="p-2">
<div fxFlex="50" fxFlex.xs="100" fxFlex.sm="100" >
<mat-card class="p-2">
<p>A/C Name : Tamil Nadu State Parent Teacher Association - CSR Funds <br>
@ -177,7 +177,7 @@
<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 Tamil Nadu Parent Teacher Association (TNPTA) is AACAT2920R.</span></li>
<li><span>The PAN Number of Tamil Nadu State Parent Teacher Association (TNPTA) is AACAT2920R.</span></li>
</ul>

View File

@ -0,0 +1,481 @@
<div id="top"></div>
<mat-card style="text-align: justify">
<mat-card-header>
<mat-card-title>
<h2>Privacy Policy</h2>
</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>
</mat-card-content></mat-card>

View File

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { PrivacyPolicyComponent } from './privacy-policy.component';
describe('PrivacyPolicyComponent', () => {
let component: PrivacyPolicyComponent;
let fixture: ComponentFixture<PrivacyPolicyComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ PrivacyPolicyComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(PrivacyPolicyComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,24 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-privacy-policy',
templateUrl: './privacy-policy.component.html',
styleUrls: ['./privacy-policy.component.scss']
})
export class PrivacyPolicyComponent implements OnInit {
constructor() { }
ngOnInit() {
}
ngAfterViewInit() {
// Hack: Scrolls to top of Page after page view initialized
let top = document.getElementById('top');
console.log("d",top);
if (top !== null) {
top.scrollIntoView();
top = null;
}
}
}

View File

@ -494,5 +494,5 @@
</div>
</mat-card>
<footer class="footer">
<h5>&#9400; TN Schools, All rights reserved</h5>
<h5>&#9400; TN Schools, All rights reserved &nbsp;&nbsp;<span ><a class="footer-privacy" href="#/privacy-policy" target="_blank">Privacy Policy</a></span></h5>
</footer>

View File

@ -151,6 +151,11 @@ table {
-webkit-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
.footer-privacy{
color:blue;
text-decoration: underline;
}
.support_mat{
border:2px solid gray;
border-radius: 10px;

View File

@ -445,5 +445,5 @@
<!-- </div> -->
</div>
<footer class="footer">
<h5>&#9400; TN Schools, All rights reserved</h5>
<h5>&#9400; TN Schools, All rights reserved &nbsp;&nbsp;<span ><a class="footer-privacy" href="#/privacy-policy" target="_blank">Privacy Policy</a></span></h5>
</footer>

View File

@ -173,3 +173,8 @@ $product-bg-color-hover: rgba(103, 58, 183, 0.7);
}
}
}
.footer-privacy{
color:blue;
text-decoration: underline;
}

View File

@ -1,7 +1,7 @@
<div class="relative">
<div class="">
<div fxLayout="row" fxLayoutAlign="center start" >
<div fxLayout="column" fxFlex.xl="100" fxFlex.lg="200" fxFlex.md="100" fxFlex.sm="100" fxFlex.xs="90">
<div fxLayout="column" fxFlex.xl="100" fxFlex.lg="200" fxFlex.md="100" fxFlex.sm="100" fxFlex.xs="100">
<mat-card class="login-session">
<div class="close_icon" (click)="closeDialog()">
<mat-icon >close</mat-icon>
@ -76,7 +76,7 @@
</mat-form-field>
</div>
</div>
<mat-checkbox formControlName="profile_share">I hereby consent to share details of my contributions with the public</mat-checkbox><br/><br/>
<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="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>
@ -89,6 +89,8 @@
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <mat-radio-button value="yes" >Yes</mat-radio-button>&nbsp;
<mat-radio-button value="no">No</mat-radio-button>
</mat-radio-group><br/> --><br/><br/>
<p class="privacy-policy-text">By registering, you agree to our Policy
and confirm that you have read our <a class="footer-privacy" href="#/privacy-policy" target="_blank">Privacy Policy</a></p>
<button class="mat-red" mat-raised-button (click)="csrUserRegistration()">Register</button>
<!-- <div>

View File

@ -12,4 +12,13 @@
transition: transform 1.5s;
// color: blue;
cursor: pointer;
}
.footer-privacy{
color:blue;
text-decoration: underline;
}
.privacy-policy-text{
// color: gainsboro;
font-family: monospace;
}

View File

@ -1,71 +1,64 @@
<table mat-table [dataSource]="dataSource" matSort>
<!-- Requirement Column -->
<!-- <ng-container matColumnDef="Item Need">
<th style="width: 15% !important;text-align: right;float: center" mat-header-cell *matHeaderCellDef >Item Needed</th>
<td style="width: 15% !important;" mat-cell *matCellDef="let row" class="product-thumbnail"><img src="{{row.img_url}}" onerror="this.onerror=null;this.src='assets/images/csr-img/error_img.jpg';" alt="School Img" width="70"><br/><span> {{row.material_name}} </span></td>
</ng-container> -->
<div #table_element>
<mat-table [dataSource]="dataSource" matSort >
<!-- Item Need Column -->
<ng-container matColumnDef="Item Need">
<th style="width: 20% !important;" mat-header-cell *matHeaderCellDef >Item Needed</th>
<td style="width: 20% !important;" mat-cell *matCellDef="let row" class="product-thumbnail"><span> {{row.material_name}} </span></td>
<!-- Requirement Column -->
<!-- <ng-container matColumnDef="Requirement">
<th style="width: 15% !important;" mat-header-cell *matHeaderCellDef ></th>
<td style="width: 15% !important;" mat-cell *matCellDef="let row" class="product-thumbnail"><img src="{{row.img_url}}" onerror="this.onerror=null;this.src='assets/images/csr-img/error_img.jpg';" alt="School Img" width="70"></td>
</ng-container> -->
<!-- Item Need Column -->
<ng-container matColumnDef="Item_Need" class="tale-first">
<mat-header-cell *matHeaderCellDef mat-sort-header>Item Needed</mat-header-cell>
<mat-cell *matCellDef="let row" data-label="Item Needed" class="product-thumbnail"><span> {{row.material_name}} </span></mat-cell>
</ng-container>
<!-- School Column -->
<ng-container matColumnDef="School">
<mat-header-cell *matHeaderCellDef mat-sort-header>Description</mat-header-cell>
<mat-cell data-label="Description" *matCellDef="let row"><span> {{row.desc}}</span></mat-cell>
</ng-container>
<!-- Quantity Column -->
<ng-container matColumnDef="Required_Qty">
<mat-header-cell *matHeaderCellDef mat-sort-header> Required Qty </mat-header-cell>
<mat-cell data-label="Required Qty" *matCellDef="let row"> {{row.qty}}</mat-cell>
</ng-container>
<ng-container matColumnDef="Received_Qty">
<mat-header-cell *matHeaderCellDef > Received Qty </mat-header-cell>
<mat-cell data-label="Received Qty" *matCellDef="let row"> {{row.received_qty}}</mat-cell>
</ng-container>
<ng-container matColumnDef="balance_Qty">
<mat-header-cell *matHeaderCellDef > Balance Qty </mat-header-cell>
<mat-cell data-label="balance Qty" *matCellDef="let row"> {{row.qty-row.received_qty <= 0 ? '' : row.qty-row.received_qty }}</mat-cell>
</ng-container>
<!-- School Column -->
<ng-container matColumnDef="School">
<th style="width: 26% !important;" mat-header-cell *matHeaderCellDef >School</th>
<td style="width: 26% !important;" mat-cell *matCellDef="let row"> <a [routerLink]="'/home/project-detail'">{{row.school_name}}</a>, {{row.block_name}} Block, {{row.district_name}} District.</td>
</ng-container>
<!-- Quantity Column -->
<ng-container matColumnDef="Required Qty">
<th style="width: 10% !important;text-align: center !important;" mat-header-cell *matHeaderCellDef > Required Qty </th>
<td style="width: 10% !important;text-align: center !important;" mat-cell *matCellDef="let row"> {{row.qty}}</td>
</ng-container>
<ng-container matColumnDef="Received Qty">
<th style="width: 10% !important;;text-align: center;" mat-header-cell *matHeaderCellDef > Received Qty </th>
<td style="width: 10% !important;text-align: center;" mat-cell *matCellDef="let row"> {{row.received_qty}}</td>
</ng-container>
<ng-container matColumnDef="balance Qty">
<th style="width: 8% !important;text-align: center !important;" mat-header-cell *matHeaderCellDef > Balance Qty </th>
<td style="width: 8% !important;text-align: center;" mat-cell *matCellDef="let row"> {{row.qty-row.received_qty <= 0 ? '' : row.qty-row.received_qty }}</td>
</ng-container>
<!-- Sponsor Column -->
<ng-container matColumnDef="Sponsor Qty">
<th style="width: 10% !important;text-align: center;" mat-header-cell *matHeaderCellDef > Sponsor Qty </th>
<td style="width: 10% !important;text-align: center;" mat-cell *matCellDef="let row;let i = index"> {{row.sponsor_qty}} </td>
</ng-container>
<!-- price Column -->
<ng-container matColumnDef="Cost Per Unit">
<th style="width: 10%!important;text-align: center;" mat-header-cell *matHeaderCellDef > Cost Per Unit<br/> (in Rs) </th>
<td style="width: 10% ;text-align: center;" mat-cell *matCellDef="let row;" > {{row.cost_per_unit === null ? 0 : row.cost_per_unit}} </td>
<!-- <td mat-footer-cell *matFooterCellDef> Total </td> -->
</ng-container>
<!-- Total Column -->
<ng-container matColumnDef="Amount">
<th style="width: 20% !important;text-align: right;" mat-header-cell *matHeaderCellDef > Amount (in Rs) </th>
<td style="width: 20% !important;text-align: right;" mat-cell *matCellDef="let row ;let i=index" style="text-align: right">{{row.amount}} </td>
<!-- <td mat-footer-cell *matFooterCellDef> {{somethingChanged()}} </td> -->
</ng-container>
<!-- 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">
{{row.sponsor_qty}} </mat-cell>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<!-- <tr mat-footer-row *matFooterRowDef="tableColumns"></tr> -->
</table>
<!-- <div class="clearfix order-total" style="padding-bottom: 0px !important;">
<div class="calculated-shipping" style="text-align: -webkit-right !important;">
<table class="table-responsive" cellspacing="0" style="width: 50% !important;">
<tr class="order-total" style="text-align: right;">
<td style="font-weight: bold;">Total</td>
<td> <strong><span class="amount"><span class="currency-symbol">&#8377;</span>{{grandTotal}}</span></strong></td>
</tr>
</table>
</div>
</div> -->
<!-- <mat-paginator [pageSize]="pageSize" [pageSizeOptions]="[5, 10, 25, 50, 100]" showFirstLastButtons></mat-paginator> -->
<!-- price Column -->
<ng-container matColumnDef="Cost_Per_Unit">
<mat-header-cell *matHeaderCellDef > Cost Per Unit<br> (in Rs) </mat-header-cell>
<mat-cell data-label="Cost/Qty" style="text-align: right;" *matCellDef="let row;" > {{row.cost_per_unit === null?0:row.cost_per_unit}} </mat-cell>
<!-- <td mat-footer-cell *matFooterCellDef> Total </td> -->
</ng-container>
<!-- Total Column -->
<ng-container matColumnDef="Amount">
<mat-header-cell *matHeaderCellDef > Amount <br/>(in Rs) </mat-header-cell>
<mat-cell data-label="Amount" style="text-align: right;" *matCellDef="let row ;let i=index" style="text-align: right;">{{row.amount}}</mat-cell>
<!-- <td mat-footer-cell *matFooterCellDef> {{somethingChanged()}} </td> -->
</ng-container>
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
<mat-row mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
<!-- <tr mat-footer-row *matFooterRowDef="tableColumns"></tr> -->
</mat-table>
</div>

View File

@ -0,0 +1,106 @@
@media screen and (max-width: 960px) {
.tale-first{
margin: 0px;
padding: 0px;
}
.mat-table {
border: 0;
vertical-align: middle
}
.mat-table caption {
font-size: 1em;
}
/* Enable this to hide header*/
.mat-table .mat-header-cell {
border: 10px solid;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
padding: 0;
position: absolute;
width: 1px;
}
.mat-table .mat-row {
border-bottom: 5px solid #ddd;
display: block;
}
/*
.mat-table .mat-row:nth-child(even) {background: #CCC}
.mat-table .mat-row:nth-child(odd) {background: #FFF}
*/
.mat-table .mat-cell {
border-bottom: 1px solid #ddd;
display: block;
font-size: 1em;
text-align: right;
font-weight: bold;
//height:20px;
// margin-bottom: 4%;
}
.mat-table .mat-cell:before {
/*
* aria-label has no advantage, it won't be read inside a table
content: attr(aria-label);
*/
content: attr(data-label);
float: left;
text-transform: uppercase;
font-weight: normal;
font-size: .85em;
}
.mat-table .mat-cell:last-child {
border-bottom: 0;
}
.mat-table .mat-cell:first-child {
margin-top: 4%;
}
}
.mat-column-School{
flex: 0 0 18%;
}
.mat-column-Item_Need{
flex: 0 0 18%;
}
.mat-column-Required_Qty{
justify-content: center;
}
.mat-column-Received_Qty{
justify-content: center;
}
.mat-column-balance_Qty{
justify-content: center;
}
.mat-column-Cost_Per_Unit{
flex: 0 0 12%;
justify-content: flex-end !important;
}
.mat-column-Amount{
justify-content: flex-end ;
align-items: flex-end;
text-align: right;
}
@media(max-width:768px) {
.main-detail-product {
padding: 0.3rem !important;
}
}
@media(max-width:580px){
.product-thumbnail {
display: none;
}
.calculated-shipping{
width: 100%;
}
}

View File

@ -12,7 +12,7 @@ export class ReqListComponent implements OnInit {
@ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;
@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'];
displayedColumns: string[] = [ 'Item_Need', 'School', 'Required_Qty', 'Received_Qty', 'balance_Qty','Sponsor_Qty', 'Cost_Per_Unit', 'Amount'];
constructor() {
}

View File

@ -32,7 +32,7 @@
<mat-tab-group class="mt-2">
<mat-tab class="tab-group" >
<ng-template mat-tab-label style="color: white">My Profile</ng-template>
<div fxLayout="row" fxFlex.xl="100" fxFlex.lg="100" fxFlex.md="100" fxFlex.sm="80" fxFlex.xs="90" >
<div fxLayout="row" fxFlex.xl="100" fxFlex.lg="100" fxFlex.md="100" fxFlex.sm="80" fxFlex.xs="100" >
<mat-card class="login-session" >
<!-- <p class="mb-0" style="text-align: right;">Already Registered ? <a (click)="login_screen()" class="mat-text-primary">Login Here</a></p> -->
@ -40,14 +40,14 @@
<h2 class="base-border">My Profile</h2>
<!-- <p>We would need some of your information to facilitate your contributions and keep you updated on the progress of the projects or new projects</p> -->
<form [formGroup]="profile_form">
<div fxLayout="row" fxLayoutAlign="center center" fxLayoutGap="10px" >
<mat-form-field style="width: 70%;justify-content:center;align-content: center;">
<div fxLayout="row" fxLayoutAlign="center center" fxLayoutAlign="flex-start" fxLayoutGap="10px" fxLayout.xs="column">
<mat-form-field style=" justify-content:center;align-content: center;" fxFlex.xs="100" fxFlex="70">
<input matInput placeholder="Name" type="text" name="name" formControlName="name" required>
</mat-form-field>
<mat-form-field style="width: 60%">
<mat-form-field fxFlex.xs="100" fxFlex="60">
<input matInput placeholder="E Mail" type="email" name="email" formControlName="email" required>
</mat-form-field>
<mat-form-field style="width: 40%">
<mat-form-field fxFlex.xs="100" fxFlex="70">
<input matInput placeholder="Phone Number" type="number" name="mobile" formControlName="mobile" required>
</mat-form-field>
<!-- <mat-form-field style="width: 100%">
@ -139,7 +139,7 @@
</mat-card> -->
<!-- </mat-tab> -->
<mat-tab class="tab-group">
<div fxLayout="column" fxFlex.xl="100" fxFlex.lg="98" fxFlex.md="100" fxFlex.sm="100" fxFlex.xs="90" fxLayoutAlign="center center">
<div fxLayout="column" fxFlex.xl="100" fxFlex.lg="98" fxFlex.md="100" fxFlex.sm="100" fxFlex.xs="100" fxLayoutAlign="center center">
<mat-card class="login-session" style="width: 100%">
<ng-template mat-tab-label>Contributions</ng-template>
<h2 class="base-border">Contributions</h2>
@ -147,71 +147,81 @@
<div style="text-align: right;">
<button mat-raised-button class="mb-1" color="primary" (click)="certificateDialog()">Certificate</button>
</div>
<table mat-table
<div>
<table mat-table #table_element [ngClass]="{'example-container mat-elevation-z8':clientWidth <= 500}"
[dataSource]="dataSource" multiTemplateDataRows
>
<ng-container matColumnDef="Date">
<mat-header-cell class="cell" *matHeaderCellDef style="justify-content:flex-start"> Date and Time </mat-header-cell>
<mat-cell class="cell" *matCellDef="let details;" style="justify-content:center">
<mat-header-cell class="cell" *matHeaderCellDef > Date and Time </mat-header-cell>
<mat-cell class="cell_date" *matCellDef="let details;" >
<span class="mobile-label">Date and Time :</span>
<div mat-line>{{details.contribute_date.split(' ')[0]}}<br/> {{details.contribute_date.split(' ')[1]}} {{details.contribute_date.split(' ')[2]}}</div>
<!-- <small mat-line>{{details.pd_type_name}}</small> -->
</mat-cell>
</ng-container>
<ng-container matColumnDef="contribute_type">
<mat-header-cell class="cell" *matHeaderCellDef
style="justify-content:start"> Contribution Type </mat-header-cell>
<mat-cell class="cell" *matCellDef="let details;" style="justify-content:start center">
<div mat-line style="font-weight: bold">{{details.cont_towards == '1' ? 'State School Development Fund' : details.cont_type == '1' ? 'Fund' : 'Materials'}}</div>
<!-- <small mat-line>{{details.pd_type_name}}</small> -->
> Contribution Type </mat-header-cell>
<mat-cell class="cell" *matCellDef="let details;" >
<span class="mobile-label">Contribution Type :</span>
<div mat-line style="font-weight: bold;">{{details.cont_towards == '1' ? 'State School Development Fund' : details.cont_type == '1' ? 'Fund' : 'Materials'}}</div>
</mat-cell>
</ng-container>
<ng-container matColumnDef="ref_id">
<mat-header-cell class="cell" *matHeaderCellDef
style="justify-content:center"> Reference</mat-header-cell>
<mat-cell style="width: 15%" class="cell" *matCellDef="let details;" style="justify-content:center">
<div style="width: 15%" mat-line style="font-weight: bold">{{details.ref_id}}</div>
<!-- <small mat-line>{{details.pd_type_name}}</small> -->
> Reference</mat-header-cell>
<mat-cell class="cell" *matCellDef="let details;" >
<span class="mobile-label">Reference :</span>
<div mat-line style="font-weight: bold">{{details.payment_mode == '1' ? details.ref_id : details.payment_ref}}</div>
</mat-cell>
</ng-container>
<ng-container matColumnDef="trackid">
<mat-header-cell class="cell" *matHeaderCellDef
style="justify-content:flex-start"> Tracking</mat-header-cell>
<mat-cell style="width: 15%" class="cell" *matCellDef="let details;" style="justify-content:flex-start">
<div style="width: 15%" mat-line style="font-weight: bold">{{details.trackid}}</div>
<!-- <small mat-line>{{details.pd_type_name}}</small> -->
> Tracking Id</mat-header-cell>
<mat-cell class="cell" *matCellDef="let details;" >
<span class="mobile-label" *ngIf="details.payment_mode == '1'">Tracking Id :</span>
<span class="mobile-label" *ngIf="details.payment_mode == '2'">Paid by :</span>
<div mat-line style="font-weight: bold" class="trackid-paid-mob">{{details.payment_mode == '1' ? details.trackid : details.payment_type == '1' ? 'Cheque/DD' : 'Bank Transfer' }}</div>
<div mat-line style="font-weight: bold" class="trackid-paid-web">{{ details.trackid }}</div>
</mat-cell>
</ng-container>
<ng-container matColumnDef="payment_mode">
<mat-header-cell class="cell" *matHeaderCellDef style="justify-content:center"> Payment Mode </mat-header-cell>
<mat-cell class="cell" *matCellDef="let data;" style="justify-content:center">
<mat-header-cell class="cell" *matHeaderCellDef > Payment Mode </mat-header-cell>
<mat-cell class="cell" *matCellDef="let data;" >
<span class="mobile-label">Payment Mode :</span>
<div mat-line>{{data.payment_mode == '1' ? 'Online' : data.payment_mode == '2' ? 'Offline' : 'Offline'}}</div>
<!-- <small mat-line>{{details.pd_type_name}}</small> -->
</mat-cell>
</ng-container>
<ng-container matColumnDef="payment_ref">
<mat-header-cell class="cell" *matHeaderCellDef
style="justify-content:center "> </mat-header-cell>
<mat-cell class="cell" *matCellDef="let data;" style="justify-content:center ">
<div mat-line *ngIf="data.payment_mode == '1' && data.txnstatus != 'FAILURE'"><button mat-button mat-stroked-button (click)="performOperation(data)">{{data.txnstatus == 'SUCCESS' ? 'Print Receipt' : data.txnstatus == null || data.txnstatus == 'AWAITED' ? 'Check Status' : ''}}</button></div>
> </mat-header-cell>
<mat-cell class="cell" *matCellDef="let data;" >
<span class="mobile-label" >{{data.payment_mode == '2' || (data.txnstatus == 'FAILURE' && data.payment_mode == '1') ? 'Payment Status :' : ''}}</span>
<div mat-line *ngIf="data.payment_mode == '1' && data.txnstatus != 'FAILURE'"><button mat-button mat-stroked-button (click)="performOperation(data)">{{data.txnstatus == 'SUCCESS' ? 'Print Receipt' : data.txnstatus == null || data.txnstatus == 'AWAITED' ? 'Check Status' : 'Check Status'}}</button></div>
<div mat-line *ngIf="data.payment_mode == '2'">-</div>
<div mat-line *ngIf="data.txnstatus == 'FAILURE' && data.payment_mode == '1'" style="text-align: center;color:red;">Failed</div>
<!-- <small mat-line>{{details.pd_type_name}}</small> -->
<div mat-line *ngIf="data.txnstatus == 'FAILURE' && data.payment_mode == '1'" style="text-align: center;color:red;font-weight: bold;">Failed</div>
</mat-cell>
</ng-container>
<ng-container matColumnDef="tot_amount">
<mat-header-cell class="cell" *matHeaderCellDef style="justify-content:flex-end"> Total Amount </mat-header-cell>
<mat-cell class="cell" *matCellDef="let details;" style="justify-content:flex-end">
<mat-header-cell class="cell" *matHeaderCellDef > Total Amount </mat-header-cell>
<mat-cell class="cell" *matCellDef="let details;" >
<span class="mobile-label">Total Amount :</span>
<div mat-line style="font-weight: bold">{{details.amount}}</div>
<!-- <small mat-line>{{details.pd_type_name}}</small> -->
</mat-cell>
</ng-container>
<div matColumnDef="expandedDetail" class="detail_row">
<ng-container >
<div *matCellDef="let detail">
<p style="margin-left:190px;font-size:13.5px;" *ngIf="detail.cont_towards == '1'">Comments : {{detail.gen_dev_fund_remarks != null ? detail.gen_dev_fund_remarks : ' -'}}</p>
<p class="expand-detail-comments" *ngIf="detail.cont_towards == '1'">Comments : {{detail.gen_dev_fund_remarks != null ? detail.gen_dev_fund_remarks : ' -'}}</p>
<div *ngIf="detail.cont_towards != '1'">
<div *ngFor="let det of detail.child_data;let i=index" class="child_card">
<p style="margin-left:130px;font-size:13.5px;" > {{det.material_name}} ({{det.qty}}) at {{det.school_name}} , {{det.district_name}} District, <span> Valuing Rs. {{det.amount}}</span></p>
<p class="expand-detail-material"> {{det.material_name}} ({{det.qty}}) at {{det.school_name}} , {{det.district_name}} District, <span> Valuing Rs. {{det.amount}}</span></p>
<!-- <p>{{det.amount}}</p> -->
</div>
@ -222,7 +232,7 @@
</div>
<mat-header-row style="align-items: normal !important;padding-left:10px;" *matHeaderRowDef="displayedColumns"></mat-header-row>
<mat-row style="align-items: normal !important;" *matRowDef="let row; columns: displayedColumns;"
<mat-row *matRowDef="let row; columns: displayedColumns;"
matRipple
class="element-row"
@ -235,7 +245,8 @@
[@detailExpand]="row == expandedElement ? 'expanded' : 'collapsed'"
style="overflow: hidden;background-color:rgb(236, 236, 236);">
</mat-row>
</table>
</table>
</div>
</div>
<div *ngIf="contribution_data.length == 0" style="justify-content: center;width:100%">
<h5>No Contribution Found </h5>

View File

@ -2,6 +2,12 @@
color:white;
background-color: white
}
.trackid-paid-mob{
display: none ;
}
.trackid-paid-web{
display: none ;
}
/* active tab */
// ::ng-deep .mat-tab-list .mat-tab-labels .mat-tab-label-active {
// color:white;
@ -83,4 +89,94 @@
}
mat-header-cell{
font-size: 14px;
}
}
.mobile-label {
display: none;
}
@media(max-width: 600px) {
.mobile-label {
width: 110px;
display: inline-block;
font-weight: bold;
// margin-right: 20px;
}
.mat-header-row {
display: none;
}
.mat-row {
flex-direction: column;
align-items: start;
padding: 14px 24px;
}
.cell_date{
margin: 0px;
padding: 0px;
}
.expand-detail-material{
margin-left:0;
align-items: start;
font-size:11.5px;
}
.expand-detail-comments{
margin-left:0;
align-items: start;
font-size:11.5px;
}
.child_card{
color:black;
// background-color: bisque;
// padding-left: 55px;
// margin: 15px;
}
.trackid-paid-mob{
display: block;
}
.trackid-paid-web{
display: none;
}
}
@media(min-width:590px){
.mat-column-Date{
justify-content: center;
/// align-content: center;
}
.mat-column-contribute_type{
// justify-content: center !important;
flex: 0 0 11%;
// align-items: center;
}
.mat-column-ref_id{
justify-content: center;
}
.mat-column-trackid{
justify-content: center;
}
.mat-column-payment_mode{
justify-content: center;
}
.mat-column-payment_ref{
justify-content: center;
}
.mat-column-tot_amount{
justify-content: flex-end !important;
}
.expand-detail-material{
margin-left:130px;font-size:13.5px;
}
.expand-detail-comments{
margin-left:190px;font-size:13.5px;
}
.trackid-paid-mob{
display: none;
}
.trackid-paid-web{
display: block;
}
}

View File

@ -1,4 +1,4 @@
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { ApiService } from 'app/shared/api.service';
import { FormGroup, FormBuilder, FormControl } from '@angular/forms';
import {animate, state, style, transition, trigger} from '@angular/animations';
@ -26,14 +26,15 @@ export class UserProfileComponent implements OnInit {
profile_form:FormGroup;
user_data:any;
contribution_data:any=[];
displayedColumns=['Date','contribute_type','ref_id','trackid','payment_mode','tot_amount','payment_ref']
displayedColumns=['Date','contribute_type','payment_mode','trackid','ref_id','tot_amount','payment_ref']
public dataSource = new MatTableDataSource();
isExpansionDetailRow = (i: number, row: Object) => row.hasOwnProperty('detailRow');
expandedElement: any
pdf_data_source: any={amount:'',name:'',org_pan:''};
slide1: boolean;
slide2: boolean;
@ViewChild('table_element',{static:false}) table_element : ElementRef
clientWidth: any;
constructor(private apiService:ApiService,private _fb:FormBuilder,private matSnackBar:MatSnackBar,public router:Router,private matDialog:MatDialog) { }
@ -54,6 +55,12 @@ export class UserProfileComponent implements OnInit {
})
//this.generatePDF()
}
ngAfterViewInit(){
console.log("table elemnt",this.table_element);
// this.table_element=this.table_element.nativeElement.clientWidth
this.clientWidth=this.table_element.nativeElement.clientWidth
console.log("table elemnt",this.clientWidth);
}
getProfile(){
this.apiService.getMyProfile().subscribe(res=>{
if(res['dataStatus']){
@ -69,6 +76,7 @@ export class UserProfileComponent implements OnInit {
element.detailRow=true;
})
console.log("con",this.contribution_data,this.isExpansionDetailRow);
this.contribution_data=this.contribution_data.filter(val=>val.payment_mode !='0')
this.dataSource=this.contribution_data;
}
})
@ -105,7 +113,7 @@ export class UserProfileComponent implements OnInit {
if(data.txnstatus == 'SUCCESS'){
param.flag="PDF"
}
else if(data.txnstatus == null){
else {
param.flag="STATUS_CHECK"
}

View File

@ -65,8 +65,8 @@ showCaptions="true"
</div>
</div>
<div fxLayout="column">
<h5 >Requirements<small></small></h5>
<br/>
<h5 >Requirements<br/><small style="font-size:12px;">of the listed </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">
<div fxFlex="100">
@ -76,8 +76,8 @@ showCaptions="true"
<!-- </div> -->
<!-- <div fxLayout="row" class="text-center mt-1 mb-1"> -->
<div fxFlex="100">
<h2 class="mt-0 logo_one" style="color: #a978e0 !important;"><span>&#8377;{{support_and_req.total_amount_required }}</span></h2>
<p>Value of Support Needed</p>
<h2 class="mt-0 logo_one" style="color: #a978e0 !important;"><span>{{support_and_req.students_tot_count}}</span></h2>
<p>Student lives impacted</p>
</div>
</div>
</div>
@ -234,6 +234,6 @@ showCaptions="true"
<footer class="footer">
<h5>&#9400; TN Schools, All rights reserved</h5>
<h5>&#9400; TN Schools, All rights reserved &nbsp;&nbsp;<span ><a class="footer-privacy" href="#/privacy-policy" target="_blank">Privacy Policy</a></span></h5>
</footer>

View File

@ -747,6 +747,12 @@ hr{
-webkit-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
.footer-privacy{
color:blue;
text-decoration: underline;
}
html body{
margin:0;
padding:0;
@ -797,4 +803,4 @@ html body{
}
.logo_one:hover::after, .logo_one:focus::after {
opacity: 1;
}
}