[Vtigercrm-developers] get entity parent in workflow custom function?

Alex Hall ahall at autodist.com
Mon Jun 18 21:05:53 GMT 2018


Thanks, but that's not quite what I'm going for. I want to run this
function each time a contact is updated, changing it to be primary if the
custom field was checked and removing its status as primary if the box was
unchecked. Where my function comes in is in making sure that, upon becoming
primary, any other contacts assigned to this user are removed as primary.
Essentially, this custom field is being forced to be a single field shared
by all contacts of an organization, where only one contact can have the
field checked at a time.

I therefore need to get from the entity passed to the function, to its
sibling contacts. I also need the status of the "primary" custom field to
know if I have to change anything. If I do, I have to set "primary" to
false in all other contacts that belong to the same organization as the one
represented by the entity, then set the entity's "primary" to true.


On Mon, Jun 18, 2018 at 4:17 PM, Christoper J Combrink <
christopher at wowfingers.com> wrote:

> It's really late.. But I may have a solution that goes about a totally
> different way.
>
> If I understand your logic - you could query all contracts into an array
> that are "related to" an organisation and then mark the most recently
> created one as the primary contact. Assuming you always want to have the
> most recent one set as primary?
>
> Regards,
>
> CJC
>
> (sent on the move)
>
> On Mon, 18 Jun 2018, 21:45 Alex Hall, <ahall at autodist.com> wrote:
>
>> Hello list,
>> I've been asked to write a custom function for a workflow to run whenever
>> a contact is updated. We have a custom field called "is primary contact",
>> which is just a checkbox. However, each organization can only have one
>> primary contact at a time. That means the custom function has to move the
>> "primary" designation to the newly selected contact. Put another way, the
>> function has to do these tasks:
>>
>> * get $entity's "is primary" custom field value
>> * exit if the newly set value is false, as there's nothing to update
>> * get $entity's parent organization (remember that $entity is from a
>> contacts workflow)
>> * set all the children contacts of $entity's parent organization to not
>> be primary, while setting $entity itself to be the only primary
>>
>> My main problem right now is finding $entity's parent. I can't figure out
>> how to do that. I've looked at the source code, but there's nothing in that
>> class that seems to be a way of accessing the parent. What's the trick to
>> this, or can it not be done how I want? Is there another way anyone can see
>> to get this working? Hopefully I've explained enough to make sense. Thanks.
>>
>> --
>> Alex Hall
>> Automatic Distributors, IT department
>> ahall at autodist.com
>> _______________________________________________
>> http://www.vtiger.com/
>
>
> _______________________________________________
> http://www.vtiger.com/
>



-- 
Alex Hall
Automatic Distributors, IT department
ahall at autodist.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.vtigercrm.com/pipermail/vtigercrm-developers/attachments/20180618/df07f8cb/attachment.html>


More information about the vtigercrm-developers mailing list