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

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

Show local roles on faculty, department, course and certificate pages
and provide 'Contact' button so that authenticated users can contact
officers via Kofa.

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