/**
  * LocatorForm constructor.
  * @param Controller $controller
  * @param string $name
  */
 public function __construct(Controller $controller, $name)
 {
     $fields = FieldList::create(TextField::create('Address')->setTitle('')->setAttribute('placeholder', 'address or zip code'));
     $pageCategories = Locator::locator_categories_by_locator($controller->data()->ID);
     if ($pageCategories && $pageCategories->count() > 0) {
         $categories = false;
     } else {
         $categories = Locator::get_all_categories();
     }
     if ($categories) {
         $categoriesField = DropdownField::create('CategoryID')->setTitle('')->setEmptyString('All Categories')->setSource($categories->map());
         $fields->push($categoriesField);
     }
     $actions = FieldList::create(FormAction::create('doFilterLocations')->setTitle('Search'));
     $validator = RequiredFields::create();
     parent::__construct($controller, $name, $fields, $actions, $validator);
 }