From 057f034d4cd728c1bd0284e7c6b4a47739d5220d Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期四, 12 十二月 2024 19:57:41 +0800
Subject: [PATCH] yonghu
---
app/models/user_model.py | 36 ++++++++++++++++++++++++++----------
1 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/app/models/user_model.py b/app/models/user_model.py
index a1d61dd..eeaf3e6 100644
--- a/app/models/user_model.py
+++ b/app/models/user_model.py
@@ -102,22 +102,32 @@
# 'phoneNumber': self.phone_number
}
- if len(self.organizations) > 0:
- json['dept'] = [organization.to_json() for organization in self.organizations]
+
+ # json['dept'] = [organization.to_json() for organization in self.organizations]
json['groups'] = [group.to_dict() for group in self.groups]
- roles = []
+
# if len(self.roles) > 0:
- roles = [role.to_json() for role in self.roles]
- organization_roles = [role.to_json() for organization in self.organizations for role in
- organization.roles]
- for role in organization_roles:
- if role not in roles:
- roles.append(role)
- json['roles'] = roles
+ roles = {role.id: role.to_dict() for role in self.roles}
+ ogt_set = set()
+ for ogt in self.organizations:
+ if ogt.id in ogt_set:
+ continue
+ ogt_set.add(ogt.id)
+ for role in ogt.roles:
+ roles[role.id] = role.to_dict()
+ parent_ogt = ogt.parent
+ while parent_ogt:
+ if parent_ogt.id not in ogt_set:
+ ogt_set.add(ogt.id)
+ for role in ogt.roles:
+ roles[role.id] = role.to_dict()
+ parent_ogt = ogt.parent
+ json['roles'] = list(roles.values())
return json
+
def to_login_json(self):
json = {
@@ -210,3 +220,9 @@
"app_type": self.app_type,
'status': self.status,
}
+
+ def encrypted_password(self, password):
+ return cipher_suite.encrypt(password.encode("utf-8")).decode("utf-8")
+
+ def decrypted_password(self):
+ return cipher_suite.decrypt(self.password).decode("utf-8")
\ No newline at end of file
--
Gitblit v1.8.0