urls.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. # -*- coding: utf-8 -*-
  2. __author__ = 'marcos.medeiros'
  3. from django.contrib.auth.models import User
  4. from rapid.registry import Action
  5. from rapid.models import Application, Profile
  6. from rapid.forms import ManageUsers
  7. from rapid import register
  8. from rapid import permissions
  9. def _can_manage_users(request):
  10. if not request.user.is_authenticated:
  11. return []
  12. p = []
  13. for a in request.user.managed_applications.all():
  14. p.extend(a.profile_set.all())
  15. return p
  16. _manage_users_permistion = permissions.Permission(
  17. lambda r: False,
  18. _can_manage_users
  19. )
  20. urlpatterns = register.crud(Application, write_set=permissions.to_superusers(), read_set=permissions.to_all()) +\
  21. register.crud(Profile, write_set=permissions.to_superusers(), read_set=permissions.to_staff()) +\
  22. register.instance_form(Profile, 'manage_users', u'Gerenciar Usuários',
  23. ManageUsers, _manage_users_permistion, icon="fa-users",
  24. visibility=Action.Visibility.list) +\
  25. register.select(User, ['username'], permissions.to_staff(), 'usuario')