|
@ -2,9 +2,10 @@ |
|
|
|
|
|
|
|
|
from django import forms |
|
|
from django import forms |
|
|
|
|
|
|
|
|
from sigi.apps.utils.validators import valida_data |
|
|
from sigi.apps.utils.validators import valida_data, valida_periodo_data |
|
|
|
|
|
|
|
|
|
|
|
from sigi.apps.servidores.models import Ferias, Licenca, Funcao, Servidor |
|
|
|
|
|
|
|
|
from sigi.apps.servidores.models import Ferias, Licenca, Funcao |
|
|
|
|
|
|
|
|
|
|
|
class FeriasForm(forms.ModelForm): |
|
|
class FeriasForm(forms.ModelForm): |
|
|
class Meta: |
|
|
class Meta: |
|
@ -13,9 +14,8 @@ class FeriasForm(forms.ModelForm): |
|
|
def clean(self): |
|
|
def clean(self): |
|
|
data = self.cleaned_data |
|
|
data = self.cleaned_data |
|
|
if valida_data(data.get('inicio_ferias'), data.get('fim_ferias')): |
|
|
if valida_data(data.get('inicio_ferias'), data.get('fim_ferias')): |
|
|
raise forms.ValidationError( |
|
|
raise forms.ValidationError(u"""A data de início deve ser menor |
|
|
u"""A data de início deve ser menor que a data final. Verifique |
|
|
que a data final. Verifique novamente""") |
|
|
novamente""") |
|
|
|
|
|
return data |
|
|
return data |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -26,9 +26,8 @@ class LicencaForm(forms.ModelForm): |
|
|
def clean(self): |
|
|
def clean(self): |
|
|
data = self.cleaned_data |
|
|
data = self.cleaned_data |
|
|
if valida_data(data.get('inicio_licenca'), data.get('fim_licenca')): |
|
|
if valida_data(data.get('inicio_licenca'), data.get('fim_licenca')): |
|
|
raise forms.ValidationError( |
|
|
raise forms.ValidationError(u"""A data de início deve ser menor |
|
|
u"""A data de início deve ser menor que a data final. Verifique |
|
|
que a data final. Verifique novamente""") |
|
|
novamente""") |
|
|
|
|
|
return data |
|
|
return data |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -39,7 +38,22 @@ class FuncaoForm(forms.ModelForm): |
|
|
def clean(self): |
|
|
def clean(self): |
|
|
data = self.cleaned_data |
|
|
data = self.cleaned_data |
|
|
if valida_data(data.get('inicio_funcao'), data.get('fim_funcao')): |
|
|
if valida_data(data.get('inicio_funcao'), data.get('fim_funcao')): |
|
|
raise forms.ValidationError( |
|
|
raise forms.ValidationError(u"""A data de início deve ser menor |
|
|
u"""A data de início deve ser menor que a data final. Verifique |
|
|
que a data final. Verifique |
|
|
novamente""") |
|
|
novamente""") |
|
|
|
|
|
|
|
|
|
|
|
# Verifica na função anterior, se o seu período é igual |
|
|
|
|
|
# ou está entre o período da função atual. |
|
|
|
|
|
servidor = Servidor.objects.get(nome_completo=data.get('servidor')) |
|
|
|
|
|
if len(servidor.funcao_set.all()) > 1: |
|
|
|
|
|
funcao_anterior = servidor.funcao_set.all()[1] |
|
|
|
|
|
else: |
|
|
|
|
|
funcao_anterior = servidor.funcao_set.all()[0] |
|
|
|
|
|
|
|
|
|
|
|
if valida_periodo_data(funcao_anterior.inicio_funcao, |
|
|
|
|
|
funcao_anterior.fim_funcao, data.get('inicio_funcao'), |
|
|
|
|
|
data.get('fim_funcao')): |
|
|
|
|
|
raise forms.ValidationError(u"""Você não pode exercer |
|
|
|
|
|
uma função no mesmo período que a anterior, como também, |
|
|
|
|
|
não pode ser entre o período da mesma.""") |
|
|
return data |
|
|
return data |
|
|