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

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