04-29-2009 07:39 AM
I just finished up a small app that hijacks the normal activity completion under specific circumstances. I use the activity global scripts, and everything is working fine with one exception.
If the user is on the Contact (and I assume this would apply to Account as well) Record, the tab: Activities does not remove the activity after it has been completed.
I am using Application_BeforeCompleteActivity.
1 - test to see if this is one of "my" Activities and if it is not, just exit & let normal processing happen
2 - (assuming it is now one of mine) invoke my form
3 - if form was completed (mrOK), then delete the Activity & User_Activity Records
4 - RefreshActivitiesCache
5 - exit
This works just fine from the Calendar & Activities views.
From the Contact view, if I click on any of the other tabs at the bottom and come back to the Activities tab... it is gone.
I have tried detecting if it is on the contact view, and if so - RefreshMainView. Total disaster here - not only does it not get rid of the actitivity, but it now pops this "Phantom/Already Deleted" activity on the screen to be completed.
What I've had to do as a quick fix is to detect anybody trying to edit or complete and activity that no longer exits. Ugly, but functional.
The question here is that if I know what Contact I am on, is there a way to get the Activities grid to refresh programmatically? This tab seems to be hard coded, and I can't find where it is exposed to code, if it is.
Suggestions or Solutions anybody?