Today's guest post comes from Andrew Copley, an experienced developer who knows the ins-and-outs of SugarCRM. What we love about this post, besides the obviously cool functionality, is the high level concept of safely customizing the core functionality in a novel way. This translates into a solution that can be easily mass distributed via add-ons.
One of the more common requests I receive from my clients is default searches based on roles and users for ListViews. Of course you can set up predefined searches through the advanced Search panel, but often clients want the convenience of the search already implemented on retrieving the List. A relatively straightforward way is to use a logic_hook on the 'after_login' event to force a search on to the preferences for the module.
Suppose we wish to retrieve only those contacts which belong to a particular account 'ACME Inc.'.
1. If there isnt already a logic_hook.php file, create one in the 'custom/modules/Users' directory and add an entry:
2. The second part is to create the file defaultSearch.php in the same directory, defining the class 'defaultSearch' with the function filterList. We also need to include the StoreQuery class which will be used to force the query onto the list.
Of course, this can be augmented with a conditional statement of user or role, for example. For Advanced searches, you need to replace 'basic' with 'advanced' and multiple list values use an array: e.g. 'assigned_user_id_basic'=>array('1','
One of the great advantages of using this method is that if the user changes the search and logs out, on logging in again, the original predefined search is restored.
-
Dropdowns as Checkboxes
Turn multiple select fields into checkboxes. Long drop-downs are a nightmare to use when a list gets beyond a few options. Make your SugarCRM users' lives simplier by transforming these painf...
-
Upsert® Timesheets
FEATUREDUpsert® Timesheets lets you log time against any Sugar record for tracking SLAs, billable hours, or next-level KPIs.
-
Upsert® Trash Bin
FEATUREDOops! Did you mean to delete that? Restore deleted records and relationships without any developer intervention.
- Show more addons