source: main/waeup.kofa/branches/uli-py3/CHANGES.txt @ 17937

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