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

Last change on this file since 16612 was 16609, checked in by Henrik Bettermann, 3 years ago

Enable students and officers to upload scanned signature in the same
way as passport pictures are handled. Some tabs and titles had to be
renamed. The placeholder file, which is still the portrait
placeholder, are no longer shown on base pages.

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