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

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

Hide emtpy levels in transcripts.

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