Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Maria Agustina
/
hgt_transportar
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit 0f659b91
authored
2021-06-18 10:18:08 -0300
by
Juan
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Retomo trabajo
1 parent
8d7be85a
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
188 additions
and
17 deletions
controllers/controllers.py
models/punto_retiro.py
models/transportista.py
controllers/controllers.py
View file @
0f659b9
# -*- coding: utf-8 -*-
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
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
models/punto_retiro.py
View file @
0f659b9
...
...
@@ -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'
)]
)
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.constrains
(
'pr_telefono'
)
def
_requerir_tel
(
self
):
...
...
models/transportista.py
View file @
0f659b9
# -*- coding: utf-8 -*-
from
odoo
import
models
,
fields
,
api
,
exceptions
from
datetime
import
datetime
class
trans_transportista
(
models
.
Model
):
_name
=
'trans.transportista'
...
...
@@ -170,3 +171,27 @@ class trans_transportista(models.Model):
lista
.
append
(
transportista
.
trans_nombre
)
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
})
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment