Source of file ContactAdmin.php
Size: 2,443 Bytes - Last Modified: 2021-12-24T05:16:40+00:00
/var/www/docs.ssmods.com/process/src/code/admin/ContactAdmin.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | <?php /** * Management interface for contacts * * @author ilateral * @package Contacts */ class ContactAdmin extends ModelAdmin { private static $menu_priority = 8; private static $managed_models = array( "Contact", "ContactTag", "ContactList" ); private static $url_segment = 'contacts'; private static $menu_title = 'Contacts'; private static $model_importers = array( 'Contact' => 'CSVBulkLoader' ); public function getSearchContext() { $context = parent::getSearchContext(); if ($this->modelClass == 'Contact') { $context ->getFields() ->push(new CheckboxField('q[Flagged]', _t("Contacts.ShowFlaggedOnly", 'Show flagged only'))); } return $context; } public function getList() { $list = parent::getList(); // use this to access search parameters $params = $this->request->requestVar('q'); if ($this->modelClass == 'Contact' && isset($params['Flagged']) && $params['Flagged']) { $list = $list->filter( "Notes.Flag", true ); } return $list; } public $showImportForm = array('Contact'); public function getEditForm($id = null, $fields = null) { $form = parent::getEditForm($id, $fields); $class = $this->sanitiseClassName($this->modelClass); $gridField = $form->Fields()->fieldByName($class); $config = $gridField->getConfig(); // Add bulk editing to gridfield $manager = new GridFieldBulkManager(); $manager->removeBulkAction("unLink"); if ($class == 'Contact') { $manager->addBulkAction( "assign", _t("Contacts.AssignToList", "Assign to list"), "BulkActionAssignToList", array( 'isAjax' => false, 'icon' => 'pencil', 'isDestructive' => false ) ); } else { $config ->removeComponentsByType("GridFieldExportButton") ->removeComponentsByType("GridFieldPrintButton"); } $config->addComponents($manager); $this->extend("updateEditForm", $form); return $form; } } |