4 Commits

Author SHA1 Message Date
f00e849ab9 feat: Se agrega traducción
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pr/woodpecker Pipeline failed
2023-11-02 13:31:03 -05:00
30a37af5de fix: Se añade depends al botón de cerrar tareas
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pr/woodpecker Pipeline failed
2023-11-02 13:17:19 -05:00
2ee22b1c0c fix: Si se agrega o modifica un método de contacto luego de que se haya generado la tarea, esta no se actualiza
Some checks failed
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline failed
2023-10-28 21:41:09 -05:00
f4566b7db4 chore(ContactMethod): refactor - se centraliza lógica de actualización de colaboradores
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-10-28 20:20:32 -05:00
5 changed files with 22 additions and 5 deletions

View File

@@ -77,7 +77,8 @@ class PendingTask(ModelSQL, ModelView):
super(PendingTask, cls).__setup__()
cls._buttons.update({
'close_task': {
'invisible': Eval('state') == 'done'
'invisible': Eval('state') == 'done',
'depends': ['state'],
}
})

View File

@@ -246,6 +246,10 @@ msgctxt "field:sale.pending_task,prospect_trace:"
msgid "Prospect trace"
msgstr "Seguimiento de prospecto"
msgctxt "field:sale.pending_task,contacts:"
msgid "Contact Methods"
msgstr "Métodos de Contacto"
msgctxt "field:sale.prospect_trace.make_call.start,schedule_task:"
msgid "Schedule task?"
msgstr "¿Agendar tarea?"

View File

@@ -54,7 +54,7 @@ class Prospect(ModelSQL, ModelView, DeactivableMixin):
@fields.depends('prospect_trace', 'contact_methods')
def on_change_contact_methods(self):
for contact in self.contact_methods:
contact.prospect_trace = self.prospect_trace
contact.update_collaborators(changed_from='prospect')
@fields.depends('city', 'department')
def on_change_city(self):
@@ -83,12 +83,21 @@ class ContactMethod(ModelSQL, ModelView):
tasks = fields.Many2Many(
'sale.pendingtask_contactmethod',
'contact_method_id', 'pending_task_id',
'Contact Methods')
'Tasks')
@classmethod
def default_contact_type(cls):
return 'mobile'
def update_collaborators(self, changed_from):
if (changed_from == 'prospect'):
self.prospect_trace = self.prospect.prospect_trace
if (self.prospect_trace):
self.tasks = self.prospect.prospect_trace.tasks
if (changed_from == 'prospect_trace'):
self.prospect = self.prospect_trace.prospect
self.tasks = self.prospect_trace.tasks
def get_rec_name(self, name):
fields = [self.name, self.job, self.value]
contact_rec_name = ''

View File

@@ -36,6 +36,9 @@ class ProspectTrace(ModelSQL, ModelView):
'sale.call', 'prospect_trace', 'Calls', states=_states)
pending_call = fields.Many2One(
'sale.pending_call', 'Pending call', states=_states)
tasks = fields.One2Many(
'sale.pending_task', 'prospect_trace',
'Pending Tasks', states=_states)
current_interest = fields.Selection(
Interest.get_interest_levels(), 'Current interest',
@@ -52,7 +55,7 @@ class ProspectTrace(ModelSQL, ModelView):
@fields.depends('prospect_contacts', 'prospect')
def on_change_prospect_contacts(self):
for contact in self.prospect_contacts:
contact.prospect = self.prospect
contact.update_collaborators(changed_from='prospect_trace')
@classmethod
def __setup__(cls):

View File

@@ -389,7 +389,7 @@ Crear un usuario de rol administrador::
>>> admin.save()
>>> admin.user_admin == True
True
Agregar un nuevo método de contacto desde prospecto
>>> contact_method = prospect1.contact_methods.new(value='0000000000', name='Nuevo', job='Puesto increíble')
>>> prospect1.save()