Commit 0f659b91 by Juan

Retomo trabajo

1 parent 8d7be85a
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from odoo import http from odoo import http
# class MyModule(http.Controller):
# @http.route('/my_module/my_module/', auth='public')
# def index(self, **kw):
# return "Hello, world"
# @http.route('/my_module/my_module/objects/', auth='public')
# def list(self, **kw):
# return http.request.render('my_module.listing', {
# 'root': '/my_module/my_module',
# 'objects': http.request.env['my_module.my_module'].search([]),
# })
# @http.route('/my_module/my_module/objects/<model("my_module.my_module"):obj>/', auth='public')
# def object(self, obj, **kw):
# return http.request.render('my_module.object', {
# 'object': obj
# })
\ No newline at end of file \ No newline at end of file
import random, os, json
class dispositivos(http.Controller):
"""Controlador de acceso a firmas"""
@http.route('/lappa/localidades/sugerencia', auth='public', type='json' , website=True ,csrf=False, methods = ['POST','GET'])
def index(self, **kw):
print(kw)
registro = http.request.env['asw.localidad'].sudo()
dominio = [["name","ilike",kw["localidad"]]]
print(dominio, registro)
#dominio.append(["active","=",True])
localidades = registro.search(dominio, limit=10)
resultado = []
print(localidades)
for localidad in localidades:
loc ={
"name": localidad.name,
"id": localidad.id
}
resultado.append(loc)
return(resultado)
@http.route('/lappa/localidades/sugerenciaget', auth='public', type='http' , website=True ,csrf=False, methods = ['POST','GET'])
def buscador(self, **kw):
#print(kw)
registro = http.request.env['asw.localidad'].sudo()
dominio = [["name","ilike",kw["localidad"]]]
#print(dominio, registro)
#dominio.append(["active","=",True])
localidades = registro.search(dominio, limit=10)
resultado = []
#print(localidades)
for localidad in localidades:
loc ={
"name": localidad.name,
"id": localidad.id
}
resultado.append(loc)
return(json.dumps(resultado))
@http.route('/lappa/transportista/buscadorget', auth='public', type='http' , website=True ,csrf=False, methods = ['POST','GET'])
def transportista(self, **kw):
#print(kw)
try:
pagina = int(kw["pagina"])
except:
pagina = 1
resultado = self.ArmarListaTrans(kw["loc1"],kw["loc2"])
transportista = self.paginadoTransportistas(resultado[0],pagina)
return(json.dumps({"origen":resultado[1],
"destino":resultado[2],
"total":len(resultado[0]),
"fondo":"http://hgtarg.com/fondo1.jpg",
"pagina":pagina,
"paginas":self.contadorpagianas(resultado[0]),
"transportistas":transportista}))
def contadorpagianas(self,lista):
total = len(lista)
if total == 0:
return(0)
elif total < 11:
return(1)
elif total > 10:
return(int((total /10)) + 1)
def paginadoTransportistas(self,lista,pagina=1, paginado=10):
contador = 0
inicial = (pagina * paginado) - paginado
tranportistas = []
while not contador == paginado:
try:
print(inicial+contador)
tranportistas.append(lista[inicial+contador])
except:
pass
#tranportistas = []
#cont = 0
#for transportista in lista:
# cont = cont + 1
# tranportistas.append(transportista)
# print(contador, transportista)
# if cont == paginado:
# break
contador =contador + 1
return(tranportistas)
def ArmarListaTrans(self, loc1, loc2):
loc1 = self.TransportistaLocalidad(loc1)
loc2 = self.TransportistaLocalidad(loc2)
trans_ids = list(set(loc1[0]) & set(loc2[0]))
origen = loc1[1]
destino = loc2[1]
transportistas = http.request.env['trans.transportista'].sudo().browse(trans_ids)
lista1 = []
lista2 = []
for transportista in transportistas:
if transportista.trans_categoria == "p":
lista1.append(self.extraerdatosTrans(transportista))
elif transportista.trans_categoria == "np":
lista2.append(self.extraerdatosTrans(transportista))
for dat in lista2:
lista1.append(dat)
return(lista1,origen,destino)
def extraerdatosTrans(self,transportista):
#print(transportista)
cat = {"np":False,"p":True}
dato = {"id":transportista.id}
dato["web"] = transportista.trans_pagina_web
dato["razon"] = transportista.trans_razon_social
dato["nombre"] = transportista.trans_nombre
dato["telefono"] = transportista.trans_telefono
dato["email"] = transportista.trans_email
dato["logo"] = "http://hgtarg.com/logo.jpg"
dato["categoria"] = cat[transportista.trans_categoria]
#dato[""] = ransportista.
#dato[""] = ransportista.
#dato[""] = ransportista.
#dato[""] = ransportista.
return(dato)
def TransportistaLocalidad(self, loc_id):
puntos = http.request.env['trans.punto_retiro'].sudo().search([])
local = http.request.env['asw.localidad'].sudo().search([["id","=", loc_id]])
puntos = puntos.filtered(lambda l: l.pr_localidad == local)
resultado = []
for punto in puntos:
try:
resultado.append(punto.pr_transoportista.ids[0])
except:
pass
return(resultado, local.display_name)
@http.route('/lappa/transportista/transportista', auth='public', type='http' , website=True ,csrf=False, methods = ['POST','GET'])
def transportista_extend(self, **kw):
#print(kw)
trans = kw["id_transportista"]
loc_orig = kw["id_localidad_origen"]
loc_dest = kw["id_localidad_destino"]
print(trans, loc_orig, loc_dest)
datos = {}
datos["datos_generales"] = {"id": 12, "web": "nan",
"razon": "ALONSO GASTON", "nombre": "ALONSO GASTON",
"telefono": "(011) 4919-4801", "email": "S/D",
"logo": "http://hgtarg.com/logo.jpg", "categoria": False}
datos["datos_origen"] = {"telefono":"-","domicilio":"-","dias_parada":"-","retiro":"-"}
datos["datos_destino"] = {"telefono":"-","domicilio":"-","dias_parada":"-","retiro":"-"}
return(json.dumps(datos))
\ No newline at end of file \ No newline at end of file
...@@ -57,6 +57,14 @@ class trans_punto_retiro(models.Model): ...@@ -57,6 +57,14 @@ class trans_punto_retiro(models.Model):
selection=[('puepue', 'Puerta-Puerta'), ('puepr', 'Puerta-Punto de Retiro'), ('prpue', 'Punto de Retiro-Puerta'), ('prpr', 'Punto de Retiro-Punto de Retiro')] selection=[('puepue', 'Puerta-Puerta'), ('puepr', 'Puerta-Punto de Retiro'), ('prpue', 'Punto de Retiro-Puerta'), ('prpr', 'Punto de Retiro-Punto de Retiro')]
) )
pr_transoportista = fields.Many2many(
string=u'Punto de Retiro',
comodel_name='trans.transportista',
relation='pto_retiro_transportista_rel',
column2='trans_punto_retiro_id',
column1='trans_transportista_id',
)
@api.one @api.one
@api.constrains('pr_telefono') @api.constrains('pr_telefono')
def _requerir_tel(self): def _requerir_tel(self):
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from odoo import models, fields, api, exceptions from odoo import models, fields, api, exceptions
from datetime import datetime
class trans_transportista(models.Model): class trans_transportista(models.Model):
_name = 'trans.transportista' _name = 'trans.transportista'
...@@ -170,3 +171,27 @@ class trans_transportista(models.Model): ...@@ -170,3 +171,27 @@ class trans_transportista(models.Model):
lista.append(transportista.trans_nombre) lista.append(transportista.trans_nombre)
return({"transportistas":lista}) return({"transportistas":lista})
def Usuario(self,vals):
modelos = self.env["hgt.usuarios_externos"].sudo()
usuario = modelos.search([["ultimo_uso", "=", False], ["id_sistema", "=", "lapabot"], ["habilitado", "=", True]], limit=1)
if len(usuario) == 0:
dominio = []
dominio.append(["id_sistema", "=", "lapabot"])
dominio.append(["habilitado", "=", True])
usuario = modelos.search(dominio, order="ultimo_uso asc", limit=1)
vals = {}
vals["usuario"] = usuario.user
vals["passw"] = usuario.passw
usuario.ultimo_uso = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
return(vals)
def Localidad_busqueda(self,vals):
#print(vals)
Id = vals["Id"]
modelo = self.env["asw.localidad"].sudo()
localidad = modelo.search([["id", ">=", Id]], limit=1)
Localidad = localidad.descripcion
Provincia = localidad.loc_provincia.descripcion
return({"localidad":Localidad, "provincia":Provincia, "Id": localidad.id})
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!