Sunteți pe pagina 1din 262

Detailed Design Document

Eindhoven, January 15, 2010

Project Manager:

Wilco Belgraver Thissen, 0514143

Quality Assurance Manager:


J elle Hellings, 0592127

Senior management:

Mark van den Brand, HG 5.59


Lou Somers, HG 5.36

Advisor:

Erik Luit, HG 7.12

Customer:

Natalia Sidorova, HG 7.84

ddd-1.0.3103

Project team:

Roy Berkeveld, 0608170


Gijs Direks, 0611093
Michael van Duijkeren, 0535368
Neal van den Eertwegh, 0610024
Dion J ansen, 0590077
Koen Kivits, 0608715
Sander Leemans, 0608896
Kevin van der Pol, 0620300
Nick van der Veeken, 0587266

Computer Science, TU/e

Technische Universiteit Eindhoven University of Technology

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.

Technische Universiteit Eindhoven University of Technology

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

2 Standards and conventions


2.1 Design standards . . . . .
2.2 Documentation standards .
2.3 Naming conventions . . . .
2.4 Coding standards . . . . .
2.5 Software development tools

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

11
11
11
11
11
11

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

3 Component descriptions

12

4 Build procedure

13

A Source code listings


A.1 Package qis . . . . . . . . . . . . . . . .
A.1.1 Modules . . . . . . . . . . . . . .
A.2 Package qis.app . . . . . . . . . . . . . .
A.2.1 Modules . . . . . . . . . . . . . .
A.2.2 Functions . . . . . . . . . . . . .
A.3 Package qis.app.auth . . . . . . . . . . .
A.3.1 Modules . . . . . . . . . . . . . .
A.3.2 Class has right . . . . . . . . . . .
A.4 Module qis.app.auth.backends . . . . . .
A.4.1 Variables . . . . . . . . . . . . . .
A.4.2 Class EmergencySuperuserBackend
A.4.3 Class DummyBackend . . . . . . .
A.4.4 Class LocalBackend . . . . . . . .
A.4.5 Class ActiveDirectoryBackend . . .
A.5 Module qis.app.context processors . . . .
A.5.1 Functions . . . . . . . . . . . . .
A.6 Module qis.app.mail . . . . . . . . . . . .
1

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

14
15
15
17
17
18
19
19
19
20
20
20
21
23
24
26
26
27

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.9 Module qis.app.models . . . . . . . . .


A.9.1 Functions . . . . . . . . . . . .
A.9.2 Variables . . . . . . . . . . . . .
A.9.3 Class QisManager . . . . . . . .
A.9.4 Class QisModel . . . . . . . . .
A.9.5 Class AutoYearQisModel . . . .
A.9.6 Class System . . . . . . . . . .
A.9.7 Class Notification . . . . . . . .
A.9.8 Class SystemYearManager . . .
A.9.9 Class SystemYear . . . . . . . .
A.9.10 Class PeriodManager . . . . . .
A.9.11 Class Period . . . . . . . . . . .
A.9.12 Class SubperiodManager . . . .
A.9.13 Class Subperiod . . . . . . . . .
A.9.14 Class DepartmentManager . . .
A.9.15 Class Department . . . . . . . .
A.9.16 Class SubdepartmentManager .
A.9.17 Class Subdepartment . . . . . .
A.9.18 Class StudyProgramManager . .
A.9.19 Class StudyProgram . . . . . . .
A.9.20 Class TargetGroupNameManager
A.9.21 Class TargetGroupName . . . .
A.9.22 Class TargetGroupManager . . .
A.9.23 Class TargetGroup . . . . . . . .
A.9.24 Class CourseManager . . . . . .
A.9.25 Class Course . . . . . . . . . . .
A.9.26 Class StudyPhaseManager . . .
A.9.27 Class StudyPhase . . . . . . . .
A.9.28 Class CourseInstanceManager . .
A.9.29 Class CourseInstance . . . . . .
A.9.30 Class TaskTypeManager . . . . .
A.9.31 Class TaskType . . . . . . . . .
A.9.32 Class TaskManager . . . . . . .
A.9.33 Class Task . . . . . . . . . . . .
A.9.34 Class EducationTaskManager . .
A.9.35 Class EducationTask . . . . . .
A.9.36 Class EducationTypeManager . .
A.9.37 Class EducationType . . . . . .
A.9.38 Class AssignmentManager . . .
A.9.39 Class Assignment . . . . . . . .
A.9.40 Class EmployeeManager . . . . .
A.9.41 Class Employee . . . . . . . . .
A.9.42 Class AbstractRightSetManager
A.9.43 Class AbstractRightSet . . . . .
A.9.44 Class RightSet . . . . . . . . . .
A.9.45 Class AbstractRightManager . .
A.9.46 Class AbstractRight . . . . . . .
3

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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

Technische Universiteit Eindhoven University of Technology

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

A.9.47 Class Right . . . . . . . . . . . . . . .


A.9.48 Class PositionManager . . . . . . . . .
A.9.49 Class Position . . . . . . . . . . . . . .
A.9.50 Class EmploymentManager . . . . . . .
A.9.51 Class Employment . . . . . . . . . . . .
A.9.52 Class ExpertiseGroupManager . . . . .
A.9.53 Class ExpertiseGroup . . . . . . . . . .
A.9.54 Class ReportManager . . . . . . . . . .
A.9.55 Class Report . . . . . . . . . . . . . . .
A.9.56 Class Subdepartment . . . . . . . . . .
Module qis.app.request cache . . . . . . . . . .
A.10.1 Functions . . . . . . . . . . . . . . . .
A.10.2 Variables . . . . . . . . . . . . . . . . .
A.10.3 Class NotCached . . . . . . . . . . . .
Module qis.app.sites . . . . . . . . . . . . . . .
A.11.1 Variables . . . . . . . . . . . . . . . . .
A.11.2 Class QisSite . . . . . . . . . . . . . . .
Package qis.app.templatetags . . . . . . . . . .
A.12.1 Modules . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.app modify . . . .
A.13.1 Functions . . . . . . . . . . . . . . . .
A.13.2 Variables . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.context operations
A.14.1 Functions . . . . . . . . . . . . . . . .
Module qis.app.templatetags.course list . . . .
A.15.1 Functions . . . . . . . . . . . . . . . .
A.15.2 Variables . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.employee list . . .
A.16.1 Functions . . . . . . . . . . . . . . . .
A.16.2 Variables . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.qis url helpers . .
A.17.1 Functions . . . . . . . . . . . . . . . .
A.17.2 Variables . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report budget . .
A.18.1 Functions . . . . . . . . . . . . . . . .
A.18.2 Variables . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report capacity . .
A.19.1 Functions . . . . . . . . . . . . . . . .
A.19.2 Variables . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report course tasks
A.20.1 Functions . . . . . . . . . . . . . . . .
A.20.2 Variables . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report course type
A.21.1 Functions . . . . . . . . . . . . . . . .
A.21.2 Variables . . . . . . . . . . . . . . . . .
Module qis.app.templatetags.report csv . . . .
A.22.1 Functions . . . . . . . . . . . . . . . .
4

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.38 Module qis.runserver . . . . . . .


A.38.1 Variables . . . . . . . . . .
A.39 Module qis.settings . . . . . . . .
A.39.1 Variables . . . . . . . . . .
A.40 Module qis.settings prod . . . . .
A.40.1 Variables . . . . . . . . . .
A.41 Package qis.tools . . . . . . . . .
A.41.1 Modules . . . . . . . . . .
A.42 Module qis.tools.compile tree . . .
A.43 Module qis.tools.djangoproject . .
A.43.1 Variables . . . . . . . . . .
A.44 Module qis.tools.generate passhash
A.44.1 Functions . . . . . . . . .
A.45 Module qis.tools.import legacy . .
A.45.1 Functions . . . . . . . . .
A.45.2 Variables . . . . . . . . . .
A.45.3 Class obj . . . . . . . . . .
A.46 Module qis.tools.mailserver . . . .
A.47 Module qis.tools.setup . . . . . . .
A.47.1 Functions . . . . . . . . .
A.47.2 Variables . . . . . . . . . .
A.47.3 Class ValidationException .
A.47.4 Class QisSettings . . . . .
A.48 Module qis.urls . . . . . . . . . .
A.48.1 Variables . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

B Requirements traceability matrix

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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

Technische Universiteit Eindhoven University of Technology

Document Status Sheet


Document status overview
General
Document title:
Identification:
Authors:
Document status:

Detailed Design Document


ddd-1.0.3103
Kevin van der Pol, Roy Berkeveld
Final

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

Technische Universiteit Eindhoven University of Technology

Document Change Records since previous issue


General
Date:
Document title:
Identification:

15-01-2010
Detailed Design Document
ddd-1.0.3103

Changes
Page

Paragraph

Reason to change

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

[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

Technische Universiteit Eindhoven University of Technology

Chapter 2

Standards and conventions


2.1

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

The documentation standards are described in the SQAP[3].

2.3

Naming conventions

The file naming conventions are described in the SCMP[2].

2.4

Coding standards

The coding standards can be found in the SQAP[3].

2.5

Software development tools

The software development tools are described in the SCMP[2].

11

Technische Universiteit Eindhoven University of Technology

Chapter 3

Component descriptions
Details about the component descriptions of QIS can be found in the ADD[1].

12

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Appendix A

Source code listings

14

Technische Universiteit Eindhoven University of Technology

A.1
A.1.1

Package qis
Modules

app: Initialization for the application.


(Section A.2, p. 17)
auth (Section A.3, p. 19)
backends: Provides all the details needed to realize proper authentication.
(Section A.4, p. 20)
context processors: A set of request processors that return dictionaries to be merged
into a template context.
(Section A.5, p. 26)
mail: Allows for consistency in mail.
(Section A.6, p. 27)
middleware: Contains custom middleware for QIS
(Section A.7, p. 28)
modeladmins (Section A.8, p. 30)
models (Section A.9, p. 103)
request cache: Provides some useful caching functions that only live during single
requests.
(Section A.10, p. 198)
sites (Section A.11, p. 200)
templatetags (Section A.12, p. 203)
app modify (Section A.13, p. 204)
context operations (Section A.14, p. 205)
course list (Section A.15, p. 206)
employee list (Section A.16, p. 207)
qis url helpers (Section A.17, p. 208)
report budget (Section A.18, p. 209)
report capacity (Section A.19, p. 211)
report course tasks (Section A.20, p. 212)
report course type (Section A.21, p. 213)
report csv (Section A.22, p. 215)
report education workload (Section A.23, p. 221)
report employee (Section A.24, p. 223)
report employee tasks (Section A.25, p. 225)
report employees (Section A.26, p. 226)
report filters (Section A.27, p. 228)
report hours (Section A.28, p. 229)
report list (Section A.29, p. 230)
report own (Section A.30, p. 231)
report own tasks (Section A.31, p. 233)
studyprogram list (Section A.32, p. 234)
task list (Section A.33, p. 235)
tests: Loads the legacy data from a set of CSV exports into the model.
(Section A.34, p. 236)

15

Technische Universiteit Eindhoven University of Technology

views: Global and generic views for QIS


(Section A.35, p. 240)
manage (Section A.36, p. 242)
manage prod (Section A.37, p. 243)
runserver (Section A.38, p. 244)
settings: Django DEBUG settings for QIS project, extends settings prod
(Section A.39, p. 245)
settings prod: Django settings for QIS project.
(Section A.40, p. 247)
tools (Section A.41, p. 249)
compile tree (Section A.42, p. 250)
djangoproject: Enables importing qis.*, django.* and gives you project settings
(Section A.43, p. 251)
generate passhash: Generates salted password hashes.
(Section A.44, p. 252)
import legacy: Loads the legacy data from a set of CSV exports into the model.
(Section A.45, p. 253)
mailserver (Section A.46, p. 254)
setup (Section A.47, p. 255)
urls (Section A.48, p. 258)

16

Technische Universiteit Eindhoven University of Technology

A.2

Package qis.app

Initialization for the application.


Currently carries syncdb hooks that set up essential and useful parts of the database.

A.2.1

Modules

auth (Section A.3, p. 19)


backends: Provides all the details needed to realize proper authentication.
(Section A.4, p. 20)
context processors: A set of request processors that return dictionaries to be merged into
a template context.
(Section A.5, p. 26)
mail: Allows for consistency in mail.
(Section A.6, p. 27)
middleware: Contains custom middleware for QIS
(Section A.7, p. 28)
modeladmins (Section A.8, p. 30)
models (Section A.9, p. 103)
request cache: Provides some useful caching functions that only live during single requests.
(Section A.10, p. 198)
sites (Section A.11, p. 200)
templatetags (Section A.12, p. 203)
app modify (Section A.13, p. 204)
context operations (Section A.14, p. 205)
course list (Section A.15, p. 206)
employee list (Section A.16, p. 207)
qis url helpers (Section A.17, p. 208)
report budget (Section A.18, p. 209)
report capacity (Section A.19, p. 211)
report course tasks (Section A.20, p. 212)
report course type (Section A.21, p. 213)
report csv (Section A.22, p. 215)
report education workload (Section A.23, p. 221)
report employee (Section A.24, p. 223)
report employee tasks (Section A.25, p. 225)
report employees (Section A.26, p. 226)
report filters (Section A.27, p. 228)
report hours (Section A.28, p. 229)
report list (Section A.29, p. 230)
report own (Section A.30, p. 231)
report own tasks (Section A.31, p. 233)
studyprogram list (Section A.32, p. 234)
task list (Section A.33, p. 235)
tests: Loads the legacy data from a set of CSV exports into the model.
17

Technische Universiteit Eindhoven University of Technology

(Section A.34, p. 236)


views: Global and generic views for QIS
(Section A.35, p. 240)

A.2.2

Functions

create system instance(app, created models, verbosity, **kwargs)


create permissions(app, created models, verbosity, **kwargs)
Creates the view permission for all models.
Technique copied from django.contrib.auth.management.
create groups(app, created models, verbosity, **kwargs)
Initializes the applications internal groups.
Attaches the set of permissions from qis.app.models.PERMISSIONS to each group.
create task types(app, created models, verbosity, **kwargs)
Fills the database with TaskType objects.
These come straight from qis.app.models.TASK TYPES. They are rather static for
the system, but are used extensively in queries so we prefer to have them in the
DB.
initialize right data(app, created models, verbosity, **kwargs)
Fills right data with some initial sets.
These cannot be imported from fixtures, since they require some complex relations
to be set up. We cant trust fixed IDs.
initialize report data(app, created models, verbosity, **kwargs)
Create initial set of reports

18

Technische Universiteit Eindhoven University of Technology

A.3

Package qis.app.auth

A.3.1

Modules

backends: Provides all the details needed to realize proper authentication.


(Section A.4, p. 20)

A.3.2

Class has right

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)

function(self, instance, *args, **kwargs)


call (self, wrapped)

Inherited from object


delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()

Properties

Name
Inherited from object
class

Description

19

Technische Universiteit Eindhoven University of Technology

A.4

Module qis.app.auth.backends

Provides all the details needed to realize proper authentication.


Holds extensions to django.contrib.auth in the form of backends and view decorators. We
stick to the Django implementation as close as possible to avoid introducing incompatibilities
with django.contrib.admin, which depends heavily on django.contrib.auth.
You should note that these Backends are designed to be used together and that switching
between them will result in a consistent system. Keep this in mind when making modifications or using other 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

authenticate(self, username=None, password=None)


get user(self, user id)
Inherited from object
delattr (), getattribute (), hash (), init (),
reduce ex (), repr (), setattr (), str ()

20

new (),

reduce (),

Technische Universiteit Eindhoven University of Technology

Properties

Name
Inherited from object
class

A.4.3

Description

Class DummyBackend

object
django.contrib.auth.backends.ModelBackend
qis.app.auth.backends.DummyBackend

Known Subclasses: qis.app.auth.backends.ActiveDirectoryBackend, qis.app.auth.backends.LocalBackend


Gives any employee that exists access with any password.
This is not an authentication backend. Never use this backend outside local, properly
isolated development!
Designed to be inherited from by other backends, gets the basic user setup in place for
others. All that is missing is password-related stuff.
Make sure inherited classes override check password() and disabled()

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

Technische Universiteit Eindhoven University of Technology

authenticate(self, username=None, password=None)


The username passed as remote user is considered trusted. This method
simply returns the User object with the given username, creating a new
User object where required.
Returns None if an Employee object with the given username is not found
in the database.
Overrides: django.contrib.auth.backends.ModelBackend.authenticate
clean username(self, username)
Performs any cleaning on the username prior to using it to get or create
the user object. Returns the cleaned username.
A username is only valid if an object with that username exists in
qis.app.models.Employee.
configure user(self, user )
Configures a user initially to match the Employee attributes and returns it.
Do not call this if the user has already been configured, it will unset their
password. Use update user instead.
update user(self, user )
Update a user object to match the Employee settings
get group permissions(self, user obj, add group column=False)
Returns a set of permission strings that this user has through his/her groups.
If add group column is True, a second column identifying the group a
permission belongs to is added.
Originally from django.contrib.auth.backends.ModelBackend, modified to
return an optional group column.
Overrides:
django.contrib.auth.backends.ModelBackend.get group permissions
get all permissions(self, user obj)
Returns all permissions a user has in the current year.
If no valid year can be found (for non-year related views), return the maximal
set.
Overrides: django.contrib.auth.backends.ModelBackend.get all permissions
22

Technische Universiteit Eindhoven University of Technology

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 (),

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

Technische Universiteit Eindhoven University of Technology

configure user(self, user )


Configures a user initially to match the Employee attributes and returns it.
Do not call this if the user has already been configured, it will reset their
password. Use update user instead.
Overrides: qis.app.auth.backends.DummyBackend.configure user
provide user password(self, user )
Generate a random password and mail it to the user
Inherited from qis.app.auth.backends.DummyBackend(Section A.4.3)
authenticate(), clean username(), 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 (),

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

Technische Universiteit Eindhoven University of Technology

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 (),

Technische Universiteit Eindhoven University of Technology

A.5

Module qis.app.context processors

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.

The following are added when available:


* system year, derived from request.path
* return page, from the GET data. Used to return to previous pages.
* as type, from the GET data. The type of assignment were changing now.
* cur task, from the GET data. The ID of the task being edited.
* cur employment, from the GET data. The ID of the employment being assigned ta
qisperms(request)
Allows the permissions to be accessed in templates.
view workload, will be accessible by all employees who have a view right in
QIS. This will amount to almost all employees. modify workload, will be
accessible to the employees who can modify workload information for any of
the subdepartments (the model manager will make sure they are only allowed
to modify the subepartment they have rights to). modify workload, will be
accessible to the employees who can modify course information for any of the
subdepartments (the model manager will make sure they are only allowed to
modify the subepartment they have rights to).

26

Technische Universiteit Eindhoven University of Technology

A.6

Module qis.app.mail

Allows for consistency in mail.

A.6.1

Functions

wrap(text, width)
Wraps given text to at most width characters, preserves newlines.
Newlines must be POSIX ("
").

send(to, subject, content)


Sends mail with provided content, wrapped in nice QIS markup.
Do NOT call this function in repetition, as it will open an SMTP connection
for every invocation.
send mass QIS mail(provided messagelist)
Sends mail with provided content, wrapped in nice QIS markup. This version
uses the mass mail capability of Django.
Provided messagelist is a tuple of Messages. Message = (subject, body,
from email, recipient list) Where recipient list is either a single string, or a
list of strings (where each string is a valid email-address)
if from email equals None, it will be replaced with noreply@tue.nl

A.6.2

Variables

Name
BODY TEMPLATE

Description
Value: Dear %s,\n\n%s\n\nPlease
visit QIS at http://localhost:8...

27

Technische Universiteit Eindhoven University of Technology

A.7

Module qis.app.middleware

Contains custom middleware for QIS


Middleware are methods which wrap around all requests of an application. Currently contains middleware to ease handling with requests.

A.7.1

Functions

get current request()


Retrieves the current request from a thread-local store.
If called when no request is being handled, it might return a stale request
object, or an empty class representing an invalid request.

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

process request(self, request)


Stores the given request in a thread local store.
Inherited from object
delattr (), getattribute (), hash (), init (),
reduce ex (), repr (), setattr (), str ()

new (),

reduce (),

Properties

Name
Inherited from object

Description
continued on next page

28

Technische Universiteit Eindhoven University of Technology

Name

Description

class

29

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Known Subclasses: qis.app.modeladmins.AssignmentForm, qis.app.modeladmins.CourseInstanceForm,


qis.app.modeladmins.RightForm, qis.app.modeladmins.SubdepartmentForm, qis.app.modeladmins.SystemY
qis.app.modeladmins.TargetGroupForm

Methods

Inherited from django.forms.models.BaseModelForm


init (), clean(), 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

Name
media

Description
Provide a description of all media required to
render the widgets on this form
continued on next page

31

Technische Universiteit Eindhoven University of Technology

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

Known Subclasses: qis.app.modeladmins.QisAdministrativeModelAdmin, qis.app.modeladmins.Assignme


qis.app.modeladmins.CourseRelatedAdmin, qis.app.modeladmins.EmployeeAdmin, qis.app.modeladmins.Em
qis.app.modeladmins.NotificationAdmin, qis.app.modeladmins.ReportAdmin, qis.app.modeladmins.StudyPr
qis.app.modeladmins.TargetGroupAdmin, qis.app.modeladmins.TaskAdmin
Methods

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

Technische Universiteit Eindhoven University of Technology

has view permission(self, request, obj=None)


Returns True if the given request has permission to view the given Django
model instance.
If obj is None, this should return True if the given request has permission to
delete *any* object of the given type.
has change permission(self, request, obj=None)
Returns True if the given request has permission to change the given Django
model instance.
If obj is None, this should return True if the given request has permission to
delete *any* object of the given type.
Overrides: qis.admin.options.ModelAdmin.has change permission
has delete permission(self, request, obj=None)
Returns True if the given request has permission to delete the given Django
model instance.
If obj is None, this should return True if the given request has permission to
delete *any* object of the given type.
Overrides: qis.admin.options.ModelAdmin.has delete permission
get model perms(self, request)
Returns a dict of all perms for this model. This dict has the keys add,
change, delete and view mapping to the True/False for each of those
actions.
Overrides: qis.admin.options.ModelAdmin.get model perms
response add(self, request, obj, post url continue=../%s/)
Determines the HttpResponse for the add view stage.
Copied from parent class with view permission modifications.
Overrides: qis.admin.options.ModelAdmin.response add
add view(request, *args, **kwargs)
Generic add view page with additional system year attribute
Overrides: qis.admin.options.ModelAdmin.add view

33

Technische Universiteit Eindhoven University of Technology

change view(request, *args, **kwargs)


Generic change view page with additional system year attribute
Overrides: qis.admin.options.ModelAdmin.change view
delete view(request, *args, **kwargs)
Generic delete view page with additional system year attribute
Overrides: qis.admin.options.ModelAdmin.delete view
changelist view(request, *args, **kwargs)
The change list admin view for this model.
Copied from parent class with view permission modifications. Also added
system year in context.
Overrides: qis.admin.options.ModelAdmin.changelist view
formfield for dbfield(self, db field, **kwargs)
Hook for specifying the form Field instance for a given database Field
instance.
If kwargs are given, theyre passed to the form Fields constructor.
Overridden to make use of RelatedFieldWidgetWrapper depend on model
add * permissions.
Overrides: qis.admin.options.BaseModelAdmin.formfield for dbfield
formfield for foreignkey(self, db field, request, **kwargs)
Limits changing related objects to those we are permitted to.
This is often not good enough. We may have view permissions for things
that we shouldnt ever assign stuff to. To be overridden wherever this may
be the case.
Overrides: qis.admin.options.BaseModelAdmin.formfield for foreignkey
get urls(self )
Overrides: qis.admin.options.ModelAdmin.get urls
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(),
34

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.8.4

Class QisAdministrativeModelAdmin

object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin

qis.app.modeladmins.QisAdministrativeModelAdmi

Known Subclasses: qis.app.modeladmins.AlwaysAdministratorEditable, qis.app.modeladmins.Department


qis.app.modeladmins.EducationTypeAdmin, qis.app.modeladmins.ExpertiseGroupAdmin, qis.app.modeladm
qis.app.modeladmins.PositionAdmin, qis.app.modeladmins.StudyPhaseAdmin, qis.app.modeladmins.Subdep
qis.app.modeladmins.SubperiodAdmin, qis.app.modeladmins.SystemYearAdmin, qis.app.modeladmins.Targ
qis.app.modeladmins.TaskTypeAdmin

Methods

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(),
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

36

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

has delete permission(self, request, obj=None)


Returns True if the given request has permission to delete the system year.
If obj is None, this should return True if the given request has permission to
delete *any* system year.
Overrides: qis.admin.options.ModelAdmin.has delete permission

39

Technische Universiteit Eindhoven University of Technology

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 extit(inherited
documentation)
change view(self, request, object id, extra context=None,
system year =None)
Generic change view page with additional system year attribute
Overrides: qis.admin.options.ModelAdmin.change view
delete view(self, request, object id, extra context=None,
system year =None)
Generic delete view page with additional system year attribute
Overrides: qis.admin.options.ModelAdmin.delete view
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
add view(), changelist view(), formfield for dbfield(), formfield for foreignkey(),
get model perms(), get urls(), has change 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
continued on next page

40

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Methods

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(),
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
Value: ((None, {fields:
(name)}))
list display
Value: [name]
ordering
Value: [name]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
fieldsets

continued on next page

42

Technische Universiteit Eindhoven University of Technology

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

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(),
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()
43

Technische Universiteit Eindhoven University of Technology

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: (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

Technische Universiteit Eindhoven University of Technology

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

init (self, *args, **kwargs)


x. init (...) initializes x; see x. class . doc
Overrides: object. init

for signature

extit(inherited documentation)

Inherited from django.forms.models.BaseModelForm


clean(), 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

45

Technische Universiteit Eindhoven University of Technology

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

Inherited from qis.admin.options.InlineModelAdmin


init (), get fieldsets(), get formset()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for dbfield(), formfield for foreignkey(), formfield for manytomany()
Inherited from object
delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()

46

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Inherited from qis.admin.options.InlineModelAdmin


init (), get fieldsets(), get formset()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for dbfield(), formfield for foreignkey(), formfield for manytomany()
Inherited from object
49

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Methods

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(),
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
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

Technische Universiteit Eindhoven University of Technology

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

init (self, *args, **kwargs)


x. init (...) initializes x; see x. class . doc
Overrides: object. init

for signature

extit(inherited documentation)

Inherited from django.forms.models.BaseModelForm


clean(), date error message(), save(), unique error message(), validate unique()
Inherited from django.forms.forms.BaseForm
54

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Methods

Inherited from qis.admin.options.InlineModelAdmin


init (), get fieldsets(), get formset()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for dbfield(), formfield for foreignkey(), formfield for manytomany()
Inherited from object
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: 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

Technische Universiteit Eindhoven University of Technology

A.8.17

Class StudyProgramAdmin

object
qis.admin.options.BaseModelAdmin
qis.admin.options.ModelAdmin
qis.app.modeladmins.QisModelAdmin
qis.app.modeladmins.StudyProgramAdmin
Methods

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(),
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
continued on next page

57

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Methods

add view(request, *args, **kwargs)


Call supers add view and make sure it redirects to studyprogram after saving
Overrides: qis.admin.options.ModelAdmin.add view
change view(request, *args, **kwargs)
Call supers change view and make sure it redirects to studyprogram after
saving
Overrides: qis.admin.options.ModelAdmin.change view
delete view(request, *args, **kwargs)
Call supers delete view and make sure it redirects to studyprogram after its
done
Overrides: qis.admin.options.ModelAdmin.delete view
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
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
continued on next page

59

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

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(),
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
continued on next page

61

Technische Universiteit Eindhoven University of Technology

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

Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)


62

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

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(),
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()

64

Technische Universiteit Eindhoven University of Technology

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:
(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

Technische Universiteit Eindhoven University of Technology

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

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(),
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
continued on next page

66

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Methods

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(),
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
Value: ((None, {fields:
(name)}))
ordering
Value: [name]
list display
Value: [name]
Inherited from qis.app.modeladmins.QisAdministrativeModelAdmin (Section A.8.4)
fieldsets

continued on next page

68

Technische Universiteit Eindhoven University of Technology

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

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
has delete permission(self, request, obj=None)
Returns True if the given request has permission to delete an object.
Overrides: qis.admin.options.ModelAdmin.has delete permission

69

Technische Universiteit Eindhoven University of Technology

has change permission(self, request, obj=None)


Returns True if the given request has permission to change an object.
Overrides: qis.admin.options.ModelAdmin.has change permission
has view permission(self, request, obj=None)
Returns True if the given request has permission to view an object.
Overrides: qis.app.modeladmins.QisModelAdmin.has view permission
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(), 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

70

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

init (self, *args, **kwargs)


x. init (...) initializes x; see x. class . doc
Overrides: object. init

for signature

extit(inherited documentation)

Inherited from django.forms.models.BaseModelForm


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

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

Technische Universiteit Eindhoven University of Technology

A.8.26

Class RightInline

object
qis.admin.options.BaseModelAdmin
qis.admin.options.InlineModelAdmin
qis.admin.options.TabularInline
qis.app.modeladmins.RightInline
Methods

Inherited from qis.admin.options.InlineModelAdmin


init (), get fieldsets(), get formset()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for dbfield(), formfield for foreignkey(), formfield for manytomany()
Inherited from object
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: 1
Inherited from qis.admin.options.TabularInline
continued on next page

73

Technische Universiteit Eindhoven University of Technology

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

member count(self, model)


Inherited from qis.app.modeladmins.AlwaysAdministratorEditable(Section A.8.24)
has add permission(), has change permission(), has delete permission(), has view permission()
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(), 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(),

74

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Inherited from qis.app.modeladmins.AlwaysAdministratorEditable(Section A.8.24)


has add permission(), has change permission(), has delete permission(), has view permission()
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(), 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
76

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

form isvalid(self, request)


Determines if the form is valid
Mostly copied from parent class with view permission modifications.
add view(request, *args, **kwargs)
Determines the HttpResponse for the add view stage.
Mostly copied from parent class.
Overrides: qis.admin.options.ModelAdmin.add view
change view(request, *args, **kwargs)
Determines the HttpResponse for the change view stage.
Mostly copied from parent class.
Overrides: qis.admin.options.ModelAdmin.change view
delete view(request, *args, **kwargs)
Determines the HttpResponse for the delete view stage.
Overrides: qis.admin.options.ModelAdmin.delete view
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
78

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

formfield for foreignkey(self, db field, request, **kwargs)


Limits changing related objects to those we are permitted to.
This is often not good enough. We may have view permissions for things
that we shouldnt ever assign stuff to. To be overridden wherever this may
be the case.
Overrides: qis.admin.options.BaseModelAdmin.formfield for foreignkey
extit(inherited documentation)
Inherited from qis.app.modeladmins.CourseRelatedAdmin(Section A.8.29)
add view(), change view(), delete view(), form isvalid()
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
changelist view(), formfield for dbfield(), get model perms(), get urls(), has add permission(),
has change permission(), has delete permission(), has view permission(), no longer permitted(),
queryset(), response add()
80

Technische Universiteit Eindhoven University of Technology

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
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

continued on next page

81

Technische Universiteit Eindhoven University of Technology

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

init (self, *args, **kwargs)


x. init (...) initializes x; see x. class . doc
Overrides: object. init

for signature

extit(inherited documentation)

Inherited from django.forms.models.BaseModelForm


clean(), 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

82

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Inherited from qis.app.modeladmins.CourseRelatedAdmin(Section A.8.29)


add view(), change view(), delete view(), form isvalid()
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
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

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

Technische Universiteit Eindhoven University of Technology

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

formfield for foreignkey(self, db field, request, **kwargs)


Limits changing related objects to those we are permitted to.
This is often not good enough. We may have view permissions for things
that we shouldnt ever assign stuff to. To be overridden wherever this may
be the case.
Overrides: qis.admin.options.BaseModelAdmin.formfield for foreignkey
extit(inherited documentation)
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
add view(), change view(), changelist view(), delete view(), formfield for dbfield(),
get model perms(), get urls(), has add permission(), has change permission(),
has delete permission(), has view permission(), no longer permitted(), queryset(), response add()

85

Technische Universiteit Eindhoven University of Technology

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
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

continued on next page

86

Technische Universiteit Eindhoven University of Technology

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

formfield for foreignkey(self, db field, request, **kwargs)


Limits changing related objects to those we are permitted to.
This is often not good enough. We may have view permissions for things
that we shouldnt ever assign stuff to. To be overridden wherever this may
be the case.
Overrides: qis.admin.options.BaseModelAdmin.formfield for foreignkey
extit(inherited documentation)
Inherited from qis.app.modeladmins.CourseRelatedAdmin(Section A.8.29)
add view(), change view(), delete view(), form isvalid()
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
changelist view(), formfield for dbfield(), get model perms(), get urls(), has add permission(),
87

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

init (self, *args, **kwargs)


x. init (...) initializes x; see x. class . doc
Overrides: object. init

for signature

extit(inherited documentation)

Inherited from django.forms.models.BaseModelForm


clean(), 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
89

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Methods

changelist view(self, request, extra context=None, system year =None)


The change list admin view for this model.
Copied from parent class with view permission modifications. Also added
system year in context.
Overrides: qis.admin.options.ModelAdmin.changelist view extit(inherited
documentation)
form isvalid(self, request)
Determines if the form is valid
Mostly copied from parent class with view permission modifications.
add view(request, *args, **kwargs)
Determines the HttpResponse for the add view stage. Takes the default
response object and changes the URL according to GET-data.
Mostly copied from parent class.
Overrides: qis.admin.options.ModelAdmin.add view
change view(request, *args, **kwargs)
Determines the HttpResponse for the change view stage. Takes the default
response object and changes the URL according to GET-data.
Calls parent class, only copied relevant sections we needed to override.
Overrides: qis.admin.options.ModelAdmin.change view
delete view(request, *args, **kwargs)
Determines the HttpResponse for the delete view stage. Takes the default
response object and changes the URL according to GET-data.
Overrides: qis.admin.options.ModelAdmin.delete view
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
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

91

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

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(),
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

93

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.8.38

Class EmploymentInline

object
qis.admin.options.BaseModelAdmin
qis.admin.options.InlineModelAdmin
qis.admin.options.StackedInline
qis.app.modeladmins.EmploymentInline
Methods

formfield for foreignkey(self, db field, request, **kwargs)


Get a form Field for a ForeignKey.
Overrides: qis.admin.options.BaseModelAdmin.formfield for foreignkey
extit(inherited documentation)
get formset(self, request, obj=None, **kwargs)
Limits employments to those we may modify
Overrides: qis.admin.options.InlineModelAdmin.get formset
Inherited from qis.admin.options.InlineModelAdmin
init (), get fieldsets()
Inherited from qis.admin.options.BaseModelAdmin
formfield for choice field(), formfield for dbfield(), formfield for manytomany()
Inherited from object
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
continued on next page

95

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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
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

Technische Universiteit Eindhoven University of Technology

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

change view(self, request, object id, extra context=None,


system year =None)
Generic change view page with additional system year attribute
Overrides: qis.admin.options.ModelAdmin.change view extit(inherited
documentation)

98

Technische Universiteit Eindhoven University of Technology

changelist view(self, request, extra context=None, system year =None)


The change list admin view for this model.
Copied from parent class with view permission modifications. Also added
system year in context.
Overrides: qis.admin.options.ModelAdmin.changelist view extit(inherited
documentation)
get urls(self )
Overrides: qis.admin.options.ModelAdmin.get urls
fill research hours(self, request, object id, extra context=None,
system year =None)
fill all research hours(self, request, extra context=None,
system year =None)
Inherited from qis.app.modeladmins.QisModelAdmin(Section A.8.3)
add 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

99

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Known Subclasses: qis.app.models.AbstractRightManager, qis.app.models.AbstractRightSetManager,


qis.app.models.AssignmentManager, qis.app.models.CourseInstanceManager, qis.app.models.CourseManag
qis.app.models.DepartmentManager, qis.app.models.EducationTaskManager, qis.app.models.EducationTyp
qis.app.models.EmployeeManager, qis.app.models.EmploymentManager, qis.app.models.ExpertiseGroupMa
qis.app.models.PeriodManager, qis.app.models.PositionManager, qis.app.models.ReportManager,
qis.app.models.StudyPhaseManager, qis.app.models.StudyProgramManager, qis.app.models.Subdepartmen
qis.app.models.SubperiodManager, qis.app.models.SystemYearManager, qis.app.models.TargetGroupMana
qis.app.models.TargetGroupNameManager, qis.app.models.TaskManager, qis.app.models.TaskTypeManage

Methods

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
permitted(self )
Returns the objects the current user has any permissions for.
Intended to be overridden, the default is very restrictive.
104

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.9.4

Class QisModel

object
django.db.models.base.Model
qis.app.models.QisModel

Known Subclasses: qis.app.models.AbstractRight, qis.app.models.AbstractRightSet, qis.app.models.Assig


qis.app.models.AutoYearQisModel, qis.app.models.Course, qis.app.models.CourseInstance,
qis.app.models.Task, qis.app.models.EducationType, qis.app.models.Employee, qis.app.models.Employment
qis.app.models.ExpertiseGroup, qis.app.models.Notification, qis.app.models.Report, qis.app.models.Subdep
qis.app.models.Subperiod, qis.app.models.System, qis.app.models.SystemYear, qis.app.models.TargetGroup
qis.app.models.TaskType

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 ()

Technische Universiteit Eindhoven University of Technology

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

save(self, force insert=False, force update=False)


Saves the current model to the database, filling SystemYear when not set
Overrides: django.db.models.base.Model.save
all objects(...)
Overrides: qis.app.models.QisModel.all objects
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

107

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

get previous by begins(*moreargs, **morekwargs)


get previous by ends(*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 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
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

Technische Universiteit Eindhoven University of Technology

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

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
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)

116

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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 ()

Technische Universiteit Eindhoven University of Technology

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

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)

119

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)

122

Technische Universiteit Eindhoven University of Technology

permitted(self, *args, **kwargs)


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, *args, **kwargs)
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)
administrative permitted(self, *args, **kwargs)
Inherited from qis.app.models.QisManager(Section A.9.3)
modify 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

123

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.9.16

Class SubdepartmentManager

object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.SubdepartmentManager
Methods

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
permitted(self, *args, **kwargs)
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, *args, **kwargs)
All subdepartments we have view permissions for.
Also takes inheritance from Department into account.
Overrides: qis.app.models.QisManager.view permitted
view workload permitted(self, *args, **kwargs)
All subdepartments we can view the workload for.
Also takes inheritance from Department into account.
Introduced because view permitted does not guarantee you have workload
permissions. Used in reports per subdepartment.

126

Technische Universiteit Eindhoven University of Technology

modify permitted(self, *args, **kwargs)


All subdepartments we can modify in some way.
If alsoclosed=True, we include subdepartments that are closed which would
otherwise be modifyable.
Overrides: qis.app.models.QisManager.modify permitted
modify workload permitted(self, *args, **kwargs)
All subdepartments we can modify the workload for.
If alsoclosed=True, we include subdepartments that are closed which would
otherwise be modifyable.
modify courseinf permitted(self, *args, **kwargs)
All subdepartments we can modify the course information for.
If alsoclosed=True, we include subdepartments that are closed which would
otherwise be modifyable.
administrative permitted(self, *args, **kwargs)
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

127

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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 )
make course instances definitive(self )
unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.QisModel(Section A.9.4)

129

Technische Universiteit Eindhoven University of Technology

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
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

Technische Universiteit Eindhoven University of Technology

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

get query set(self )


Returns all Study Programs of the current year
Overrides: django.db.models.manager.Manager.get query set
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()
131

Technische Universiteit Eindhoven University of Technology

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

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.9.20

Class TargetGroupNameManager

object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.TargetGroupNameManager
Methods

get query set(self )


Returns all Target Group Names of the current year
Overrides: django.db.models.manager.Manager.get query set
permitted(self )
We can view them all
Overrides: qis.app.models.QisManager.permitted
modify permitted(self )
We can modify everything, so long as we have the model permission
Overrides: qis.app.models.QisManager.modify permitted
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

134

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

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

Technische Universiteit Eindhoven University of Technology

Methods

get query set(self )


Returns all Target Groups of the current year
Overrides: django.db.models.manager.Manager.get query set
permitted(self )
We can view them all.
Overrides: qis.app.models.QisManager.permitted
modify permitted(self )
We can modify only those related to the studyprograms we can modify.
Overrides: qis.app.models.QisManager.modify permitted
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
continued on next page

137

Technische Universiteit Eindhoven University of Technology

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 ()

Technische Universiteit Eindhoven University of Technology

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

get query set(self )


Returns all courses of the current year
Overrides: django.db.models.manager.Manager.get query set

139

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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
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

Technische Universiteit Eindhoven University of Technology

A.9.26

Class StudyPhaseManager

object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.StudyPhaseManager
Methods

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
permitted(self )
Everyone can view the complete list of study phases
Overrides: qis.app.models.QisManager.permitted
modify permitted(self )
The entire list of study phases can be modified if we have model change
permissions
Overrides: qis.app.models.QisManager.modify permitted
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 ()
143

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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
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

Technische Universiteit Eindhoven University of Technology

Methods

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
permitted(self )
Return a list with every permitted CourseInstance once, but either the
provisional or definitve version, never both.
Overrides: qis.app.models.QisManager.permitted
view permitted(self )
Only return definitive versions of things we can view.
We can view everything we can view EducationTasks for or if we are
responsible for the current course.
This method is tuned to be called from CourseManager.view permitted. It is
not neccessarily disjoint from 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
provisional(self )
Return all provisional courseinstances associated with permitted courses.
Would recommend you do not use this without considering your design.
Useful for selecting courseinstances when editing education tasks without the
modify subdepartment courseinf permissions.
definitive(self )
Return all definitive courseinstances associated with permitted courses.
Would recommend you do not use this without considering your design.

146

Technische Universiteit Eindhoven University of Technology

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

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

Technische Universiteit Eindhoven University of Technology

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()

str (), pre-

Inherited from object


delattr (),

getattribute (),

new (),

reduce ex (),

setattr ()

Properties

Name
Description
Inherited from django.db.models.base.Model
continued on next page

148

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Methods

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
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

Description
continued on next page

150

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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
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

Technische Universiteit Eindhoven University of Technology

Methods

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
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 )
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 (),

153

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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
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

Technische Universiteit Eindhoven University of Technology

A.9.34

Class EducationTaskManager

object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.EducationTaskManager
Methods

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
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)

156

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

get course instance(self )


objects(...)
Overrides: qis.app.models.QisModel.objects
get number of assigned(self )
Get the number of employees that are assigned to a particular task trough
assignments
get assigned employments(self )
get subperiods(self )
Get all subperiods in which this education task is given, return it as a list of
strings.
can modify courseinf(self )
Returns True if we can modify course information of the current education
task.
can add assignment(self )
Returns True if we can add assignments to the current education task.

158

Technische Universiteit Eindhoven University of Technology

save(self, force insert=False, force update=False)


Custom save method used to set the task type of an education task to
educationtask
Overrides: django.db.models.base.Model.save
all objects(...)
Overrides: qis.app.models.QisModel.all objects
Inherited from qis.app.models.Task(Section A.9.33)
unicode ()
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
course instance
Inherited from django.db.models.base.Model
pk
Inherited from object
class

Class Variables

Name
course instance definitive

course instance provisional

Description
Value:
models.ForeignKey(CourseInstance,
blank= True, null= True...
Value:
models.ForeignKey(CourseInstance,
blank= False, null= Fal...
continued on next page

159

Technische Universiteit Eindhoven University of Technology

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

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)

160

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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 ()

Technische Universiteit Eindhoven University of Technology

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

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)

163

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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
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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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.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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

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

Technische Universiteit Eindhoven University of Technology

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 ()

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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
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

Technische Universiteit Eindhoven University of Technology

A.9.45

Class AbstractRightManager

object
django.db.models.manager.Manager
qis.app.models.QisManager
qis.app.models.AbstractRightManager
Methods

get query set(self )


We wont consider any Rights that have pointers to objects outside the
current year.
Rights that have no pointers to any objecs act as if they are global for all
years.
Overrides: django.db.models.manager.Manager.get query set
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(),
176

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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 ()

Technische Universiteit Eindhoven University of Technology

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

def modify courseinformation object(self):


if self.rightset.modify subdepartment courseinf:
return modify subdepartment courseinf object
return None
Value:
[view expertisegroup workload object,
view subdepartme...
Value:
(modify subdepartment courseinf object,
MSDCI object,...

179

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Methods

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
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

Description
continued on next page

182

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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
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

Technische Universiteit Eindhoven University of Technology

Methods

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
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 )
Disjoint from 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

185

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

fill research hours(self )


Adjusts the research hours to fit available hours.
Returns whether the update was possible.
Not to be called in repetition.
fill all research hours()
Adjusts all research hours of all employments to fit available hours.
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
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

Technische Universiteit Eindhoven University of Technology

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

get query set(self )


Returns a new QuerySet object. Subclasses can override this method to
easily customize the behavior of the Manager.
Overrides: django.db.models.manager.Manager.get query set extit(inherited
documentation)
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)
188

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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 ()

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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 ()

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

make course instances definitive(self )


unicode (self )
all objects(...)
Overrides: qis.app.models.QisModel.all objects
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(), 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
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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.10

Module qis.app.request cache

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

Inherited from exceptions.Exception


init (),

new ()

Inherited from exceptions.BaseException


198

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.11

Module qis.app.sites

A.11.1

Variables
Name

site
BLANK CHOICE DASH
DJANGO QISGROUP FORMAT
ERROR MESSAGE

FORMFIELD FOR DBFIELD DEFAULTS


HORIZONTAL
LOGIN FORM KEY
MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS

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

Technische Universiteit Eindhoven University of Technology

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

init (self, name=None, app name=admin)


x. init (...) initializes x; see x. class . doc
Overrides: object. init

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

continued on next page

201

Technische Universiteit Eindhoven University of Technology

Name

Description

class

Class Variables

Name
Description
Inherited from qis.admin.sites.AdminSite
app index template, index template, login template

202

Technische Universiteit Eindhoven University of Technology

A.12

Package qis.app.templatetags

A.12.1

Modules

app modify (Section A.13, p. 204)


context operations (Section A.14, p. 205)
course list (Section A.15, p. 206)
employee list (Section A.16, p. 207)
qis url helpers (Section A.17, p. 208)
report budget (Section A.18, p. 209)
report capacity (Section A.19, p. 211)
report course tasks (Section A.20, p. 212)
report course type (Section A.21, p. 213)
report csv (Section A.22, p. 215)
report education workload (Section A.23, p. 221)
report employee (Section A.24, p. 223)
report employee tasks (Section A.25, p. 225)
report employees (Section A.26, p. 226)
report filters (Section A.27, p. 228)
report hours (Section A.28, p. 229)
report list (Section A.29, p. 230)
report own (Section A.30, p. 231)
report own tasks (Section A.31, p. 233)
studyprogram list (Section A.32, p. 234)
task list (Section A.33, p. 235)

203

Technische Universiteit Eindhoven University of Technology

A.13

Module qis.app.templatetags.app modify

A.13.1

Functions

prepopulated fields js(context)


Creates a list of prepopulated fields that should render Javascript for the
prepopulated fields for both the admin form and inlines.
submit row(context)

A.13.2

Variables
Name

register

Description
Value: template.Library()

204

Technische Universiteit Eindhoven University of Technology

A.14

Module qis.app.templatetags.context operations

A.14.1

Functions

generic tag compiler(params, defaults, name, node class, parser, token)


Returns a template.Node subclass.
register context updater(register, func)

205

Technische Universiteit Eindhoven University of Technology

A.15

Module qis.app.templatetags.course list

A.15.1

Functions

course result list(cl, system year, qisperms, perms)

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

Technische Universiteit Eindhoven University of Technology

A.16

Module qis.app.templatetags.employee list

A.16.1

Functions

employee result list(cl, system year )

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

Technische Universiteit Eindhoven University of Technology

A.17

Module qis.app.templatetags.qis url helpers

A.17.1

Functions

querystring()
current url()

A.17.2

Variables
Name

register

Description
Value: template.Library()

208

Technische Universiteit Eindhoven University of Technology

A.18

Module qis.app.templatetags.report budget

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.19

Module qis.app.templatetags.report capacity

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

Technische Universiteit Eindhoven University of Technology

A.20

Module qis.app.templatetags.report course tasks

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

Technische Universiteit Eindhoven University of Technology

A.21

Module qis.app.templatetags.report course type

A.21.1

Functions

init report(system year, targetobject, extraobject)


get course instances(subdepartment, educationtype, tasks, courses)
get tasks(courseinstance, educationtype, tasks)
get subperiods(courseinstance)
get responsibles(courseinstance)
get assigned employees(task)

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

Technische Universiteit Eindhoven University of Technology

Name
perms

related name
right

Description
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration

214

Technische Universiteit Eindhoven University of Technology

A.22

Module qis.app.templatetags.report csv

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Methods

init (self, vars to resolve)


x. init (...) initializes x; see x. class . doc
Overrides: object. init

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

Technische Universiteit Eindhoven University of Technology

Methods

init (self, vars to resolve)


x. init (...) initializes x; see x. class . doc
Overrides: object. init

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

Technische Universiteit Eindhoven University of Technology

Methods

init (self, vars to resolve)


x. init (...) initializes x; see x. class . doc
Overrides: object. init

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

Technische Universiteit Eindhoven University of Technology

Methods

init (self, vars to resolve)


x. init (...) initializes x; see x. class . doc
Overrides: object. init

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

Technische Universiteit Eindhoven University of Technology

A.23

Module qis.app.templatetags.report education workload

A.23.1

Functions

init report(object, extra)


get course instance(all education tasks, course instance, all assignments)
in subdepartment(object)
total assigned hours(tasks)
has assignments(tasks)
get total targetgroup(course instances)
get total studyprogram(studyprogram)
get total studyprograms(subdepartment)
studyprograms(subdepartment)

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.24

Module qis.app.templatetags.report employee

A.24.1

Functions

init report(parser =None, token=None)


filter assignment task(assignments, tasktype)
total assignment hours(assignments, tasktype)
hours employ(employment, sy )
task available(employment, sy )
hours available employ(employment, sy )
total hours available(employee, sy )
unassigned(employment, sy )
tot unassigned(employee, sy )
get education task(task)

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.25

Module qis.app.templatetags.report employee tasks

A.25.1

Functions

init report(targetobject, employee)


ci list(employee)

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

Technische Universiteit Eindhoven University of Technology

A.26

Module qis.app.templatetags.report employees

A.26.1

Functions

filter list(lst, **args)


in subdepartment(object)
employees(object)
filter assignments(lst, task type, educationtask type, education tasks)
total available hours(empl, systemyear )
init report(system year, targetobject, extraobject=None)

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

Technische Universiteit Eindhoven University of Technology

Name
perms

related name
right

Description
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration

227

Technische Universiteit Eindhoven University of Technology

A.27

Module qis.app.templatetags.report filters

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

Technische Universiteit Eindhoven University of Technology

A.28

Module qis.app.templatetags.report hours

A.28.1

Functions

init report(object, report)


in subdepartment(object)

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

Technische Universiteit Eindhoven University of Technology

A.29

Module qis.app.templatetags.report list

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

Technische Universiteit Eindhoven University of Technology

A.30

Module qis.app.templatetags.report own

A.30.1

Functions

filter list(lst, **args)


in subdepartment(object)
employees(object)
filter assignments(lst, task type, educationtask type, education tasks)
total available hours(empl, systemyear )
init report(system year, targetobject)

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

Technische Universiteit Eindhoven University of Technology

Name
perms

related name
right

Description
Value: [change system,
view employee, change employee,
de...
Value: modify courseinf rights
Value: modify system administration

232

Technische Universiteit Eindhoven University of Technology

A.31

Module qis.app.templatetags.report own tasks

A.31.1

Functions

init report(subdepartment, employee)


ci list(employee)

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

Technische Universiteit Eindhoven University of Technology

A.32

Module qis.app.templatetags.studyprogram list

A.32.1

Functions

studyprogram result list(cl, system year )

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

Technische Universiteit Eindhoven University of Technology

A.33

Module qis.app.templatetags.task list

A.33.1

Functions

task result list(cl, system year )

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.35

Module qis.app.views

Global and generic views for QIS

A.35.1

Functions

home redirect(request, *args, **kwargs)


home(request, *args, **kwargs)
Show the current users employee overview page
home edit details(request, *args, **kwargs)
Show the current users edit details page
administrative(request, *args, **kwargs)
The administrative object list

A.35.2

Variables

Name
DJANGO QISGROUP FORMAT
ERROR MESSAGE

LOGIN FORM KEY


MAXYEAR
MINYEAR
PERMISSIONS
REPORT GROUPS

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.36

Module qis.manage

242

Technische Universiteit Eindhoven University of Technology

A.37

Module qis.manage prod

243

Technische Universiteit Eindhoven University of Technology

A.38

Module qis.runserver

A.38.1

Variables

Name
cmd prefix

Description
Value: ./manage.py

244

Technische Universiteit Eindhoven University of Technology

A.39

Module qis.settings

Django DEBUG settings for QIS project, extends settings prod

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.40

Module qis.settings prod

Django settings for QIS project.


These settings are specific to the production environment only.
Override these in module settings if you intend to debug.
Note: There are many more settings possible than are listed here.
Please see django.conf.global settings for details. Even though most
will be for internal functionality, you might find what you need there.
This file is Python code; it must be syntactically correct.
After editing this file, make sure the configuration works by running it
in test using:
manage prod.py runserver
and visiting the front page on the URL that is output.
Do not run the server in production this way, run it through a real
webserver using the WSGI server wsgi/qis prod.wsgi.
A.40.1

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

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

A.41

Package qis.tools

A.41.1

Modules

compile tree (Section A.42, p. 250)


djangoproject: Enables importing qis.*, django.* and gives you project settings
(Section A.43, p. 251)
generate passhash: Generates salted password hashes.
(Section A.44, p. 252)
import legacy: Loads the legacy data from a set of CSV exports into the model.
(Section A.45, p. 253)
mailserver (Section A.46, p. 254)
setup (Section A.47, p. 255)

249

Technische Universiteit Eindhoven University of Technology

A.42

Module qis.tools.compile tree

250

Technische Universiteit Eindhoven University of Technology

A.43

Module qis.tools.djangoproject

Enables importing qis.*, django.* and gives you project settings

A.43.1

Variables

Name
PROJECT ROOT

Description
Value:
/home/roy/files/tue/2ip35/SEP2010-1/trunk/src/qis

251

Technische Universiteit Eindhoven University of Technology

A.44

Module qis.tools.generate passhash

Generates salted password hashes. Can be run interactively.

A.44.1

Functions

get passhash(password)
Returns a salted password hash for the given password
askpass()

252

Technische Universiteit Eindhoven University of Technology

A.45

Module qis.tools.import legacy

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)

Inherited from object


delattr (), getattribute (), hash (), new (), reduce (), reduce ex (),
repr (), setattr (), str ()

Properties

Name
Inherited from object
class

Description

253

Technische Universiteit Eindhoven University of Technology

A.46

Module qis.tools.mailserver

254

Technische Universiteit Eindhoven University of Technology

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

Inherited from exceptions.Exception

255

Technische Universiteit Eindhoven University of Technology

init (),

new ()

Inherited from exceptions.BaseException


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

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 (),

Technische Universiteit Eindhoven University of Technology

Class Variables

Name
use nt
import legacy
add user

Description
Value: False
Value: False
Value: False

257

Technische Universiteit Eindhoven University of Technology

A.48

Module qis.urls

A.48.1

Variables

Name
urlpatterns

Description
Value: [<RegexURLResolver
[<RegexURLPattern courses definitive
^...

258

Technische Universiteit Eindhoven University of Technology

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

Technische Universiteit Eindhoven University of Technology

Appendix B

Requirements traceability matrix

260

S-ar putea să vă placă și