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

Last change on this file since 16232 was 16231, checked in by Henrik Bettermann, 4 years ago

Implement ContactApplicantFormPage.

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