forked from elmau/empresa-libre
Sincronizar PDF localmente
This commit is contained in:
parent
8fecfb8f56
commit
493f78fda5
|
@ -1481,11 +1481,11 @@ def local_copy(files):
|
||||||
args = 'df -P ~/facturas | tail -1 | cut -d" " -f 1'
|
args = 'df -P ~/facturas | tail -1 | cut -d" " -f 1'
|
||||||
try:
|
try:
|
||||||
result = _call(args)
|
result = _call(args)
|
||||||
if result != 'empresalibre\n':
|
# ~ if result != 'empresalibre\n':
|
||||||
log.info(result)
|
# ~ log.info(result)
|
||||||
msg = 'Asegurate de que exista la carpeta para sincronizar'
|
# ~ msg = 'Asegurate de que exista la carpeta para sincronizar'
|
||||||
log.error(msg)
|
# ~ log.error(msg)
|
||||||
return
|
# ~ return
|
||||||
except subprocess.CalledProcessError:
|
except subprocess.CalledProcessError:
|
||||||
msg = 'No se pudo obtener la ruta para sincronizar'
|
msg = 'No se pudo obtener la ruta para sincronizar'
|
||||||
log.error(msg)
|
log.error(msg)
|
||||||
|
|
|
@ -2056,7 +2056,7 @@ class Facturas(BaseModel):
|
||||||
return values
|
return values
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_pdf(cls, id, rfc):
|
def get_pdf(cls, id, rfc, sync=True):
|
||||||
try:
|
try:
|
||||||
emisor = Emisor.select()[0]
|
emisor = Emisor.select()[0]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
|
@ -2070,6 +2070,11 @@ class Facturas(BaseModel):
|
||||||
values = cls._get_not_in_xml(cls, obj, emisor)
|
values = cls._get_not_in_xml(cls, obj, emisor)
|
||||||
data = util.get_data_from_xml(obj, values)
|
data = util.get_data_from_xml(obj, values)
|
||||||
doc = util.to_pdf(data, emisor.rfc)
|
doc = util.to_pdf(data, emisor.rfc)
|
||||||
|
|
||||||
|
if sync:
|
||||||
|
target = emisor.rfc + '/' + str(obj.fecha)[:7].replace('-', '/')
|
||||||
|
cls._sync_pdf(cls, doc, name, target)
|
||||||
|
|
||||||
return doc, name
|
return doc, name
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -2099,6 +2104,15 @@ class Facturas(BaseModel):
|
||||||
def _sync(self, id, auth):
|
def _sync(self, id, auth):
|
||||||
return Facturas.sync(id, auth)
|
return Facturas.sync(id, auth)
|
||||||
|
|
||||||
|
@util.run_in_thread
|
||||||
|
def _sync_pdf(self, pdf, name_pdf, target):
|
||||||
|
auth = Emisor.get_auth()
|
||||||
|
files = (
|
||||||
|
(pdf, name_pdf, target),
|
||||||
|
)
|
||||||
|
util.sync_cfdi(auth, files)
|
||||||
|
return
|
||||||
|
|
||||||
@util.run_in_thread
|
@util.run_in_thread
|
||||||
def _actualizar_saldo_cliente(self, invoice):
|
def _actualizar_saldo_cliente(self, invoice):
|
||||||
if invoice.tipo_comprobante == 'T':
|
if invoice.tipo_comprobante == 'T':
|
||||||
|
@ -2169,7 +2183,7 @@ class Facturas(BaseModel):
|
||||||
return
|
return
|
||||||
|
|
||||||
emisor = Emisor.select()[0]
|
emisor = Emisor.select()[0]
|
||||||
pdf, name_pdf = cls.get_pdf(id, auth['RFC'])
|
pdf, name_pdf = cls.get_pdf(id, auth['RFC'], False)
|
||||||
name_xml = '{}{}_{}.xml'.format(obj.serie, obj.folio, obj.cliente.rfc)
|
name_xml = '{}{}_{}.xml'.format(obj.serie, obj.folio, obj.cliente.rfc)
|
||||||
target = emisor.rfc + '/' + str(obj.fecha)[:7].replace('-', '/')
|
target = emisor.rfc + '/' + str(obj.fecha)[:7].replace('-', '/')
|
||||||
files = (
|
files = (
|
||||||
|
|
Loading…
Reference in New Issue