users in Lino Prima

The lino_prima.lib.users plugin extends lino.modlib.users.

A tested document

This is a tested document. The following instructions are used for initialization:

>>> import lino
>>> lino.startup('lino_prima.projects.prima1.settings')
>>> from lino.api.doctest import *

Available user types

Lino Prima knows the following user types:

>>> rt.show(rt.models.users.UserTypes, language="en")
======= =========== ===============
 value   name        text
------- ----------- ---------------
 000     anonymous   Anonymous
 100     user        User
 200     teacher     Teacher
 300     pupil       Pupil
 500     staff       Staff
 900     admin       Administrator
======= =========== ===============

A demo site has the following users:

>>> rt.show(rt.models.users.UsersOverview, language="en")
... 
====================== ===================== ==========
 Username               User type             Language
---------------------- --------------------- ----------
 abel.adam              200 (Teacher)         en
 achille.adriaen        200 (Teacher)         en
 adèle.adami            200 (Teacher)         en
 adélaïde.adriaensen    200 (Teacher)         en
 aglaé.adriaenssens     200 (Teacher)         en
 agnès.adriensence      200 (Teacher)         en
 aimé.adriaenssen       200 (Teacher)         en
 aimée.aelter           200 (Teacher)         en
 alfred.adriencense     200 (Teacher)         en
 alphonse.adrienssens   200 (Teacher)         en
 robin                  900 (Administrator)   en
 rolf                   900 (Administrator)   de
====================== ===================== ==========

The site manager

Robin is a site manager, he has a complete menu.

>>> show_menu('robin')
... 
- School : My groups, My Upload files
- Configure :
  - System : Site configuration, Users, System tasks
  - School : Groups, Subjects, Roles, Grades, Library volumes, Upload types, Academic years, Periods
  - Projects : Project templates
  - Certificates : Final challenges, Certificate templates
- Explorer :
  - System : Authorities, User types, User roles, Data checkers, Data problem messages, content types, Background procedures
  - School : Skills, Enrolments, Casts, Courses, Upload files, Upload areas
  - Projects : Project sections, General ratings
  - Certificates : Exams, Challenges, Challenge ratings, Rating summaries, Final exams, Final exam ratings, Certificate section templates, Certificate element templates, Certificates, Certificate sections, Certificate elements
  - Office : Mentions
- Site : User sessions, About

Our pilot customer uses Lino Prima mainly in German:

>>> show_menu('rolf')
... 
- Schule : Meine Klassen, Meine Upload-Dateien
- Konfigurierung :
  - System : Site-Konfiguration, Benutzer, Systemaufgaben
  - Schule : Klassen, Fächer, Rollen, Jahrgänge, Dateibibliotheken, Upload-Arten, Schuljahre, Perioden
  - Bausteine : Bausteinvorlagen
  - Zeugnisse : Prüfungsleistungen, Zeugnisvorlagen
- Explorer :
  - System : Vollmachten, Benutzerarten, Benutzerrollen, Datentests, Datenproblemmeldungen, Datenbankmodelle, Background procedures
  - Schule : Kompetenzen, Einschreibungen, Lehrerrollen, Kurse, Upload-Dateien, Upload-Bereiche
  - Bausteine : Bausteinabschnitte, Allgemeinbewertungen
  - Zeugnisse : Tests, Leistungen, Leistungsbewertungen, Bewertungsübersichten, Prüfungen, Prüfungsbewertungen, Zeugnisabschnittvorlagen, Zeugniselementvorlagen, Zeugnisse, Zeugnisabschnitte, Zeugniselemente
  - Büro : Erwähnungen
- Site : Benutzersitzungen, Info

Normal teachers have a reduced menu:

>>> rt.login('abel.adam').get_user().user_type
<users.UserTypes.teacher:200>
>>> show_menu('abel.adam')
... 
- School : My groups
- Site : About