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

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

Add Javascript which automatically submits a form on select change (not used in base but in lpng custom package).

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