Skip to content
This repository was archived by the owner on Jun 30, 2024. It is now read-only.

Commit 832953c

Browse files
committed
Merge branch 'ct'
2 parents fd8ef55 + 1c2c55c commit 832953c

File tree

3 files changed

+114
-0
lines changed

3 files changed

+114
-0
lines changed

controllers/dashboard.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,12 @@ def subchapoverview():
451451

452452
pt = data.pivot_table(index=idxlist, values=values, columns='sid', aggfunc=afunc)
453453

454+
# TODO: debug tests so these can be live
455+
# if pt.empty:
456+
# logger.error("Empty Dataframe after pivot for {} ".format(auth.user.course_name))
457+
# session.flash = "Error: Not enough data"
458+
# return redirect(URL('dashboard','index'))
459+
454460
cmap = pd.read_sql_query("""select chapter_num, sub_chapter_num, chapter_label, sub_chapter_label
455461
from sub_chapters join chapters on chapters.id = sub_chapters.chapter_id
456462
where chapters.course_id = '{}'

controllers/default.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,8 @@ def terms():
443443
def privacy():
444444
return dict(private={})
445445

446+
def ct_addendum():
447+
return dict(private={})
446448

447449
def donate():
448450
if request.vars.donate:

views/default/ct_addendum.html

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
{{extend 'layout.html'}}
2+
3+
{{block statusbar}}
4+
{{end}}
5+
6+
{{block moreincludes}}
7+
<style>
8+
#ppBody {
9+
font-size: 14pt;
10+
font-family: sans-serif;
11+
width: 80%;
12+
margin: 0 auto;
13+
text-align: justify;
14+
}
15+
16+
#ppHeader {
17+
font-family: verdana sans-serif;
18+
font-size: 24pt;
19+
width: 80%;
20+
margin: 0 auto;
21+
}
22+
23+
.ppConsistencies {
24+
display: none;
25+
}
26+
</style>
27+
{{end}}
28+
29+
<h1>Terms of Service Addendum for Schools in Connecticut</h1>
30+
31+
<p>
32+
For the purposes of this Agreement, “directory information,” “de-identified student
33+
information,” “school purposes,” “student information,” “student records,” “studentgenerated content,” and “targeted advertising” shall be as defined by Conn. Gen.
34+
Stat. § 10-234aa.
35+
</p>
36+
37+
<ol>
38+
<li>
39+
All student records, student information, and student-generated content
40+
(collectively, “student data”) provided or accessed pursuant to the contract are
41+
not the property of, or under the control of, the Contractor.
42+
</li>
43+
44+
45+
<li> The Board shall have access to and the ability to delete student data in the
46+
possession of the Contractor except in instances where such data is (A)
47+
otherwise prohibited from deletion or required to be retained under state or
48+
federal law, or (B) stored as a copy as part of a disaster recovery storage system
49+
and that is (i) inaccessible to the public, and (ii) unable to be used in the normal
50+
course of business by the Contractor. The Board may request the deletion of any
51+
such student information, student records or student-generated content if such
52+
copy has been used by the operator to repopulate accessible data following a
53+
disaster recovery. The Board may request the deletion of student data by:
54+
<ul>
55+
<li>Sending an email from a verified instructor email address to [email protected] </li>
56+
<li>Students can also delete their own accounts and all associated data from the
57+
student Profile Page at any time</li>
58+
</ul>
59+
</li>
60+
61+
<li> The Contractor shall not use student data for any purposes other than those
62+
authorized pursuant to the Runestone Academy Terms of Service and Privacy Policy.</li>
63+
64+
<li> A student, parent or legal guardian of a student may review personally
65+
identifiable information contained in student data and correct any erroneous
66+
information, if any, in such student data. He or she may do so by editing the
67+
student profile on the Runestone Academy website.</li>
68+
69+
<li> The Contractor shall take actions designed to ensure the security and
70+
confidentiality of student data.</li>
71+
72+
<li> The Contractor will notify the Board, in accordance with Conn. Gen. Stat. § 10-
73+
234dd, when there has been an unauthorized release, disclosure or acquisition of
74+
student data. Such notification will include the following steps:
75+
<ol>
76+
<li>The instructor of the course will be notified within 1 week of discovery</li>
77+
</ol>
78+
</li>
79+
80+
<li> Student data shall not be retained or available to the Contractor upon
81+
expiration of the contract between the Contractor and Board, except a student,
82+
parent or legal guardian of a student may choose independently to establish or
83+
maintain an electronic account with the Contractor after the expiration of such
84+
contract for the purpose of storing student-generated content.</li>
85+
86+
<li> The Contractor and Board shall each ensure their own compliance with the
87+
Family Educational Rights and Privacy Act of 1974, 20 U.S.C. § 1232g, as
88+
amended from time to time.</li>
89+
90+
<li> The laws of the State of Connecticut shall govern the rights and duties of the
91+
Contractor and the Board.</li>
92+
93+
<li> If any provision of the contract or the application of the contract is held invalid
94+
by a court of competent jurisdiction, the invalidity does not affect other
95+
provisions or applications of the contract which can be given effect without the
96+
invalid provision or application.</li>
97+
98+
<li> The Contractor acknowledges and agrees to comply with the above and all
99+
other applicable aspects of Connecticut’s Student Data Privacy law according
100+
to Connecticut General Statutes §§ 10-234aa through 10-234dd.</li>
101+
102+
<li> The Parties agree that this Agreement controls over any inconsistent terms or
103+
conditions contained within any other agreement entered into by the Parties
104+
concerning student data.</li>
105+
106+
</ol>

0 commit comments

Comments
 (0)