Documente Academic
Documente Profesional
Documente Cultură
Project Manager:
Senior management:
Advisor:
Customer:
ddd-1.0.3103
Project team:
Abstract
This document contains a description of the implementation details for the QIS system. This
program is part of the Software Engineering Project (2IP35) at Eindhoven University of Technology.
The document complies with the Detailed Design Document(ddd) from the Software Engineering
Standard, as set by the European Space Agency.
Contents
1 Introduction
1.1 Purpose . . . . .
1.2 Scope . . . . . .
1.3 List of definitions
1.4 List of references
1.5 Overview . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
9
9
9
10
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
11
11
11
11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Component descriptions
12
4 Build procedure
13
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
15
15
17
17
18
19
19
19
20
20
20
21
23
24
26
26
27
A.6.1 Functions . . . . . . . . . . . . . .
A.6.2 Variables . . . . . . . . . . . . . . .
A.7 Module qis.app.middleware . . . . . . . . .
A.7.1 Functions . . . . . . . . . . . . . .
A.7.2 Class RequestAnywhere . . . . . . .
A.8 Module qis.app.modeladmins . . . . . . . .
A.8.1 Variables . . . . . . . . . . . . . . .
A.8.2 Class QisModelForm . . . . . . . .
A.8.3 Class QisModelAdmin . . . . . . . .
A.8.4 Class QisAdministrativeModelAdmin
A.8.5 Class SystemYearForm . . . . . . .
A.8.6 Class SystemYearAdmin . . . . . . .
A.8.7 Class PeriodAdmin . . . . . . . . .
A.8.8 Class SubperiodAdmin . . . . . . .
A.8.9 Class SubdepartmentForm . . . . .
A.8.10 Class SubdepartmentInline . . . . .
A.8.11 Class DepartmentAdmin . . . . . .
A.8.12 Class ExpertiseGroupInline . . . . .
A.8.13 Class SubdepartmentAdmin . . . . .
A.8.14 Class ExpertiseGroupAdmin . . . . .
A.8.15 Class TargetGroupForm . . . . . . .
A.8.16 Class TargetGroupInline . . . . . . .
A.8.17 Class StudyProgramAdmin . . . . .
A.8.18 Class TargetGroupAdmin . . . . . .
A.8.19 Class TargetGroupNameAdmin . . .
A.8.20 Class TaskTypeAdmin . . . . . . . .
A.8.21 Class EducationTypeAdmin . . . . .
A.8.22 Class PositionAdmin . . . . . . . . .
A.8.23 Class StudyPhaseAdmin . . . . . . .
A.8.24 Class AlwaysAdministratorEditable .
A.8.25 Class RightForm . . . . . . . . . . .
A.8.26 Class RightInline . . . . . . . . . . .
A.8.27 Class RightSetAdmin . . . . . . . .
A.8.28 Class RightAdmin . . . . . . . . . .
A.8.29 Class CourseRelatedAdmin . . . . .
A.8.30 Class CourseAdmin . . . . . . . . .
A.8.31 Class CourseInstanceForm . . . . . .
A.8.32 Class CourseInstanceAdmin . . . . .
A.8.33 Class TaskAdmin . . . . . . . . . .
A.8.34 Class EducationTaskAdmin . . . . .
A.8.35 Class AssignmentForm . . . . . . .
A.8.36 Class AssignmentAdmin . . . . . . .
A.8.37 Class NotificationAdmin . . . . . . .
A.8.38 Class EmploymentInline . . . . . . .
A.8.39 Class EmployeeAdmin . . . . . . . .
A.8.40 Class EmploymentAdmin . . . . . .
A.8.41 Class ReportAdmin . . . . . . . . .
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
28
28
28
30
30
31
32
36
38
39
41
43
45
46
47
49
50
52
54
55
57
58
61
62
64
66
67
69
71
73
74
76
78
80
82
83
85
87
89
90
93
95
96
98
100
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
103
103
103
104
106
107
108
110
111
113
116
118
119
121
122
124
126
128
131
132
134
135
136
138
139
141
143
144
145
147
149
151
152
154
156
158
160
162
163
165
167
168
171
172
174
176
177
A.10
A.11
A.12
A.13
A.14
A.15
A.16
A.17
A.18
A.19
A.20
A.21
A.22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
180
181
183
184
186
188
190
191
193
194
198
198
198
198
200
200
201
203
203
204
204
204
205
205
206
206
206
207
207
207
208
208
208
209
209
209
211
211
211
212
212
212
213
213
213
215
215
A.23
A.24
A.25
A.26
A.27
A.28
A.29
A.30
A.31
A.32
A.33
A.34
A.35
A.36
A.37
A.22.2 Variables . . . . . . . . . . . . . . . . . . . . .
A.22.3 Class CSVExport . . . . . . . . . . . . . . . .
A.22.4 Class SimpleNode . . . . . . . . . . . . . . . .
A.22.5 Class SimpleNode2 . . . . . . . . . . . . . . .
A.22.6 Class SimpleNode3 . . . . . . . . . . . . . . .
A.22.7 Class SimpleNode4 . . . . . . . . . . . . . . .
Module qis.app.templatetags.report education workload
A.23.1 Functions . . . . . . . . . . . . . . . . . . . .
A.23.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report employee . . . . .
A.24.1 Functions . . . . . . . . . . . . . . . . . . . .
A.24.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report employee tasks . .
A.25.1 Functions . . . . . . . . . . . . . . . . . . . .
A.25.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report employees . . . . .
A.26.1 Functions . . . . . . . . . . . . . . . . . . . .
A.26.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report filters . . . . . . .
A.27.1 Functions . . . . . . . . . . . . . . . . . . . .
A.27.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report hours . . . . . . .
A.28.1 Functions . . . . . . . . . . . . . . . . . . . .
A.28.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report list . . . . . . . . .
A.29.1 Functions . . . . . . . . . . . . . . . . . . . .
A.29.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report own . . . . . . . .
A.30.1 Functions . . . . . . . . . . . . . . . . . . . .
A.30.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report own tasks . . . . .
A.31.1 Functions . . . . . . . . . . . . . . . . . . . .
A.31.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.studyprogram list . . . .
A.32.1 Functions . . . . . . . . . . . . . . . . . . . .
A.32.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.task list . . . . . . . . . .
A.33.1 Functions . . . . . . . . . . . . . . . . . . . .
A.33.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.app.tests . . . . . . . . . . . . . . . . . . .
A.34.1 Variables . . . . . . . . . . . . . . . . . . . . .
A.34.2 Class TestViews . . . . . . . . . . . . . . . . .
Module qis.app.views . . . . . . . . . . . . . . . . . .
A.35.1 Functions . . . . . . . . . . . . . . . . . . . .
A.35.2 Variables . . . . . . . . . . . . . . . . . . . . .
Module qis.manage . . . . . . . . . . . . . . . . . . .
Module qis.manage prod . . . . . . . . . . . . . . . .
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
215
216
216
217
218
219
221
221
221
223
223
223
225
225
225
226
226
226
228
228
228
229
229
229
230
230
230
231
231
231
233
233
233
234
234
234
235
235
235
236
236
237
240
240
240
242
243
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
244
244
245
245
247
247
249
249
250
251
251
252
252
253
253
253
253
254
255
255
255
255
256
258
258
260
Document history
Version
0.0
1.0
Date
08-09-2009
15-01-2010
Author
Kevin van der Pol, Roy Berkeveld
Kevin van der Pol
Reason of change
Created document
First version
15-01-2010
Detailed Design Document
ddd-1.0.3103
Changes
Page
Paragraph
Reason to change
Chapter 1
Introduction
1.1
Purpose
This document describes the implementation of the QIS system on the most detailed level. The
appendix contains the generated documentation of the source code listings of the QIS system.
1.2
Scope
QIS is an application designed and developed by Group QIS for the Departement of Mathematics and Computer Science at the Eindhoven University of Technology. The purpose of the
application is to support workload division within the department and to support various parties
regarding the management of working hours and tasks, holidays, courses and employees.
1.3
ESA
DDD
1.4
List of definitions
European Space Agency
Detailed Design Document
List of references
[1] Group QIS. Architectural design document. Technical report, Eindhoven University of
Technology, Computer Science, November 2009.
[2] Group QIS. Software configuration manangement plan. Technical report, Eindhoven University of Technology, Computer Science, September 2009.
[3] Group QIS. Software quality assurance plan. Technical report, Eindhoven University of
Technology, Computer Science, September 2009.
9
[4] Group QIS. Software requirements document. Technical report, Eindhoven University of
Technology, Computer Science, October 2009.
1.5
Overview
The remainder of this document describes implementation standards and conventions, and descriptions of each of the modules. Then there is a section on the build procedure of the software.
This is not present in the ESA standard, but may be useful to future developers. Finally, the
appendix contains the generated documentation of the source code listings of the QIS system.
10
Chapter 2
Design standards
The method used to design the component model is UML. The class diagram can be found in the
SRD[4].
2.2
Documentation standards
2.3
Naming conventions
2.4
Coding standards
2.5
11
Chapter 3
Component descriptions
Details about the component descriptions of QIS can be found in the ADD[1].
12
Chapter 4
Build procedure
QIS is interpreted and does not need to be built.
However, during execution, Python dynamically generates bytecode files. Should the system run
from a readonly directory, those bytecode files need to be generated beforehand. A tool is present
to do just this, youll find it in qis/tools/compileall.py. It takes as argument a path to
compile recursively, you should pass it the projects root directory.
This tool is already run during the application setup and therefore only needs to be run after
changes have been made to the code. If the application is stored writeable for the executing
user, this tool will never need to be run as Python will regenerate the bytecode when changes are
detected.
13
Appendix A
14
A.1
A.1.1
Package qis
Modules
15
16
A.2
Package qis.app
A.2.1
Modules
A.2.2
Functions
18
A.3
Package qis.app.auth
A.3.1
Modules
A.3.2
object
qis.app.auth.has right
Decorator to verify that the current user has at least one of the given permissions. Raises error class
on failure (default Http404).
Methods
init (self, *rights, **kwargs)
x. init (...) initializes x; see x. class . doc
Overrides: object. init
for signature
extit(inherited documentation)
Properties
Name
Inherited from object
class
Description
19
A.4
Module qis.app.auth.backends
A.4.1
Variables
Name
backends
A.4.2
Description
Value: (<class
qis.app.auth.backends.EmergencySuperuserBackend...
Class EmergencySuperuserBackend
object
qis.app.auth.backends.EmergencySuperuserBackend
Authenticate against the settings EMERGENCY SUPERUSER LOGIN and EMERGENCY SUPERUSER PA
Useful for testing and last-resort purposes; grants superuser rights in all models. Fear using
it in production environments, this is a risk to both security and stability! You have more
permissions than any other user with maximum rights, please compensate with intelligence.
Methods
20
new (),
reduce (),
Properties
Name
Inherited from object
class
A.4.3
Description
Class DummyBackend
object
django.contrib.auth.backends.ModelBackend
qis.app.auth.backends.DummyBackend
Methods
disabled(self )
Always enabled. Use to conditionally fail authentication.
check password(self, user, password)
Always returns True. Use to verify if the entered password is accepted.
We assume user to be a valid User object.
21
new (),
reduce (),
Properties
Name
Inherited from object
class
A.4.4
Description
Class LocalBackend
object
django.contrib.auth.backends.ModelBackend
qis.app.auth.backends.DummyBackend
qis.app.auth.backends.LocalBackend
Performs user authentication of employees via locally stored credentials.
Methods
disabled(self )
Returns whether the backend has been disabled in the system
Overrides: qis.app.auth.backends.DummyBackend.disabled
check password(self, user, password)
Check the password against the users stored (encrypted) password.
Overrides: qis.app.auth.backends.DummyBackend.check password
23
new (),
reduce (),
Properties
Name
Inherited from object
class
A.4.5
Description
Class ActiveDirectoryBackend
object
django.contrib.auth.backends.ModelBackend
qis.app.auth.backends.DummyBackend
qis.app.auth.backends.ActiveDirectoryBackend
Performs user authentication of employees through Active Directory
24
Methods
disabled(self )
Returns whether the backend has been disabled in the system
Overrides: qis.app.auth.backends.DummyBackend.disabled
check password(self, user, password)
Check the password against Active Directory.
Overrides: qis.app.auth.backends.DummyBackend.check password
Inherited from qis.app.auth.backends.DummyBackend(Section A.4.3)
authenticate(), clean username(), configure user(), get all permissions(), get group permissions(),
update user()
Inherited from django.contrib.auth.backends.ModelBackend
get user(), has module perms(), has perm()
Inherited from object
delattr (), getattribute (), hash (), init (),
reduce ex (), repr (), setattr (), str ()
new (),
Properties
Name
Inherited from object
class
Description
25
reduce (),
A.5
A set of request processors that return dictionaries to be merged into a template context.
Each function takes the request object as its only parameter and returns a dictionary to add
to the context.
These are referenced from the setting TEMPLATE CONTEXT PROCESSORS and used by
RequestContext.
A.5.1
Functions
globals(request)
Adds some global variables to the context.
26
A.6
Module qis.app.mail
A.6.1
Functions
wrap(text, width)
Wraps given text to at most width characters, preserves newlines.
Newlines must be POSIX ("
").
A.6.2
Variables
Name
BODY TEMPLATE
Description
Value: Dear %s,\n\n%s\n\nPlease
visit QIS at http://localhost:8...
27
A.7
Module qis.app.middleware
A.7.1
Functions
A.7.2
Class RequestAnywhere
object
qis.app.middleware.RequestAnywhere
Middleware that makes the request object available on request.
Stores the request object in a thread-local store. This works since a thread is dedicated to
handling a request - no other requests may interleave and change the thread-local store.
Note that after a request has been handled, the object remains.
Methods
new (),
reduce (),
Properties
Name
Inherited from object
Description
continued on next page
28
Name
Description
class
29
A.8
Module qis.app.modeladmins
A.8.1
Variables
Name
BLANK CHOICE DASH
DJANGO QISGROUP FORMAT
FORMFIELD FOR DBFIELD DEFAULTS
HORIZONTAL
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
VERTICAL
datetime CAPI
name
object
perms
related name
right
Description
Value: [(, ---------)]
Value: [QIS Application Group] %s
Value: {<class
django.db.models.fields.CharField>:
{widget: ...
Value: 1
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: 2
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
30
A.8.2
Class QisModelForm
object
django.utils.encoding.StrAndUnicode
django.forms.forms.BaseForm
django.forms.models.BaseModelForm
django.forms.models.ModelForm
qis.app.modeladmins.QisModelForm
Methods
Properties
Name
media
Description
Provide a description of all media required to
render the widgets on this form
continued on next page
31
Name
Description
Inherited from django.forms.forms.BaseForm
changed data, errors
Inherited from object
class
Class Variables
Name
base fields
declared fields
A.8.3
Description
Value: {}
Value: {}
Class QisModelAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
queryset(self, request)
Returns only those objects the current user has permissions for
Overrides: qis.admin.options.ModelAdmin.queryset
no longer permitted(self )
Return True if model operations are no longer permitted.
has add permission(self, request)
Returns True if the given request has permission to add an object.
Overrides: qis.admin.options.ModelAdmin.has add permission
32
33
message user(), render change form(), response action(), response change(), save form(),
save formset(), save model()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for manytomany()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
msa extended edit enable
Value: False
history view
Value: None
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, change form template,
change list template, date hierarchy, delete confirmation template,
inlines, list display, list display links, list editable, list filter, list per page,
list select related, object history template, ordering, save as, save on top,
search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, fieldsets, filter horizontal, filter vertical,
formfield overrides, prepopulated fields, radio fields, raw id fields
35
A.8.4
Class QisAdministrativeModelAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmi
Methods
Properties
36
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
change list template
Description
Value:
qis/administrative change list.html
change form template
Value:
qis/administrative change form.html
history view
Value: None
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display, list display links,
list editable, list filter, list per page, list select related,
object history template, ordering, save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, fieldsets, filter horizontal, filter vertical,
formfield overrides, prepopulated fields, radio fields, raw id fields
37
A.8.5
Class SystemYearForm
object
django.utils.encoding.StrAndUnicode
django.forms.forms.BaseForm
django.forms.models.BaseModelForm
django.forms.models.ModelForm
qis.app.modeladmins.QisModelForm
qis.app.modeladmins.SystemYearForm
Methods
clean(self )
Validates whether Ends >= Begins, and raises validation error otherwise.
Overrides: django.forms.forms.BaseForm.clean
Inherited from django.forms.models.BaseModelForm
init (), date error message(), save(), unique error message(), validate unique()
Inherited from django.forms.forms.BaseForm
getitem (), iter (), unicode (), add initial prefix(), add prefix(), as p(),
as table(), as ul(), full clean(), has changed(), hidden fields(), is multipart(),
is valid(), non field errors(), visible fields()
Inherited from django.utils.encoding.StrAndUnicode
str ()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr ()
Properties
38
Name
Description
Provide a description of all media required to
render the widgets on this form
Inherited from django.forms.forms.BaseForm
changed data, errors
Inherited from object
class
media
Class Variables
Name
Description
Inherited from qis.app.modeladmins.QisModelForm (Section A.8.2)
base fields, declared fields
A.8.6
Class SystemYearAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.SystemYearAdmin
Methods
39
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
continued on next page
40
Name
Description
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
Value: ((None, {fields: (name,
begins, ends, fte amount...
list display
Value: [name, begins, ends,
all subdepartments closed]
ordering
Value: [begins, ends, name]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display links, list editable,
list filter, list per page, list select related, object history template,
save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
fieldsets
A.8.7
Class PeriodAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.PeriodAdmin
41
Methods
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
Value: ((None, {fields:
(name)}))
list display
Value: [name]
ordering
Value: [name]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
fieldsets
42
Name
Description
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display links, list editable,
list filter, list per page, list select related, object history template,
save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.8
Class SubperiodAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.SubperiodAdmin
Methods
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
fieldsets
Value: ((None, {fields: (period,
name, weeks)}))
list filter
Value: [period]
list display
Value: [name, period]
ordering
Value: [name]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display links, list editable,
list per page, list select related, object history template, save as,
save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
44
A.8.9
Class SubdepartmentForm
object
django.utils.encoding.StrAndUnicode
django.forms.forms.BaseForm
django.forms.models.BaseModelForm
django.forms.models.ModelForm
qis.app.modeladmins.QisModelForm
qis.app.modeladmins.SubdepartmentForm
Methods
for signature
extit(inherited documentation)
Properties
45
Name
Description
Provide a description of all media required to
render the widgets on this form
Inherited from django.forms.forms.BaseForm
changed data, errors
Inherited from object
class
media
Class Variables
Name
Description
Inherited from qis.app.modeladmins.QisModelForm (Section A.8.2)
base fields, declared fields
A.8.10
Class SubdepartmentInline
object
qis.admin.options.BaseModelAdmin
qis.admin.options.InlineModelAdmin
qis.admin.options.TabularInline
qis.app.modeladmins.SubdepartmentInline
Methods
46
Properties
Name
Description
Inherited from qis.admin.options.InlineModelAdmin
media
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
extra
Value: 1
fields
Value: [name]
Inherited from qis.admin.options.TabularInline
template
Inherited from qis.admin.options.InlineModelAdmin
fk name, max num, verbose name, verbose name plural
Inherited from qis.admin.options.BaseModelAdmin
exclude, fieldsets, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.11
Class DepartmentAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.DepartmentAdmin
47
Methods
queryset(self, request)
Returns only those objects the current user has permissions for
Overrides: qis.admin.options.ModelAdmin.queryset extit(inherited
documentation)
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
add view(), change view(), changelist view(), delete view(), formfield for dbfield(),
formfield for foreignkey(), get model perms(), get urls(), has add permission(),
has change permission(), has delete permission(), has view permission(), no longer permitted(),
response add()
Inherited from qis.admin.options.ModelAdmin
call (), init (), action checkbox(), construct change message(), get action(),
get action choices(), get actions(), get changelist form(), get changelist formset(),
get fieldsets(), get form(), get formsets(), log addition(), log change(), log deletion(),
message user(), render change form(), response action(), response change(), save form(),
save formset(), save model()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for manytomany()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
48
Name
Description
Value: ((None, {fields:
(name)}))
inlines
Value: [<class
qis.app.modeladmins.SubdepartmentInline>]
search fields
Value: [name]
list display
Value: [name]
ordering
Value: [name]
msa extended edit enable
Value: True
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, list display links, list editable, list filter,
list per page, list select related, object history template, save as,
save on top
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
fieldsets
A.8.12
Class ExpertiseGroupInline
object
qis.admin.options.BaseModelAdmin
qis.admin.options.InlineModelAdmin
qis.admin.options.TabularInline
qis.app.modeladmins.ExpertiseGroupInline
Methods
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
Inherited from qis.admin.options.InlineModelAdmin
media
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
extra
Value: 3
fields
Value: [name]
Inherited from qis.admin.options.TabularInline
template
Inherited from qis.admin.options.InlineModelAdmin
fk name, max num, verbose name, verbose name plural
Inherited from qis.admin.options.BaseModelAdmin
exclude, fieldsets, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.13
Class SubdepartmentAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.SubdepartmentAdmin
50
Methods
queryset(self, request)
Returns only those objects the current user has permissions for
Overrides: qis.admin.options.ModelAdmin.queryset extit(inherited
documentation)
change view(request, *args, **kwargs)
Generic change view page with additional system year attribute and now also
with a close perm which checks if you have change permissions for that
subdepartments
Overrides: qis.admin.options.ModelAdmin.change view
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
add view(), changelist view(), delete view(), formfield for dbfield(), formfield for foreignkey(),
get model perms(), get urls(), has add permission(), has change permission(),
has delete permission(), has view permission(), no longer permitted(), response add()
Inherited from qis.admin.options.ModelAdmin
call (), init (), action checkbox(), construct change message(), get action(),
get action choices(), get actions(), get changelist form(), get changelist formset(),
get fieldsets(), get form(), get formsets(), log addition(), log change(), log deletion(),
message user(), render change form(), response action(), response change(), save form(),
save formset(), save model()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for manytomany()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
continued on next page
51
Name
Inherited from object
class
Description
Class Variables
Name
change form template
Description
Value:
qis/subdepartment change form.html
fieldsets
Value: ((None, {fields:
(department, name)}))
inlines
Value: [<class
qis.app.modeladmins.ExpertiseGroupInline>]
search fields
Value: [name]
list filter
Value: [department]
list display
Value: [name, department]
ordering
Value: [name]
msa extended edit enable
Value: True
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change list template, history view
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, list display links, list editable, list per page,
list select related, object history template, save as, save on top
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.14
Class ExpertiseGroupAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.ExpertiseGroupAdmin
52
Methods
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
fieldsets
search fields
list filter
list display
Description
Value: ((None, {fields:
(subdepartment, name)}))
Value: [name]
Value: [subdepartment]
Value: [name, subdepartment]
continued on next page
53
Name
Description
ordering
Value: [name]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display links, list editable,
list per page, list select related, object history template, save as,
save on top
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.15
Class TargetGroupForm
object
django.utils.encoding.StrAndUnicode
django.forms.forms.BaseForm
django.forms.models.BaseModelForm
django.forms.models.ModelForm
qis.app.modeladmins.QisModelForm
qis.app.modeladmins.TargetGroupForm
Methods
for signature
extit(inherited documentation)
getitem (), iter (), unicode (), add initial prefix(), add prefix(), as p(),
as table(), as ul(), full clean(), has changed(), hidden fields(), is multipart(),
is valid(), non field errors(), visible fields()
Inherited from django.utils.encoding.StrAndUnicode
str ()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr ()
Properties
Name
Description
media
Provide a description of all media required to
render the widgets on this form
Inherited from django.forms.forms.BaseForm
changed data, errors
Inherited from object
class
Class Variables
Name
Description
Inherited from qis.app.modeladmins.QisModelForm (Section A.8.2)
base fields, declared fields
A.8.16
Class TargetGroupInline
object
qis.admin.options.BaseModelAdmin
qis.admin.options.InlineModelAdmin
qis.admin.options.StackedInline
qis.app.modeladmins.TargetGroupInline
55
Methods
Properties
Name
Description
Inherited from qis.admin.options.InlineModelAdmin
media
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
extra
Value: 1
filter horizontal
Value: [course instances]
Inherited from qis.admin.options.StackedInline
template
Inherited from qis.admin.options.InlineModelAdmin
fk name, max num, verbose name, verbose name plural
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, fieldsets, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
56
A.8.17
Class StudyProgramAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.StudyProgramAdmin
Methods
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
continued on next page
57
Name
declared fieldsets
Inherited from object
class
Description
Class Variables
Name
Description
Value: ((None, {fields:
(name)}))
search fields
Value: [name]
list display
Value: [name]
ordering
Value: [name]
inlines
Value: [<class
qis.app.modeladmins.TargetGroupInline>]
actions
Value: None
list per page
Value: 20
change form template
Value: qis/programs change form.html
delete confirmation templ- Value:
ate
qis/programs delete confirmation.html
change list template
Value: qis/programs change list.html
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions on bottom, actions on top, date hierarchy, list display links,
list editable, list filter, list select related, object history template, save as,
save on top
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
fieldsets
A.8.18
Class TargetGroupAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.TargetGroupAdmin
58
Methods
Properties
Name
Description
media
continued on next page
59
Name
Description
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
fieldsets
Value: ((None, {fields: (name,
study program, course inst...
filter horizontal
Value: [course instances]
search fields
Value: [name]
list filter
Value: [study program]
list display
Value: [name, study program]
ordering
Value: [name]
change form template
Value:
qis/targetgroup change form.html
delete confirmation templ- Value:
ate
qis/targetgroup delete confirmation.html
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, change list template,
date hierarchy, inlines, list display links, list editable, list per page,
list select related, object history template, save as, save on top
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter vertical, formfield overrides, prepopulated fields,
radio fields, raw id fields
60
A.8.19
Class TargetGroupNameAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.TargetGroupNameAdmi
Methods
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
continued on next page
61
Name
Description
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
fields
Value: (name)
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display, list display links,
list editable, list filter, list per page, list select related,
object history template, ordering, save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fieldsets, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.20
Class TaskTypeAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.TaskTypeAdmin
Methods
add view(), change view(), changelist view(), delete view(), formfield for dbfield(),
formfield for foreignkey(), get model perms(), get urls(), has add permission(),
has change permission(), has delete permission(), has view permission(), no longer permitted(),
queryset(), response add()
Inherited from qis.admin.options.ModelAdmin
call (), init (), action checkbox(), construct change message(), get action(),
get action choices(), get actions(), get changelist form(), get changelist formset(),
get fieldsets(), get form(), get formsets(), log addition(), log change(), log deletion(),
message user(), render change form(), response action(), response change(), save form(),
save formset(), save model()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for manytomany()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
fieldsets
Value: ((None, {fields: (type,
name)}))
ordering
Value: [name]
list display
Value: [name]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
continued on next page
63
Name
Description
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display links, list editable,
list filter, list per page, list select related, object history template,
save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.21
Class EducationTypeAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.EducationTypeAdmin
Methods
64
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
fieldsets
Value: ((None, {fields:
(subdepartment, name)}))
search fields
Value: [name]
list filter
Value: [subdepartment]
list display
Value: [name]
ordering
Value: [name]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display links, list editable,
list per page, list select related, object history template, save as,
save on top
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
65
A.8.22
Class PositionAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.PositionAdmin
Methods
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
continued on next page
66
Name
Description
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
Value: ((None, {fields:
(name)}))
ordering
Value: [name]
list display
Value: [name]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display links, list editable,
list filter, list per page, list select related, object history template,
save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
fieldsets
A.8.23
Class StudyPhaseAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.StudyPhaseAdmin
67
Methods
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
Value: ((None, {fields:
(name)}))
ordering
Value: [name]
list display
Value: [name]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
fieldsets
68
Name
Description
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display links, list editable,
list filter, list per page, list select related, object history template,
save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.24
Class AlwaysAdministratorEditable
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.AlwaysAdministratorEdi
Known Subclasses: qis.app.modeladmins.RightAdmin, qis.app.modeladmins.RightSetAdmin
Methods
69
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
70
Name
Description
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display, list display links,
list editable, list filter, list per page, list select related,
object history template, ordering, save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, fieldsets, filter horizontal, filter vertical,
formfield overrides, prepopulated fields, radio fields, raw id fields
A.8.25
Class RightForm
object
django.utils.encoding.StrAndUnicode
django.forms.forms.BaseForm
django.forms.models.BaseModelForm
django.forms.models.ModelForm
qis.app.modeladmins.QisModelForm
qis.app.modeladmins.RightForm
Methods
clean(self )
Validates whether all rights are set according to the users rightset, and
displays an error message near the violating field, otherwise.
Overrides: django.forms.forms.BaseForm.clean
71
for signature
extit(inherited documentation)
Properties
Name
Description
Provide a description of all media required to
render the widgets on this form
Inherited from django.forms.forms.BaseForm
changed data, errors
Inherited from object
class
media
Class Variables
Name
Description
Inherited from qis.app.modeladmins.QisModelForm (Section A.8.2)
base fields, declared fields
72
A.8.26
Class RightInline
object
qis.admin.options.BaseModelAdmin
qis.admin.options.InlineModelAdmin
qis.admin.options.TabularInline
qis.app.modeladmins.RightInline
Methods
Properties
Name
Description
Inherited from qis.admin.options.InlineModelAdmin
media
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
extra
Value: 1
Inherited from qis.admin.options.TabularInline
continued on next page
73
Name
Description
template
Inherited from qis.admin.options.InlineModelAdmin
fk name, max num, verbose name, verbose name plural
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, fieldsets, filter horizontal, filter vertical,
formfield overrides, prepopulated fields, radio fields, raw id fields
A.8.27
Class RightSetAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.AlwaysAdministratorEditable
qis.app.modeladmins.RightSetAdmin
Methods
74
message user(), render change form(), response action(), response change(), save form(),
save formset(), save model()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for manytomany()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
list display
Description
Value: [ unicode , default,
member count, view own work...
fieldsets
Value: ((None, {fields: (name,
default)}), (Permissions,...
inlines
Value: [<class
qis.app.modeladmins.RightInline>]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, list display links, list editable, list filter,
list per page, list select related, object history template, ordering,
save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
75
A.8.28
Class RightAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.QisAdministrativeModelAdmin
qis.app.modeladmins.AlwaysAdministratorEditable
qis.app.modeladmins.RightAdmin
Methods
Properties
76
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
list display
Description
Value: [employee, rightset,
view expertisegroup workload ob...
list filter
Value: [rightset,
view expertisegroup workload object,
view...
ordering
Value: [employee]
fieldsets
Value: ((None, {fields:
(rightset, employee)}), (Right
ob...
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
change form template, change list template, history view
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, date hierarchy,
delete confirmation template, inlines, list display links, list editable,
list per page, list select related, object history template, save as,
save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
77
A.8.29
Class CourseRelatedAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.CourseRelatedAdmin
Known Subclasses: qis.app.modeladmins.CourseAdmin, qis.app.modeladmins.CourseInstanceAdmin,
qis.app.modeladmins.EducationTaskAdmin
Class that handles add view/change view/delete view and form validation for AdminModels
that are accessed from the Course changelist
Methods
changelist view(), formfield for dbfield(), formfield for foreignkey(), get model perms(),
get urls(), has add permission(), has change permission(), has delete permission(),
has view permission(), no longer permitted(), queryset(), response add()
Inherited from qis.admin.options.ModelAdmin
call (), init (), action checkbox(), construct change message(), get action(),
get action choices(), get actions(), get changelist form(), get changelist formset(),
get fieldsets(), get form(), get formsets(), log addition(), log change(), log deletion(),
message user(), render change form(), response action(), response change(), save form(),
save formset(), save model()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for manytomany()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
change form template
Description
Value:
qis/courserelated change form.html
delete confirmation templ- Value:
ate
qis/courserelated delete confirmation.html
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
continued on next page
79
Name
Description
actions, actions on bottom, actions on top, change list template,
date hierarchy, inlines, list display, list display links, list editable,
list filter, list per page, list select related, object history template,
ordering, save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, fieldsets, filter horizontal, filter vertical,
formfield overrides, prepopulated fields, radio fields, raw id fields
A.8.30
Class CourseAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.CourseRelatedAdmin
qis.app.modeladmins.CourseAdmin
Methods
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
Value: ((None, {fields: (code,
name, given by, descript...
list per page
Value: 20
actions
Value: None
ordering
Value: [code]
list display
Value: [code, name, credits]
search fields
Value: [code, name]
change list template
Value: qis/course change list.html
change list results
Value:
qis/course change list results.html
Inherited from qis.app.modeladmins.CourseRelatedAdmin (Section A.8.29)
change form template, delete confirmation template
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
fieldsets
81
Name
Description
Inherited from qis.admin.options.ModelAdmin
actions on bottom, actions on top, date hierarchy, inlines,
list display links, list editable, list filter, list select related,
object history template, save as, save on top
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.31
Class CourseInstanceForm
object
django.utils.encoding.StrAndUnicode
django.forms.forms.BaseForm
django.forms.models.BaseModelForm
django.forms.models.ModelForm
qis.app.modeladmins.QisModelForm
qis.app.modeladmins.CourseInstanceForm
Methods
for signature
extit(inherited documentation)
82
str ()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr ()
Properties
Name
Description
Provide a description of all media required to
render the widgets on this form
Inherited from django.forms.forms.BaseForm
changed data, errors
Inherited from object
class
media
Class Variables
Name
Description
Inherited from qis.app.modeladmins.QisModelForm (Section A.8.2)
base fields, declared fields
A.8.32
Class CourseInstanceAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.CourseRelatedAdmin
qis.app.modeladmins.CourseInstanceAdmin
Methods
target groups(self )
83
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
fieldsets
Value: ((None, {fields: (course,
responsibles, subperiods...
list display
Value: [ unicode ]
Inherited from qis.app.modeladmins.CourseRelatedAdmin (Section A.8.29)
change form template, delete confirmation template
continued on next page
84
Name
Description
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, change list template,
date hierarchy, inlines, list display links, list editable, list filter,
list per page, list select related, object history template, ordering,
save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.33
Class TaskAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.TaskAdmin
Methods
85
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
Value: ((None, {fields: (name,
subdepartment, type, des...
list display
Value: [name, type,
subdepartment, hours]
search fields
Value: [name]
actions
Value: None
ordering
Value: [name]
list per page
Value: 20
list filter
Value: [type, subdepartment]
change list template
Value: qis/task change list.html
change list results
Value:
qis/task change list results.html
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
fieldsets
86
Name
Description
Inherited from qis.admin.options.ModelAdmin
actions on bottom, actions on top, change form template,
date hierarchy, delete confirmation template, inlines, list display links,
list editable, list select related, object history template, save as,
save on top
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.34
Class EducationTaskAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.CourseRelatedAdmin
qis.app.modeladmins.EducationTaskAdmin
Methods
has change permission(), has delete permission(), has view permission(), no longer permitted(),
queryset(), response add()
Inherited from qis.admin.options.ModelAdmin
call (), init (), action checkbox(), construct change message(), get action(),
get action choices(), get actions(), get changelist form(), get changelist formset(),
get fieldsets(), get form(), get formsets(), log addition(), log change(), log deletion(),
message user(), render change form(), response action(), response change(), save form(),
save formset(), save model()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for manytomany()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
fieldsets
Value: ((None, {fields:
(course instance provisional,
educa...
list display
Value: [course instance definitive,
course instance provision...
Inherited from qis.app.modeladmins.CourseRelatedAdmin (Section A.8.29)
change form template, delete confirmation template
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
continued on next page
88
Name
Description
actions, actions on bottom, actions on top, change list template,
date hierarchy, inlines, list display links, list editable, list filter,
list per page, list select related, object history template, ordering,
save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.35
Class AssignmentForm
object
django.utils.encoding.StrAndUnicode
django.forms.forms.BaseForm
django.forms.models.BaseModelForm
django.forms.models.ModelForm
qis.app.modeladmins.QisModelForm
qis.app.modeladmins.AssignmentForm
Methods
for signature
extit(inherited documentation)
str ()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr ()
Properties
Name
Description
Provide a description of all media required to
render the widgets on this form
Inherited from django.forms.forms.BaseForm
changed data, errors
Inherited from object
class
media
Class Variables
Name
Description
Inherited from qis.app.modeladmins.QisModelForm (Section A.8.2)
base fields, declared fields
A.8.36
Class AssignmentAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.AssignmentAdmin
Class that handles add view/change view/delete view and form validation for assignments.
Primarily exists to return to the page from which the add/change/delete request originated.
90
Methods
91
call (), init (), action checkbox(), construct change message(), get action(),
get action choices(), get actions(), get changelist form(), get changelist formset(),
get fieldsets(), get form(), get formsets(), log addition(), log change(), log deletion(),
message user(), render change form(), response action(), response change(), save form(),
save formset(), save model()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for manytomany()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
change form template
Description
Value:
qis/assignmentrelated change form.html
delete confirmation templ- Value:
ate
qis/assignmentrelated delete confirmation.html
ordering
Value: (task)
fieldsets
Value: ((None, {fields: (task,
employment, hours, share...
list display
Value: [task, employment,
hours]
change list results
Value:
qis/task change list result.html
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
continued on next page
92
Name
Description
actions, actions on bottom, actions on top, change list template,
date hierarchy, inlines, list display links, list editable, list filter,
list per page, list select related, object history template, save as,
save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.37
Class NotificationAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.NotificationAdmin
Methods
93
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
Value: ((None, {fields: (date,
object)}))
list display
Value: [date, object]
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, change form template,
change list template, date hierarchy, delete confirmation template,
inlines, list display links, list editable, list filter, list per page,
list select related, object history template, ordering, save as, save on top,
search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
fieldsets
94
A.8.38
Class EmploymentInline
object
qis.admin.options.BaseModelAdmin
qis.admin.options.InlineModelAdmin
qis.admin.options.StackedInline
qis.app.modeladmins.EmploymentInline
Methods
Properties
Name
Description
Inherited from qis.admin.options.InlineModelAdmin
media
Inherited from qis.admin.options.BaseModelAdmin
continued on next page
95
Name
declared fieldsets
Inherited from object
class
Description
Class Variables
Name
Description
extra
Value: 1
Inherited from qis.admin.options.StackedInline
template
Inherited from qis.admin.options.InlineModelAdmin
fk name, max num, verbose name, verbose name plural
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, fieldsets, filter horizontal, filter vertical,
formfield overrides, prepopulated fields, radio fields, raw id fields
A.8.39
Class EmployeeAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.EmployeeAdmin
Methods
get urls(self )
Overrides: qis.admin.options.ModelAdmin.get urls
view view(request, *args, **kwargs)
Show the current users employee overview page
edit details view(*args, **kw )
Edit employee details view. Uses non-model forms for clarity.
96
Properties
Name
Description
declared editdetails fieldsets
media
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
list display
search fields
ordering
list per page
Description
Value: ( unicode )
Value: [user name, first name,
last name]
Value: (last name)
Value: 20
continued on next page
97
Name
Description
Value: [<class
qis.app.modeladmins.EmploymentInline>]
fieldsets
Value: ((Personal Information,
{fields: (first name, last...
editdetails fields
Value:
(receive notifications employee,
receive notifications...
change list template
Value: qis/employee change list.html
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, change form template,
date hierarchy, delete confirmation template, list display links,
list editable, list filter, list select related, object history template, save as,
save on top
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
inlines
A.8.40
Class EmploymentAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.EmploymentAdmin
Methods
98
Properties
Name
Description
media
continued on next page
99
Name
Description
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
fieldsets
Value: ((None, {fields:
(expertise group, position,
fte,...
list display
Value: [employee,
expertise group]
change form template
Value:
qis/employee sub change form.html
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions, actions on bottom, actions on top, change list template,
date hierarchy, delete confirmation template, inlines, list display links,
list editable, list filter, list per page, list select related,
object history template, ordering, save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
A.8.41
Class ReportAdmin
object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.ReportAdmin
100
Methods
get urls(self )
Overrides: qis.admin.options.ModelAdmin.get urls
report context(self, report, request, system year )
Return context variables needed for rendering the given report
render view(self, request, context, add=False, change=False,
form url=, obj=None, system year =None)
view csv(request, *args, **kwargs)
view view(request, *args, **kwargs)
The view admin view for this model.
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
add view(), change view(), changelist view(), delete view(), formfield for dbfield(),
formfield for foreignkey(), get model perms(), has add permission(), has change permission(),
has delete permission(), has view permission(), no longer permitted(), queryset(), response add()
Inherited from qis.admin.options.ModelAdmin
call (), init (), action checkbox(), construct change message(), get action(),
get action choices(), get actions(), get changelist form(), get changelist formset(),
get fieldsets(), get form(), get formsets(), log addition(), log change(), log deletion(),
message user(), render change form(), response action(), response change(), save form(),
save formset(), save model()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for manytomany()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Description
media
continued on next page
101
Name
Description
Inherited from qis.admin.options.ModelAdmin
urls
Inherited from qis.admin.options.BaseModelAdmin
declared fieldsets
Inherited from object
class
Class Variables
Name
Description
actions
title
fieldsets
Value: None
Value:
Value: ((None, {fields: (name,
template, targetmodel, g...
view template
Value: qis/report generator.html
change list template
Value: qis/report change list.html
Inherited from qis.app.modeladmins.QisModelAdmin (Section A.8.3)
history view, msa extended edit enable
Inherited from qis.admin.options.ModelAdmin
actions on bottom, actions on top, change form template,
date hierarchy, delete confirmation template, inlines, list display,
list display links, list editable, list filter, list per page, list select related,
object history template, ordering, save as, save on top, search fields
Inherited from qis.admin.options.BaseModelAdmin
exclude, fields, filter horizontal, filter vertical, formfield overrides,
prepopulated fields, radio fields, raw id fields
102
A.9
Module qis.app.models
A.9.1
Functions
superuser override(wrapped)
Decorator to grant superusers full object permissions
get m2m join queryset(qs or model, field)
Returns a join between Model and the related model via field.
qs or model is a base queryset or the model class. field is the
ManyToManyFields attribute name.
Only the primary key fields of join models should be used, the rest is omitted
for performance concerns. Models primary key field is accessible via the pk
property, the related models primary key field is set via the M2Ms reverse
name (often singularfieldname id).
This offers performance improvements with M2M-fields. Before, you had to
do a query for every objects M2M-field youd wish to resolve, this gets them
all at once.
Idea from http://www.caktusgroup.com/blog/2009/09/28/custom-joinswith-djangos-queryjoin/
A.9.2
Variables
Name
TASK TYPES
PERMISSIONS
DJANGO QISGROUP FORMAT
RIGHT OBJECTS
REPORT GROUPS
MAXYEAR
MINYEAR
Description
Value: ((researchproject, Research
project), (managementpro...
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [QIS Application Group] %s
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value: 9999
Value: 1
continued on next page
103
Name
datetime CAPI
name
object
perms
related name
right
A.9.3
Description
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
Class QisManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
Methods
view permitted(self )
Returns the objects the current user has view permissions for.
Having modify permissions does not imply having view permissions.
Intended to be overridden, the default is very restrictive.
modify permitted(self )
Returns the objects the current user has modify permissions for.
Intended to be overridden, the default is very restrictive.
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
slotnames
Value: []
Inherited from django.db.models.manager.Manager
creation counter
105
A.9.4
Class QisModel
object
django.db.models.base.Model
qis.app.models.QisModel
Methods
objects(...)
all objects(...)
get view permission(self )
Returns the name of the django view permission for this model
can view(self )
Returns True if this object can be viewed by the current user.
can modify(self )
Returns True if this object can be modified by the current user.
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
Properties
106
reduce ex (),
setattr ()
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
A.9.5
Class AutoYearQisModel
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AutoYearQisModel
Known Subclasses: qis.app.models.Department, qis.app.models.Period, qis.app.models.Position,
qis.app.models.StudyPhase, qis.app.models.StudyProgram, qis.app.models.TargetGroupName
A QisModel that automatically fills the system year field when missing.
Subclasses must define a system year field of type ForeignKey to SystemYear.
Methods
107
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
A.9.6
Class System
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.System
System object - only one exists in the entire application.
Global runtime-configurable settings are fields of this object.
Methods
get()
Get is a guaranteed way to fetch the one System object we have
all objects(...)
Overrides: qis.app.models.QisModel.all objects
get id display(*moreargs, **morekwargs)
108
objects(...)
Overrides: qis.app.models.QisModel.objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
ID
id
connector nt enabled
employees
notifications
reports
rightsets
system years
task types
Description
Value: 1
Value: models.IntegerField(choices=
((ID, str(ID)),), default= I...
Value: models.BooleanField(default=
False)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
109
A.9.7
Class Notification
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Notification
Notification(id, system id, date, object)
Methods
all objects(...)
Overrides: qis.app.models.QisModel.all objects
get next by date(*moreargs, **morekwargs)
get previous by date(*moreargs, **morekwargs)
objects(...)
Overrides: qis.app.models.QisModel.objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
continued on next page
110
Name
Description
class
Class Variables
Name
system
date
object
A.9.8
Description
Value: models.ForeignKey(System,
related name= notifications, ...
Value: models.DateField()
Value: models.CharField(max length=
255)
Class SystemYearManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.SystemYearManager
Methods
current(self )
permitted(self )
Returns the objects the current user has any permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.permitted extit(inherited
documentation)
111
modify permitted(self )
Returns the objects the current user has modify permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.modify permitted extit(inherited
documentation)
ordered(self )
Return a queryset of system years ordered by begins.
This list is cached.
Inherited from qis.app.models.QisManager(Section A.9.3)
get query set(), view permitted()
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
112
A.9.9
Class SystemYear
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.SystemYear
SystemYear(id, system id, copy from year id, name, begins, ends, fte amount)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
is closed(self )
Returns a boolean with the closed status of the year
current closed for user()
Returns True if the current SystemYear doesnt have any subdepartments
open on which the user has modify permissions.
all subdepartments closed(self )
Returns a string with the closed status of the year
copy year(self, other )
Copies all related data of another year to self
predecessor(self )
Returns the SystemYear directly preceeding the current year
successor(self )
Returns the SystemYear directly succeeding the current year
113
get default()
Returns the most recent open SystemYear, preferably not from the future.
This function always returns a valid year. If one doesnt exist, create a
default one.
get current(request=None)
Returns the name of the currently selected SystemYear.
The name is not checked for validity. The request is inspected for this to
work. If request is omitted, we will retrieve it from the thread-local store. We
cannot guarantee the return value to be None if no request is being handled
or when no such year is applicable.
get(name)
Returns the SystemYear object matching the given name.
This value is cached for every request.
get current object()
Returns the current SystemYear object
get or 404(system year )
Returns the system year object if it exists, raises Http404 otherwise
unicode (self )
save(self, force insert=False, force update=False)
Custom save method used to keep the dummy copy unset and call
copy year() when needed
Overrides: django.db.models.base.Model.save
all objects(...)
Overrides: qis.app.models.QisModel.all objects
get next by begins(*moreargs, **morekwargs)
get next by ends(*moreargs, **morekwargs)
114
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
system
copy from year
name
begins
ends
fte amount
re current
departments
periods
Description
Value: models.ForeignKey(System,
related name= system years, d...
Value: models.ForeignKey(self,
verbose name= "Copy from year",...
Value: models.SlugField(unique= True,
help text= "Allowed charac...
Value: models.DateField(unique= True)
Value: models.DateField()
Value:
models.IntegerField(verbose name=
Hours per fte)
Value: re.compile(r^/([-\w]+))
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
continued on next page
115
Name
positions
study phase
study programs
systemyear set
target group names
A.9.10
Description
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Class PeriodManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.PeriodManager
Methods
116
modify permitted(self )
Returns the objects the current user has modify permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.modify permitted extit(inherited
documentation)
Inherited from qis.app.models.QisManager(Section A.9.3)
view permitted()
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
117
A.9.11
Class Period
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AutoYearQisModel
qis.app.models.Period
Period(id, system year id, name)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.AutoYearQisModel(Section A.9.5)
save()
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
Properties
118
reduce ex (),
setattr ()
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
system year
name
subperiods
A.9.12
Description
Value: models.ForeignKey(SystemYear,
related name= periods)
Value: models.CharField(max length=
255)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Class SubperiodManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.SubperiodManager
Methods
119
permitted(self )
Returns the objects the current user has any permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.permitted extit(inherited
documentation)
modify permitted(self )
Returns the objects the current user has modify permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.modify permitted extit(inherited
documentation)
Inherited from qis.app.models.QisManager(Section A.9.3)
view permitted()
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
continued on next page
120
Name
creation counter
A.9.13
Description
Class Subperiod
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Subperiod
Subperiod(id, period id, name, weeks)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
continued on next page
121
Name
pk
Inherited from object
class
Description
Class Variables
Name
period
name
weeks
course instances
education tasks
A.9.14
Description
Value: models.ForeignKey(Period,
related name= subperiods)
Value: models.CharField(max length=
255)
Value: models.IntegerField(blank=
True, null= True)
Value:
<django.db.models.fields.related.ManyRelatedObjectsDesc
Value:
<django.db.models.fields.related.ManyRelatedObjectsDesc
Class DepartmentManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.DepartmentManager
Methods
122
Properties
Name
Inherited from object
class
Description
Class Variables
123
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.15
Class Department
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AutoYearQisModel
qis.app.models.Department
Department(id, system year id, name)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
can view(self )
Returns True if this object can be viewed by the current user.
Overrides: qis.app.models.QisModel.can view
can modify(self )
Returns True if this object can be modified by the current user.
Overrides: qis.app.models.QisModel.can modify
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.AutoYearQisModel(Section A.9.5)
124
save()
Inherited from qis.app.models.QisModel(Section A.9.4)
get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
system year
name
subdepartments
view workload rights
Description
Value: models.ForeignKey(SystemYear,
related name= departments)
Value: models.CharField(max length=
255)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
125
A.9.16
Class SubdepartmentManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.SubdepartmentManager
Methods
126
Properties
Name
Inherited from object
class
Description
Class Variables
continued on next page
127
Name
Description
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.17
Class Subdepartment
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Subdepartment
Subdepartment(id, department id, name, formula, custom education type attributes, custom course attributes, closed)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
can view(self )
Returns True if this object can be viewed by the current user.
Overrides: qis.app.models.QisModel.can view
can modify(self )
Returns True if this object can be modified by the current user.
Overrides: qis.app.models.QisModel.can modify
128
129
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
department
name
formula
custom education type attributes
custom course attributes
closed
courses
education types
expertise groups
modify courseinf rights
modify workload rights
Description
Value: models.ForeignKey(Department,
related name= subdepartmen...
Value: models.CharField(max length=
255)
Value: models.TextField(blank= True,
null= True)
Value: models.TextField(blank= True,
null= True)
Value: models.TextField(blank= True,
null= True)
Value: models.BooleanField(default=
False)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
continued on next page
130
Name
tasks
view workload rights
A.9.18
Description
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Class StudyProgramManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.StudyProgramManager
Methods
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.19
Class StudyProgram
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AutoYearQisModel
qis.app.models.StudyProgram
StudyProgram(id, system year id, name)
132
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.AutoYearQisModel(Section A.9.5)
save()
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
system year
name
target groups
Description
Value: models.ForeignKey(SystemYear,
related name= study progra...
Value: models.CharField(max length=
255)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
133
A.9.20
Class TargetGroupNameManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.TargetGroupNameManager
Methods
Properties
134
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.21
Class TargetGroupName
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AutoYearQisModel
qis.app.models.TargetGroupName
TargetGroupName(id, system year id, name)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.AutoYearQisModel(Section A.9.5)
save()
Inherited from qis.app.models.QisModel(Section A.9.4)
135
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
system year
name
target groups
A.9.22
Description
Value: models.ForeignKey(SystemYear,
related name= target group...
Value: models.CharField(max length=
255)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Class TargetGroupManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.TargetGroupManager
136
Methods
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
continued on next page
137
Name
Description
Inherited from django.db.models.manager.Manager
creation counter
A.9.23
Class TargetGroup
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.TargetGroup
TargetGroup(id, study program id, name id)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
getCourseInstances(self )
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
Properties
138
reduce ex (),
setattr ()
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
study program
course instances
name
A.9.24
Description
Value:
models.ForeignKey(StudyProgram,
related name= target gro...
Value:
models.ManyToManyField(CourseInstance,
related name= t...
Value:
models.ForeignKey(TargetGroupName,
related name= target ...
Class CourseManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.CourseManager
Methods
139
permitted(self )
Returns the objects the current user has any permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.permitted extit(inherited
documentation)
view permitted(self )
Only return definitive versions of things we can view.
Can only have view permitted if we dont have modify permitted.
Overrides: qis.app.models.QisManager.view permitted
modify permitted(self )
Only return provisional versions of things we can modify
Overrides: qis.app.models.QisManager.modify permitted
modify workload permitted(self )
Returns the courses we have modify subdepartment workload rights for.
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
140
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.25
Class Course
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Course
Course(id, given by id, code, name, description, custom attributes values, credits, given externally)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
can modify workload(self )
Returns True if this objects workload can be modified by the current user.
get course instances(self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save(), save base(), serializable value()
141
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
given by
predecessors
code
name
description
custom attributes values
credits
given externally
course instances
successors
Description
Value:
models.ForeignKey(Subdepartment,
related name= courses)
Value: models.ManyToManyField(self,
symmetrical= False, relate...
Value: models.CharField(max length=
255)
Value: models.CharField(max length=
255)
Value: models.TextField(blank= True)
Value: models.TextField(blank= True)
Value: models.FloatField()
Value: models.BooleanField(default=
False)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ManyRelatedObjectsDesc
142
A.9.26
Class StudyPhaseManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.StudyPhaseManager
Methods
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.27
Class StudyPhase
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AutoYearQisModel
qis.app.models.StudyPhase
StudyPhase(id, system year id, name)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.AutoYearQisModel(Section A.9.5)
save()
144
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
system year
name
course instances
A.9.28
Description
Value: models.ForeignKey(SystemYear,
related name= study phase)
Value: models.CharField(max length=
255)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Class CourseInstanceManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.CourseInstanceManager
145
Methods
146
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.29
Class CourseInstance
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.CourseInstance
CourseInstance(id, course id, study phase id, definitive, private remark, public remark, given to externals)
147
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
get subperiods(self )
Get all subperiods in which this course instance is given, return it as a list of
strings.
get responsibles(self )
Get all responsible employees linked to this course instance, return it as
string.
get tasks(self )
Get all education tasks linked to this course instance, return it as a list with
education tasks.
delete(self )
Overrides: django.db.models.base.Model.delete
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (),
pare database save(), save(), save base(), serializable value()
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
continued on next page
148
Name
pk
Inherited from object
class
Description
Class Variables
Name
course
responsibles
subperiods
study phase
definitive
private remark
public remark
given to externals
education tasks definitive
education tasks provisional
target groups
A.9.30
Description
Value: models.ForeignKey(Course,
related name= course instances)
Value:
models.ManyToManyField(Employee,
related name= respons...
Value:
models.ManyToManyField(Subperiod,
related name= course i...
Value: models.ForeignKey(StudyPhase,
related name= course insta...
Value: models.BooleanField(default=
False)
Value: models.TextField(blank= True)
Value: models.TextField(blank= True)
Value: models.BooleanField(default=
False)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ManyRelatedObjectsDesc
Class TaskTypeManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.TaskTypeManager
149
Methods
Properties
Name
Inherited from object
Description
continued on next page
150
Name
Description
class
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.31
Class TaskType
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.TaskType
TaskType(id, system id, type, name)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save(), save base(), serializable value()
151
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
system
type
name
tasks
A.9.32
Description
Value: models.ForeignKey(System,
related name= task types, def...
Value: models.CharField(max length=
255, unique= True)
Value: models.CharField(max length=
255)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Class TaskManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.TaskManager
152
Methods
153
repr (),
setattr (),
str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.33
Class Task
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Task
Known Subclasses: qis.app.models.EducationTask
Task(id, subdepartment id, type id, name, description, hours, public remark, private remark)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
154
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
subdepartment
type
employments
name
description
hours
public remark
private remark
assignments
educationtask
Description
Value:
models.ForeignKey(Subdepartment,
related name= tasks)
Value: models.ForeignKey(TaskType,
related name= tasks, blank=...
Value:
models.ManyToManyField(Employment,
through= Assignment...
Value: models.CharField(max length=
255)
Value: models.TextField(blank= True)
Value: models.IntegerField(blank=
False, null= True, default= 0)
Value: models.TextField(blank= True)
Value: models.TextField(blank= True)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.SingleRelatedObjectDes
155
A.9.34
Class EducationTaskManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.EducationTaskManager
Methods
156
modify permitted(self )
Returns the objects the current user has modify permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.modify permitted extit(inherited
documentation)
modify workload permitted(self )
modify courseinf permitted(self )
add assignment permitted(self )
Return all education tasks to which we can add assignments
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
157
A.9.35
Class EducationTask
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Task
qis.app.models.EducationTask
EducationTask(id, subdepartment id, type id, name, description, hours, public remark, private remark, task ptr id, course instance definitive id, course instance provisional id, education type id, number of employees, to be removed, weekly hours)
Methods
158
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
course instance
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
course instance definitive
Description
Value:
models.ForeignKey(CourseInstance,
blank= True, null= True...
Value:
models.ForeignKey(CourseInstance,
blank= False, null= Fal...
continued on next page
159
Name
education type
Description
Value:
models.ForeignKey(EducationType,
related name= educati...
subperiods
Value:
models.ManyToManyField(Subperiod,
related name= educatio...
number of employees
Value: models.IntegerField(blank=
True, null= True, verbose name...
to be removed
Value: models.BooleanField(default=
False, verbose name= Remove...
weekly hours
Value: models.FloatField(blank= True,
null= True)
task ptr
Value:
<django.db.models.fields.related.ReverseSingleRelatedOb
Inherited from qis.app.models.Task (Section A.9.33)
assignments, description, educationtask, employments, hours, name,
private remark, public remark, subdepartment, type
A.9.36
Class EducationTypeManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.EducationTypeManager
Methods
160
permitted(self )
Returns the objects the current user has any permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.permitted extit(inherited
documentation)
view permitted(self )
Covers both view permitted and modify permitted
Overrides: qis.app.models.QisManager.view permitted
modify permitted(self )
Returns the objects the current user has modify permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.modify permitted extit(inherited
documentation)
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
continued on next page
161
Name
Description
Inherited from django.db.models.manager.Manager
creation counter
A.9.37
Class EducationType
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.EducationType
EducationType(id, subdepartment id, name)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
Properties
162
reduce ex (),
setattr ()
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
subdepartment
name
education tasks
A.9.38
Description
Value:
models.ForeignKey(Subdepartment,
related name= education...
Value: models.CharField(max length=
255)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Class AssignmentManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.AssignmentManager
Methods
163
all unique(self )
Returns a list of all assignments, but only one of definitive or provisional for
each.
Provisional assignments are returned only for the employments that the
current user may modify.
permitted(self )
Returns the objects the current user has any permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.permitted extit(inherited
documentation)
definitive permitted(self )
Definitive versions of all permitted assignments
view permitted(self )
Returns the objects the current user has view permissions for.
Having modify permissions does not imply having view permissions.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.view permitted extit(inherited
documentation)
modify permitted(self )
Returns the objects the current user has modify permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.modify permitted extit(inherited
documentation)
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
164
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.39
Class Assignment
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Assignment
Assignment(id, task id, employment id, hours, share, externally funded, definitive)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
Assignment = Task for Employment
all objects(...)
Overrides: qis.app.models.QisModel.all objects
165
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
task
employment
hours
share
externally funded
definitive
Description
Value: models.ForeignKey(Task,
related name= assignments, help...
Value:
models.ForeignKey(Employment,
related name= assignments)
Value: models.IntegerField(blank=
True, null= True, default= 0)
Value: models.FloatField(blank= True,
null= True, default= 0)
Value: models.BooleanField(default=
False)
Value: models.BooleanField(default=
False)
166
A.9.40
Class EmployeeManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.EmployeeManager
Methods
permitted(self )
Returns the objects the current user has any permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.permitted extit(inherited
documentation)
view permitted(self )
Returns the objects the current user has view permissions for.
Having modify permissions does not imply having view permissions.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.view permitted extit(inherited
documentation)
modify permitted(self )
We can modify all employees if we have modify subdepartment workload
Overrides: qis.app.models.QisManager.modify permitted
Inherited from qis.app.models.QisManager(Section A.9.3)
get query set()
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
167
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.41
Class Employee
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Employee
Employee(id, system id, first name, last name, email, public remark, private remark, user name,
receive notifications employee, receive notifications expertise group)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
get self(user =None)
Returns the employee object associated with the current logged-in user.
168
get user(self )
Returns the django.contrib.auth User associated with this Employee, or None
if it doesnt exist yet.
An employee that has never logged in will not have a django User associated.
This is intended. User objects are created only on an as-required basis and
will be configured from an Employee automatically by the authentication
backend.
get rights(self )
has right(self, right)
update user(self )
Ensures that the related User object matches the Employee.
save(self, force insert=False, force update=False)
Saves the current instance. Override this in a subclass if you want to control
the saving process.
The force insert and force update parameters can be used to insist that
the save must be an SQL insert or update (or equivalent for non-SQL
backends), respectively. Normally, they should not be set.
Overrides: django.db.models.base.Model.save extit(inherited documentation)
get related course instances(self )
Returns a list of courseinstances where this employee is responsible for, or
where this employee is assigned to.
post delete(sender, **kwargs)
Removes the corresponding django User
unicode (self )
getEmployments(self )
total hours assigned(self )
is employed(self )
169
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
system
expertise groups
right sets
first name
last name
email
public remark
private remark
user name
Description
Value: models.ForeignKey(System,
related name= employees, defa...
Value:
models.ManyToManyField(ExpertiseGroup,
through= Employ...
Value:
models.ManyToManyField(RightSet,
through= Right, rela...
Value: models.CharField(max length=
255)
Value: models.CharField(max length=
255)
Value: models.EmailField(blank= True)
Value: models.TextField(blank= True)
Value: models.TextField(blank= True)
Value: models.CharField(max length=
255, unique= True)
continued on next page
170
Name
receive notifications employee
receive notifications expertise group
employments
responsible for
rights
A.9.42
Description
Value: models.BooleanField(default=
True, verbose name= "Receive...
Value: models.BooleanField(default=
False, verbose name= "Receiv...
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ManyRelatedObjectsDesc
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Class AbstractRightSetManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.AbstractRightSetManager
Methods
permitted(self )
Returns the objects the current user has any permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.permitted extit(inherited
documentation)
modify permitted(self )
Returns the objects the current user has modify permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.modify permitted extit(inherited
documentation)
Inherited from qis.app.models.QisManager(Section A.9.3)
get query set(), view permitted()
171
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.43
Class AbstractRightSet
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AbstractRightSet
Known Subclasses: qis.app.models.RightSet
A configuration of permissions known under a certain name.
The boolean right fields are supposed to be added via subclassing.
172
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
save(self, force insert=False, force update=False)
Saves the current instance. Override this in a subclass if you want to control
the saving process.
The force insert and force update parameters can be used to insist that
the save must be an SQL insert or update (or equivalent for non-SQL
backends), respectively. Normally, they should not be set.
Overrides: django.db.models.base.Model.save extit(inherited documentation)
post delete(sender, **kwargs)
Removes the corresponding django Group
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
reduce ex (),
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
173
setattr ()
Class Variables
Name
system
name
default
RIGHTS
A.9.44
Description
Value: models.ForeignKey(System,
related name= rightsets, defa...
Value: models.CharField(max length=
50, unique= True)
Value: models.BooleanField(default=
False)
Value: [view own workload,
view expertisegroup workload,
vi...
Value:
(modify system administration,
MSA, [change system,...
Class RightSet
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AbstractRightSet
qis.app.models.RightSet
RightSet(id, system id, name, default, view own workload, view expertisegroup workload,
view subdepartment workload, view department workload, modify subdepartment workload,
modify subdepartment courseinf, modify system administration)
Methods
all objects(...)
Overrides: qis.app.models.QisModel.all objects
objects(...)
Overrides: qis.app.models.QisModel.objects
Inherited from qis.app.models.AbstractRightSet(Section A.9.43)
174
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
Description
employees
Value:
<django.db.models.fields.related.ManyRelatedObjectsDesc
rights
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
system
Value:
<django.db.models.fields.related.ReverseSingleRelatedOb
Inherited from qis.app.models.AbstractRightSet (Section A.9.43)
RIGHTS, default, name, x
175
A.9.45
Class AbstractRightManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.AbstractRightManager
Methods
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.46
Class AbstractRight
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AbstractRight
Known Subclasses: qis.app.models.Right
Associates an Employee with a RightSet and provides the specific objects a RightSet applies
to.
The boolean right object fields are supposed to be added via subclassing.
177
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
save(self, force insert=False, force update=False)
Saves the current instance. Override this in a subclass if you want to control
the saving process.
The force insert and force update parameters can be used to insist that
the save must be an SQL insert or update (or equivalent for non-SQL
backends), respectively. Normally, they should not be set.
Overrides: django.db.models.base.Model.save extit(inherited documentation)
post delete(sender, **kwargs)
Updates the corresponding django Group association for a user
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
reduce ex (),
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
178
setattr ()
Class Variables
Name
rightset
employee
Description
Value: models.ForeignKey(RightSet,
related name= rights)
Value: models.ForeignKey(Employee,
related name= rights)
OBJECTS
def view workload object(self):
if self.rightset.view department workload:
return view department workload object
if self.rightset.view subdepartment workload:
return view subdepartment workload object
if self.rightset.view expertisegroup workload:
return view expertisegroup workload object
if self.rightset.view own workload:
return self.employee
return None
def modify workload object(self):
if self.rightset.modify subdepartment workload:
return modify subdepartment workload object
return None
179
A.9.47
Class Right
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AbstractRight
qis.app.models.Right
Right(id, rightset id, employee id, view expertisegroup workload object id, view subdepartment workload o
view department workload object id, modify subdepartment workload object id, modify subdepartment co
Methods
all objects(...)
Overrides: qis.app.models.QisModel.all objects
objects(...)
Overrides: qis.app.models.QisModel.objects
Inherited from qis.app.models.AbstractRight(Section A.9.46)
unicode (), post delete(), save()
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
continued on next page
180
Name
pk
Inherited from object
class
Description
Class Variables
Name
Description
Value:
<django.db.models.fields.related.ReverseSingleRelatedOb
modify subdepartment co- Value:
urseinf object
<django.db.models.fields.related.ReverseSingleRelatedOb
modify subdepartment wo- Value:
rkload object
<django.db.models.fields.related.ReverseSingleRelatedOb
rightset
Value:
<django.db.models.fields.related.ReverseSingleRelatedOb
view department workloa- Value:
d object
<django.db.models.fields.related.ReverseSingleRelatedOb
view expertisegroup workl- Value:
oad object
<django.db.models.fields.related.ReverseSingleRelatedOb
view subdepartment workl- Value:
oad object
<django.db.models.fields.related.ReverseSingleRelatedOb
Inherited from qis.app.models.AbstractRight (Section A.9.46)
OBJECTS, x
employee
A.9.48
Class PositionManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.PositionManager
181
Methods
Properties
Name
Inherited from object
Description
continued on next page
182
Name
Description
class
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.49
Class Position
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.AutoYearQisModel
qis.app.models.Position
Position(id, system year id, name)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.AutoYearQisModel(Section A.9.5)
save()
Inherited from qis.app.models.QisModel(Section A.9.4)
183
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
system year
name
employments
A.9.50
Description
Value: models.ForeignKey(SystemYear,
related name= positions)
Value: models.CharField(max length=
255)
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Class EmploymentManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.EmploymentManager
184
Methods
Properties
185
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.51
Class Employment
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Employment
Employment(id, expertise group id, employee id, position id, fte, start, ends, education ratio,
research ratio, management ratio)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
get other ratio(self )
total available hours(self, sy =None)
Returns the total available hours in a year considering start and end times of
an employment.
This does not consider any current assignments.
186
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
expertise group
employee
Description
Value:
models.ForeignKey(ExpertiseGroup,
related name= employ...
Value: models.ForeignKey(Employee,
related name= employments)
continued on next page
187
Name
position
fte
start
ends
education ratio
research ratio
management ratio
assignments
tasks
A.9.52
Description
Value: models.ForeignKey(Position,
related name= employments, ...
Value: models.FloatField()
Value: models.DateField(blank= True,
null= True)
Value: models.DateField(blank= True,
null= True)
Value: models.FloatField()
Value: models.FloatField()
Value: models.FloatField()
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ManyRelatedObjectsDesc
Class ExpertiseGroupManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.ExpertiseGroupManager
Methods
view permitted(self )
Returns the objects the current user has view permissions for.
Having modify permissions does not imply having view permissions.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.view permitted extit(inherited
documentation)
view workload permitted(self )
modify permitted(self )
Returns the objects the current user has modify permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.modify permitted extit(inherited
documentation)
modify workload permitted(self )
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
continued on next page
189
Name
Description
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
A.9.53
Class ExpertiseGroup
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.ExpertiseGroup
ExpertiseGroup(id, subdepartment id, name)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
190
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
subdepartment
name
employees
employments
view workload rights
A.9.54
Description
Value:
models.ForeignKey(Subdepartment,
related name= expertise...
Value: models.CharField(max length=
255)
Value:
<django.db.models.fields.related.ManyRelatedObjectsDesc
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Class ReportManager
object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.ReportManager
191
Methods
permitted(self )
Returns the objects the current user has any permissions for.
Intended to be overridden, the default is very restrictive.
Overrides: qis.app.models.QisManager.permitted extit(inherited
documentation)
modify permitted(self )
We need to return this, otherwise the changelist wont show anything.
Overrides: qis.app.models.QisManager.modify permitted
Inherited from qis.app.models.QisManager(Section A.9.3)
get query set(), view permitted()
Inherited from django.db.models.manager.Manager
init (), aggregate(), all(), annotate(), complex filter(), contribute to class(),
count(), create(), dates(), defer(), distinct(), exclude(), extra(), filter(), get(),
get empty query set(), get or create(), in bulk(), iterator(), latest(), none(),
only(), order by(), reverse(), select related(), update(), values(), values list()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
Inherited from qis.app.models.QisManager (Section A.9.3)
slotnames
Inherited from django.db.models.manager.Manager
creation counter
192
A.9.55
Class Report
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Report
Report(id, system id, name, definition, targetmodel, template, extramodel, group)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
get definition(self )
set definition(self, definition)
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
get group display(*moreargs, **morekwargs)
Inherited from qis.app.models.QisModel(Section A.9.4)
can modify(), can view(), get view permission()
Inherited from django.db.models.base.Model
eq (), hash (), init (), ne (), reduce (), repr (), str (), delete(),
prepare database save(), save(), save base(), serializable value()
Inherited from object
delattr (),
getattribute (),
new (),
Properties
193
reduce ex (),
setattr ()
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
system
name
definition
targetmodel
template
extramodel
group
A.9.56
Description
Value: models.ForeignKey(System,
related name= reports, defaul...
Value: models.CharField(max length=
255)
Value: models.TextField()
Value: models.CharField(max length=
50)
Value: models.CharField(max length=
100)
Value: models.CharField(max length=
50, blank= True)
Value: models.IntegerField(choices=
REPORT GROUPS)
Class Subdepartment
object
django.db.models.base.Model
qis.app.models.QisModel
qis.app.models.Subdepartment
Subdepartment(id, department id, name, formula, custom education type attributes, custom course attributes, closed)
Methods
objects(...)
Overrides: qis.app.models.QisModel.objects
194
can view(self )
Returns True if this object can be viewed by the current user.
Overrides: qis.app.models.QisModel.can view
can modify(self )
Returns True if this object can be modified by the current user.
Overrides: qis.app.models.QisModel.can modify
send notifications courses(self, system year =None, send mail=True)
Sends a notification to all employees whose courseinstaces are about to
change. Supposed to be called just before make courses definitive destroys
all provisional data.
Also sends an email to all persons with right edit subdepartment workload
Latest version should also send mails to people with assignments related to
these courses, as well as the expertisegroupsleaders of related egs.
if send mail is false, no mails will actually be sent. The function will return
all mails it sends (or would send).
send notifications tasks(self, system year =None, send mail=True)
Sends a notification to all employees whose assignments are about to change.
Also mail expertisegroup leaders. Supposed to be called just before
make tasks definitive destroys all provisional data.
if send mail is false, no mails will actually be sent. The function will still
return all mails it creates.
changed courseinstances(self, system year =None)
Returns a list of courseinstaces which will have been changed since the last
definitive version.
changed assignments(self, system year =None)
Returns a list of assignments which will have been changed since the last
definitive version.
close year(self )
make assignments definitive(self )
195
getattribute (),
new (),
reduce ex (),
setattr ()
Properties
Name
Description
Inherited from django.db.models.base.Model
pk
Inherited from object
class
Class Variables
Name
department
name
formula
custom education type attributes
custom course attributes
closed
Description
Value: models.ForeignKey(Department,
related name= subdepartmen...
Value: models.CharField(max length=
255)
Value: models.TextField(blank= True,
null= True)
Value: models.TextField(blank= True,
null= True)
Value: models.TextField(blank= True,
null= True)
Value: models.BooleanField(default=
False)
continued on next page
196
Name
courses
education types
expertise groups
modify courseinf rights
modify workload rights
tasks
view workload rights
Description
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
Value:
<django.db.models.fields.related.ForeignRelatedObjectsD
197
A.10
Provides some useful caching functions that only live during single requests.
It essentially makes variables globally available, it doesnt serialize anything.
This requires that the RequestAnywhere middleware is loaded.
A.10.1
Functions
is set(cache key )
set(cache key, cache value)
get or none(cache key )
get(cache key )
A.10.2
Variables
Name
DEBUG
A.10.3
Description
Value: False
Class NotCached
object
exceptions.BaseException
exceptions.Exception
qis.app.request cache.NotCached
Methods
new ()
delattr (), getattribute (), getitem (), getslice (), reduce (), repr (),
setattr (), setstate (), str ()
Inherited from object
hash (),
reduce ex ()
Properties
Name
Inherited from exceptions.BaseException
args, message
Inherited from object
class
199
Description
A.11
Module qis.app.sites
A.11.1
Variables
Name
site
BLANK CHOICE DASH
DJANGO QISGROUP FORMAT
ERROR MESSAGE
RIGHT OBJECTS
TASK TYPES
VERTICAL
datetime CAPI
name
object
perms
related name
right
settings
Description
Value: QisSite(name= qis, app name=
app)
Value: [(, ---------)]
Value: [QIS Application Group] %s
Value:
<django.utils.functional. proxy
object at 0x94903ec>
Value: {<class
django.db.models.fields.CharField>:
{widget: ...
Value: 1
Value: this is the login form
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: 2
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
Value: <django.conf.LazySettings
object at 0x904ddec>
200
A.11.2
Class QisSite
object
qis.admin.sites.AdminSite
qis.app.sites.QisSite
Main class for the QIS application
Provides URL configuration and a registry of all configured models.p Also ensures that
authentication is done.
Methods
for signature
extit(inherited documentation)
get urls(self )
Returns the urlpatterns for this site. Redefined from AdminSite since
practically nothing remains. Note that this one is static.
Overrides: qis.admin.sites.AdminSite.get urls
Inherited from qis.admin.sites.AdminSite
add action(), admin view(), app index(), check dependencies(), disable action(),
display login form(), get action(), has permission(), i18n javascript(), index(),
login(), logout(), model page(), password change(), password change done(),
register(), root(), unregister()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from qis.admin.sites.AdminSite
actions, urls
Inherited from object
Description
201
Name
Description
class
Class Variables
Name
Description
Inherited from qis.admin.sites.AdminSite
app index template, index template, login template
202
A.12
Package qis.app.templatetags
A.12.1
Modules
203
A.13
A.13.1
Functions
A.13.2
Variables
Name
register
Description
Value: template.Library()
204
A.14
A.14.1
Functions
205
A.15
A.15.1
Functions
A.15.2
Variables
Name
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
206
A.16
A.16.1
Functions
A.16.2
Variables
Name
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
207
A.17
A.17.1
Functions
querystring()
current url()
A.17.2
Variables
Name
register
Description
Value: template.Library()
208
A.18
A.18.1
Functions
init report(subdepartment)
get positions(subdepartment)
get tasktypes(subdepartment)
get position tt(subdepartment, tasktype)
get hours position(subdepartment, position)
get hours tasktype(subdepartment, tasktype)
get hours(subdepartment)
get hours internal(subdepartment, giventoexternals)
get study phases(subdepartment)
get by studyphase(subdepartment, studyphase)
get hours studyphase(subdepartment, studyphase)
get hours external(subdepartment)
A.18.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
continued on next page
209
Name
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
210
A.19
A.19.1
Functions
init report(object, sy )
in subdepartment(object)
A.19.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
211
A.20
A.20.1
Functions
init report(object)
in subdepartment(object)
A.20.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
212
A.21
A.21.1
Functions
A.21.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
continued on next page
213
Name
perms
related name
right
Description
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
214
A.22
A.22.1
Functions
init csv()
add to csv(*args)
start csv row()
add to csv row(*args)
add csv row()
add to csv row formatted(string, *args)
add to csv formatted(string, *args)
ungeneric tag compiler(params, defaults, name, node class, parser, token)
Returns a template.Node subclass.
csv export()
export csv()
A.22.2
Variables
Name
report csv
current row
csv writer
defaults
params
xx
xxx
Value:
Value:
Value:
Value:
Value:
Value:
Value:
Description
CSVExport()
[]
csv.writer(report csv)
None
[string]
args
None
215
A.22.3
Class CSVExport
object
qis.app.templatetags.report csv.CSVExport
Methods
erase(self )
write(self, value)
Inherited from object
delattr (), getattribute (), hash (), init (),
reduce ex (), repr (), setattr (), str ()
new (),
reduce (),
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Description
contents
A.22.4
Value:
Class SimpleNode
object
django.template.Node
qis.app.templatetags.report csv.SimpleNode
216
Methods
for signature
extit(inherited documentation)
render(self, context)
Return the node rendered as a string
Overrides: django.template.Node.render extit(inherited documentation)
Inherited from django.template.Node
iter (), get nodes by type()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Inherited from django.template.Node
must be first
A.22.5
Description
Class SimpleNode2
object
django.template.Node
qis.app.templatetags.report csv.SimpleNode2
217
Methods
for signature
extit(inherited documentation)
render(self, context)
Return the node rendered as a string
Overrides: django.template.Node.render extit(inherited documentation)
Inherited from django.template.Node
iter (), get nodes by type()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Inherited from django.template.Node
must be first
A.22.6
Description
Class SimpleNode3
object
django.template.Node
qis.app.templatetags.report csv.SimpleNode3
218
Methods
for signature
extit(inherited documentation)
render(self, context)
Return the node rendered as a string
Overrides: django.template.Node.render extit(inherited documentation)
Inherited from django.template.Node
iter (), get nodes by type()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Inherited from django.template.Node
must be first
A.22.7
Description
Class SimpleNode4
object
django.template.Node
qis.app.templatetags.report csv.SimpleNode4
219
Methods
for signature
extit(inherited documentation)
render(self, context)
Return the node rendered as a string
Overrides: django.template.Node.render extit(inherited documentation)
Inherited from django.template.Node
iter (), get nodes by type()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
Inherited from django.template.Node
must be first
Description
220
A.23
A.23.1
Functions
A.23.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
continued on next page
221
Name
datetime CAPI
name
object
perms
related name
right
Description
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
222
A.24
A.24.1
Functions
A.24.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
continued on next page
223
Name
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
224
A.25
A.25.1
Functions
A.25.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
225
A.26
A.26.1
Functions
A.26.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
continued on next page
226
Name
perms
related name
right
Description
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
227
A.27
A.27.1
Functions
mult(value, arg )
Multiplies the arg and the value
sub(value, arg )
Subtracts the arg from the value
div(value, arg )
Divides the value by the arg
A.27.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
228
A.28
A.28.1
Functions
A.28.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
229
A.29
A.29.1
Functions
dmodel(modelstring )
allreports(group)
supergroups()
report result list(cl, system year )
A.29.2
Variables
Name
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
230
A.30
A.30.1
Functions
A.30.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
continued on next page
231
Name
perms
related name
right
Description
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
232
A.31
A.31.1
Functions
A.31.2
Variables
Name
register
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: template.Library()
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
233
A.32
A.32.1
Functions
A.32.2
Variables
Name
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
234
A.33
A.33.1
Functions
A.33.2
Variables
Name
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
name
object
perms
related name
right
Description
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
235
A.34
Module qis.app.tests
Loads the legacy data from a set of CSV exports into the model.
A.34.1
Variables
Name
DJANGO QISGROUP FORMAT
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS
RIGHT OBJECTS
TASK TYPES
datetime CAPI
debug
name
object
perms
related name
right
username
userpass
Description
Value: [QIS Application Group] %s
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
Value: False
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
Value: sep
Value: roester
236
A.34.2
Class TestViews
object
unittest.TestCase
django.test.testcases.TransactionTestCase
django.test.testcases.TestCase
qis.app.tests.TestViews
Methods
setUp(self )
Configures the test environment
Overrides: unittest.TestCase.setUp
test atr1(self )
ATR1 - UCR2, 3, 4, 5, 8, 160, 161, 162, 163
test atr2(self )
ATR1 - UCR3, 4, 8
test system(self )
test pages(self )
Tests all pages for existance
test index page(self )
Tests index page for existance
test administrative page(self )
Tests administrative page for existance
test home page(self )
Tests home page for existance
237
test logout(self )
Tests logs out
test employees login(self )
Test logs out and logs in as specific users
test login(self, user =sep, password=roester)
Tests login
test false login(self, user =fake, password=fake)
Tests login with false credentials
test add department(self )
Tests adding a department
test add subdepartment(self )
Tests adding a subdepartment
test add expertisegroup(self )
Tests adding a expertise group
test add studyprogram(self )
Tests adding a study program
get active system year(self )
Returns the active system year
add something(self, section, fields)
Helper function for adding an item
cleanUp(self )
Cleans the test environment
Inherited from django.test.testcases.TransactionTestCase
call (), assertContains(), assertFormError(), assertNotContains(), assertRedirects(), assertTemplateNotUsed(), assertTemplateUsed()
Inherited from unittest.TestCase
238
init (), repr (), str (), assertAlmostEqual(), assertAlmostEquals(), assertEqual(), assertEquals(), assertFalse(), assertNotAlmostEqual(), assertNotAlmostEquals(), assertNotEqual(), assertNotEquals(), assertRaises(), assertTrue(), assert (), countTestCases(), defaultTestResult(), fail(), failIf(), failIfAlmostEqual(), failIfEqual(), failUnless(), failUnlessAlmostEqual(), failUnlessEqual(), failUnlessRaises(), id(), run(), shortDescription(), tearDown()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
setattr ()
Properties
Name
Inherited from object
class
Description
Class Variables
Name
debug
username
userpass
Description
Value: False
Value: sep
Value: roester
239
A.35
Module qis.app.views
A.35.1
Functions
A.35.2
Variables
Name
DJANGO QISGROUP FORMAT
ERROR MESSAGE
RIGHT OBJECTS
TASK TYPES
datetime CAPI
Description
Value: [QIS Application Group] %s
Value:
<django.utils.functional. proxy
object at 0x94903ec>
Value: this is the login form
Value: 9999
Value: 1
Value: ((view own workload, VOW,
[]), (view expertisegroup ...
Value: [(1, Workload), (2,
Employee reports), (3, Course
In...
Value:
[(view expertisegroup workload object,
VEGW object, ...
Value: ((researchproject, Research
project), (managementpro...
Value: <PyCObject object at
0x8eba110>
continued on next page
240
Name
name
object
perms
related name
right
settings
Description
Value: MSDCI object
Value:
modify subdepartment courseinf object
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration
Value: <django.conf.LazySettings
object at 0x904ddec>
241
A.36
Module qis.manage
242
A.37
243
A.38
Module qis.runserver
A.38.1
Variables
Name
cmd prefix
Description
Value: ./manage.py
244
A.39
Module qis.settings
A.39.1
Variables
Name
DEBUG
TEMPLATE DEBUG
DATABASE NAME
DATABASE HOST
SECRET KEY
QIS URL
AUTHENTICATION BACKENDS
AD DC
INTERNAL IPS
EMAIL SUBJECT PREFIX
EMAIL HOST
EMAIL PORT
ADMINS
ADMIN MEDIA PREFIX
AD DOMAIN
AD SITE
DATABASE ENGINE
DATABASE PASSWORD
DATABASE PORT
DATABASE USER
EMERGENCY SUPERUSER LOGIN
EMERGENCY SUPERUSER PASSHASH
INSTALLED APPS
LANGUAGE CODE
MANAGERS
MEDIA ROOT
MEDIA URL
Description
Value: True
Value: True
Value: qis trunk
Value: sep.tnode.net
Value:
k384nwb947epd$tcjtsp)!4(xa&b%7j#avxbsk*ql&=+9z&n04
Value: http://localhost:8000/
Value:
[qis.app.auth.backends.EmergencySuperuserBackend,
qis....
Value: tuedc1.tue.nl
Value: [127.0.0.1]
Value: [QIS Admin - DEBUG Mode]
Value:
Value:
Value:
Value:
Value:
Value:
Value:
Value:
localhost
1025
((SEP, sep@tnode.net))
/media/
TUE
tue.nl
mysql
roester
Value:
Value: qis prod
Value: sep
Value:
sha1$7116e$3dfdc05d10568a2996b76d63cc547ebd001f7004
Value: (django.contrib.auth,
django.contrib.contenttypes, d...
Value: en-us
Value: ((SEP, sep@tnode.net))
Value:
/home/roy/files/tue/2ip35/SEP2010-1/trunk/src/qis/media
Value: /media/
continued on next page
245
Name
MIDDLEWARE CLASSES
ROOT URLCONF
SEND BROKEN LINK EMAILS
SITE ID
SITE ROOT
TEMPLATE CONTEXT PROCESSORS
TEMPLATE DIRS
TEMPLATE LOADERS
TIME ZONE
USE I18N
Description
Value:
(django.middleware.gzip.GZipMiddleware,
qis.app.middle...
Value: qis.urls
Value: False
Value: 1
Value:
/home/roy/files/tue/2ip35/SEP2010-1/trunk/src/qis
Value:
(django.core.context processors.auth,
django.core.cont...
Value:
(/home/roy/files/tue/2ip35/SEP2010-1/trunk/src/qis/temp
Value:
(django.template.loaders.filesystem.load template source
Value: Europe/Amsterdam
Value: False
246
A.40
Variables
Name
SITE ROOT
DEBUG
TEMPLATE DEBUG
ADMINS
MANAGERS
SEND BROKEN LINK EMAILS
EMAIL SUBJECT PREFIX
DATABASE ENGINE
DATABASE NAME
DATABASE USER
DATABASE PASSWORD
DATABASE HOST
DATABASE PORT
TIME ZONE
SECRET KEY
Description
Value:
/home/roy/files/tue/2ip35/SEP2010-1/trunk/src/qis
Value: False
Value: False
Value: ((SEP, sep@tnode.net))
Value: ((SEP, sep@tnode.net))
Value: False
Value: [QIS Admin]
Value:
Value:
Value:
Value:
mysql
qis prod
qis prod
roester
Value:
Value:
Value: Europe/Amsterdam
Value:
=683 y17ahz8xo4=qc!7j4-w6^)prl3!akyz2j^#s^(@l^4ec^
continued on next page
247
Name
EMERGENCY SUPERUSER LOGIN
EMERGENCY SUPERUSER PASSHASH
AD SITE
AD DOMAIN
QIS URL
LANGUAGE CODE
SITE ID
USE I18N
MEDIA ROOT
ADMIN MEDIA PREFIX
MEDIA URL
TEMPLATE LOADERS
TEMPLATE CONTEXT PROCESSORS
MIDDLEWARE CLASSES
AUTHENTICATION BACKENDS
ROOT URLCONF
TEMPLATE DIRS
INSTALLED APPS
Description
Value: sep
Value:
sha1$7116e$3dfdc05d10568a2996b76d63cc547ebd001f7004
Value: tue.nl
Value: TUE
Value: http://qistest.win.tue.nl/
Value: en-us
Value: 1
Value: False
Value:
/home/roy/files/tue/2ip35/SEP2010-1/trunk/src/qis/media
Value: /media/
Value: /media/
Value:
(django.template.loaders.filesystem.load template source
Value:
(django.core.context processors.auth,
django.core.cont...
Value:
(django.middleware.gzip.GZipMiddleware,
qis.app.middle...
Value:
[qis.app.auth.backends.EmergencySuperuserBackend,
qis....
Value: qis.urls
Value:
(/home/roy/files/tue/2ip35/SEP2010-1/trunk/src/qis/temp
Value: (django.contrib.auth,
django.contrib.contenttypes, d...
248
A.41
Package qis.tools
A.41.1
Modules
249
A.42
250
A.43
Module qis.tools.djangoproject
A.43.1
Variables
Name
PROJECT ROOT
Description
Value:
/home/roy/files/tue/2ip35/SEP2010-1/trunk/src/qis
251
A.44
A.44.1
Functions
get passhash(password)
Returns a salted password hash for the given password
askpass()
252
A.45
Loads the legacy data from a set of CSV exports into the model.
A.45.1
Functions
do import()
A.45.2
Variables
Name
PROJECT ROOT
A.45.3
Description
Value:
/home/roy/files/tue/2ip35/SEP2010-1/trunk/src/qis
Class obj
object
qis.tools.import legacy.obj
Recursively converts any dict to object for easy attribute access
Methods
init (self, d)
x. init (...) initializes x; see x. class . doc
Overrides: object. init
for signature
extit(inherited documentation)
Properties
Name
Inherited from object
class
Description
253
A.46
Module qis.tools.mailserver
254
A.47
Module qis.tools.setup
A.47.1
Functions
q choice(ans, vargs)
q asciistring(ans, vargs)
q integer(ans, vargs)
ask(*args)
main()
interact main()
A.47.2
Variables
Name
QUESTIONS
config
PROJECT ROOT
A.47.3
Description
Value: {adduser: (QIS requires an
Administrator to set up rig...
Value: QisSettings()
Value:
/home/roy/files/tue/2ip35/SEP2010-1/trunk/src/qis
Class ValidationException
object
exceptions.BaseException
exceptions.Exception
qis.tools.setup.ValidationException
Methods
255
init (),
new ()
reduce ex ()
Properties
Name
Inherited from exceptions.BaseException
args, message
Inherited from object
class
A.47.4
Description
Class QisSettings
object
qis.tools.setup.QisSettings
Methods
apply(self )
Write configuration to settings prod.py
Inherited from object
delattr (), getattribute (), hash (), init (),
reduce ex (), repr (), setattr (), str ()
new (),
Properties
Name
Inherited from object
class
Description
256
reduce (),
Class Variables
Name
use nt
import legacy
add user
Description
Value: False
Value: False
Value: False
257
A.48
Module qis.urls
A.48.1
Variables
Name
urlpatterns
Description
Value: [<RegexURLResolver
[<RegexURLPattern courses definitive
^...
258
Index
qis (package), 1516
qis.app (package), 1718
qis.app.auth (package), 19
qis.app.context processors (module), 26
qis.app.create groups (function), 18
qis.app.create permissions (function), 18
qis.app.create system instance (function),
18
qis.app.create task types (function), 18
qis.app.initialize report data (function),
18
qis.app.initialize right data (function),
18
qis.app.mail (module), 27
qis.app.middleware (module), 2829
qis.app.modeladmins (module), 30102
qis.app.models (module), 103197
qis.app.request cache (module), 198
199
qis.app.sites (module), 200202
qis.app.templatetags (package), 203
qis.app.tests (module), 236239
qis.app.views (module), 240241
qis.manage (module), 242
qis.manage prod (module), 243
qis.runserver (module), 244
qis.settings (module), 245246
qis.settings prod (module), 247248
qis.tools (package), 249
qis.tools.compile tree (module), 250
qis.tools.djangoproject (module), 251
qis.tools.generate passhash (module), 252
qis.tools.import legacy (module), 253
254
qis.tools.mailserver (module), 254
qis.tools.setup (module), 255257
qis.urls (module), 258
259
Appendix B
260