<div dir="ltr"><div>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.</div><div><br></div><div>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.<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 18, 2018 at 4:17 PM, Christoper J Combrink <span dir="ltr"><<a href="mailto:christopher@wowfingers.com" target="_blank">christopher@wowfingers.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">It's really late.. But I may have a solution that goes about a totally different way. <div dir="auto"><br></div><div dir="auto">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? <br><br><div data-smartmail="gmail_signature" dir="auto">Regards,<br><br>CJC<br><br>(sent on the move)</div></div></div><br><div class="gmail_quote"><div><div class="h5"><div dir="ltr">On Mon, 18 Jun 2018, 21:45 Alex Hall, <<a href="mailto:ahall@autodist.com" target="_blank">ahall@autodist.com</a>> wrote:<br></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div>Hello list,</div><div>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:</div><div><br></div><div>* get $entity's "is primary" custom field value</div><div>* exit if the newly set value is false, as there's nothing to update</div><div>* get $entity's parent organization (remember that $entity is from a contacts workflow)</div><div>* set all the children contacts of $entity's parent organization to not be primary, while setting $entity itself to be the only primary</div><div><br></div><div>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.<br></div><div><br></div><div>-- <br><div class="m_7311429641083417211m_463440088625530483gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div>Alex Hall<br></div>Automatic Distributors, IT department<br></div><a href="mailto:ahall@autodist.com" rel="noreferrer" target="_blank">ahall@autodist.com</a><br></div></div>
</div></div></div></div>
______________________________<wbr>_________________<br>
<a href="http://www.vtiger.com/" rel="noreferrer noreferrer" target="_blank">http://www.vtiger.com/</a></blockquote></div>
<br>______________________________<wbr>_________________<br>
<a href="http://www.vtiger.com/" rel="noreferrer" target="_blank">http://www.vtiger.com/</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div>Alex Hall<br></div>Automatic Distributors, IT department<br></div><a href="mailto:ahall@autodist.com" target="_blank">ahall@autodist.com</a><br></div></div>
</div>