From 14b7fe4fd75edf536ddaa17c4945bee17dc3cfd8 Mon Sep 17 00:00:00 2001
From: Martin Mares <mj@ucw.cz>
Date: Tue, 14 Dec 2021 15:14:24 +0100
Subject: [PATCH] =?UTF-8?q?Seznam=20u=C5=BEivatel=C5=AF:=20Syst=C3=A9mov?=
 =?UTF-8?q?=C3=AD=20u=C5=BEivatel=C3=A9=20nejsou=20uv=C3=A1d=C4=9Bni=20jak?=
 =?UTF-8?q?o=20spr=C3=A1vci?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Třídě User jsem přidal property is_system,
navíc jsem is_inactive předělal na proprety, ať se ovládá stejně
jako ostatní is_něco.

Closes #265.
---
 mo/db.py                       | 5 +++++
 mo/web/templates/org_orgs.html | 2 +-
 mo/web/util.py                 | 2 +-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/mo/db.py b/mo/db.py
index af3d6018..bf4bc21b 100644
--- a/mo/db.py
+++ b/mo/db.py
@@ -369,9 +369,14 @@ class User(Base):
     def name_sort_key(self) -> Tuple[str, str]:
         return (locale.strxfrm(self.last_name), locale.strxfrm(self.first_name))
 
+    @property
     def is_inactive(self) -> bool:
         return self.last_login_at is None
 
+    @property
+    def is_system(self) -> bool:
+        return self.user_id == 0
+
 
 def get_system_user() -> User:
     """Uživatel s user_id=0 je systémový (viz db.ddl)"""
diff --git a/mo/web/templates/org_orgs.html b/mo/web/templates/org_orgs.html
index 7d556a2a..dab3ea76 100644
--- a/mo/web/templates/org_orgs.html
+++ b/mo/web/templates/org_orgs.html
@@ -83,7 +83,7 @@
 	<tr>
 		<td>{{ user.first_name }}</td><td>{{ user.last_name }}</td>
 		<td>{{ user.email|mailto }}{{ user|user_flags }}</td>
-		<td>{% if user.is_admin %}správce{% elif user.roles|count == 0 %}<i>žádná role</i>{% endif %}
+		<td>{% if user.is_system %}systémový uživatel{% elif user.is_admin %}správce{% elif user.roles|count == 0 %}<i>žádná role</i>{% endif %}
 			{% if user.roles|count > 0 %}
 			<ul>
 			{% for role in user.roles %}
diff --git a/mo/web/util.py b/mo/web/util.py
index 90b9bfa9..3c64f947 100644
--- a/mo/web/util.py
+++ b/mo/web/util.py
@@ -136,7 +136,7 @@ def user_html_flags(u: db.User) -> Markup:
     r = []
     if u.is_test:
         r.append("<span class='user-test' title='Testovací uživatel'>*</span>")
-    if u.is_inactive():
+    if u.is_inactive:
         r.append("<span class='user-inactive' title='Účet dosud nebyl aktivován'>*</span>")
     if len(r) == 0:
         return Markup("")
-- 
GitLab