Merge pull request #6237 from Zauberfisch/modeladmin-showImportForm

Added $showSearchForm to ModelAdmin
This commit is contained in:
Daniel Hensby 2016-11-07 13:42:34 +00:00 committed by GitHub
commit 250a4672fb
3 changed files with 31 additions and 14 deletions

View File

@ -65,10 +65,17 @@ abstract class ModelAdmin extends LeftAndMain {
/** /**
* Change this variable if you don't want the Import from CSV form to appear. * Change this variable if you don't want the Import from CSV form to appear.
* This variable can be a boolean or an array. * This variable can be a boolean or an array.
* If array, you can list className you want the form to appear on. i.e. array('myClassOne','myClasstwo') * If array, you can list className you want the form to appear on. i.e. array('myClassOne','myClassTwo')
*/ */
public $showImportForm = true; public $showImportForm = true;
/**
* Change this variable if you don't want the search form to appear.
* This variable can be a boolean or an array.
* If array, you can list className you want the form to appear on. i.e. array('myClassOne','myClassTwo')
*/
public $showSearchForm = true;
/** /**
* List of all {@link DataObject}s which can be imported through * List of all {@link DataObject}s which can be imported through
* a subclass of {@link BulkLoader} (mostly CSV data). * a subclass of {@link BulkLoader} (mostly CSV data).
@ -182,9 +189,14 @@ abstract class ModelAdmin extends LeftAndMain {
} }
/** /**
* @return Form * @return Form|bool
*/ */
public function SearchForm() { public function SearchForm() {
if(!$this->showSearchForm ||
(is_array($this->showSearchForm) && !in_array($this->modelClass, $this->showSearchForm))
) {
return false;
}
$context = $this->getSearchContext(); $context = $this->getSearchContext();
$form = new Form($this, "SearchForm", $form = new Form($this, "SearchForm",
$context->getSearchFields(), $context->getSearchFields(),
@ -326,7 +338,7 @@ abstract class ModelAdmin extends LeftAndMain {
/** /**
* Generate a CSV import form for a single {@link DataObject} subclass. * Generate a CSV import form for a single {@link DataObject} subclass.
* *
* @return Form * @return Form|bool
*/ */
public function ImportForm() { public function ImportForm() {
$modelSNG = singleton($this->modelClass); $modelSNG = singleton($this->modelClass);
@ -402,6 +414,7 @@ abstract class ModelAdmin extends LeftAndMain {
* @param array $data * @param array $data
* @param Form $form * @param Form $form
* @param SS_HTTPRequest $request * @param SS_HTTPRequest $request
* @return bool|null
*/ */
public function import($data, $form, $request) { public function import($data, $form, $request) {
if(!$this->showImportForm || (is_array($this->showImportForm) if(!$this->showImportForm || (is_array($this->showImportForm)

View File

@ -16,7 +16,9 @@
</div> </div>
<div class="cms-content-header-tabs cms-tabset-nav-primary ss-ui-tabs-nav"> <div class="cms-content-header-tabs cms-tabset-nav-primary ss-ui-tabs-nav">
<button id="filters-button" class="icon-button font-icon-search no-text" title="<%t CMSPagesController_Tools_ss.FILTER 'Filter' %>"></button> <% if $SearchForm || $ImportForm %>
<button id="filters-button" class="icon-button font-icon-search no-text" title="<%t CMSPagesController_Tools_ss.FILTER 'Filter' %>"></button>
<% end_if %>
<ul class="cms-tabset-nav-primary"> <ul class="cms-tabset-nav-primary">
<% loop $ManagedModelTabs %> <% loop $ManagedModelTabs %>
<li class="tab-$ClassName $LinkOrCurrent<% if $LinkOrCurrent == 'current' %> ui-tabs-active<% end_if %>"> <li class="tab-$ClassName $LinkOrCurrent<% if $LinkOrCurrent == 'current' %> ui-tabs-active<% end_if %>">

View File

@ -1,11 +1,13 @@
<div id="cms-content-tools-ModelAdmin" class="cms-content-filters"> <% if $SearchForm || $ImportForm %>
<% if $SearchForm %> <div id="cms-content-tools-ModelAdmin" class="cms-content-filters">
<h3 class="cms-panel-header"><%t ModelAdmin_Tools_ss.FILTER 'Filter' %></h3> <% if $SearchForm %>
$SearchForm <h3 class="cms-panel-header"><%t ModelAdmin_Tools_ss.FILTER 'Filter' %></h3>
<% end_if %> $SearchForm
<% end_if %>
<% if $ImportForm %> <% if $ImportForm %>
<h3 class="cms-panel-header"><%t ModelAdmin_Tools_ss.IMPORT 'Import' %></h3> <h3 class="cms-panel-header"><%t ModelAdmin_Tools_ss.IMPORT 'Import' %></h3>
$ImportForm $ImportForm
<% end_if %> <% end_if %>
</div> </div>
<% end_if %>