Commit d0d7f4fb by Juan

envio mensaje

1 parent d4040d7d
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
from odoo.exceptions import UserError, ValidationError, Warning from odoo.exceptions import UserError, ValidationError, Warning
from datetime import datetime, timedelta from datetime import datetime, timedelta
from odoo import models, fields, api from odoo import models, fields, api
import random, string, time
AVAILABLE_PRIORITIES = [ AVAILABLE_PRIORITIES = [
('0', 'Baja'), ('0', 'Baja'),
...@@ -9,7 +10,13 @@ AVAILABLE_PRIORITIES = [ ...@@ -9,7 +10,13 @@ AVAILABLE_PRIORITIES = [
('2', 'Alta'), ('2', 'Alta'),
('3', 'Crítico'), ('3', 'Crítico'),
] ]
usuario = {
'name':"userAPI9",
'login':'userapi9@gmail.com',
'company_ids':[1],
'company_id':1,
'new_password':'123456',
}
class lappasolicitudes(models.Model): class lappasolicitudes(models.Model):
_name = "lappa.solicitudes" _name = "lappa.solicitudes"
_order = "id desc" _order = "id desc"
...@@ -45,8 +52,12 @@ class lappasolicitudes(models.Model): ...@@ -45,8 +52,12 @@ class lappasolicitudes(models.Model):
], ],
default="a_revisar", default="a_revisar",
required=True) 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') @api.depends('nombre')
def _compute_name(self): def _compute_name(self):
...@@ -93,8 +104,59 @@ class lappasolicitudes(models.Model): ...@@ -93,8 +104,59 @@ class lappasolicitudes(models.Model):
self.estado = "aceptado" self.estado = "aceptado"
def AceptarRelacionar(self): 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, Texto = """{} - {}: {} \n{}""".format(self.env.user.display_name,
(datetime.now() - timedelta(hours=3)).strftime('%Y-%m-%d %H:%M'), (datetime.now() - timedelta(hours=3)).strftime('%Y-%m-%d %H:%M'),
"Se Acepta y se relaciona a un transportista existente", self.notitas) "Se Acepta y se relaciona a un transportista existente", self.notitas)
self.notitas = Texto self.notitas = Texto
self.estado = "aceptado"
\ No newline at end of file \ 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 \ No newline at end of file
...@@ -34,22 +34,26 @@ ...@@ -34,22 +34,26 @@
<field name="celular"/> <field name="celular"/>
<field name="cuit"/> <field name="cuit"/>
<field name="localidad"/> <field name="localidad"/>
<field name="email"/>
</group> </group>
<button name="Revisar" class='btn btn-success' string="Comensar a revisar" type="object" attrs="{ 'invisible' : [('estado','!=','a_revisar')]}" /> <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> <h2>Bitacora</h2>
<field name="texto" nolabel="1"/> <field name="texto" nolabel="1"/>
</group> </group>
<group col="1"> <group col="1">
<field name="notitas" nolabel="1" attrs="{'readonly': True}"/> <field name="notitas" nolabel="1" attrs="{'readonly': True}"/>
</group> </group>
<group string="Resolucion de solicitud" col="5"> <group string="Resolucion de solicitud" col="5">
<button name="Rechazar" class='btn btn-danger' string="Rechazar" type="object" attrs="{ 'invisible' : [('estado','!=','revision')]}" /> <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="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')]}" /> <button name="AceptarRelacionar" class='btn btn-success' string="Aceptar Y relacioar a transportista existente" type="object" attrs="{ 'invisible' : [('estado','!=','revision')]}" />
</group>
</group> <group attrs="{ 'invisible' : [('estado','!=','revision')]}">
<h4>Transportista al que se relacionara o se relaciono</h4>
<field name="transportista" nolabel="1"/>
</group>
</sheet> </sheet>
</form> </form>
</field> </field>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!