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

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

Add 'Modules Level'.

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