source: main/waeup.sirp/branches/ulif-groktoolkit-1.4/src/waeup/sirp/university/department.txt @ 11107

Last change on this file since 11107 was 7333, checked in by Henrik Bettermann, 13 years ago

Rename certificatecontainer, coursecontainer and facultycontainer. Now we have e.g. a container for faculties. Synonyms are 'facultiescontainer', 'faculties', 'academics' or 'Academic Section'. The faculty container is the faculty itself which contains the departments.

File size: 3.7 KB
Line 
1:mod:`waeup.sirp.university.department` -- Departments
2******************************************************
3
4.. module:: waeup.sirp.university.department
5
6Components that represent university departments.
7
8.. :doctest:
9.. :layer: waeup.sirp.testing.SIRPUnitTestLayer
10
11Content Classes (models and containers)
12=======================================
13
14
15:class:`Department`
16-------------------
17
18.. class:: Department(title=u'Unnamed Department'[, title_prefix=u'department' [, code=u"NA"]])
19
20   Create a representation of a university department:
21
22     >>> from waeup.sirp.university.department import Department
23     >>> mydept = Department()
24     >>> mydept
25     <waeup.sirp.university.department.Department object at 0x...>
26
27   Another way to create :class:`Department` instances is by asking
28   for a factory called ``waeup.sirp.Department``. This way we can create a
29   department without importing a class:
30
31     >>> from zope.component import createObject
32     >>> mydept = createObject(u'waeup.Department')
33     >>> mydept
34     <waeup.sirp.university.department.Department object at 0x...>
35
36   :class:`Department` instances have the attributes required by the
37   `IDepartment` interface:
38
39     >>> from waeup.sirp.university.interfaces import IDepartment
40     >>> IDepartment.providedBy(mydept)
41     True
42
43     >>> from zope.interface.verify import verifyObject
44     >>> verifyObject(IDepartment, mydept)
45     True
46
47
48   .. attribute:: title
49
50      (string) The title of a department.
51
52      Each department has a title:
53
54        >>> mydept.title
55        u'Unnamed Department'
56
57
58   .. attribute:: title_prefix
59
60      (string) The prefix of a department.
61
62      Each department has a title prefix, which specifies the kind of
63      institution:
64
65        >>> mydept.title_prefix
66        u'department'
67
68
69   .. attribute:: code
70
71      (string) An internally used unique code string.
72
73      Each department holds a code, which might be a shortcut or
74      abbreviation of the real department name. By default the code is
75      ``NA`` (=not assigned):
76
77        >>> mydept.code
78        u'NA'
79
80
81   .. attribute:: courses
82
83      (ICoursesContainer instance) A container for courses.
84
85      Each department has a courses container:
86
87        >>> mydept.courses
88        <waeup.sirp.university.coursescontainer.CoursesContainer object at 0x...>
89
90
91   .. attribute:: certificates
92
93      (ICertificatesContainer instance) A container for certificates.
94
95      Each department has a certificate container, that holds the
96      descrtiptions of certificates the department has:
97
98        >>> mydept.certificates
99        <waeup.sirp...certificatescontainer.CertificatesContainer object at 0x...>
100
101Utilities
102=========
103
104:class:`DepartmentFactory`
105--------------------------
106
107.. class:: DepartmentFactory()
108
109   .. attribute:: grok.name(u'waeup.Department')
110
111   .. attribute:: grok.implements(IFactory)
112
113   A named utility to deliver new instances of :class:`Department`
114   without the need to import the implementation before:
115
116     >>> from zope.component import createObject
117     >>> mydepartment = createObject(u'waeup.Department')
118     >>> mydepartment
119     <waeup.sirp.university.department.Department object at 0x...>
120
121   The factory complies with the specifications from the
122   :class:`IFactory` insterface:
123
124     >>> from zope.interface.verify import verifyClass
125     >>> from zope.component.interfaces import IFactory
126     >>> from waeup.sirp.university.department import DepartmentFactory
127     >>> verifyClass(IFactory, DepartmentFactory)
128     True
129
130   This means also, that we can get the interfaces of the created
131   object from the factory:
132
133     >>> department_factory = DepartmentFactory()
134     >>> department_factory.getInterfaces()
135     <implementedBy waeup.sirp.university.department.Department>
Note: See TracBrowser for help on using the repository browser.