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

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

Copy applicant_id into reg_number field during student record creation if applicant's reg_number is not set.

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