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

Last change on this file since 16937 was 16937, checked in by Henrik Bettermann, 2 years ago

Show last student id on StudentsContainerPage.

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