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

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

Add MonthSource? to be used in custom packages.

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