Skip to content

Commit

Permalink
Merge pull request #901 from globocom/modify_permission_databasereport
Browse files Browse the repository at this point in the history
Modificar permissão do Database Report
  • Loading branch information
Erkmann committed May 31, 2023
2 parents f396660 + f64e9e0 commit 06c8fbe
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 13 deletions.
9 changes: 9 additions & 0 deletions dbaas/admin/templatetags/config_tags.py
Expand Up @@ -19,3 +19,12 @@ def get_config(conf_name=None):
"description": c.description,
"hash": c.hash
}


@register.filter
def is_dba(user, name):
list_validation = Configuration.get_by_name_as_list('list_validation_custom_views')
is_dba = user.team_set.filter(role__name="role_dba").exists()
if is_dba or name in list_validation:
return True
return False
5 changes: 4 additions & 1 deletion dbaas/dbaas/templates/adminplus/index.html
@@ -1,4 +1,5 @@
{% extends "admin/index.html" %}
{% load config_tags %}

{% block sidebar %}
{{ block.super }}
Expand All @@ -20,7 +21,9 @@
</thead>
<tbody>
{% for path, name in custom_list %}
<tr><td><a href="{{ path }}">{{ name }}</a></td></tr>
{% if user|is_dba:name %}
<tr><td><a href="{{ path }}">{{ name }}</a></td></tr>
{% endif %}
{% endfor %}
</tbody>
</table>
Expand Down
26 changes: 14 additions & 12 deletions dbaas/dbaas_services/analyzing/views.py
Expand Up @@ -42,28 +42,30 @@ def post(self, request, *args, **kwargs):

class DatabaseReport(ListView):

def has_perm(self, request):
def has_permission(self, request):
UserMiddleware.set_current_user(request.user)
from_teams = [x.role for x in Team.objects.filter(users=request.user)]
role_dba = Role.objects.get(name='role_dba')

if role_dba not in from_teams:
return render(request, 'databases/index.html', {"has_perm": False})
if role_dba in from_teams:
return render(request, 'databases/index.html', {"has_perm": True})


def get(self, request, *args, **kwargs):
self.has_perm(request)
if self.has_permission(request):
return render(request, 'databases/index.html', {"has_perm": True})
else:
return HttpResponseRedirect(reverse('admin:index'))

return render(request, 'databases/index.html', {"has_perm": True})

def post(self, request, *args, **kwargs):
self.has_perm(request)
if self.has_permission(request):
database_report = request.POST.get("database_report", "")
if database_report == 'database_report':
return self.default_database_report()
else:
return self.vm_by_line_database_report()

database_report = request.POST.get("database_report", "")

if database_report == 'database_report':
return self.default_database_report()
else:
return self.vm_by_line_database_report()

def vm_by_line_database_report(self):

Expand Down

0 comments on commit 06c8fbe

Please sign in to comment.