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

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

Add BalancePaymentAddFormPage which can only be opened by managers.
No button is provided in base package.

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