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

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

Make maximum number of applicants on ApplicantsContainerManageFormPage
customizable.

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