From e56be4ce3119581dff70bb7ab4fa363427e65039 Mon Sep 17 00:00:00 2001 From: Rich Lott / Artful Robot Date: Tue, 25 Feb 2025 17:48:15 +0000 Subject: [PATCH] Import contacts by category searchkit --- .../SavedSearch_Contacts_by_category.mgd.php | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 managed/SavedSearch_Contacts_by_category.mgd.php diff --git a/managed/SavedSearch_Contacts_by_category.mgd.php b/managed/SavedSearch_Contacts_by_category.mgd.php new file mode 100644 index 0000000..f790916 --- /dev/null +++ b/managed/SavedSearch_Contacts_by_category.mgd.php @@ -0,0 +1,141 @@ + 'SavedSearch_Contacts_by_category', + 'entity' => 'SavedSearch', + 'cleanup' => 'unused', + 'update' => 'unmodified', + 'params' => [ + 'version' => 4, + 'values' => [ + 'name' => 'Contacts_by_category', + 'label' => E::ts('Contacts by category'), + 'api_entity' => 'Contact', + 'api_params' => [ + 'version' => 4, + 'select' => [ + 'id', + 'contact_sub_type:label', + 'display_name', + 'Contact_ContactCategory_contact_id_01_ContactCategory_ContactCategoryDefinition_category_definition_id_01.label', + ], + 'orderBy' => [], + 'where' => [ + [ + 'contact_type:name', + '=', + 'Individual', + ], + ], + 'groupBy' => [], + 'join' => [ + [ + 'ContactCategory AS Contact_ContactCategory_contact_id_01', + 'INNER', + [ + 'id', + '=', + 'Contact_ContactCategory_contact_id_01.contact_id', + ], + [ + 'Contact_ContactCategory_contact_id_01.id', + '=', + 'id', + ], + ], + [ + 'ContactCategoryDefinition AS Contact_ContactCategory_contact_id_01_ContactCategory_ContactCategoryDefinition_category_definition_id_01', + 'INNER', + [ + 'Contact_ContactCategory_contact_id_01.category_definition_id', + '=', + 'Contact_ContactCategory_contact_id_01_ContactCategory_ContactCategoryDefinition_category_definition_id_01.id', + ], + [ + 'Contact_ContactCategory_contact_id_01_ContactCategory_ContactCategoryDefinition_category_definition_id_01.id', + '=', + 'Contact_ContactCategory_contact_id_01.category_definition_id', + ], + ], + ], + 'having' => [], + ], + ], + 'match' => ['name'], + ], + ], + [ + 'name' => 'SavedSearch_Contacts_by_category_SearchDisplay_Contacts_by_category_Table_1', + 'entity' => 'SearchDisplay', + 'cleanup' => 'unused', + 'update' => 'unmodified', + 'params' => [ + 'version' => 4, + 'values' => [ + 'name' => 'Contacts_by_category_Table_1', + 'label' => E::ts('Contacts by category'), + 'saved_search_id.name' => 'Contacts_by_category', + 'type' => 'table', + 'settings' => [ + 'description' => E::ts(NULL), + 'sort' => [ + [ + 'Contact_ContactCategory_contact_id_01_ContactCategory_ContactCategoryDefinition_category_definition_id_01.label', + 'ASC', + ], + ], + 'limit' => 50, + 'pager' => [], + 'placeholder' => 5, + 'columns' => [ + [ + 'type' => 'field', + 'key' => 'display_name', + 'dataType' => 'String', + 'label' => E::ts('Name'), + 'sortable' => TRUE, + 'link' => [ + 'path' => '', + 'entity' => 'Contact', + 'action' => 'view', + 'join' => '', + 'target' => '', + ], + 'title' => E::ts('View Contact'), + ], + [ + 'type' => 'field', + 'key' => 'contact_sub_type:label', + 'dataType' => 'String', + 'label' => E::ts('Contact Subtype'), + 'sortable' => TRUE, + ], + [ + 'type' => 'field', + 'key' => 'Contact_ContactCategory_contact_id_01_ContactCategory_ContactCategoryDefinition_category_definition_id_01.label', + 'dataType' => 'String', + 'label' => E::ts('Category'), + 'sortable' => TRUE, + 'icons' => [ + [ + 'field' => 'Contact_ContactCategory_contact_id_01_ContactCategory_ContactCategoryDefinition_category_definition_id_01.icon', + 'side' => 'left', + ], + ], + ], + ], + 'actions' => TRUE, + 'classes' => ['table-striped'], + 'headerCount' => TRUE, + 'actions_display_mode' => 'menu', + ], + ], + 'match' => [ + 'saved_search_id', + 'name', + ], + ], + ], +];