示例#1
0
class ActividadForm(ModelForm):
    def __init__(self, *args, **kwargs):
        self.edit = kwargs.pop('edit', None)
        self.id = kwargs.pop('id', None)
        super(ActividadForm, self).__init__(*args, **kwargs)

        #Definicion de elementos necesarios
        self.actividadServicio= ActividadServicios()


    class Meta:
        model = Actividad

        exclude = ['estadoActividad', 'fecha_creacion']

        atributos = {'data-placeholder': "Seleccionar", 'class': "chzn-select", 'tabindex': "2"}
        actividad = {'title': 'Titulo para identificar la actividad', 'class': 'span8 text-tip'}
        descripcion = {'rows': '8', 'class': 'span8'}
        responsables = {'class': 'chzn-select', 'multiple': '', 'tabindex': '15', 'style': 'width:300px'}

        widgets = {
            'tipoActividad': forms.Select(attrs=atributos),
            'titulo': forms.TextInput(attrs=actividad),
            'descripcion': forms.Textarea(attrs=descripcion),
            'responsables': forms.SelectMultiple(attrs=responsables),
        }

    def clean(self):
        form = super(ActividadForm, self).clean()
        inicio = form.get("inicio")
        fin = form.get("fin")

        if not self.edit:
            if (not (fin >= date.today() and inicio >= date.today() and inicio <= fin)):
                raise forms.ValidationError("Las fechas deben ser mayores a la actual")

        return form

    def save(self, commit=True):
        if not self.edit:
            #TODO: validar que la actividad tenga por lo menos un responsable.
            actividad = super(ActividadForm, self).save(commit=False)
            actividad.estadoActividad = EstadoActividad.ACTIVA
            self.actividadServicio.insert(actividad)
            self.save_m2m()

            notificacionesUtil=NotificacionesUtil()
            notificacionesUtil.notificarNuevaActividad(actividad);
            correoUtil=CorreoUtil()
            correoUtil.correoCreacionActividad(actividad, actividad.responsables.all())
        else:
            actividad = super(ActividadForm, self).save(commit=False)

            self.save_m2m()
            self.actividadServicio.update(actividad)
示例#2
0
    def __init__(self, *args, **kwargs):
        self.edit = kwargs.pop('edit', None)
        self.id = kwargs.pop('id', None)
        super(ActividadForm, self).__init__(*args, **kwargs)

        #Definicion de elementos necesarios
        self.actividadServicio= ActividadServicios()