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

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

Do not require session configuration object for application payments.

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