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

Last change on this file since 16262 was 16262, checked in by Henrik Bettermann, 4 years ago

Use Uli's marker substitution hack to inject signature
images into pdf files.

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