def generate_group_perm_data(
group: Group,
with_special_role: bool = False
) -> list[dict]:
perm_data = []
for model_permission in generate_model_permissions():
group_permissions = GroupPermissions(group=group, model_permission=model_permission)
perm_information_dic = {
'app_name': model_permission.name.capitalize(),
'verbose_app_name': model_permission.verbose_name,
'level_verbose': group_permissions.perm_level_verbose()
}
if with_special_role:
perm_information_dic['special_role_data'] = generate_special_role_data(group_permissions)
perm_data.append(perm_information_dic)
return perm_data