Пример #1
0
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)
Пример #2
0
 def __init__(self, *args, **kwargs):
     self.edit = kwargs.pop('edit', None)
     super(DocumentoForm, self).__init__(*args, **kwargs)
     #Definicion de elementos necesarios
     self.documentoServicio= DocumentoServicios()