Compare commits
2 Commits
Reportes
...
5873d35f12
| Author | SHA1 | Date | |
|---|---|---|---|
| 5873d35f12 | |||
| 85d5f714ef |
@@ -4,7 +4,6 @@ from . import prospect_trace
|
|||||||
from . import call
|
from . import call
|
||||||
from . import pending_call
|
from . import pending_call
|
||||||
from . import user
|
from . import user
|
||||||
from . import print_report_by_operator
|
|
||||||
from .locations import city
|
from .locations import city
|
||||||
from .locations import department
|
from .locations import department
|
||||||
|
|
||||||
@@ -29,7 +28,6 @@ def register():
|
|||||||
prospect_trace.MakeCallAskTask,
|
prospect_trace.MakeCallAskTask,
|
||||||
prospect.ReassignProspectByOperatorStart,
|
prospect.ReassignProspectByOperatorStart,
|
||||||
prospect.ReassignProspectByProspectStart,
|
prospect.ReassignProspectByProspectStart,
|
||||||
print_report_by_operator.PrintReportByOperatorStart,
|
|
||||||
module='sale_opportunity_management', type_='model')
|
module='sale_opportunity_management', type_='model')
|
||||||
Pool.register(
|
Pool.register(
|
||||||
prospect_trace.ScheduleCall,
|
prospect_trace.ScheduleCall,
|
||||||
@@ -37,7 +35,6 @@ def register():
|
|||||||
prospect_trace.MakeCall,
|
prospect_trace.MakeCall,
|
||||||
prospect.ReassignProspectByOperator,
|
prospect.ReassignProspectByOperator,
|
||||||
prospect.ReasignProspectByProspect,
|
prospect.ReasignProspectByProspect,
|
||||||
print_report_by_operator.PrintReportByOperator,
|
|
||||||
module='sale_opportunity_management', type_='wizard')
|
module='sale_opportunity_management', type_='wizard')
|
||||||
Pool.register(
|
Pool.register(
|
||||||
module='sale_opportunity_management', type_='report')
|
module='sale_opportunity_management', type_='report')
|
||||||
|
|||||||
3
call.py
3
call.py
@@ -67,6 +67,9 @@ class PendingTask(ModelSQL, ModelView):
|
|||||||
'sale.prospect_trace', 'Prospect trace',
|
'sale.prospect_trace', 'Prospect trace',
|
||||||
required=True, readonly=True)
|
required=True, readonly=True)
|
||||||
|
|
||||||
|
contacts = fields.One2Many(
|
||||||
|
'prospect.contact_method', 'task', 'Contacts', readonly=True)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def __setup__(cls):
|
def __setup__(cls):
|
||||||
super(PendingTask, cls).__setup__()
|
super(PendingTask, cls).__setup__()
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
# this repository contains the full copyright notices and license terms.
|
|
||||||
# from trytond.model import ModelSQL, ModelView, fields
|
|
||||||
from trytond.wizard import Wizard, StateView, Button # , StateReport
|
|
||||||
from trytond.model import fields, ModelView
|
|
||||||
|
|
||||||
|
|
||||||
class PrintReportByOperatorStart(ModelView):
|
|
||||||
'Vista inicial de reporte por operario'
|
|
||||||
__name__ = 'sale.print_report_by_operator.start'
|
|
||||||
|
|
||||||
start_date = fields.Date('Start date')
|
|
||||||
end_date = fields.Date('End date')
|
|
||||||
|
|
||||||
|
|
||||||
class PrintReportByOperator(Wizard):
|
|
||||||
'Generar reporte por operario'
|
|
||||||
__name__ = 'sale.print_report_by_operator'
|
|
||||||
|
|
||||||
start = StateView(
|
|
||||||
'sale.print_report_by_operator.start',
|
|
||||||
'sale_opportunity_management.print_report_by_operator_start_view_form',
|
|
||||||
[Button("Cancel", "end", "tryton-cancel"),
|
|
||||||
Button("Print Report", "print_report", "tryton-ok", default=True)])
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
<!-- <?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<tryton>
|
|
||||||
<data>
|
|
||||||
<record model="ir.action.wizard" id="print_report_by_operator_wizard">
|
|
||||||
<field name="name">Print report by operator</field>
|
|
||||||
<field name="wiz_name">sale.print_report_by_operator</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.ui.view" id="print_report_by_operator_start_view_form">
|
|
||||||
<field name="model">sale.print_report_by_operator.start</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">print_report_by_operator_start_form</field>
|
|
||||||
</record>
|
|
||||||
<data>
|
|
||||||
<tryton/> -->
|
|
||||||
@@ -74,6 +74,7 @@ class ContactMethod(ModelSQL, ModelView):
|
|||||||
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
|
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
|
||||||
prospect_trace = fields.Many2One(
|
prospect_trace = fields.Many2One(
|
||||||
'sale.prospect_trace', 'Prospect Trace', required=False)
|
'sale.prospect_trace', 'Prospect Trace', required=False)
|
||||||
|
task = fields.Many2One('sale.pending_task', 'task ', required=False)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def default_contact_type(cls):
|
def default_contact_type(cls):
|
||||||
|
|||||||
@@ -263,6 +263,7 @@ class MakeCall(Wizard):
|
|||||||
task = Task()
|
task = Task()
|
||||||
task.description = description
|
task.description = description
|
||||||
task.prospect_trace = prospect_trace
|
task.prospect_trace = prospect_trace
|
||||||
|
task.contacts = prospect_trace.prospect_contacts
|
||||||
task.save()
|
task.save()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@@ -297,6 +297,8 @@ Hacer llamada y programar tarea::
|
|||||||
>>> task.click('close_task')
|
>>> task.click('close_task')
|
||||||
>>> task.state
|
>>> task.state
|
||||||
'done'
|
'done'
|
||||||
|
>>> task.contacts[0].value == prospect_trace.prospect_contacts[0].value
|
||||||
|
True
|
||||||
|
|
||||||
Hacer llamada y cerrar venta (Seguimiento de prospecto)::
|
Hacer llamada y cerrar venta (Seguimiento de prospecto)::
|
||||||
>>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace])
|
>>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace])
|
||||||
@@ -348,7 +350,6 @@ Reasignar prospectos por prospecto::
|
|||||||
>>> reassign_by_prospect.form.new_operator = user
|
>>> reassign_by_prospect.form.new_operator = user
|
||||||
>>> reassign_by_prospect.execute('reassign_by_prospect')
|
>>> reassign_by_prospect.execute('reassign_by_prospect')
|
||||||
|
|
||||||
|
|
||||||
>>> prospect1.reload()
|
>>> prospect1.reload()
|
||||||
>>> prospect1.assigned_operator.name
|
>>> prospect1.assigned_operator.name
|
||||||
'Administrator'
|
'Administrator'
|
||||||
@@ -365,14 +366,6 @@ Crear un usuario de rol administrador::
|
|||||||
>>> admin.user_admin == True
|
>>> admin.user_admin == True
|
||||||
True
|
True
|
||||||
|
|
||||||
.. Generar reporte por operario y consolidado::
|
|
||||||
.. >>> PrintReportByOperator = Model.get('sale.print_report_by_operato`r', type='wizard')
|
|
||||||
.. >>> session_id, _, _ = PrintReportByOperator.create()
|
|
||||||
|
|
||||||
.. >>> print_report_by_operator = Wizard('sale.print_report_by_operator', [])
|
|
||||||
.. >>> print_report_by_operator.form.start_date = date.today()
|
|
||||||
.. >>> print_report_by_operator.form.end_date = date.today()
|
|
||||||
.. >>> print_report_by_operator.execute('print_report')
|
|
||||||
|
|
||||||
--------
|
--------
|
||||||
Reportes
|
Reportes
|
||||||
|
|||||||
@@ -8,5 +8,8 @@ this repository contains the full copyright notices and license terms. -->
|
|||||||
<newline/>
|
<newline/>
|
||||||
<label name="description"/>
|
<label name="description"/>
|
||||||
<field name="description"/>
|
<field name="description"/>
|
||||||
|
<newline/>
|
||||||
|
<label name="contacts"/>
|
||||||
|
<field name="contacts"/>
|
||||||
</group>
|
</group>
|
||||||
</form>
|
</form>
|
||||||
@@ -4,5 +4,6 @@ this repository contains the full copyright notices and license terms. -->
|
|||||||
<tree>
|
<tree>
|
||||||
<field name="prospect_trace" expand="1"/>
|
<field name="prospect_trace" expand="1"/>
|
||||||
<field name="description" expand="1"/>
|
<field name="description" expand="1"/>
|
||||||
|
<field name="contacts" expand="1"/>
|
||||||
<button name="close_task"/>
|
<button name="close_task"/>
|
||||||
</tree>
|
</tree>
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<tree>
|
|
||||||
<field name="start_date" expand="1"/>
|
|
||||||
<field name="end_date" expand="1"/>
|
|
||||||
</tree>
|
|
||||||
Reference in New Issue
Block a user