source: main/waeup.kofa/trunk/CHANGES.txt @ 15970

Last change on this file since 15970 was 15970, checked in by Henrik Bettermann, 5 years ago

Don't allow students to add former courses in course lists.

File size: 19.5 KB
Line 
1Changes
2*******
3
41.6.1.dev0 (unreleased)
5=======================
6
7* Don't allow students to add former courses in course lists.
8
9* Use kofa-filterbox for filtering users when assigniing
10  local roles in academics section.
11
12* Add `waeup.local.ReportsOfficer` role.
13
14* Add `TrimmedDataExporter`.
15
16* Make `getUsers` customizable.
17
18* Add logging message to `releaseBedIfMaintenanceNotPaid`.
19
20* Provide components for file uploads in the applicants section.
21
22* Copy also files from applicants to students section.
23
24* Reset _curr_stud_id if student could not be created.
25
26* Add `TranscriptDataExporter` and reorganize exporter names.
27
28* Add `session_level`filter to `StudentStudyLevelExporter`.
29
30* Add LetterPDFCreator utility and use this pdf creator
31  for admission slips. letterhead_admission.jpg file
32  must exist in students/static.
33
34* Add application worklfow transition `reset6`.
35
36* Add `StudentOutstandingCoursesExporter`.
37
38* Sort lecturers on scores slip.
39
40* Don't show hint on pdf slips.
41
42* Make max passport picture size customizable.
43
44* Redirect to `ChangePasswordRequestPage` after successfully
45  adding an officer.
46
47* Add get_bursary_data webservice.
48
49* Implement bed selector.
50
51* Implement combi payments.
52
53* Make max file size customizable.
54
55* Add `score_editing_disabled` switch at course level.
56
57* Take `DELETION_MARKER` into consideration when updating passwords.
58
59* Implement parents access to student data.
60
61* Do not print picture on application slip if application is without
62  passport picture.
63
64* Do not copy applicant_id into reg_number field after applicant creation.
65
66* Successful applicant payments do trigger 'approve' transition only
67  if applicant is in state 'started' and either p_category is 'application' or
68  applicant is special.
69
70* Allow to add applicants containers with a number instead of entrance year
71  in container code.
72
73* Add semester filter to Fix `CourseTicketExporter`.
74
75* Add `FacultiesExportJobContainerSelectStudents` view to allow
76  bursary officers to export student data for a  small subset of students
77  by entering a list of student ids or matric numbers.
78
79* Add passport picture switch to applicants containers.
80
81* Use decimal.Decimal to counteract Python floating point limitation.
82
83* Add level 0 (None) to course levels.
84
85* Ease customization of selectable payment categories.
86
87* Make maximum number of files listed in `finished` subfolder
88  customizable.
89
90* Add attendance_sheet.pdf view.
91
92* Implement course result validation workflow for lecturers.
93
94* Add graduated students filter.
95
96* Backup deleted graduated student data somewhere else to ease graduated
97  student data migration.
98
99* Add `transcript_remark` field to study levels. Add page to allow
100  transcript officers editing the field during transcript processing.
101
102* Increase password strength. Officers are now required
103  to set a password which has at least 8 characters and which contains
104  at least one uppercase letter, one lowercase letter and one
105  digit. Stored insecure passwords are no longer accepted.
106  Officers with an insecure password can't login and are
107  redirected to the `ChangePasswordRequestPage` to request a
108  new password.
109
110* Add `AccommodationPaymentsExporter` which can be used by
111  accommodation officers.
112
113* Add ReleaseExpiredAllocationsActionButton which has previously
114  only been used by Uniben.
115
116* Fix get_student_payment_stats. Department codes are not
117  unique. Use its path instead.
118
119* Implement study level 0 (Level Zero) option for storing
120  orphaned course tickets (tickets without level assignment
121  or information). Add `ticket_session` field to `ICourseTicket`.
122
123* Implement new transcript processing workflow.
124
125* Always display applicant payments if they exist.
126
127* Allow `ApplicationsManager` to view statistics.
128
129* Add payment session filter to payment exporters.
130
131* Add `SessionPaymentsOverviewExporter`.
132
133* Rename `StudentPaymentsOverviewExporter`.
134
135* Fix `CourseTicketExporter`. Ticket level and session filter
136  did not work.
137
138* Add payment category filter to payment exporters.
139
140* Remove 'hidden' attribute from ordereddSelectionList which has
141  caused a malfunction in Internet Exporer.
142
143* Set ssl index URL in buildout.cfg
144
145* Use the 'new' recaptcha v2.
146
147* Allow lecturer role assignment also at department level.
148
1491.6 (2018-04-05)
150================
151
152* Add ticket level and session filter to `CourseTicketExporter`.
153
154* Add 'Student Record Creation' Report page.
155
156* Add `CreateStudents` permission and `StudentsCreator` role.
157
158* Do not allow uploading data with trailing whitespaces.
159
160* Do no longer hide the 'Create students' buttons but switch the portal to
161  maintenance mode to ensure that nobody can enter the portal during
162  record creation except for user 'admin'. This guarantees that record
163  creation is only started once.
164
165* Replace `gpa_boundaries` utility attribute by `GPABoundaries` method
166  which may return different values in custom packages depending on faculty,
167  department or certificate code (requested by AAU Ekpoma).
168
169* Allow `ApplicantOnlinePaymentProcessor` to import records without
170  `p_id` column in create mode.
171
172* Add `waeup.showStudents` permission to `ExportManager` role.
173
174* Fix `CertificateProcessor.checkHeaders`. The processor requires both
175  faculty_code *and* department_code in create mode.
176
177* Add 'Update all tickets' button to `StudyLevelEditFormPage`.
178
179* Do not allow to create more than 10 students with a single request to
180  avoid a timeout of Nginx/Apache.
181
182* Redirect to manage page after editing of certificate courses.
183
184* Add `course_category` attribute to course tickets. In the base package,
185  this attribute is omitted from display and manage pages.
186
187* Add `course_category` attribute to certificate courses.
188
189* Simplify configuration of maximum or minimum total credits.
190
191* Add `outstanding` attribute to course tickets.
192
193* Exclude graduated students from `LevelReport`, `SessionResultsPresentation`
194  and `RawScoreReport`.
195
196* Allow applicants in states `admitted`, `not admitted` or `created` to
197  download the payment slip.
198
199* Catch traceback (`RequiredMissing`) if a required field is cleared
200  by import.
201
202* Add role `FingerprintReaderDeviceRole` intended for fingerprint reader
203  devices that access the portal via XMLRPC.
204
205
2061.5 (2017-02-14)
207================
208
209* Happy Valentines Day everybody!
210
211* Sort arguments in table of `ReportsContainerPage`.
212
213* Add `entry_session` and `p_session` filter to Student Payment Statistics
214  generator. Adjust reports: Change footer and filename formats.
215
216* Add officer name fields do `IDepartment` and `IFaculty`.
217  Plugins must be updated!
218
219* Add serial number column to Session Results Presentations.
220
221* Add Raw Score Report to base package.
222
223* Only user 'admin' is allowed to access the `DatacenterSettings` page.
224
225* Show correct level title on Level Reports and Session Results Presentations.
226
227* Get set of selected students also from list of matric numbers.
228
229* Confine Level Reports and Session Results Presentations to certificates.
230
231* Show report number (job_id) on report pdf slips.
232
233* Level report: Count and display the number of courses registered but
234  not taken.
235
236* Add control button to create graduated students.
237
238* Add option to render transcripts without passport picture and QR code.
239
240* Catch Reportlab `LayoutError`.
241
242* Replace `course_registration_allowed` by `course_registration_forbidden`
243  method.
244
245* Add export purge button.
246
247* Add report purge button.
248
249* Add property attribute `total_score` in order to make provision
250  for additional scores (like contineous assessments) in custom
251  packages.
252
253* Make provision against storing other objects than applicant payments
254  in applicant containers.
255
256* Count mandates on configuration page and provide 'Purge' button.
257
258* Start `ApplicantExporter` and `ApplicantPaymentExporter` at the same
259  time when calling `ExportJobContainerJobStart`.
260
261* Add `ApplicantPaymentExporter`.
262
263* Add file upload functionality to `EditScoresPage`.
264
265* Add `LecturerLandingPage` and `LecturerCourses` `ManageLink`
266  viewlet.
267
268* Add `ExportPDFScoresSlip`.
269
270* Add `DownloadScoresView` which is for lecturers only. Remove
271  `waeup.showStudents` from `Lecturer` role. Adjust
272  `DataForLecturerExporter`. Only editable course tickets are being
273  exported.
274
275* Remove application fee fallback option. Application fees can only
276  be set via applicants containers. Hide Payment Tickets section on
277  application pages if fee isn't set.
278
279* Add  `ApplicantOnlinePaymentProcessor`.
280
281* Improve `AddStudyLevelFormPage`.
282
283* Create new exporter for lecturers and further restrict the usage of
284  exporters at course level. Lecturers can only export data of
285  current academic session.
286
287* Show certificate-specific p_level value on payment pages.
288  Ensure that only allowed payment levels can be selected when
289  adding a balance payment.
290
291* Add `flash_notice` field.
292
293* Documentation updates.
294
295* Update pinned versions: six
296
297
2981.4.1 (2016-02-14)
299==================
300
301* Add new application workflow state (`processed`) and transition
302  (`process`).
303
304* Add `DegreeSource` and `degree` field to `ICertificate`.
305  Plugins must be updated!
306
307* Upgrade bootstrap.py script and update some dependencies. For
308  already running instances a new init might be neccessary, i.e.
309  you might have to create a new virtualenv and run bootstap.py
310  and buildout from that new virtualenv to get rid of old
311  package versions in the runtime environment.
312
313* Upgrade versions.cfg to contain bugfix releases of packages we
314  depend on.
315
316
3171.4 (2016-01-14)
318================
319
320* Add button and view which allow students to unregister their
321  current course list unless the courses have not been validated.
322
323* Configure transfer payments and let students enter their desired
324  study course. Save entered text in `p_item` attribute.
325
326* Add further permissions to the local `ApplicationsManager` role and
327  make it assignable at applicants container level.
328
329* Disable rendering of HTML tags in fullnames.
330
331* Add bed statistics components.
332
333* Add option which allows students to select a desired hostel before
334  booking accommodation.
335
336* Add `BedProcessor`.
337
338* Add portal maintenance mode.
339
340* Allow also `reg_number` on public page to check application status
341  without password.
342
343* Remove `beds_reserved` attribute from hostels. Hostels do no longer
344  contain information about reserved bed spaces.
345
346* Add methods and page to release expired bed allocations.
347
348* Use lastname instead of firstname for first-time password requests.
349
350* When building docs, ignore members with dots in name.
351
352
3531.3.3 (2015-10-06)
354==================
355
356* Show file size of pdf documents in the documents section.
357
358* Add `MANIFEST.in`.
359
360
3611.3.2 (2015-09-14)
362==================
363
364* Add public page to check application status without password.
365
366* Fix department breakdown of student statistics.
367
368* Enable purging of applicants containers.
369
370* Enable pre-filling of applicants containers with empty
371  application records which are used during self-registration
372  to avoid excessive growth of the Data.fs.
373
374* Do only allow one running export job.
375
376* Add switch to disable all exports.
377
378* Enable import of list-of-choices fields.
379
380* Include 'end day' when searching for payments in a given period.
381
382* Do not create special application payment tickets with zero amount.
383
384* Remove manual clearance lock. Replace `clearance_locked` field by
385  property attribute.
386
387* Make student email field required.
388
389* Rename application workflow transitions and remove forbidden transitions.
390
391* Rename 'application section' for the sake of consistency.
392
393* Rename student views which are not layout-aware and thus not pages.
394
395* Register KofaSourceOrderedMultiSelectWidget for IterableSource and
396  KofaSourceOrderedMultiSelectWidget for IVocabularyTokenized.
397
398* Implement session-specific course registration deadline and
399  late registration payment.
400
401* Remove quite old bug in `doImport`: Replace empty strings *and* lists with
402  ignore-markers in update *and* create mode.
403
404* Add StudentUnpaidPaymentExporter to export only unpaid tickets.
405  This exporter is designed for finding and finally purging outdated
406  payment ticket.
407
408* Remove deprecated xml importer and exporter components.
409
410* Rearrange datacenter upload page. Provide modal windows to view all
411  processors and sources and vocabularies.
412
413* Reorganize doctests. Remove deprecated doctests.
414
415* Enable temporary suspension of officer accounts. Plugins must be
416  updated after restart.
417
418* Rename 'Portal Users' 'Officers'.
419
420* Add link 'Kofa Docs for this page' at the end of the content box
421  which refers to the corresponding section of the
422  `Kofa Documentation <http://kofa-doc.waeup.org>`_.
423
424* Filter students by current level in reports.
425
426* Add `StudentsUtils.increaseMatricInteger` method which allows to use various
427  matric number counters when computing the matric number.
428
429* Bypass school fee payment activation code creation if student is allowed
430  to proceed to next session.
431
432* Convert `level` into a schema field to be consistent with the documentation.
433
434* Rename classes `StudentPaymentsExporter` and `BedTicketsExporter` to be
435  in accordance with other exporter names.
436
437* Add `ReportsOfficer` and `ReportsManager` roles with corresponding
438  permissions.
439
440* Do not automatically allow import managers to import user data.
441
442* Skip empty rows produced by spreadsheet software.
443
444* Add components to  configure a student export jobs in faculties.
445
446* `StudentOnlinePaymentProcessor` : Raise `DuplicationError` if payment
447  (in state ``paid``) with same `p_session` and `p_category` exists.
448
449* Add new payment state ``waived``. This state can only be set by import
450  and is only used for the payments overview exporter to
451  mark sessions with waived fees.
452
453* Add exporter methods and export page to filter student data exports
454  by entering a list of student ids.
455
456* Student statistic can now be broken down by faculties or by departments.
457
458* Check if `p_id` exists in payments catalog when importing payment tickets in
459  create mode.
460
461
4621.3.1 (2015-01-14)
463==================
464
465* 1.3 was a brown bag release. Fix uploaded files.
466
467
4681.3 (2015-01-13)
469================
470
471* Add documents package.
472
473* Do not compare ResultEntry objects but their attributes.
474
475* Modify getWidgetsData so that we always get the same error format.
476
477* Validate all codes in university.
478
479* Catch traceback when creating an application slip with a corrupted
480  image file.
481
482* Remove deprecated HTML and REST widgets and use html2dict and rest2dict
483  instead.
484
485* UserProcessor: Check if imported roles do exist in the portal.
486
487* Enable localization of batch processing modules.
488
489* Hide 'Create students' button. Only user admin can see this button.
490
491* Add application_slip_notice field to ApplicantsContainer.
492
493* Remove 'Size' column from logfiles table.
494
495* Add permission, page and button to mass-clear all students in a department.
496
497* Hide export download button 24 hours after file generation.
498
499* Add helper to allow `meminfo` checks for cached memory, etc.
500
501* Allow external checks of system load before performing expensive
502  actions.
503
504* Add new dependency: `psutil` (required to check system state).
505
506* Show flash message on general search page for the academic section.
507
508* Fix `CertificateCourseProcessor`. Mandatory is not a required field
509  and might be missing in import files. Improve logging. Extend and
510  fix CertCourseProcessorTests.
511
512* Provide customizable method for disabling clearance by clearance
513  officers.
514
515* Merge Javascript functions into one file. Add Javascript function to
516  calculate copyright notice year automatically.
517
518* Use lastname (surname) instead of firstname to verify found
519  application record on ApplicantRegistrationPage.
520
521* Append hash '#' also to datetimes to circumvent unwanted excel
522  automatic.
523
524* Method for (customizable) application passport upload requirements
525  added.
526
527* Filter payment ticket data exports by specifying the payment_date
528  period.
529
530* Method for (customizable) application payment slip download
531  requirements added.
532
533* Method for (customizable) application payment ticket upload
534  requirements added.
535
536* Remove unused rowadd javascript function.
537
538* certcode and reg_number added to DataForBursaryExporter.
539
540* Some batch processor names corrected.
541
542* Fixed ReST markup in setup.py long description.
543
544
5451.2 (2014-06-16)
546================
547
548* Redirect to login page after using password mandate.
549
550* Adding student payment tickets is logged.
551
552* Provide XMLRPC services for storing and retrieving fingerprint
553  scans.
554
555* Sort ContextualDictSource by dictionary values not by keys.
556
557* Add regular school fee and balance payments when exporting payments
558  overviews.
559
560* Add samePaymentMade method to StudentsUtils.
561
562* Fingerprint file upload enabled.
563
564* is_fresh property method added to Student class.
565
566* Special application procedure modified. Special applicants must submit
567  their form before they can download payment slips. Thus the regular
568  workflow is now applied but, in contrast to regular applications,
569  special applicants can create and pay more than one payment ticket.
570  Also application slips are hidden.
571
572* Add setMatricNumber and constructMatricNumber methods to StudentsUtils.
573
574* When sending mails, always set from-address to 'no-reply@waeup.org'.
575  Real from-addresses are now set in Cc and Reply-To fields. This is
576  to tackle problems with yahoo (does not allow yahoo.com mails to be
577  sent from non-yahoo servers).
578
579* Multiple payments in special application containers enabled.
580  Special payment applicants remain in state started after payment.
581
582* File input fields brought into shape with Bootstrap 3.
583
584* Transcript and access code pagetemplates adjusted.
585
586* Print QR codes on all student slips.
587
588* Allow adding current_level to base data section on all student slips
589  (requested by Uniben).
590
591* Windows is no longer supported. Installation manual removed.
592
593* Added JS helper to scroll to sequencelists after adding/removing items.
594
595
5961.1 (2014-03-13)
597================
598
599* Add display_fullname column to `CourseTicketExporter` (requested by Uniben).
600
601* Do also export student and course ticket data of students on probation.
602
603* 'Create student' option removed from 'Application Transition'
604  select field.
605
606* API docs added.
607
608* Back-to links replaced by animated jQuery plugins.
609
610* Default frontpage text updated.
611
612* Use absolute urls on datacenter pages.
613
614* Provide customizable method for disabling student payments.
615
616* After login and logout, regular users (officers) are redirected
617  to the portal's index page not to the portal's root. The
618  root URL can now be rewritten be Nginx or Apache so that the user
619  is being redirected to the university website
620  when entering the root URL directly or clicking the acronym.
621
622* Show tooltip alert and warning window before updating plugins.
623
624* JSAction has been deprecated. KofaAction can be used instead. Additional
625  parameters can be used in @action decorators to enable tooltips and/or
626  warning windows. The old @jsaction decorator still triggers a default
627  warning message.
628
629* jquery-ui.min.js is also used for tooltips.
630
631* Do not create TSC AC batch when updating plugins.
632  All TSC batches are created.
633
634* Make table on applicantsrootpage responsive.
635
636* Change width of input, select and textarea fields.
637
638* Use only https in theme.html.
639
640* INSTALL.txt updated and integrated into Sphinx documentation.
641
642* Redundancies removed in docs.
643
644
6451.0 (2014-02-22)
646================
647
648* Diazofied the complete package.
649
650
6510.2.1 (2014-02-21)
652==================
653
654* Send mails to from-address, if site-wide config admin is
655  different from it.
656
657* Change flash message for successful applicants.
658
659* Use more attributes of applicants with payer objects.
660
661* Update copyright infos (year).
662
663* Localization updates.
664
665
6660.2 (2014-01-09)
667================
668
669Tons of changes.
670
671
6720.1 (never released)
673====================
674
675Initial version. Copy from waeup.sirp.
Note: See TracBrowser for help on using the repository browser.