mirror of https://github.com/interlegis/sigi.git
Gilson Filho
13 years ago
4 changed files with 81 additions and 23 deletions
@ -0,0 +1,25 @@ |
|||||
|
# -*- coding: utf8 -*- |
||||
|
|
||||
|
from sigi.apps.diagnosticos.models import Diagnostico |
||||
|
from sigi.apps.servidores.models import Servidor |
||||
|
|
||||
|
def validate_diagnostico(func): |
||||
|
def decorator(request, id_diagnostico, *args, **kwargs): |
||||
|
""" Retorna 404 caso o diagnostico esteja publicado |
||||
|
ou o usuario nao seja um membro da equipe |
||||
|
""" |
||||
|
msg = None |
||||
|
try: |
||||
|
diagnostico = Diagnostico.objects.filter(status=False).get(pk=id_diagnostico) |
||||
|
if (request.user.get_profile() in diagnostico.get_membros()): |
||||
|
# continua o processamento normal da view |
||||
|
return func(request, id_diagnostico, *args, **kwargs) |
||||
|
except Servidor.DoesNotExist: |
||||
|
msg = "Para acessar os diagnóstico você precisa ter um servidor cadastrado na sua conta." |
||||
|
except Diagnostico.DoesNotExist: |
||||
|
pass |
||||
|
|
||||
|
# renderiza a pagina de 404 |
||||
|
context = RequestContext(request, {'msg': msg}) |
||||
|
return render_to_response('mobile/404.html', context) |
||||
|
return decorator |
Loading…
Reference in new issue