Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: code/ModelAdmin.php
- ===================================================================
- --- code/ModelAdmin.php (revision 76860)
- +++ code/ModelAdmin.php (working copy)
- @@ -187,19 +187,25 @@
- * @return DataObjectSet of forms
- */
- protected function getModelForms() {
- - $modelClasses = $this->getManagedModels();
- + $tabs = $this->getManagedModels();
- + $forms = new DataObjectSet();
- - $forms = new DataObjectSet();
- - foreach($modelClasses as $modelClass) {
- - $this->$modelClass()->SearchForm();
- -
- - $forms->push(new ArrayData(array(
- - 'SearchForm' => $this->$modelClass()->SearchForm(),
- - 'CreateForm' => $this->$modelClass()->CreateForm(),
- - 'ImportForm' => $this->$modelClass()->ImportForm(),
- - 'Title' => singleton($modelClass)->singular_name(),
- - 'ClassName' => $modelClass,
- - )));
- + foreach($tabs as $title => $source) {
- + if(substr($source, 0, 2) == '->') {
- + $method = substr($source, 2);
- +
- + $forms->push(new ArrayData(array (
- + 'Title' => $title,
- + 'ClassName' => $method,
- + 'Content' => $this->$method($title)
- + )));
- + } else {
- + $forms->push(new ArrayData(array (
- + 'Title' => (is_string($title) ? $title : singleton($source)->singular_name()),
- + 'ClassName' => $source,
- + 'Content' => $this->$source()->getModelForm()
- + )));
- + }
- }
- return $forms;
- @@ -244,7 +250,6 @@
- /**
- * Handles a managed model class and provides default collection filtering behavior.
- - *
- */
- class ModelAdmin_CollectionController extends Controller {
- public $parentController;
- @@ -305,10 +310,19 @@
- $class = $this->parentController->stat('record_controller_class');
- return new $class($this, $request);
- }
- -
- - /////////////////////////////////////////////////////////////////////////////////////////////////////////
- -
- +
- + // -----------------------------------------------------------------------------------------------------------------
- +
- /**
- + * Get a combination of the Search, Import and Create forms that can be inserted into a {@link ModelAdmin} sidebar.
- + *
- + * @return string
- + */
- + public function getModelForm() {
- + return $this->renderWith('ModelAdminSidebarForm');
- + }
- +
- + /**
- * Get a search form for a single {@link DataObject} subclass.
- *
- * @return Form
- Index: templates/Includes/ModelAdmin_left.ss
- ===================================================================
- --- templates/Includes/ModelAdmin_left.ss (revision 76860)
- +++ templates/Includes/ModelAdmin_left.ss (working copy)
- @@ -1,43 +1,31 @@
- <% require javascript(jsparty/tabstrip/tabstrip.js) %>
- <% require css(jsparty/tabstrip/tabstrip.css) %>
- +
- <div id="LeftPane">
- - <!-- <h2><% _t('SEARCHLISTINGS','Search Listings') %></h2> -->
- <div id="SearchForm_holder" class="leftbottom">
- - <% if SearchClassSelector = tabs %>
- - <ul class="tabstrip">
- - <% control ModelForms %>
- - <li class="$FirstLast"><a href="#{$Form.Name}_$ClassName">$Title</a></li>
- - <% end_control %>
- - </ul>
- + <% if SearchClassSelector = tabs %>
- + <ul class="tabstrip">
- + <% control ModelForms %>
- + <li class="$FirstLast"><a href="#{$Form.Name}_$ClassName">$Title</a></li>
- + <% end_control %>
- + </ul>
- <% end_if %>
- <% if SearchClassSelector = dropdown %>
- - <p id="ModelClassSelector">
- - Search for:
- - <select>
- - <% control ModelForms %>
- - <option value="{$Form.Name}_$ClassName">$Title</option>
- - <% end_control %>
- - </select>
- - </p>
- - <% end_if %>
- + <p id="ModelClassSelector">
- + Search for:
- + <select>
- + <% control ModelForms %>
- + <option value="{$Form.Name}_$ClassName">$Title</option>
- + <% end_control %>
- + </select>
- + </p>
- + <% end_if %>
- <% control ModelForms %>
- - <div class="tab" id="{$Form.Name}_$ClassName">
- - <% if CreateForm %>
- - <h3><% _t('ADDLISTING','Add') %></h3>
- - $CreateForm
- - <% end_if %>
- -
- - <h3><% _t('SEARCHLISTINGS','Search') %></h3>
- - $SearchForm
- -
- - <% if ImportForm %>
- - <h3><% _t('IMPORT_TAB_HEADER', 'Import') %></h3>
- - $ImportForm
- - <% end_if %>
- -
- - </div>
- + <div class="tab" id="{$Form.Name}_$ClassName">
- + $Content
- + </div>
- <% end_control %>
- </div>
- </div>
- \ No newline at end of file
- Index: templates/ModelAdminSidebarForm.ss
- ===================================================================
- --- templates/ModelAdminSidebarForm.ss (revision 0)
- +++ templates/ModelAdminSidebarForm.ss (revision 0)
- @@ -0,0 +1,12 @@
- +<% if CreateForm %>
- + <h3><% _t('ADDLISTING','Add') %></h3>
- + $CreateForm
- +<% end_if %>
- +
- +<h3><% _t('SEARCHLISTINGS','Search') %></h3>
- +$SearchForm
- +
- +<% if ImportForm %>
- + <h3><% _t('IMPORT_TAB_HEADER', 'Import') %></h3>
- + $ImportForm
- +<% end_if %>
- \ No newline at end of file
Add Comment
Please, Sign In to add comment