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

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

Send email to student after single record creation.

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