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

Last change on this file since 17177 was 17177, checked in by Henrik Bettermann, 22 months ago

Update CHANGES.

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