Commit 4903a171 authored by yumaojun's avatar yumaojun

Merge branch 'map_perm' into dev

# Conflicts:
#	jperm/ansible_api.py
#	jperm/views.py
parents a0684985 49267b57
...@@ -241,47 +241,39 @@ def get_role_info(role_id, type="all"): ...@@ -241,47 +241,39 @@ def get_role_info(role_id, type="all"):
""" """
# 获取role对应的授权规则 # 获取role对应的授权规则
role_obj = PermRole.objects.get(id=role_id) role_obj = PermRole.objects.get(id=role_id)
rules_obj = role_obj.perm_rule.all() rule_push_obj = role_obj.perm_rule.all()
# 获取role 对应的用户 和 用户组 # 获取role 对应的用户 和 用户组
# 获取role 对应的主机 和主机组 # 获取role 对应的主机 和主机组
users_obj = [] users_obj = []
assets_obj = [] assets_obj = []
user_groups_obj = [] user_groups_obj = []
group_users_obj = []
asset_groups_obj = [] asset_groups_obj = []
group_assets_obj = [] for push in rule_push_obj:
for rule in rules_obj: for user in push.user.all():
for user in rule.user.all():
users_obj.append(user) users_obj.append(user)
for asset in rule.asset.all(): for asset in push.asset.all():
assets_obj.append(asset) assets_obj.append(asset)
for user_group in rule.user_group.all(): for user_group in push.user_group.all():
user_groups_obj.append(user_group) user_groups_obj.append(user_group)
for user in user_group.user_set.all(): for asset_group in push.asset_group.all():
group_users_obj.append(user)
for asset_group in rule.asset_group.all():
asset_groups_obj.append(asset_group) asset_groups_obj.append(asset_group)
for asset in asset_group.asset_set.all():
group_assets_obj.append(asset)
calc_users = set(users_obj) | set(group_users_obj)
calc_assets = set(assets_obj) | set(group_assets_obj)
if type == "all": if type == "all":
return {"rules": rules_obj, return {"rules": rule_push_obj,
"users": list(calc_users), "users": users_obj,
"user_groups": user_groups_obj, "user_groups": user_groups_obj,
"assets": list(calc_assets), "assets": assets_obj,
"asset_groups": asset_groups_obj, "asset_groups": asset_groups_obj,
} }
elif type == "rule": elif type == "rule":
return rules_obj return rule_push_obj
elif type == "user": elif type == "user":
return calc_users return users_obj
elif type == "user_group": elif type == "user_group":
return user_groups_obj return user_groups_obj
elif type == "asset": elif type == "asset":
return calc_assets return assets_obj
elif type == "asset_group": elif type == "asset_group":
return asset_groups_obj return asset_groups_obj
else: else:
...@@ -308,7 +300,3 @@ def get_role_push_host(role): ...@@ -308,7 +300,3 @@ def get_role_push_host(role):
if __name__ == "__main__": if __name__ == "__main__":
print get_role_info(1) print get_role_info(1)
...@@ -27,12 +27,12 @@ from django.shortcuts import render_to_response ...@@ -27,12 +27,12 @@ from django.shortcuts import render_to_response
from django.core.mail import send_mail from django.core.mail import send_mail
def set_log(level): def set_log(level, filename='jumpserver.log'):
""" """
return a log file object return a log file object
根据提示设置log打印 根据提示设置log打印
""" """
log_file = os.path.join(LOG_DIR, 'jumpserver.log') log_file = os.path.join(LOG_DIR, filename)
if not os.path.isfile(log_file): if not os.path.isfile(log_file):
os.mknod(log_file) os.mknod(log_file)
os.chmod(log_file, 0777) os.chmod(log_file, 0777)
......
...@@ -93,12 +93,15 @@ ...@@ -93,12 +93,15 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for user in users %}
<tr class="gradeX"> <tr class="gradeX">
{% for user in users %}
<td class="text-center"> {{ user.name }} </td> <td class="text-center"> {{ user.name }} </td>
<td class="text-center"> {{ user | user_which_groups:"group" }} </td>
</tr>
{% endfor %} {% endfor %}
{% for group in user_groups %}
<td class="text-center"> {{ group.name }} </td>
{% endfor %}
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>
...@@ -139,12 +142,14 @@ ...@@ -139,12 +142,14 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for asset in assets %}
<tr class="gradeX"> <tr class="gradeX">
{% for asset in assets %}
<td class="text-center"> {{ asset.ip }} </td> <td class="text-center"> {{ asset.ip }} </td>
<td class="text-center"> {{ asset | asset_which_groups:"group" }} </td>
</tr>
{% endfor %} {% endfor %}
{% for group in asset_groups %}
<td class="text-center"> {{ group.name }} </td>
{% endfor %}
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment