Commit c0b46a69 by Maria Agustina

avance 312

1 parent 80c71e4b
......@@ -2,3 +2,4 @@
from . import controllers
from . import models
from . import wizards
\ No newline at end of file
......@@ -28,8 +28,9 @@
# always loaded
'data': [
# 'security/ir.model.access.csv',
'views/views.xml',
'views/templates.xml',
'wizards/llamadas_pendientes.xml',
'views/instituciones.xml',
'views/menu.xml',
],
# only loaded in demonstration mode
'demo': [
......
......@@ -5,9 +5,9 @@ from odoo import models, fields, api
class asw_contactos(models.Model):
_inherit = 'asw.contactos'
llamada = fields.Many2one(
string='Llamada',
comodel_name='hgt.llamada_pendiente',
ondelete='restrict',
)
# llamada = fields.Many2one(
# string='Llamada',
# comodel_name='hgt.llamada_pendiente',
# ondelete='restrict',
# )
......@@ -5,9 +5,9 @@ from odoo import models, fields, api
class instituciones(models.Model):
_inherit = 'hgt.instituciones'
llamada = fields.Many2one(
string='Llamada',
comodel_name='hgt.llamada_pendiente',
ondelete='restrict',
)
# llamada = fields.Many2one(
# string='Llamada',
# comodel_name='hgt.llamada_pendiente',
# ondelete='restrict',
# )
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data noupdate="0">
<!-- primary|extension Inherited .:Form:. view for "model" -->
<record id="view_instituciones_form_inherited" model="ir.ui.view">
<field name="name">view.model.form inherited</field>
<field name="model">hgt.instituciones</field>
<!-- Please veryfiy, that the following inherited view really sticks to the naming convention. -->
<field name="inherit_id" ref="asw_crm.asw_hgt_institucioness_form_view" />
<field name="type">form</field>
<field name="mode">extension</field>
<field name="priority" eval="16" />
<field name="active" eval="True" />
<field name="arch" type="xml">
<xpath expr="//form/header/field[@name='state']" position="after">
<button name="%(action_llamadas_pendientes)d" string="Agendar llamada" type="action" class="oe_highlight"/>
</xpath>
</field>
</record>
</data>
</odoo>
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data noupdate="0">
<!-- Elemento Grupe -->
<menuitem name="Llamadas pendientes" sequence='40' id="asw_crm_llamadas" parent="asw_crm.asw_crm_root"/>
<menuitem name="Agendar llamada" id="asw_crm_llamadas_llamadas" action="action_llamadas_pendientes" parent="asw_crm_llamadas"/>
</data>
</odoo>
<odoo>
<data>
<!-- <template id="listing"> -->
<!-- <ul> -->
<!-- <li t-foreach="objects" t-as="object"> -->
<!-- <a t-attf-href="#{ root }/objects/#{ object.id }"> -->
<!-- <t t-esc="object.display_name"/> -->
<!-- </a> -->
<!-- </li> -->
<!-- </ul> -->
<!-- </template> -->
<!-- <template id="object"> -->
<!-- <h1><t t-esc="object.display_name"/></h1> -->
<!-- <dl> -->
<!-- <t t-foreach="object._fields" t-as="field"> -->
<!-- <dt><t t-esc="field"/></dt> -->
<!-- <dd><t t-esc="object[field]"/></dd> -->
<!-- </t> -->
<!-- </dl> -->
<!-- </template> -->
</data>
</odoo>
\ No newline at end of file
<odoo>
<data>
<!-- explicit list view definition -->
<!--
<record model="ir.ui.view" id="my_module.list">
<field name="name">my_module list</field>
<field name="model">my_module.my_module</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="value"/>
<field name="value2"/>
</tree>
</field>
</record>
-->
<!-- actions opening views on models -->
<!--
<record model="ir.actions.act_window" id="my_module.action_window">
<field name="name">my_module window</field>
<field name="res_model">my_module.my_module</field>
<field name="view_mode">tree,form</field>
</record>
-->
<!-- server action to the one above -->
<!--
<record model="ir.actions.server" id="my_module.action_server">
<field name="name">my_module server</field>
<field name="model_id" ref="model_my_module_my_module"/>
<field name="state">code</field>
<field name="code">
action = {
"type": "ir.actions.act_window",
"view_mode": "tree,form",
"res_model": self._name,
}
</field>
</record>
-->
<!-- Top menu item -->
<!--
<menuitem name="my_module" id="my_module.menu_root"/>
-->
<!-- menu categories -->
<!--
<menuitem name="Menu 1" id="my_module.menu_1" parent="my_module.menu_root"/>
<menuitem name="Menu 2" id="my_module.menu_2" parent="my_module.menu_root"/>
-->
<!-- actions -->
<!--
<menuitem name="List" id="my_module.menu_1_list" parent="my_module.menu_1"
action="my_module.action_window"/>
<menuitem name="Server to list" id="my_module" parent="my_module.menu_2"
action="my_module.action_server"/>
-->
</data>
</odoo>
\ No newline at end of file
from . import llamadas_pendientes
\ No newline at end of file
No preview for this file type
......@@ -5,10 +5,10 @@ from odoo import models, fields, api
class hgt_llamada_pendiente(models.TransientModel):
_name = 'hgt.llamada_pendiente'
organizacion = fields.One2many(
organizacion = fields.Many2one(
string=u'Organización',
comodel_name='hgt.instituciones',
inverse_name='llamada',
ondelete='restrict',
)
fecha_llamada = fields.Datetime(
......@@ -22,40 +22,81 @@ class hgt_llamada_pendiente(models.TransientModel):
medio = fields.Selection(
string=u'Medio',
selection=[('tel', 'Teléfono'), ('wpp', 'Whatsapp'), ('mail', 'E-Mail'),]
selection=[('Telefono', 'Teléfono'), ('Whatsapp', 'Whatsapp'), ('E-Mail', 'E-Mail'),]
)
#desp generar algun metodo para q ponga contactos de la organiacion nomas
contacto = fields.One2many(
notas = fields.Text(
string='Notas',
)
contacto = fields.Many2one(
string='Contacto',
comodel_name='asw.contactos',
inverse_name='llamada',
ondelete='restrict',
)
otro = fields.Boolean(
string='Otro?',
string='Otro. Se creará contacto',
)
#si otro es True que aparezcan estos campos y al guardar cree el contacto
otro_nombre = fields.Char(
string='Nombre',
uppercase=True,
required=True
)
#segun el medio q se haya elegido corroborar q este ingresado ese dato
otro_telefono = fields.Char(
string=u'Teléfono',
)
otro_email = fields.Char(
string='Email',
string=u'E-mail',
)
otro_celular = fields.Char(
string='Celular',
)
temas = fields.Html(
string='Temas a tratar',
)
def crear_tarea(self):
#primero creo el contacto si fue elegida la opcion otro
if self.otro:
vals = {
'ctc_nombre': self.otro_nombre,
'ctc_telefono': self.otro_telefono,
'ctc_email': self.otro_email,
'ctc_celular': self.otro_celular,
'ctc_nombre': self.otro_nombre,
}
nvo_contacto = self.env['asw.contactos'].create(vals)
nvo_contacto.instituciones = [(4,self.organizacion.id)]
#tarea:
titulo = 'Contactar {}'.format(self.organizacion.name)
if self.contacto:
descr = 'Llamar a {} por el medio: {}. Temas a tratar: {}'.format(self.contacto.ctc_nombre,self.medio,self.temas)
else:
descr = 'Llamar a {} por el medio: {}. Temas a tratar: {}'.format(self.nvo_contacto.ctc_nombre,self.medio,self.temas)
vals2 = {
'resumen' : titulo,
'prioridad' : '1',
'descripcion' : descr,
}
nva_tarea = self.env['hgt.tarea'].create(vals2)
@api.onchange('organizacion')
def dominio_contactos(self):
result = {}
result['domain'] = []
org = self.organizacion
ids = self.organizacion.contactos.ids
result['domain'] = {'contacto' : [('id', 'in', ids)]}
return result
......
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data noupdate="0">
<record id="view_llamadas_pendientes_form" model="ir.ui.view">
<field name="name">Agendar llamada</field>
<field name="model">hgt.llamada_pendiente</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form>
<group col="4" string="Datos de la llamada" >
<field name="organizacion" colspan="2" required="1"/>
<field name="fecha_hoy" readonly="1" colspan="2" />
<field name="fecha_llamada" colspan="2" required="1"/>
<field name="medio" colspan="2" required="1"/>
<field name="notas" colspan="2" />
</group>
<group col="4" string="Contacto">
<field name="contacto" colspan="2" />
<field name="otro" colspan="2" />
<field name="otro_nombre" colspan="2" attrs="{ 'invisible': [('otro','=', False)], 'required': [('otro','=', True)] }"/>
<field name="otro_telefono" colspan="2" attrs="{ 'invisible': [('otro','=', False)], 'required': [('otro','=', True),('medio', '=', 'Telefono')] }"/>
<field name="otro_email" colspan="2" attrs="{ 'invisible': [('otro','=', False)], 'required': [('otro','=', True),('medio', '=', 'E-Mail')] }"/>
<field name="otro_celular" colspan="2" attrs="{ 'invisible': [('otro','=', False)], 'required': [('otro','=', True),('medio', '=', 'Whatsapp')] }"/>
</group>
<group col="4" string="Temas a tratar" >
<field name="temas" nolabel="1" colspan="4"/>
</group>
<footer>
<button name="crear_tarea" string="Agendar llamada" type="object" class="oe_highlight"/>
</footer>
</form>
</field>
</record>
<record id="action_llamadas_pendientes" model="ir.actions.act_window">
<field name="name">Wizard</field>
<field name="res_model">hgt.llamada_pendiente</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</data>
</odoo>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!