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

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

OutstandingCoursesExporter: Remove passed courses from outstanding courses lists.

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