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

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

Adjust ApplicantOnlinePaymentProcessor.getMapping (2nd bugfix).

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