mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
MINOR Changed ReportAdmin to new ReportAdmin_Content template, viewing available reports as unordered list instead of a tree (they can't be nested anyway)
This commit is contained in:
parent
d48f21afc0
commit
1ae9a318af
@ -21,6 +21,8 @@ class ReportAdmin extends LeftAndMain {
|
|||||||
|
|
||||||
static $template_path = null; // defaults to (project)/templates/email
|
static $template_path = null; // defaults to (project)/templates/email
|
||||||
|
|
||||||
|
static $tree_class = 'SS_Report';
|
||||||
|
|
||||||
public function init() {
|
public function init() {
|
||||||
parent::init();
|
parent::init();
|
||||||
|
|
||||||
@ -32,7 +34,6 @@ class ReportAdmin extends LeftAndMain {
|
|||||||
|
|
||||||
// Always block the HtmlEditorField.js otherwise it will be sent with an ajax request
|
// Always block the HtmlEditorField.js otherwise it will be sent with an ajax request
|
||||||
Requirements::block(SAPPHIRE_DIR . '/javascript/HtmlEditorField.js');
|
Requirements::block(SAPPHIRE_DIR . '/javascript/HtmlEditorField.js');
|
||||||
Requirements::javascript(CMS_DIR . '/javascript/ReportAdmin.Tree.js');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -57,6 +58,12 @@ class ReportAdmin extends LeftAndMain {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function currentPageID() {
|
||||||
|
$id = parent::currentPageID();
|
||||||
|
$reports = SS_Report::get_reports('ReportAdmin');
|
||||||
|
return (isset($reports[$id])) ? $reports[$id] : null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a DataObjectSet of SS_Report subclasses
|
* Return a DataObjectSet of SS_Report subclasses
|
||||||
* that are available for use.
|
* that are available for use.
|
||||||
@ -71,74 +78,6 @@ class ReportAdmin extends LeftAndMain {
|
|||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get EditForm for the class specified in request or in session variable
|
|
||||||
*
|
|
||||||
* @return Form
|
|
||||||
*/
|
|
||||||
public function EditForm($request = null) {
|
|
||||||
$className = Session::get('currentPage');
|
|
||||||
$requestId = $request ? $request->requestVar('ID') : null;
|
|
||||||
|
|
||||||
if ( $requestId )
|
|
||||||
return $this->getEditForm($requestId);
|
|
||||||
|
|
||||||
// $className can be null
|
|
||||||
return $this->getEditForm($className);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a Form instance with fields for the
|
|
||||||
* particular report currently viewed.
|
|
||||||
*
|
|
||||||
* @param string $className Class of the report to fetch
|
|
||||||
* @return Form
|
|
||||||
*/
|
|
||||||
public function getEditForm($className = null) {
|
|
||||||
if (!$className) {
|
|
||||||
return $form = $this->EmptyForm();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (!class_exists($className)) {
|
|
||||||
die("$className does not exist");
|
|
||||||
}
|
|
||||||
|
|
||||||
Session::set('currentPage', $className);
|
|
||||||
|
|
||||||
$obj = new $className();
|
|
||||||
if(!$obj->canView()) return Security::permissionFailure($this);
|
|
||||||
|
|
||||||
$fields = $obj->getCMSFields();
|
|
||||||
|
|
||||||
$idField = new HiddenField('ID');
|
|
||||||
$idField->setValue($className);
|
|
||||||
$fields->push($idField);
|
|
||||||
|
|
||||||
$actions = new FieldSet();
|
|
||||||
|
|
||||||
$form = new Form($this, 'EditForm', $fields, $actions);
|
|
||||||
|
|
||||||
return $form;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the current report
|
|
||||||
*
|
|
||||||
* @return SS_Report
|
|
||||||
*/
|
|
||||||
public function CurrentReport() {
|
|
||||||
$id = isset($_REQUEST['ID']) ? $_REQUEST['ID'] : ($this->getRequest()->latestParam('Action') == 'EditForm') ? Session::get('currentReport') : null;
|
|
||||||
|
|
||||||
if($id) {
|
|
||||||
foreach($this->Reports() as $report) {
|
|
||||||
if($id == $report->ID()) return $report;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if we have reports and need
|
* Determine if we have reports and need
|
||||||
* to display the "Reports" main menu item
|
* to display the "Reports" main menu item
|
||||||
@ -160,8 +99,4 @@ class ReportAdmin extends LeftAndMain {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
|
24
templates/Includes/ReportAdmin_Content.ss
Executable file
24
templates/Includes/ReportAdmin_Content.ss
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
<div class="cms-content center" data-layout="{type: 'border'}">
|
||||||
|
|
||||||
|
<div class="cms-content-header north">
|
||||||
|
<h2><% _t('REPORTS','Reports') %></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cms-content-tools west">
|
||||||
|
|
||||||
|
<ul class="ui-widget-content">
|
||||||
|
<% control Reports %>
|
||||||
|
<li id="record-$ID">
|
||||||
|
<a href="admin/reports/show/$ID" title="$TreeDescription">$TreeTitle</a>
|
||||||
|
</li>
|
||||||
|
<% end_control %>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="cms-content-form center ui-widget-content">
|
||||||
|
$EditForm
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
@ -1,14 +0,0 @@
|
|||||||
<% if Reports %>
|
|
||||||
<ul id="sitetree" class="tree unformatted">
|
|
||||||
<li id="record-$ID" class="Root">
|
|
||||||
<a><% _t('REPORTS','Reports') %></a>
|
|
||||||
<ul>
|
|
||||||
<% control Reports %>
|
|
||||||
<li id="record-$ID">
|
|
||||||
<a href="admin/reports/show/$ID" title="$TreeDescription">$TreeTitle</a>
|
|
||||||
</li>
|
|
||||||
<% end_control %>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<% end_if %>
|
|
@ -1,16 +0,0 @@
|
|||||||
<style>
|
|
||||||
ul.tree a{
|
|
||||||
background-image: url(cms/images/treeicons/reports-file.png);
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div id="treepanes">
|
|
||||||
<h3>
|
|
||||||
<a href="#"><% _t('REPORTS','Reports') %></a>
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div id="sitetree" data-url-tree="$Link(getsubtree)" data-url-savetreenode="$Link(savetreenode)" class="jstree jstree-apple">
|
|
||||||
<% include ReportAdmin_SiteTree %>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
Loading…
Reference in New Issue
Block a user