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 e7032285
authored
2021-08-05 17:34:11 -0300
by
Juan
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
dcfvb
1 parent
0f659b91
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
173 additions
and
23 deletions
controllers/__init__.py
controllers/altausuario.py
controllers/argentinidad.py
controllers/controllers.py
models/transportista.py
views/transportista_vista.xml
controllers/__init__.py
View file @
e703228
# -*- coding: utf-8 -*-
from
.
import
controllers
from
.
import
altausuario
\ No newline at end of file
controllers/altausuario.py
0 → 100644
View file @
e703228
# -*- coding: utf-8 -*-
from
odoo
import
http
import
random
,
os
,
json
TextoAlta
=
"""Hemos resibido su pedido de alta en el sistema.
Pronto se comunicara con usted por este medio un representante de Lappa."""
# Agregar mensaje de numero repetido
class
dispositivos
(
http
.
Controller
):
"""Controlador de acceso a firmas"""
@http.route
(
'/lappa/usuarios/registro'
,
auth
=
'public'
,
type
=
'json'
,
website
=
True
,
csrf
=
False
,
methods
=
[
'POST'
,
'GET'
,
'OPTIONS'
])
def
index
(
self
,
**
kw
):
print
(
kw
)
rto
=
{
"error"
:
False
}
try
:
empresa
=
kw
[
"nombre"
]
cuit
=
kw
[
"cuit"
]
celular
=
kw
[
"celular"
]
id_localidad
=
kw
[
"localidad"
]
email
=
kw
[
"email"
]
except
:
return
({
"error"
:
"Falta algun dato de los obligatorios empresa,cuit,celular,id_localidad"
})
self
.
AltaUsuario
(
empresa
,
cuit
,
celular
,
email
,
id_localidad
)
return
(
rto
)
def
AltaUsuario
(
self
,
empresa
,
cuit
,
celular
,
email
,
id_localidad
):
#Hacer chequeo de duplicacion de numero
self
.
enviar_mensaje
(
tipo
=
"Mail"
,
mensaje
=
TextoAlta
,
email
=
email
,
titulo
=
"Bienvenido a Lappa"
)
self
.
enviar_mensaje
(
mensaje
=
TextoAlta
,
telefono
=
celular
,
titulo
=
"Bienvenido a Lappa"
)
def
enviar_mensaje
(
self
,
tipo
=
'Whatsapp'
,
mensaje
=
"mensaje"
,
titulo
=
"Titulo"
,
email
=
""
,
telefono
=
""
):
#Crea mensaje y lo envia
#Hay que agregar al modelo la relacion con los mensajes para tener trazavilidad
vals
=
{
"mensaje_nombre"
:
titulo
,
"mensaje_descripcion"
:
mensaje
,
"mensaje_numero_whatsapp"
:
telefono
,
"mensaje_direccion_mail"
:
email
,
"identidad"
:
1
}
mensaje
=
http
.
request
.
env
[
'asw.mensaje'
]
.
sudo
()
.
create
(
vals
)
mensaje
.
tipo
=
tipo
mensaje
.
enviar
()
@http.route
(
'/lappa/blank'
,
auth
=
'public'
,
type
=
'http'
,
website
=
True
,
csrf
=
False
,
methods
=
[
'POST'
,
'GET'
,
'OPTIONS'
])
def
index6
(
self
,
**
kw
):
return
(
""
)
\ No newline at end of file
controllers/argentinidad.py
0 → 100644
View file @
e703228
import
unidecode
def
arg
(
texto
):
texto
=
unidecode
.
unidecode
(
texto
)
#saco acentos
texto
=
texto
.
lower
()
#paso a minuscula
texto
=
texto
.
replace
(
"ü"
,
"u"
)
#Casi no se usa
texto
=
texto
.
replace
(
"ñ"
,
"n"
)
#Ignoro las ñ
texto
=
texto
.
replace
(
"m"
,
"n"
)
#Este deberia ser inesesario
texto
=
texto
.
replace
(
"cc"
,
"s"
)
#todo c z x es s
texto
=
texto
.
replace
(
"rr"
,
"r"
)
#vurros > buros
texto
=
texto
.
replace
(
"pc"
,
"s"
)
#descripcion > dessrision
texto
=
texto
.
replace
(
"x"
,
"s"
)
#todo c z x es s
texto
=
texto
.
replace
(
"ll"
,
"y"
)
#olvidate de ll
texto
=
texto
.
replace
(
"h"
,
""
)
#nadie usa la h
texto
=
texto
.
replace
(
"c"
,
"s"
)
#todo c z x es s
texto
=
texto
.
replace
(
"z"
,
"s"
)
#todo c z x es s
texto
=
texto
.
replace
(
"v"
,
"b"
)
#Esto si que es al repedo
texto
=
texto
.
replace
(
"j"
,
"g"
)
#Tema fonetico
texto
=
texto
.
replace
(
"w"
,
"g"
)
#tmb fonetico
texto
=
texto
.
replace
(
","
,
""
)
#mejora performance de busqueda
texto
=
texto
.
replace
(
" "
,
""
)
#mejora performance de db
return
(
texto
)
\ No newline at end of file
controllers/controllers.py
View file @
e703228
...
...
@@ -2,6 +2,7 @@
from
odoo
import
http
import
random
,
os
,
json
from
.
import
argentinidad
class
dispositivos
(
http
.
Controller
):
...
...
@@ -9,14 +10,15 @@ class dispositivos(http.Controller):
@http.route
(
'/lappa/localidades/sugerencia'
,
auth
=
'public'
,
type
=
'json'
,
website
=
True
,
csrf
=
False
,
methods
=
[
'POST'
,
'GET'
])
def
index
(
self
,
**
kw
):
print
(
kw
)
#
print(kw)
registro
=
http
.
request
.
env
[
'asw.localidad'
]
.
sudo
()
dominio
=
[[
"name"
,
"ilike"
,
kw
[
"localidad"
]]]
print
(
dominio
,
registro
)
palabra
=
argentinidad
.
arg
(
kw
[
"localidad"
])
#adapto el diccionario de busqueda
dominio
=
[[
"buscador"
,
"ilike"
,
palabra
]]
#print(dominio, registro)
#dominio.append(["active","=",True])
localidades
=
registro
.
search
(
dominio
,
limit
=
10
)
resultado
=
[]
print
(
localidades
)
#
print(localidades)
for
localidad
in
localidades
:
loc
=
{
"name"
:
localidad
.
name
,
...
...
@@ -30,7 +32,8 @@ class dispositivos(http.Controller):
def
buscador
(
self
,
**
kw
):
#print(kw)
registro
=
http
.
request
.
env
[
'asw.localidad'
]
.
sudo
()
dominio
=
[[
"name"
,
"ilike"
,
kw
[
"localidad"
]]]
palabra
=
argentinidad
.
arg
(
kw
[
"localidad"
])
#adapto el diccionario de busqueda
dominio
=
[[
"buscador"
,
"ilike"
,
palabra
]]
#print(dominio, registro)
#dominio.append(["active","=",True])
localidades
=
registro
.
search
(
dominio
,
limit
=
10
)
...
...
@@ -56,7 +59,7 @@ class dispositivos(http.Controller):
return
(
json
.
dumps
({
"origen"
:
resultado
[
1
],
"destino"
:
resultado
[
2
],
"total"
:
len
(
resultado
[
0
]),
"fondo"
:
"http://hgtarg.com/fondo1.jpg"
,
"fondo"
:
"http://hgtarg.com/fondo1.jpg"
,
# este hay que generar unevo campo o logica de descarga
"pagina"
:
pagina
,
"paginas"
:
self
.
contadorpagianas
(
resultado
[
0
]),
"transportistas"
:
transportista
}))
...
...
@@ -76,7 +79,7 @@ class dispositivos(http.Controller):
tranportistas
=
[]
while
not
contador
==
paginado
:
try
:
print
(
inicial
+
contador
)
#
print(inicial+contador)
tranportistas
.
append
(
lista
[
inicial
+
contador
])
except
:
pass
...
...
@@ -141,18 +144,50 @@ class dispositivos(http.Controller):
@http.route
(
'/lappa/transportista/transportista'
,
auth
=
'public'
,
type
=
'http'
,
website
=
Tru
e
,
csrf
=
False
,
methods
=
[
'POST'
,
'GET'
])
@http.route
(
'/lappa/transportista/transportista'
,
auth
=
'public'
,
type
=
'http'
,
website
=
Fals
e
,
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
)
trans
=
http
.
request
.
env
[
'trans.transportista'
]
.
sudo
()
.
search
([[
"id"
,
"="
,
kw
[
"id_transportista"
]]])
print
(
trans
)
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"
:
"-"
}
cat
=
{
"np"
:
False
,
"p"
:
True
}
datos
[
"datos_generales"
]
=
{
"id"
:
kw
[
"id_transportista"
],
"web"
:
trans
.
trans_pagina_web
,
"razon"
:
trans
.
trans_razon_social
,
"nombre"
:
trans
.
trans_nombre
,
"telefono"
:
trans
.
trans_telefono
,
"email"
:
trans
.
trans_email
,
"logo"
:
"http://hgtarg.com/logo.jpg"
,
"categoria"
:
cat
[
trans
.
trans_categoria
]}
datos
[
"datos_origen"
]
=
self
.
GetDatosPR
(
kw
[
"id_localidad_origen"
],
trans
.
trans_pto_retiro
)
datos
[
"datos_destino"
]
=
self
.
GetDatosPR
(
kw
[
"id_localidad_destino"
],
trans
.
trans_pto_retiro
)
return
(
json
.
dumps
(
datos
))
def
GetDatosPR
(
self
,
loc_id
,
puntos
):
rto
=
{
"telefono"
:
"-"
,
"domicilio"
:
"-"
,
"dias_parada"
:
"-"
,
"retiro"
:
"-"
}
for
pto
in
puntos
:
#print(pto.pr_localidad.id, loc_id)
if
pto
.
pr_localidad
.
id
==
int
(
loc_id
):
# Agregar la confirmacion de si se muestra la informacion un check
#print("AKA")
rto
[
"telefono"
]
=
str
(
pto
.
pr_telefono
)
rto
[
"domicilio"
]
=
str
(
pto
.
pr_direccion
)
rto
[
"retiro"
]
=
str
(
pto
.
pr_tipo_serv
)
return
(
rto
)
return
(
rto
)
@http.route
(
'/lappa/fondos'
,
auth
=
'public'
,
type
=
'http'
,
website
=
False
,
csrf
=
False
,
methods
=
[
'POST'
,
'GET'
])
def
web_extend
(
self
,
**
kw
):
claro
=
"https://hgtarg.com/lappa/Principal
%20
clara.jpg"
oscuro
=
"https://hgtarg.com/lappa/Principal
%20
oscuro.jpg"
camion
=
"https://hgtarg.com/lappa/camion.png"
tilde
=
"https://hgtarg.com/lappa/tilde.png"
data
=
{
"claro"
:
claro
,
"oscuro"
:
oscuro
,
"camion"
:
camion
,
"tilde"
:
tilde
}
data
[
"fondo"
]
=
claro
return
(
json
.
dumps
(
data
))
models/transportista.py
View file @
e703228
...
...
@@ -8,7 +8,6 @@ class trans_transportista(models.Model):
_rec_name
=
'trans_nombre'
_order
=
'trans_nombre'
trans_razon_social
=
fields
.
Char
(
string
=
u'Razón Social'
,
)
...
...
@@ -23,7 +22,7 @@ class trans_transportista(models.Model):
trans_nombre
=
fields
.
Char
(
string
=
u'Nombre'
,
required
=
True
,
#
required=True,
)
trans_logo
=
fields
.
Binary
(
...
...
@@ -89,6 +88,12 @@ class trans_transportista(models.Model):
default
=
lambda
self
:
self
.
env
.
user
)
controlar_robot
=
fields
.
Boolean
(
string
=
'Datos sin confianza'
)
imagen
=
fields
.
Binary
(
string
=
'Logo'
)
@api.one
@api.constrains
(
'trans_cuit'
,
'trans_telefono'
)
def
_requerir_valores
(
self
):
...
...
@@ -195,3 +200,42 @@ class trans_transportista(models.Model):
return
({
"localidad"
:
Localidad
,
"provincia"
:
Provincia
,
"Id"
:
localidad
.
id
})
def
deduplicar_pr
(
self
):
"""herramenta para mantener los herrores de carga al minimo"""
transportistas
=
self
.
search
([])
for
transportista
in
transportistas
:
#print(transportista)
transportista
.
deduplicar_punto_retiro
()
transportista
.
marcar_control
()
def
marcar_control
(
self
):
control
=
False
if
(
self
.
trans_cuit
==
0
)
or
(
self
.
trans_cuit
==
False
):
control
=
True
if
(
self
.
trans_telefono
==
0
)
or
(
self
.
trans_telefono
==
False
):
control
=
True
if
(
self
.
trans_razon_social
==
""
)
or
(
self
.
trans_telefono
==
False
):
control
=
True
if
(
self
.
trans_nombre
==
""
)
or
(
self
.
trans_nombre
==
False
):
control
=
True
#print(control)
self
.
controlar_robot
=
control
def
deduplicar_punto_retiro
(
self
):
"""Elimina puntos de retiros duplicados en un transportista"""
puntos
=
[]
# lista de id de localidad en los puntos ya cargados
for
punto_retiro
in
self
.
trans_pto_retiro
:
if
punto_retiro
.
pr_localidad
.
id
in
puntos
:
self
.
trans_pto_retiro
=
[(
2
,
punto_retiro
.
id
)]
#Comanndo remover id y eliminar
else
:
puntos
.
append
(
punto_retiro
.
pr_localidad
.
id
)
#si no esta en la lista agrego la localidad en la lista puntos cargados
#print(puntos)
def
publicar
(
self
):
pass
def
comprar
(
self
):
pass
\ No newline at end of file
views/transportista_vista.xml
View file @
e703228
...
...
@@ -23,6 +23,9 @@
<field
name=
"arch"
type=
"xml"
>
<form>
<header>
<button
name=
"deduplicar_pr"
class=
'btn btn-warning'
string=
"Quitar puntos de retiro duplicados"
type=
"object"
/>
<button
name=
"publicar"
class=
'btn btn-warning'
string=
"Publicar imagen"
type=
"object"
/>
<button
name=
"comprar"
class=
'btn btn-info'
string=
"Comprar membresia"
type=
"object"
/>
</header>
<sheet>
<group
col=
"2"
string=
"Datos generales"
>
...
...
@@ -30,6 +33,9 @@
<field
name=
"trans_razon_social"
colspan=
"2"
required=
"1"
/>
<field
name=
"trans_cuit"
colspan=
"2"
required=
"1"
/>
</group>
<group
col=
"2"
string=
"Imagen"
>
<field
name=
"imagen"
widget=
'image'
options=
"{'preview_image': 'image_small', 'size': [30, 30]}"
/>
</group>
<group
col=
"2"
string=
"Datos de contacto"
>
<field
name=
"trans_telefono"
colspan=
"2"
required=
"1"
/>
<field
name=
"trans_email"
widget=
"email"
colspan=
"2"
/>
...
...
@@ -61,6 +67,7 @@
<field
name=
"trans_razon_social"
/>
<field
name=
"trans_tipo_ent"
/>
<field
name=
"trans_tipo"
/>
<field
name=
"controlar_robot"
/>
</search>
</field>
</record>
...
...
@@ -82,7 +89,3 @@
</data>
</odoo>
\ No newline at end of file
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