class DocumentoForm(ModelForm): def __init__(self, *args, **kwargs): self.edit = kwargs.pop('edit', None) super(DocumentoForm, self).__init__(*args, **kwargs) #Definicion de elementos necesarios self.documentoServicio= DocumentoServicios() class Meta: model = Documento fields = ['titulo','url'] def save(self, commit=True): if not self.edit: documento = super(DocumentoForm, self).save(commit=False) estado = EstadoDocumento.BORRADOR.getValor() tipo = TipoDocumento.INFORME.getValor() #Crear version 0.1 documento.estadoDocumento = estado documento.tipoDocumento = tipo #TODO: las versiones deberian ser 2 numeros pues se hacen operaciones con ellos. documento.version = "0.1" archivoUtil= ArchivoUtil() #Se escribe en un archivo temporal #TODO manejar esto con ajax para que el usuario vea que se está ejecutando with open(documento.url.path, 'wb+') as destination: for chunk in documento.url.chunks(): destination.write(chunk) temporal= documento.url.path documento.url = archivoUtil.subirArchivo(documento.url.path) os.remove(temporal) self.documentoServicio.insert(documento) else: documento = super(DocumentoForm, self).save(commit=False) archivoUtil= ArchivoUtil() print documento.url.__class__.__name__ documento.url = archivoUtil.subirArchivo(documento.url) url= documento.url print(url) self.documentoServicio.update(documento)
def __init__(self, *args, **kwargs): self.edit = kwargs.pop('edit', None) super(DocumentoForm, self).__init__(*args, **kwargs) #Definicion de elementos necesarios self.documentoServicio= DocumentoServicios()