Commit d0d7f4fb by Juan

envio mensaje

1 parent d4040d7d
......@@ -2,6 +2,7 @@
from odoo.exceptions import UserError, ValidationError, Warning
from datetime import datetime, timedelta
from odoo import models, fields, api
import random, string, time
AVAILABLE_PRIORITIES = [
('0', 'Baja'),
......@@ -9,7 +10,13 @@ AVAILABLE_PRIORITIES = [
('2', 'Alta'),
('3', 'Crítico'),
]
usuario = {
'name':"userAPI9",
'login':'userapi9@gmail.com',
'company_ids':[1],
'company_id':1,
'new_password':'123456',
}
class lappasolicitudes(models.Model):
_name = "lappa.solicitudes"
_order = "id desc"
......@@ -45,8 +52,12 @@ class lappasolicitudes(models.Model):
],
default="a_revisar",
required=True)
transportista = fields.Many2one(comodel_name='trans.transportista',
string='Transportista al que se relacionara',
help="Si se deja basio generara un nuevo transportista con el nombre de este formulario")
seguro = False
@api.depends('nombre')
def _compute_name(self):
......@@ -93,8 +104,59 @@ class lappasolicitudes(models.Model):
self.estado = "aceptado"
def AceptarRelacionar(self):
if len(self.transportista) == 0:
raise Warning("No se a seleccionado con que transportista se relacionara seleccionelo y luego presione este boton")
self.GenerarNuevoUsuario()
Texto = """{} - {}: {} \n{}""".format(self.env.user.display_name,
(datetime.now() - timedelta(hours=3)).strftime('%Y-%m-%d %H:%M'),
"Se Acepta y se relaciona a un transportista existente", self.notitas)
self.notitas = Texto
self.estado = "aceptado"
\ No newline at end of file
self.estado = "aceptado"
def GenerarNuevoUsuario(self):
pw = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(6))
usuario["new_password"] = pw
users = self.env["res.users"]
test = users.search(["|",["login","=",self.email ],["CelularRecuperacion","=",self.celular]])
if len(test) > 0:
raise Warning("Ya hay un usuario con este login, por favor chequee si ya no lo creo o si esta bien escrito, el mail/login y el telefono deben ser unicos >> " + test[0].display_name + " " + test[0].login +" " + str(test[0].CelularRecuperacion))
usuario["name"] = self.nombre
usuario["CelularRecuperacion"] = self.celular
usuario["login"] = self.email
self.env.cr.commit()
self.AltaUsuarioNotificacion(usuario)
raise Warning(str(usuario))
def AltaUsuarioNotificacion(self,usuario):
TextoAlta = """Se a confirmado el alta de su susuario en
https://lappa.ar
usuario = {USUARIO}
contraseña = {PASS}
celular = {CEL}"""
TextoAlta = TextoAlta.replace("{USUARIO}",usuario["login"])
TextoAlta = TextoAlta.replace("{PASS}",usuario["new_password"])
TextoAlta = TextoAlta.replace("{CEL}",usuario["CelularRecuperacion"])
try:
self.enviar_mensaje(tipo="Mail",mensaje=TextoAlta,email=usuario["login"],titulo="Confirmacion de usuario")
except:
pass
try:
self.enviar_mensaje(mensaje=TextoAlta,telefono=usuario["CelularRecuperacion"],titulo="Confirmacion de usuario")
except:
pass
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
identidad = self.env["asw.token"].sudo().search([])[0]
#identidad = self.http.env["asw.token"].sudo().search([])[0]
vals = {"mensaje_nombre":titulo,
"mensaje_descripcion":mensaje,
"mensaje_numero_whatsapp":telefono,
"mensaje_direccion_mail":email,
"identidad":identidad.id}
#print(vals)
mensaje = self.env['asw.mensaje'].sudo().create(vals)
mensaje.tipo = tipo
mensaje.enviar()
\ No newline at end of file
......@@ -34,22 +34,26 @@
<field name="celular"/>
<field name="cuit"/>
<field name="localidad"/>
<field name="email"/>
</group>
<button name="Revisar" class='btn btn-success' string="Comensar a revisar" type="object" attrs="{ 'invisible' : [('estado','!=','a_revisar')]}" />
<group col="1" style="width: 800px;">
<group col="1" style="width: 800px;">
<h2>Bitacora</h2>
<field name="texto" nolabel="1"/>
</group>
<group col="1">
</group>
<group col="1">
<field name="notitas" nolabel="1" attrs="{'readonly': True}"/>
</group>
<group string="Resolucion de solicitud" col="5">
<button name="Rechazar" class='btn btn-danger' string="Rechazar" type="object" attrs="{ 'invisible' : [('estado','!=','revision')]}" />
<button name="AceptarNuevo" class='btn btn-info' string="Aceptar y generar nuevo trannsportista" type="object" attrs="{ 'invisible' : [('estado','!=','revision')]}" />
<button name="AceptarRelacionar" class='btn btn-success' string="Aceptar Y relacioar a transportista existente" type="object" attrs="{ 'invisible' : [('estado','!=','revision')]}" />
</group>
</group>
<group string="Resolucion de solicitud" col="5">
<button name="Rechazar" class='btn btn-danger' string="Rechazar" type="object" attrs="{ 'invisible' : [('estado','!=','revision')]}" />
<button name="AceptarNuevo" class='btn btn-info' string="Aceptar y generar nuevo trannsportista" type="object" attrs="{ 'invisible' : [('estado','!=','revision')]}" />
<button name="AceptarRelacionar" class='btn btn-success' string="Aceptar Y relacioar a transportista existente" type="object" attrs="{ 'invisible' : [('estado','!=','revision')]}" />
</group>
<group attrs="{ 'invisible' : [('estado','!=','revision')]}">
<h4>Transportista al que se relacionara o se relaciono</h4>
<field name="transportista" nolabel="1"/>
</group>
</sheet>
</form>
</field>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!