waeup.kofa


Namewaeup.kofa JSON
Version 1.8.1 PyPI version JSON
download
home_pagehttp://www.waeup.org/
SummaryA student online information and registration portal
upload_time2023-01-16 13:07:23
maintainer
docs_urlNone
authorThe WAeUP team.
requires_python
licenseGPL
keywords portal waeup kofa student university registration grok zope
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            What is WAeUP.Kofa ?
********************

Kofa means 'entrance' or 'portal' in Hausa language.

WAeUP.Kofa is a multifunctional, open source, web based student
management system to provide transparent and comprehensive
information about application and study progress. The system
controls all kinds of application and student registration processes
at large schools and universities in Nigeria. It is a generic system
which can be deployed by, and is useful to most universities,
colleges or schools worldwide.

WAeUP.Kofa is the flagship of the West African eUniversity Project
(WAeUP). See http://www.waeup.org to learn more about WAeUP.

WAeUP.Kofa is really an allrounder. The best way to briefly describe
its functionality, is to explain what the software can *not* do for
you, rather than trying to describe all its features in just a few
words. Kofa is primarily not an e-learning system, although, it has
some basic content management features which can be used by
lecturers to disseminate course material. Kofa is also not a
scheduler which generates lesson plans or timetables for lecturers
or students. Although students register their courses with Kofa and
can see or print course lists for each academic session, so far,
courses do not contain information, when or where they take place.
However, due to the modular design of Kofa, a scheduler or room
planner could be easily added.

WAeUP.Kofa is divided into sections. Each section has its own folder
in Kofa's `object database`. When starting Kofa in debug mode::

  $ ./bin/kofactl debug

we can use simple Python expression to view the first two levels of
the database structure::

  >>> list(root.keys())
  [u'app']
  >>> list(root['app'].keys())
  [u'accesscodes', u'applicants', u'configuration', u'datacenter',
   u'documents', u'faculties', u'hostels', u'mandates', u'reports',
   u'students', u'users']


The section/folder structure can be figured as follows::

  root (Database Root)
  |
  +---> app (University)
        |
        +---> faculties (Academic Section)
        |
        +---> students (Students Section)
        |
        +---> applicants (Aplicants Section)
        |
        +---> documents (Documents Section)
        |
        +---> hostels (Accommodation Section)
        |
        +---> accesscodes (Access Codes Section)
        |
        +---> configuration (Configuration Section)
        |
        +---> users (Officers)
        |
        +---> datacenter (Data Center)
        |
        +---> mandates (Mandates)
        |
        +---> reports (Reports)

The user handbook follows this organizational structure and adds
further chapters where needed. Also installation instructions and
basic information about customization can be found there.

You can also find latest docs at https://kofa-doc.waeup.org/


Changes
*******

1.8.1 (2023-01-16)
==================

* Upgrade `dolmen.beaker` dependency. Removes other outdated crypto
  dependencies. Requires new buildout run. Moves cookie configuration from code
  to site.zcml session config.

* Beautify INSTALL.txt.

1.8 (2023-01-11)
================

* Specify the role in flash message after logging in.

* Add `AccommodationViewer` role.

* Allow students to book accommodation also if they are in previous
  sessions (not activated in base package). 

* Add Javascript which automatically submits a form on select change 
  (not used in base but in lpng custom package).

* Add MonthSource to be used in custom packages.

* Add `BalancePaymentAddFormPage` which can only be opened by managers.
  No button is provided in base package.

* Do not require session configuration object for application payments.

* Add social media meta data.

* Send email after final submission of application form.

* Enable customization of application form final submission message.

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

* Show last student id on `StudentsContainerPage`.

* Hide emtpy levels in transcripts.

* Consider `course_category` in addStudentStudyLevel` method.

* Add `previous` field to `StudentStudyCourseProcessor`,
  `StudentStudyLevelProcessor` and `CourseTicketProcessor` to ensure
  that previous study course data are being imported into the right study
  course container.

* Add exporters for previous study course data.

* Enable import of student history.

* Don't complain but remove leading and trailing whitespaces 
  while converting values during import.

* Add 'Modules Level'.

* Ease customization of portrait upload conditions.

* `OutstandingCoursesExporter`: Remove passed courses from outstanding
  courses lists.

* Enable students and officers to upload scanned signature in the same
  way as passport pictures are handled. Some tabs and titles had to be
  renamed. The placeholder file, which is still the portrait
  placeholder, are no longer shown on base pages.

* Send email to student after single record creation.

* Forward credentials to login page after password reset request.

* Enable applicants to upload also additional jpg files.

* Prefill login form after applicant registration.

* Show local roles on faculty, department, course and certificate pages 
  and provide 'Contact' button so that authenticated users can contact 
  officers via Kofa.

* Extend `IPayer` adapter.

* Adjust `ApplicantOnlinePaymentProcessor.getMapping` (2nd bugfix).

* Sort attendance.pdf first by faculty and department before certcode.

* Add serial no to the coursetickets.pdf.

1.7.1 (2021-04-20)
==================

* Add `p_id` to `ApplicantOnlinePaymentProcessor.location_fields` (bugfix).

* Enable managers to edit/remove all flash notices of students in a department.

1.7 (2021-04-13)
================

* Add `key` field to `CertificateExporter`.

* Add payment option (`p_option`) field to payment tickets and add
  select box on online payment add form pages. Disable this feature
  in the base package.

* Allow lecturers to export all course tickets, not only
  those of current academic session.

* Disable clearance request button if not in state 'clearance started'.

* Make maximum number of applicants on `ApplicantsContainerManageFormPage`
  customizable.

* Implement bulk emailing.

* Make login trouble links more conspicuous.

* Add `ApplicantEmailSource` (not used and tested in base package).

* Redirect to payment ticket page after ticket creation.

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

* Implement `ExportPDFPersonalDataSlip` (without button
  in the base package). Rename `ExportPDFBaseDataPlusSlip`
  `ExportPDFStudyCourseBaseDataSlip`.

* Save email address provided by mandate when referee report
  is created. Add `RefereeReportManageFormPage` (no button available).

* Show submitted transcript application records on
  `TranscriptOfficerLandingPage` (not used in base package).

* Implement `ContactApplicantFormPage`.

* Use `Applicant.createStudent` method also to create graduated
  students from transcript application data (not used in base package).

* Implement `RefereesRemindPage`.

* Remove contact email header and add footer.

* Implement webservice `get_payment`.

* `year` (Year of Entrance) is no longer required when creating
  an applicants container.

* Implement temporary clearance.

* `reg_number` is no longer a required field in `IApplicantBaseData`.

* Add `entry_session` to student data exporters.

* Add `DownloadTranscript` permission.

* Implement webservice `get_unpaid_payments`.

* Prepare `renderPDFAdmissionLetter` for merging with another pdf document.

* Add `picture_editable` property attribute to `ApplicantsContainer`.

* Add webservice to check if graduated student exists.

* Implement `ExportPDFBaseDataPlusSlip` (without button
  in the base package)

* Implement `ApplicantRefereeReportExporter`.

* Improve referee reports.

* Use consistent flow value formatting for CGPA.

* Bugfix: If level_session of a studylevel object has changed,
  coursetickets_catalog must be informed. Otherwise lecturers
  don't see their students.

* Implement `BatchProcessor.checkCreateRequirements` and
  `BatchProcessor.checkUpdateRequirements` methods mainly
  to protect course result lists of graduated student.

* Do not allow course validation if no score has been entered.

* Add `unlock_score` field to `CourseTicketProcessor`.

* Add `UpdateCourseTicketsView`.

* Don't show 'Base Data' header on slips if no form fields do
  follow.

* When adding course tickets, check if course has already been
  passed at previous level.

* Add `StudentTrimmedPaymentExporter` (requested by Uniben).

* Add `AccommodationDisplayFormPage`.

* Don't allow students to add former courses in course lists.

* Use kofa-filterbox for filtering users when assigniing
  local roles in academics section.

* Add `waeup.local.ReportsOfficer` role.

* Add `TrimmedDataExporter`.

* Make `getUsers` customizable.

* Add logging message to `releaseBedIfMaintenanceNotPaid`.

* Provide components for file uploads in the applicants section.

* Copy also files from applicants to students section.

* Reset _curr_stud_id if student could not be created.

* Add `TranscriptDataExporter` and reorganize exporter names.

* Add `session_level`filter to `StudentStudyLevelExporter`.

* Add LetterPDFCreator utility and use this pdf creator
  for admission slips. letterhead_admission.jpg file
  must exist in students/static.

* Add application worklfow transition `reset6`.

* Add `StudentOutstandingCoursesExporter`.

* Sort lecturers on scores slip.

* Don't show hint on pdf slips.

* Make max passport picture size customizable.

* Redirect to `ChangePasswordRequestPage` after successfully
  adding an officer.

* Add get_bursary_data webservice.

* Implement bed selector.

* Implement combi payments.

* Make max file size customizable.

* Add `score_editing_disabled` switch at course level. 

* Take `DELETION_MARKER` into consideration when updating passwords.

* Implement parents access to student data.

* Do not print picture on application slip if application is without
  passport picture.

* Do not copy applicant_id into reg_number field after applicant creation.

* Successful applicant payments do trigger 'approve' transition only
  if applicant is in state 'started' and either p_category is 'application' or
  applicant is special.

* Allow to add applicants containers with a number instead of entrance year
  in container code.

* Add semester filter to Fix `CourseTicketExporter`. 

* Add `FacultiesExportJobContainerSelectStudents` view to allow
  bursary officers to export student data for a  small subset of students
  by entering a list of student ids or matric numbers.

* Add passport picture switch to applicants containers.

* Use decimal.Decimal to counteract Python floating point limitation.

* Add level 0 (None) to course levels.

* Ease customization of selectable payment categories.

* Make maximum number of files listed in `finished` subfolder
  customizable.

* Add attendance_sheet.pdf view.

* Implement course result validation workflow for lecturers.

* Add graduated students filter.

* Backup deleted graduated student data somewhere else to ease graduated
  student data migration.

* Add `transcript_remark` field to study levels. Add page to allow
  transcript officers editing the field during transcript processing.

* Increase password strength. Officers are now required
  to set a password which has at least 8 characters and which contains
  at least one uppercase letter, one lowercase letter and one
  digit. Stored insecure passwords are no longer accepted.
  Officers with an insecure password can't login and are
  redirected to the `ChangePasswordRequestPage` to request a
  new password.

* Add `AccommodationPaymentsExporter` which can be used by
  accommodation officers.

* Add ReleaseExpiredAllocationsActionButton which has previously
  only been used by Uniben.

* Fix get_student_payment_stats. Department codes are not
  unique. Use its path instead.

* Implement study level 0 (Level Zero) option for storing
  orphaned course tickets (tickets without level assignment
  or information). Add `ticket_session` field to `ICourseTicket`.

* Implement new transcript processing workflow.

* Always display applicant payments if they exist.

* Allow `ApplicationsManager` to view statistics.

* Add payment session filter to payment exporters.

* Add `SessionPaymentsOverviewExporter`.

* Rename `StudentPaymentsOverviewExporter`.

* Fix `CourseTicketExporter`. Ticket level and session filter
  did not work.

* Add payment category filter to payment exporters.

* Remove 'hidden' attribute from ordereddSelectionList which has
  caused a malfunction in Internet Exporer.

* Set ssl index URL in buildout.cfg

* Use the 'new' recaptcha v2.

* Allow lecturer role assignment also at department level.

1.6 (2018-04-05)
================

* Add ticket level and session filter to `CourseTicketExporter`.

* Add 'Student Record Creation' Report page.

* Add `CreateStudents` permission and `StudentsCreator` role.

* Do not allow uploading data with trailing whitespaces.

* Do no longer hide the 'Create students' buttons but switch the portal to
  maintenance mode to ensure that nobody can enter the portal during
  record creation except for user 'admin'. This guarantees that record
  creation is only started once.

* Replace `gpa_boundaries` utility attribute by `GPABoundaries` method
  which may return different values in custom packages depending on faculty,
  department or certificate code (requested by AAU Ekpoma).

* Allow `ApplicantOnlinePaymentProcessor` to import records without
  `p_id` column in create mode.

* Add `waeup.showStudents` permission to `ExportManager` role.

* Fix `CertificateProcessor.checkHeaders`. The processor requires both
  faculty_code *and* department_code in create mode.

* Add 'Update all tickets' button to `StudyLevelEditFormPage`.

* Do not allow to create more than 10 students with a single request to
  avoid a timeout of Nginx/Apache.

* Redirect to manage page after editing of certificate courses.

* Add `course_category` attribute to course tickets. In the base package,
  this attribute is omitted from display and manage pages.

* Add `course_category` attribute to certificate courses.

* Simplify configuration of maximum or minimum total credits.

* Add `outstanding` attribute to course tickets.

* Exclude graduated students from `LevelReport`, `SessionResultsPresentation`
  and `RawScoreReport`.

* Allow applicants in states `admitted`, `not admitted` or `created` to
  download the payment slip.

* Catch traceback (`RequiredMissing`) if a required field is cleared
  by import.

* Add role `FingerprintReaderDeviceRole` intended for fingerprint reader
  devices that access the portal via XMLRPC.


1.5 (2017-02-14)
================

* Happy Valentines Day everybody!

* Sort arguments in table of `ReportsContainerPage`.

* Add `entry_session` and `p_session` filter to Student Payment Statistics
  generator. Adjust reports: Change footer and filename formats.

* Add officer name fields do `IDepartment` and `IFaculty`.
  Plugins must be updated!

* Add serial number column to Session Results Presentations.

* Add Raw Score Report to base package.

* Only user 'admin' is allowed to access the `DatacenterSettings` page.

* Show correct level title on Level Reports and Session Results Presentations.

* Get set of selected students also from list of matric numbers.

* Confine Level Reports and Session Results Presentations to certificates.

* Show report number (job_id) on report pdf slips.

* Level report: Count and display the number of courses registered but
  not taken.

* Add control button to create graduated students.

* Add option to render transcripts without passport picture and QR code.

* Catch Reportlab `LayoutError`.

* Replace `course_registration_allowed` by `course_registration_forbidden`
  method.

* Add export purge button.

* Add report purge button.

* Add property attribute `total_score` in order to make provision
  for additional scores (like contineous assessments) in custom
  packages.

* Make provision against storing other objects than applicant payments
  in applicant containers.

* Count mandates on configuration page and provide 'Purge' button.

* Start `ApplicantExporter` and `ApplicantPaymentExporter` at the same
  time when calling `ExportJobContainerJobStart`.

* Add `ApplicantPaymentExporter`.

* Add file upload functionality to `EditScoresPage`.

* Add `LecturerLandingPage` and `LecturerCourses` `ManageLink`
  viewlet.

* Add `ExportPDFScoresSlip`.

* Add `DownloadScoresView` which is for lecturers only. Remove
  `waeup.showStudents` from `Lecturer` role. Adjust
  `DataForLecturerExporter`. Only editable course tickets are being
  exported.

* Remove application fee fallback option. Application fees can only
  be set via applicants containers. Hide Payment Tickets section on
  application pages if fee isn't set.

* Add  `ApplicantOnlinePaymentProcessor`.

* Improve `AddStudyLevelFormPage`.

* Create new exporter for lecturers and further restrict the usage of
  exporters at course level. Lecturers can only export data of
  current academic session.

* Show certificate-specific p_level value on payment pages.
  Ensure that only allowed payment levels can be selected when
  adding a balance payment.

* Add `flash_notice` field.

* Documentation updates.

* Update pinned versions: six


1.4.1 (2016-02-14)
==================

* Add new application workflow state (`processed`) and transition
  (`process`).

* Add `DegreeSource` and `degree` field to `ICertificate`.
  Plugins must be updated!

* Upgrade bootstrap.py script and update some dependencies. For
  already running instances a new init might be neccessary, i.e.
  you might have to create a new virtualenv and run bootstap.py
  and buildout from that new virtualenv to get rid of old
  package versions in the runtime environment.

* Upgrade versions.cfg to contain bugfix releases of packages we
  depend on.


1.4 (2016-01-14)
================

* Add button and view which allow students to unregister their
  current course list unless the courses have not been validated.

* Configure transfer payments and let students enter their desired
  study course. Save entered text in `p_item` attribute.

* Add further permissions to the local `ApplicationsManager` role and
  make it assignable at applicants container level.

* Disable rendering of HTML tags in fullnames.

* Add bed statistics components.

* Add option which allows students to select a desired hostel before
  booking accommodation.

* Add `BedProcessor`.

* Add portal maintenance mode.

* Allow also `reg_number` on public page to check application status
  without password.

* Remove `beds_reserved` attribute from hostels. Hostels do no longer
  contain information about reserved bed spaces.

* Add methods and page to release expired bed allocations.

* Use lastname instead of firstname for first-time password requests.

* When building docs, ignore members with dots in name.


1.3.3 (2015-10-06)
==================

* Show file size of pdf documents in the documents section.

* Add `MANIFEST.in`.


1.3.2 (2015-09-14)
==================

* Add public page to check application status without password.

* Fix department breakdown of student statistics.

* Enable purging of applicants containers.

* Enable pre-filling of applicants containers with empty
  application records which are used during self-registration
  to avoid excessive growth of the Data.fs.

* Do only allow one running export job.

* Add switch to disable all exports.

* Enable import of list-of-choices fields.

* Include 'end day' when searching for payments in a given period.

* Do not create special application payment tickets with zero amount.

* Remove manual clearance lock. Replace `clearance_locked` field by
  property attribute.

* Make student email field required.

* Rename application workflow transitions and remove forbidden transitions.

* Rename 'application section' for the sake of consistency.

* Rename student views which are not layout-aware and thus not pages.

* Register KofaSourceOrderedMultiSelectWidget for IterableSource and
  KofaSourceOrderedMultiSelectWidget for IVocabularyTokenized.

* Implement session-specific course registration deadline and
  late registration payment.

* Remove quite old bug in `doImport`: Replace empty strings *and* lists with
  ignore-markers in update *and* create mode.

* Add StudentUnpaidPaymentExporter to export only unpaid tickets.
  This exporter is designed for finding and finally purging outdated
  payment ticket.

* Remove deprecated xml importer and exporter components.

* Rearrange datacenter upload page. Provide modal windows to view all
  processors and sources and vocabularies.

* Reorganize doctests. Remove deprecated doctests.

* Enable temporary suspension of officer accounts. Plugins must be
  updated after restart.

* Rename 'Portal Users' 'Officers'.

* Add link 'Kofa Docs for this page' at the end of the content box
  which refers to the corresponding section of the
  `Kofa Documentation <http://kofa-doc.waeup.org>`_.

* Filter students by current level in reports.

* Add `StudentsUtils.increaseMatricInteger` method which allows to use various
  matric number counters when computing the matric number.

* Bypass school fee payment activation code creation if student is allowed
  to proceed to next session.

* Convert `level` into a schema field to be consistent with the documentation.

* Rename classes `StudentPaymentsExporter` and `BedTicketsExporter` to be
  in accordance with other exporter names.

* Add `ReportsOfficer` and `ReportsManager` roles with corresponding
  permissions.

* Do not automatically allow import managers to import user data.

* Skip empty rows produced by spreadsheet software.

* Add components to  configure a student export jobs in faculties.

* `StudentOnlinePaymentProcessor` : Raise `DuplicationError` if payment
  (in state ``paid``) with same `p_session` and `p_category` exists.

* Add new payment state ``waived``. This state can only be set by import
  and is only used for the payments overview exporter to
  mark sessions with waived fees.

* Add exporter methods and export page to filter student data exports
  by entering a list of student ids.

* Student statistic can now be broken down by faculties or by departments.

* Check if `p_id` exists in payments catalog when importing payment tickets in
  create mode.


1.3.1 (2015-01-14)
==================

* 1.3 was a brown bag release. Fix uploaded files.


1.3 (2015-01-13)
================

* Add documents package.

* Do not compare ResultEntry objects but their attributes.

* Modify getWidgetsData so that we always get the same error format.

* Validate all codes in university.

* Catch traceback when creating an application slip with a corrupted
  image file.

* Remove deprecated HTML and REST widgets and use html2dict and rest2dict
  instead.

* UserProcessor: Check if imported roles do exist in the portal.

* Enable localization of batch processing modules.

* Hide 'Create students' button. Only user admin can see this button.

* Add application_slip_notice field to ApplicantsContainer.

* Remove 'Size' column from logfiles table.

* Add permission, page and button to mass-clear all students in a department.

* Hide export download button 24 hours after file generation.

* Add helper to allow `meminfo` checks for cached memory, etc.

* Allow external checks of system load before performing expensive
  actions.

* Add new dependency: `psutil` (required to check system state).

* Show flash message on general search page for the academic section.

* Fix `CertificateCourseProcessor`. Mandatory is not a required field
  and might be missing in import files. Improve logging. Extend and
  fix CertCourseProcessorTests.

* Provide customizable method for disabling clearance by clearance
  officers.

* Merge Javascript functions into one file. Add Javascript function to
  calculate copyright notice year automatically.

* Use lastname (surname) instead of firstname to verify found
  application record on ApplicantRegistrationPage.

* Append hash '#' also to datetimes to circumvent unwanted excel
  automatic.

* Method for (customizable) application passport upload requirements
  added.

* Filter payment ticket data exports by specifying the payment_date
  period.

* Method for (customizable) application payment slip download
  requirements added.

* Method for (customizable) application payment ticket upload
  requirements added.

* Remove unused rowadd javascript function.

* certcode and reg_number added to DataForBursaryExporter.

* Some batch processor names corrected.

* Fixed ReST markup in setup.py long description.


1.2 (2014-06-16)
================

* Redirect to login page after using password mandate.

* Adding student payment tickets is logged.

* Provide XMLRPC services for storing and retrieving fingerprint
  scans.

* Sort ContextualDictSource by dictionary values not by keys.

* Add regular school fee and balance payments when exporting payments
  overviews.

* Add samePaymentMade method to StudentsUtils.

* Fingerprint file upload enabled.

* is_fresh property method added to Student class.

* Special application procedure modified. Special applicants must submit
  their form before they can download payment slips. Thus the regular
  workflow is now applied but, in contrast to regular applications,
  special applicants can create and pay more than one payment ticket.
  Also application slips are hidden.

* Add setMatricNumber and constructMatricNumber methods to StudentsUtils.

* When sending mails, always set from-address to 'no-reply@waeup.org'.
  Real from-addresses are now set in Cc and Reply-To fields. This is
  to tackle problems with yahoo (does not allow yahoo.com mails to be
  sent from non-yahoo servers).

* Multiple payments in special application containers enabled.
  Special payment applicants remain in state started after payment.

* File input fields brought into shape with Bootstrap 3.

* Transcript and access code pagetemplates adjusted.

* Print QR codes on all student slips.

* Allow adding current_level to base data section on all student slips
  (requested by Uniben).

* Windows is no longer supported. Installation manual removed.

* Added JS helper to scroll to sequencelists after adding/removing items.


1.1 (2014-03-13)
================

* Add display_fullname column to `CourseTicketExporter` (requested by Uniben).

* Do also export student and course ticket data of students on probation.

* 'Create student' option removed from 'Application Transition'
  select field.

* API docs added.

* Back-to links replaced by animated jQuery plugins.

* Default frontpage text updated.

* Use absolute urls on datacenter pages.

* Provide customizable method for disabling student payments.

* After login and logout, regular users (officers) are redirected
  to the portal's index page not to the portal's root. The
  root URL can now be rewritten be Nginx or Apache so that the user
  is being redirected to the university website
  when entering the root URL directly or clicking the acronym.

* Show tooltip alert and warning window before updating plugins.

* JSAction has been deprecated. KofaAction can be used instead. Additional
  parameters can be used in @action decorators to enable tooltips and/or
  warning windows. The old @jsaction decorator still triggers a default
  warning message.

* jquery-ui.min.js is also used for tooltips.

* Do not create TSC AC batch when updating plugins.
  All TSC batches are created.

* Make table on applicantsrootpage responsive.

* Change width of input, select and textarea fields.

* Use only https in theme.html.

* INSTALL.txt updated and integrated into Sphinx documentation.

* Redundancies removed in docs.


1.0 (2014-02-22)
================

* Diazofied the complete package.


0.2.1 (2014-02-21)
==================

* Send mails to from-address, if site-wide config admin is
  different from it.

* Change flash message for successful applicants.

* Use more attributes of applicants with payer objects.

* Update copyright infos (year).

* Localization updates.


0.2 (2014-01-09)
================

Tons of changes.


0.1 (never released)
====================

Initial version. Copy from waeup.sirp.


Download
********



            

Raw data

            {
    "_id": null,
    "home_page": "http://www.waeup.org/",
    "name": "waeup.kofa",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "portal waeup kofa student university registration grok zope",
    "author": "The WAeUP team.",
    "author_email": "de@waeup.org",
    "download_url": "https://files.pythonhosted.org/packages/f2/da/61f19d6b6a8086a82a68b49997f770715042e8bc20b8044782a6be074bf6/waeup.kofa-1.8.1.tar.gz",
    "platform": null,
    "description": "What is WAeUP.Kofa ?\n********************\n\nKofa means 'entrance' or 'portal' in Hausa language.\n\nWAeUP.Kofa is a multifunctional, open source, web based student\nmanagement system to provide transparent and comprehensive\ninformation about application and study progress. The system\ncontrols all kinds of application and student registration processes\nat large schools and universities in Nigeria. It is a generic system\nwhich can be deployed by, and is useful to most universities,\ncolleges or schools worldwide.\n\nWAeUP.Kofa is the flagship of the West African eUniversity Project\n(WAeUP). See http://www.waeup.org to learn more about WAeUP.\n\nWAeUP.Kofa is really an allrounder. The best way to briefly describe\nits functionality, is to explain what the software can *not* do for\nyou, rather than trying to describe all its features in just a few\nwords. Kofa is primarily not an e-learning system, although, it has\nsome basic content management features which can be used by\nlecturers to disseminate course material. Kofa is also not a\nscheduler which generates lesson plans or timetables for lecturers\nor students. Although students register their courses with Kofa and\ncan see or print course lists for each academic session, so far,\ncourses do not contain information, when or where they take place.\nHowever, due to the modular design of Kofa, a scheduler or room\nplanner could be easily added.\n\nWAeUP.Kofa is divided into sections. Each section has its own folder\nin Kofa's `object database`. When starting Kofa in debug mode::\n\n  $ ./bin/kofactl debug\n\nwe can use simple Python expression to view the first two levels of\nthe database structure::\n\n  >>> list(root.keys())\n  [u'app']\n  >>> list(root['app'].keys())\n  [u'accesscodes', u'applicants', u'configuration', u'datacenter',\n   u'documents', u'faculties', u'hostels', u'mandates', u'reports',\n   u'students', u'users']\n\n\nThe section/folder structure can be figured as follows::\n\n  root (Database Root)\n  |\n  +---> app (University)\n        |\n        +---> faculties (Academic Section)\n        |\n        +---> students (Students Section)\n        |\n        +---> applicants (Aplicants Section)\n        |\n        +---> documents (Documents Section)\n        |\n        +---> hostels (Accommodation Section)\n        |\n        +---> accesscodes (Access Codes Section)\n        |\n        +---> configuration (Configuration Section)\n        |\n        +---> users (Officers)\n        |\n        +---> datacenter (Data Center)\n        |\n        +---> mandates (Mandates)\n        |\n        +---> reports (Reports)\n\nThe user handbook follows this organizational structure and adds\nfurther chapters where needed. Also installation instructions and\nbasic information about customization can be found there.\n\nYou can also find latest docs at https://kofa-doc.waeup.org/\n\n\nChanges\n*******\n\n1.8.1 (2023-01-16)\n==================\n\n* Upgrade `dolmen.beaker` dependency. Removes other outdated crypto\n  dependencies. Requires new buildout run. Moves cookie configuration from code\n  to site.zcml session config.\n\n* Beautify INSTALL.txt.\n\n1.8 (2023-01-11)\n================\n\n* Specify the role in flash message after logging in.\n\n* Add `AccommodationViewer` role.\n\n* Allow students to book accommodation also if they are in previous\n  sessions (not activated in base package). \n\n* Add Javascript which automatically submits a form on select change \n  (not used in base but in lpng custom package).\n\n* Add MonthSource to be used in custom packages.\n\n* Add `BalancePaymentAddFormPage` which can only be opened by managers.\n  No button is provided in base package.\n\n* Do not require session configuration object for application payments.\n\n* Add social media meta data.\n\n* Send email after final submission of application form.\n\n* Enable customization of application form final submission message.\n\n* Copy applicant_id into reg_number field during student record creation,\n  if applicant's reg_number is not set.\n\n* Show last student id on `StudentsContainerPage`.\n\n* Hide emtpy levels in transcripts.\n\n* Consider `course_category` in addStudentStudyLevel` method.\n\n* Add `previous` field to `StudentStudyCourseProcessor`,\n  `StudentStudyLevelProcessor` and `CourseTicketProcessor` to ensure\n  that previous study course data are being imported into the right study\n  course container.\n\n* Add exporters for previous study course data.\n\n* Enable import of student history.\n\n* Don't complain but remove leading and trailing whitespaces \n  while converting values during import.\n\n* Add 'Modules Level'.\n\n* Ease customization of portrait upload conditions.\n\n* `OutstandingCoursesExporter`: Remove passed courses from outstanding\n  courses lists.\n\n* Enable students and officers to upload scanned signature in the same\n  way as passport pictures are handled. Some tabs and titles had to be\n  renamed. The placeholder file, which is still the portrait\n  placeholder, are no longer shown on base pages.\n\n* Send email to student after single record creation.\n\n* Forward credentials to login page after password reset request.\n\n* Enable applicants to upload also additional jpg files.\n\n* Prefill login form after applicant registration.\n\n* Show local roles on faculty, department, course and certificate pages \n  and provide 'Contact' button so that authenticated users can contact \n  officers via Kofa.\n\n* Extend `IPayer` adapter.\n\n* Adjust `ApplicantOnlinePaymentProcessor.getMapping` (2nd bugfix).\n\n* Sort attendance.pdf first by faculty and department before certcode.\n\n* Add serial no to the coursetickets.pdf.\n\n1.7.1 (2021-04-20)\n==================\n\n* Add `p_id` to `ApplicantOnlinePaymentProcessor.location_fields` (bugfix).\n\n* Enable managers to edit/remove all flash notices of students in a department.\n\n1.7 (2021-04-13)\n================\n\n* Add `key` field to `CertificateExporter`.\n\n* Add payment option (`p_option`) field to payment tickets and add\n  select box on online payment add form pages. Disable this feature\n  in the base package.\n\n* Allow lecturers to export all course tickets, not only\n  those of current academic session.\n\n* Disable clearance request button if not in state 'clearance started'.\n\n* Make maximum number of applicants on `ApplicantsContainerManageFormPage`\n  customizable.\n\n* Implement bulk emailing.\n\n* Make login trouble links more conspicuous.\n\n* Add `ApplicantEmailSource` (not used and tested in base package).\n\n* Redirect to payment ticket page after ticket creation.\n\n* Use Uli's marker substitution hack to inject signature\n  images into pdf files.\n\n* Implement `ExportPDFPersonalDataSlip` (without button\n  in the base package). Rename `ExportPDFBaseDataPlusSlip`\n  `ExportPDFStudyCourseBaseDataSlip`.\n\n* Save email address provided by mandate when referee report\n  is created. Add `RefereeReportManageFormPage` (no button available).\n\n* Show submitted transcript application records on\n  `TranscriptOfficerLandingPage` (not used in base package).\n\n* Implement `ContactApplicantFormPage`.\n\n* Use `Applicant.createStudent` method also to create graduated\n  students from transcript application data (not used in base package).\n\n* Implement `RefereesRemindPage`.\n\n* Remove contact email header and add footer.\n\n* Implement webservice `get_payment`.\n\n* `year` (Year of Entrance) is no longer required when creating\n  an applicants container.\n\n* Implement temporary clearance.\n\n* `reg_number` is no longer a required field in `IApplicantBaseData`.\n\n* Add `entry_session` to student data exporters.\n\n* Add `DownloadTranscript` permission.\n\n* Implement webservice `get_unpaid_payments`.\n\n* Prepare `renderPDFAdmissionLetter` for merging with another pdf document.\n\n* Add `picture_editable` property attribute to `ApplicantsContainer`.\n\n* Add webservice to check if graduated student exists.\n\n* Implement `ExportPDFBaseDataPlusSlip` (without button\n  in the base package)\n\n* Implement `ApplicantRefereeReportExporter`.\n\n* Improve referee reports.\n\n* Use consistent flow value formatting for CGPA.\n\n* Bugfix: If level_session of a studylevel object has changed,\n  coursetickets_catalog must be informed. Otherwise lecturers\n  don't see their students.\n\n* Implement `BatchProcessor.checkCreateRequirements` and\n  `BatchProcessor.checkUpdateRequirements` methods mainly\n  to protect course result lists of graduated student.\n\n* Do not allow course validation if no score has been entered.\n\n* Add `unlock_score` field to `CourseTicketProcessor`.\n\n* Add `UpdateCourseTicketsView`.\n\n* Don't show 'Base Data' header on slips if no form fields do\n  follow.\n\n* When adding course tickets, check if course has already been\n  passed at previous level.\n\n* Add `StudentTrimmedPaymentExporter` (requested by Uniben).\n\n* Add `AccommodationDisplayFormPage`.\n\n* Don't allow students to add former courses in course lists.\n\n* Use kofa-filterbox for filtering users when assigniing\n  local roles in academics section.\n\n* Add `waeup.local.ReportsOfficer` role.\n\n* Add `TrimmedDataExporter`.\n\n* Make `getUsers` customizable.\n\n* Add logging message to `releaseBedIfMaintenanceNotPaid`.\n\n* Provide components for file uploads in the applicants section.\n\n* Copy also files from applicants to students section.\n\n* Reset _curr_stud_id if student could not be created.\n\n* Add `TranscriptDataExporter` and reorganize exporter names.\n\n* Add `session_level`filter to `StudentStudyLevelExporter`.\n\n* Add LetterPDFCreator utility and use this pdf creator\n  for admission slips. letterhead_admission.jpg file\n  must exist in students/static.\n\n* Add application worklfow transition `reset6`.\n\n* Add `StudentOutstandingCoursesExporter`.\n\n* Sort lecturers on scores slip.\n\n* Don't show hint on pdf slips.\n\n* Make max passport picture size customizable.\n\n* Redirect to `ChangePasswordRequestPage` after successfully\n  adding an officer.\n\n* Add get_bursary_data webservice.\n\n* Implement bed selector.\n\n* Implement combi payments.\n\n* Make max file size customizable.\n\n* Add `score_editing_disabled` switch at course level. \n\n* Take `DELETION_MARKER` into consideration when updating passwords.\n\n* Implement parents access to student data.\n\n* Do not print picture on application slip if application is without\n  passport picture.\n\n* Do not copy applicant_id into reg_number field after applicant creation.\n\n* Successful applicant payments do trigger 'approve' transition only\n  if applicant is in state 'started' and either p_category is 'application' or\n  applicant is special.\n\n* Allow to add applicants containers with a number instead of entrance year\n  in container code.\n\n* Add semester filter to Fix `CourseTicketExporter`. \n\n* Add `FacultiesExportJobContainerSelectStudents` view to allow\n  bursary officers to export student data for a  small subset of students\n  by entering a list of student ids or matric numbers.\n\n* Add passport picture switch to applicants containers.\n\n* Use decimal.Decimal to counteract Python floating point limitation.\n\n* Add level 0 (None) to course levels.\n\n* Ease customization of selectable payment categories.\n\n* Make maximum number of files listed in `finished` subfolder\n  customizable.\n\n* Add attendance_sheet.pdf view.\n\n* Implement course result validation workflow for lecturers.\n\n* Add graduated students filter.\n\n* Backup deleted graduated student data somewhere else to ease graduated\n  student data migration.\n\n* Add `transcript_remark` field to study levels. Add page to allow\n  transcript officers editing the field during transcript processing.\n\n* Increase password strength. Officers are now required\n  to set a password which has at least 8 characters and which contains\n  at least one uppercase letter, one lowercase letter and one\n  digit. Stored insecure passwords are no longer accepted.\n  Officers with an insecure password can't login and are\n  redirected to the `ChangePasswordRequestPage` to request a\n  new password.\n\n* Add `AccommodationPaymentsExporter` which can be used by\n  accommodation officers.\n\n* Add ReleaseExpiredAllocationsActionButton which has previously\n  only been used by Uniben.\n\n* Fix get_student_payment_stats. Department codes are not\n  unique. Use its path instead.\n\n* Implement study level 0 (Level Zero) option for storing\n  orphaned course tickets (tickets without level assignment\n  or information). Add `ticket_session` field to `ICourseTicket`.\n\n* Implement new transcript processing workflow.\n\n* Always display applicant payments if they exist.\n\n* Allow `ApplicationsManager` to view statistics.\n\n* Add payment session filter to payment exporters.\n\n* Add `SessionPaymentsOverviewExporter`.\n\n* Rename `StudentPaymentsOverviewExporter`.\n\n* Fix `CourseTicketExporter`. Ticket level and session filter\n  did not work.\n\n* Add payment category filter to payment exporters.\n\n* Remove 'hidden' attribute from ordereddSelectionList which has\n  caused a malfunction in Internet Exporer.\n\n* Set ssl index URL in buildout.cfg\n\n* Use the 'new' recaptcha v2.\n\n* Allow lecturer role assignment also at department level.\n\n1.6 (2018-04-05)\n================\n\n* Add ticket level and session filter to `CourseTicketExporter`.\n\n* Add 'Student Record Creation' Report page.\n\n* Add `CreateStudents` permission and `StudentsCreator` role.\n\n* Do not allow uploading data with trailing whitespaces.\n\n* Do no longer hide the 'Create students' buttons but switch the portal to\n  maintenance mode to ensure that nobody can enter the portal during\n  record creation except for user 'admin'. This guarantees that record\n  creation is only started once.\n\n* Replace `gpa_boundaries` utility attribute by `GPABoundaries` method\n  which may return different values in custom packages depending on faculty,\n  department or certificate code (requested by AAU Ekpoma).\n\n* Allow `ApplicantOnlinePaymentProcessor` to import records without\n  `p_id` column in create mode.\n\n* Add `waeup.showStudents` permission to `ExportManager` role.\n\n* Fix `CertificateProcessor.checkHeaders`. The processor requires both\n  faculty_code *and* department_code in create mode.\n\n* Add 'Update all tickets' button to `StudyLevelEditFormPage`.\n\n* Do not allow to create more than 10 students with a single request to\n  avoid a timeout of Nginx/Apache.\n\n* Redirect to manage page after editing of certificate courses.\n\n* Add `course_category` attribute to course tickets. In the base package,\n  this attribute is omitted from display and manage pages.\n\n* Add `course_category` attribute to certificate courses.\n\n* Simplify configuration of maximum or minimum total credits.\n\n* Add `outstanding` attribute to course tickets.\n\n* Exclude graduated students from `LevelReport`, `SessionResultsPresentation`\n  and `RawScoreReport`.\n\n* Allow applicants in states `admitted`, `not admitted` or `created` to\n  download the payment slip.\n\n* Catch traceback (`RequiredMissing`) if a required field is cleared\n  by import.\n\n* Add role `FingerprintReaderDeviceRole` intended for fingerprint reader\n  devices that access the portal via XMLRPC.\n\n\n1.5 (2017-02-14)\n================\n\n* Happy Valentines Day everybody!\n\n* Sort arguments in table of `ReportsContainerPage`.\n\n* Add `entry_session` and `p_session` filter to Student Payment Statistics\n  generator. Adjust reports: Change footer and filename formats.\n\n* Add officer name fields do `IDepartment` and `IFaculty`.\n  Plugins must be updated!\n\n* Add serial number column to Session Results Presentations.\n\n* Add Raw Score Report to base package.\n\n* Only user 'admin' is allowed to access the `DatacenterSettings` page.\n\n* Show correct level title on Level Reports and Session Results Presentations.\n\n* Get set of selected students also from list of matric numbers.\n\n* Confine Level Reports and Session Results Presentations to certificates.\n\n* Show report number (job_id) on report pdf slips.\n\n* Level report: Count and display the number of courses registered but\n  not taken.\n\n* Add control button to create graduated students.\n\n* Add option to render transcripts without passport picture and QR code.\n\n* Catch Reportlab `LayoutError`.\n\n* Replace `course_registration_allowed` by `course_registration_forbidden`\n  method.\n\n* Add export purge button.\n\n* Add report purge button.\n\n* Add property attribute `total_score` in order to make provision\n  for additional scores (like contineous assessments) in custom\n  packages.\n\n* Make provision against storing other objects than applicant payments\n  in applicant containers.\n\n* Count mandates on configuration page and provide 'Purge' button.\n\n* Start `ApplicantExporter` and `ApplicantPaymentExporter` at the same\n  time when calling `ExportJobContainerJobStart`.\n\n* Add `ApplicantPaymentExporter`.\n\n* Add file upload functionality to `EditScoresPage`.\n\n* Add `LecturerLandingPage` and `LecturerCourses` `ManageLink`\n  viewlet.\n\n* Add `ExportPDFScoresSlip`.\n\n* Add `DownloadScoresView` which is for lecturers only. Remove\n  `waeup.showStudents` from `Lecturer` role. Adjust\n  `DataForLecturerExporter`. Only editable course tickets are being\n  exported.\n\n* Remove application fee fallback option. Application fees can only\n  be set via applicants containers. Hide Payment Tickets section on\n  application pages if fee isn't set.\n\n* Add  `ApplicantOnlinePaymentProcessor`.\n\n* Improve `AddStudyLevelFormPage`.\n\n* Create new exporter for lecturers and further restrict the usage of\n  exporters at course level. Lecturers can only export data of\n  current academic session.\n\n* Show certificate-specific p_level value on payment pages.\n  Ensure that only allowed payment levels can be selected when\n  adding a balance payment.\n\n* Add `flash_notice` field.\n\n* Documentation updates.\n\n* Update pinned versions: six\n\n\n1.4.1 (2016-02-14)\n==================\n\n* Add new application workflow state (`processed`) and transition\n  (`process`).\n\n* Add `DegreeSource` and `degree` field to `ICertificate`.\n  Plugins must be updated!\n\n* Upgrade bootstrap.py script and update some dependencies. For\n  already running instances a new init might be neccessary, i.e.\n  you might have to create a new virtualenv and run bootstap.py\n  and buildout from that new virtualenv to get rid of old\n  package versions in the runtime environment.\n\n* Upgrade versions.cfg to contain bugfix releases of packages we\n  depend on.\n\n\n1.4 (2016-01-14)\n================\n\n* Add button and view which allow students to unregister their\n  current course list unless the courses have not been validated.\n\n* Configure transfer payments and let students enter their desired\n  study course. Save entered text in `p_item` attribute.\n\n* Add further permissions to the local `ApplicationsManager` role and\n  make it assignable at applicants container level.\n\n* Disable rendering of HTML tags in fullnames.\n\n* Add bed statistics components.\n\n* Add option which allows students to select a desired hostel before\n  booking accommodation.\n\n* Add `BedProcessor`.\n\n* Add portal maintenance mode.\n\n* Allow also `reg_number` on public page to check application status\n  without password.\n\n* Remove `beds_reserved` attribute from hostels. Hostels do no longer\n  contain information about reserved bed spaces.\n\n* Add methods and page to release expired bed allocations.\n\n* Use lastname instead of firstname for first-time password requests.\n\n* When building docs, ignore members with dots in name.\n\n\n1.3.3 (2015-10-06)\n==================\n\n* Show file size of pdf documents in the documents section.\n\n* Add `MANIFEST.in`.\n\n\n1.3.2 (2015-09-14)\n==================\n\n* Add public page to check application status without password.\n\n* Fix department breakdown of student statistics.\n\n* Enable purging of applicants containers.\n\n* Enable pre-filling of applicants containers with empty\n  application records which are used during self-registration\n  to avoid excessive growth of the Data.fs.\n\n* Do only allow one running export job.\n\n* Add switch to disable all exports.\n\n* Enable import of list-of-choices fields.\n\n* Include 'end day' when searching for payments in a given period.\n\n* Do not create special application payment tickets with zero amount.\n\n* Remove manual clearance lock. Replace `clearance_locked` field by\n  property attribute.\n\n* Make student email field required.\n\n* Rename application workflow transitions and remove forbidden transitions.\n\n* Rename 'application section' for the sake of consistency.\n\n* Rename student views which are not layout-aware and thus not pages.\n\n* Register KofaSourceOrderedMultiSelectWidget for IterableSource and\n  KofaSourceOrderedMultiSelectWidget for IVocabularyTokenized.\n\n* Implement session-specific course registration deadline and\n  late registration payment.\n\n* Remove quite old bug in `doImport`: Replace empty strings *and* lists with\n  ignore-markers in update *and* create mode.\n\n* Add StudentUnpaidPaymentExporter to export only unpaid tickets.\n  This exporter is designed for finding and finally purging outdated\n  payment ticket.\n\n* Remove deprecated xml importer and exporter components.\n\n* Rearrange datacenter upload page. Provide modal windows to view all\n  processors and sources and vocabularies.\n\n* Reorganize doctests. Remove deprecated doctests.\n\n* Enable temporary suspension of officer accounts. Plugins must be\n  updated after restart.\n\n* Rename 'Portal Users' 'Officers'.\n\n* Add link 'Kofa Docs for this page' at the end of the content box\n  which refers to the corresponding section of the\n  `Kofa Documentation <http://kofa-doc.waeup.org>`_.\n\n* Filter students by current level in reports.\n\n* Add `StudentsUtils.increaseMatricInteger` method which allows to use various\n  matric number counters when computing the matric number.\n\n* Bypass school fee payment activation code creation if student is allowed\n  to proceed to next session.\n\n* Convert `level` into a schema field to be consistent with the documentation.\n\n* Rename classes `StudentPaymentsExporter` and `BedTicketsExporter` to be\n  in accordance with other exporter names.\n\n* Add `ReportsOfficer` and `ReportsManager` roles with corresponding\n  permissions.\n\n* Do not automatically allow import managers to import user data.\n\n* Skip empty rows produced by spreadsheet software.\n\n* Add components to  configure a student export jobs in faculties.\n\n* `StudentOnlinePaymentProcessor` : Raise `DuplicationError` if payment\n  (in state ``paid``) with same `p_session` and `p_category` exists.\n\n* Add new payment state ``waived``. This state can only be set by import\n  and is only used for the payments overview exporter to\n  mark sessions with waived fees.\n\n* Add exporter methods and export page to filter student data exports\n  by entering a list of student ids.\n\n* Student statistic can now be broken down by faculties or by departments.\n\n* Check if `p_id` exists in payments catalog when importing payment tickets in\n  create mode.\n\n\n1.3.1 (2015-01-14)\n==================\n\n* 1.3 was a brown bag release. Fix uploaded files.\n\n\n1.3 (2015-01-13)\n================\n\n* Add documents package.\n\n* Do not compare ResultEntry objects but their attributes.\n\n* Modify getWidgetsData so that we always get the same error format.\n\n* Validate all codes in university.\n\n* Catch traceback when creating an application slip with a corrupted\n  image file.\n\n* Remove deprecated HTML and REST widgets and use html2dict and rest2dict\n  instead.\n\n* UserProcessor: Check if imported roles do exist in the portal.\n\n* Enable localization of batch processing modules.\n\n* Hide 'Create students' button. Only user admin can see this button.\n\n* Add application_slip_notice field to ApplicantsContainer.\n\n* Remove 'Size' column from logfiles table.\n\n* Add permission, page and button to mass-clear all students in a department.\n\n* Hide export download button 24 hours after file generation.\n\n* Add helper to allow `meminfo` checks for cached memory, etc.\n\n* Allow external checks of system load before performing expensive\n  actions.\n\n* Add new dependency: `psutil` (required to check system state).\n\n* Show flash message on general search page for the academic section.\n\n* Fix `CertificateCourseProcessor`. Mandatory is not a required field\n  and might be missing in import files. Improve logging. Extend and\n  fix CertCourseProcessorTests.\n\n* Provide customizable method for disabling clearance by clearance\n  officers.\n\n* Merge Javascript functions into one file. Add Javascript function to\n  calculate copyright notice year automatically.\n\n* Use lastname (surname) instead of firstname to verify found\n  application record on ApplicantRegistrationPage.\n\n* Append hash '#' also to datetimes to circumvent unwanted excel\n  automatic.\n\n* Method for (customizable) application passport upload requirements\n  added.\n\n* Filter payment ticket data exports by specifying the payment_date\n  period.\n\n* Method for (customizable) application payment slip download\n  requirements added.\n\n* Method for (customizable) application payment ticket upload\n  requirements added.\n\n* Remove unused rowadd javascript function.\n\n* certcode and reg_number added to DataForBursaryExporter.\n\n* Some batch processor names corrected.\n\n* Fixed ReST markup in setup.py long description.\n\n\n1.2 (2014-06-16)\n================\n\n* Redirect to login page after using password mandate.\n\n* Adding student payment tickets is logged.\n\n* Provide XMLRPC services for storing and retrieving fingerprint\n  scans.\n\n* Sort ContextualDictSource by dictionary values not by keys.\n\n* Add regular school fee and balance payments when exporting payments\n  overviews.\n\n* Add samePaymentMade method to StudentsUtils.\n\n* Fingerprint file upload enabled.\n\n* is_fresh property method added to Student class.\n\n* Special application procedure modified. Special applicants must submit\n  their form before they can download payment slips. Thus the regular\n  workflow is now applied but, in contrast to regular applications,\n  special applicants can create and pay more than one payment ticket.\n  Also application slips are hidden.\n\n* Add setMatricNumber and constructMatricNumber methods to StudentsUtils.\n\n* When sending mails, always set from-address to 'no-reply@waeup.org'.\n  Real from-addresses are now set in Cc and Reply-To fields. This is\n  to tackle problems with yahoo (does not allow yahoo.com mails to be\n  sent from non-yahoo servers).\n\n* Multiple payments in special application containers enabled.\n  Special payment applicants remain in state started after payment.\n\n* File input fields brought into shape with Bootstrap 3.\n\n* Transcript and access code pagetemplates adjusted.\n\n* Print QR codes on all student slips.\n\n* Allow adding current_level to base data section on all student slips\n  (requested by Uniben).\n\n* Windows is no longer supported. Installation manual removed.\n\n* Added JS helper to scroll to sequencelists after adding/removing items.\n\n\n1.1 (2014-03-13)\n================\n\n* Add display_fullname column to `CourseTicketExporter` (requested by Uniben).\n\n* Do also export student and course ticket data of students on probation.\n\n* 'Create student' option removed from 'Application Transition'\n  select field.\n\n* API docs added.\n\n* Back-to links replaced by animated jQuery plugins.\n\n* Default frontpage text updated.\n\n* Use absolute urls on datacenter pages.\n\n* Provide customizable method for disabling student payments.\n\n* After login and logout, regular users (officers) are redirected\n  to the portal's index page not to the portal's root. The\n  root URL can now be rewritten be Nginx or Apache so that the user\n  is being redirected to the university website\n  when entering the root URL directly or clicking the acronym.\n\n* Show tooltip alert and warning window before updating plugins.\n\n* JSAction has been deprecated. KofaAction can be used instead. Additional\n  parameters can be used in @action decorators to enable tooltips and/or\n  warning windows. The old @jsaction decorator still triggers a default\n  warning message.\n\n* jquery-ui.min.js is also used for tooltips.\n\n* Do not create TSC AC batch when updating plugins.\n  All TSC batches are created.\n\n* Make table on applicantsrootpage responsive.\n\n* Change width of input, select and textarea fields.\n\n* Use only https in theme.html.\n\n* INSTALL.txt updated and integrated into Sphinx documentation.\n\n* Redundancies removed in docs.\n\n\n1.0 (2014-02-22)\n================\n\n* Diazofied the complete package.\n\n\n0.2.1 (2014-02-21)\n==================\n\n* Send mails to from-address, if site-wide config admin is\n  different from it.\n\n* Change flash message for successful applicants.\n\n* Use more attributes of applicants with payer objects.\n\n* Update copyright infos (year).\n\n* Localization updates.\n\n\n0.2 (2014-01-09)\n================\n\nTons of changes.\n\n\n0.1 (never released)\n====================\n\nInitial version. Copy from waeup.sirp.\n\n\nDownload\n********\n\n\n",
    "bugtrack_url": null,
    "license": "GPL",
    "summary": "A student online information and  registration portal",
    "version": "1.8.1",
    "split_keywords": [
        "portal",
        "waeup",
        "kofa",
        "student",
        "university",
        "registration",
        "grok",
        "zope"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ecd959f65879ff8c375f3a922ce8471f9d2da3a6ce42c4586203fc4aab5d89f4",
                "md5": "f58b87d45ab918f8fb39ca64762dbbeb",
                "sha256": "afcb77f0ae93fc1ef1103ac1a9a33418eaf0316821168760160b23348b1257db"
            },
            "downloads": -1,
            "filename": "waeup.kofa-1.8.1-py2-none-any.whl",
            "has_sig": false,
            "md5_digest": "f58b87d45ab918f8fb39ca64762dbbeb",
            "packagetype": "bdist_wheel",
            "python_version": "py2",
            "requires_python": null,
            "size": 1362087,
            "upload_time": "2023-01-16T13:07:18",
            "upload_time_iso_8601": "2023-01-16T13:07:18.853325Z",
            "url": "https://files.pythonhosted.org/packages/ec/d9/59f65879ff8c375f3a922ce8471f9d2da3a6ce42c4586203fc4aab5d89f4/waeup.kofa-1.8.1-py2-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f2da61f19d6b6a8086a82a68b49997f770715042e8bc20b8044782a6be074bf6",
                "md5": "e40818d9fe11da6cde18aa656ba720af",
                "sha256": "e3340b49b3ac4aeaf89e6c931f75c173ef35b00c48e5398353ce45ea84c477a9"
            },
            "downloads": -1,
            "filename": "waeup.kofa-1.8.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e40818d9fe11da6cde18aa656ba720af",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 2349547,
            "upload_time": "2023-01-16T13:07:23",
            "upload_time_iso_8601": "2023-01-16T13:07:23.004604Z",
            "url": "https://files.pythonhosted.org/packages/f2/da/61f19d6b6a8086a82a68b49997f770715042e8bc20b8044782a6be074bf6/waeup.kofa-1.8.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-16 13:07:23",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "waeup.kofa"
}
        
Elapsed time: 0.03811s