Changelog ========= `2.0a2`_ -------- New features ~~~~~~~~~~~~ * Frontend-ased announcement management * Auto-create Person on User creation * Select primary group by pattern if unset * Shortcut to personal information page * Support for defining group types * Add description to Person * age_at method and age property to Person * Synchronise AlekSIS groups with Django groups * Add celery worker, celery-beat worker and celery broker to docker-compose setup * Global search * License information page * Roles and permissions * User preferences * Additional fields for people per group * Support global permission flags by LDAP group * Persistent announcements * Custom menu entries (e.g. in footer) * New logo for AlekSIS * Two factor authentication with Yubikey, OTP or SMS * Devs: Add ExtensibleModel to allow apps to add fields, properties * Devs: Support multiple recipient object for one announcement Minor changes ~~~~~~~~~~~~~ * Make short_name for group optional * Generalised live loading of widgets for dashboard * Devs: Add some CSS helper classes for colours * Devs: Mandate use of AlekSIS base model * Devs: Drop import_ref field(s); apps shold now define their own reference fields Bug fixes ~~~~~~~~~ * DateTimeField Announcement.valid_from received a naive datetime * Enable SASS processor in production * Fix too short fields * Load select2 locally `2.0a1`_ -------- New features ~~~~~~~~~~~~ * Migrate to materialize.css * Dashboard * Notifications via SMS (Twilio), Email or on the dashboard * Admin interface * Turn into installable, progressive web app * Devs: Background Tasks with Celery Minor changes ~~~~~~~~~~~~~ * Customisable save_button template * Redesign error pages Bug fixes ~~~~~~~~~ * setup_data no longer forces database connection `1.0a4`_ -------- New features ~~~~~~~~~~~~ * Two-factor authentication with TOTP (Google Authenticator), Yubikey, SMS and phone call. * Devs: CRUDMixin provides a crud_event relation that returns all CRUD events for an object `1.0a2`_ -------- New features ~~~~~~~~~~~~ * Devs: Add ExtensibleModel to allow injection of methods and properties into models. `1.0a1`_ -------- New features ~~~~~~~~~~~~ * Devs: Add API to get an audit trail for any school-related object * Devs: Provide template snippet to display an audit trail * Devs: Provide base template for views that allow browsing back/forth * Add management command and Cron job for full backups * Add system status overview page * Allow enabling and disabling maintenance mode from frontend * Allow editing the dates of the current school term * Add logo to school information * Allow editing school information * Ensure all actions are reverted if something fails (atomic requests) Bugfixes ~~~~~~~~ * Only show active persons in group and persons views * Silence KeyError in get_dict template tag Minor changes ~~~~~~~~~~~~~ * Use bootstrap buttons everywhere _`1.0a1`: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/1.0a1 _`1.0a2`: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/1.0a2 _`1.0a4`: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/1.0a4 _`2.0a1`: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/2.0a1 _`2.0a2`: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/2.0a2