Search ext: Add settingsCallback to searchAdmin module
[civicrm-core.git] / ext / search / CRM / Search / Page / Admin.php
CommitLineData
25523059 1<?php
e78d6a2d
CW
2/*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11
12/**
13 * Angular base page for search admin
14 */
15class CRM_Search_Page_Admin extends CRM_Core_Page {
25523059
CW
16
17 /**
18 * @var string[]
19 */
20 private $allowedEntities = [];
21
22 public function run() {
23 $breadCrumb = [
22601c92 24 'title' => ts('Search Kit'),
25523059
CW
25 'url' => CRM_Utils_System::url('civicrm/search'),
26 ];
27 CRM_Utils_System::appendBreadCrumb([$breadCrumb]);
28
22601c92 29 $schema = \Civi\Search\Admin::getSchema();
25523059
CW
30
31 // If user does not have permission to search any entity, bye bye.
22601c92 32 if (!$schema) {
25523059
CW
33 CRM_Utils_System::permissionDenied();
34 }
35
36 // Add client-side vars for the search UI
37 $vars = [
22601c92
CW
38 'schema' => $schema,
39 'links' => \Civi\Search\Admin::getLinks(array_column($schema, 'name')),
25523059
CW
40 ];
41
42 Civi::resources()
f63560ea 43 ->addBundle('bootstrap3')
25523059
CW
44 ->addVars('search', $vars);
45
46 // Load angular module
47 $loader = new Civi\Angular\AngularLoader();
e78d6a2d 48 $loader->setModules(['searchAdmin']);
25523059
CW
49 $loader->setPageName('civicrm/search');
50 $loader->useApp([
2c7e2f4b 51 'defaultRoute' => '/create/Contact',
25523059
CW
52 ]);
53 $loader->load();
54 parent::run();
55 }
56
25523059 57}