class ActivoForm(ModelForm): def __init__(self, *args, **kwargs): self.edit = kwargs.pop('edit', None) super(ActivoForm, self).__init__(*args, **kwargs) self.activoServicios = ActivoServicios() class Meta: model = Activo exclude = ["relevancia"] select = {'data-placeholder': "Seleccionar", 'class': "chzn-select", 'tabindex': "2"} selectMultiple = {'class': 'chzn-select', 'multiple': '', 'tabindex': '15', 'style': 'width:300px'} widgets = { 'responsable': forms.Select(attrs=select), 'dependencias': forms.SelectMultiple(attrs=selectMultiple), } def save(self, commit=True): if not self.edit: activo = super(ActivoForm, self).save(commit=False) impLegal = activo.impacto_legal impImagen = activo.impacto_imagen impConfianza = activo.impacto_confianza impInteres = activo.impacto_interes impactos = [Criterio.get(impLegal).calificacion, Criterio.get(impImagen).calificacion, Criterio.get(impConfianza).calificacion, Criterio.get(impInteres).calificacion] activo.relevancia = Util.calcularaRelevancia(impactos) self.activoServicios.insert(activo) self.save_m2m() else: activo = super(ActivoForm, self).save(commit=False) impLegal = activo.impacto_legal impImagen = activo.impacto_imagen impConfianza = activo.impacto_confianza impInteres = activo.impacto_interes impactos = [Criterio.get(impLegal).calificacion, Criterio.get(impImagen).calificacion, Criterio.get(impConfianza).calificacion, Criterio.get(impInteres).calificacion] self.save_m2m() activo.relevancia = Util.calcularaRelevancia(impactos) self.activoServicios.update(activo)
def __init__(self, *args, **kwargs): self.edit = kwargs.pop('edit', None) super(ActivoForm, self).__init__(*args, **kwargs) self.activoServicios = ActivoServicios()