API Fix issue with namespaced reports

Add permission code to reports
Fix include paths
This commit is contained in:
Damian Mooyman 2016-08-12 15:55:47 +12:00
parent a325bfb222
commit a96ab15af3
3 changed files with 27 additions and 5 deletions

View File

@ -154,11 +154,21 @@ class SS_Report extends ViewableData
{
return Controller::join_links(
ReportAdmin::singleton()->Link('show'),
get_class($this),
$this->sanitiseClassName(get_class($this)),
$action
);
}
/**
* Sanitise a model class' name for inclusion in a link
*
* @param string $class
* @return string
*/
protected function sanitiseClassName($class) {
return str_replace('\\', '-', $class);
}
/**
* counts the number of objects returned

View File

@ -44,6 +44,8 @@ class ReportAdmin extends LeftAndMain implements PermissionProvider
*/
protected $reportObject;
private static $required_permission_codes = 'CMS_ACCESS_ReportAdmin';
public function init()
{
parent::init();
@ -105,7 +107,7 @@ class ReportAdmin extends LeftAndMain implements PermissionProvider
public function handleAction($request, $action)
{
$this->reportClass = $request->param('ReportClass');
$this->reportClass = $this->unsanitiseClassName($request->param('ReportClass'));
// Check report
if ($this->reportClass) {
@ -120,6 +122,16 @@ class ReportAdmin extends LeftAndMain implements PermissionProvider
return parent::handleAction($request, $action);
}
/**
* Unsanitise a model class' name from a URL param
*
* @param string $class
* @return string
*/
protected function unsanitiseClassName($class) {
return str_replace('-', '\\', $class);
}
/**
* Determine if we have reports and need
* to display the "Reports" main menu item

View File

@ -3,9 +3,9 @@
<div class="cms-content-header north">
<% with $EditForm %>
<div class="cms-content-header-info">
<% include BackLink_Button %>
<% include SilverStripe\\Admin\\BackLink_Button %>
<% with $Controller %>
<% include CMSBreadcrumbs %>
<% include SilverStripe\\Admin\\CMSBreadcrumbs %>
<% end_with %>
</div>
<% end_with %>
@ -17,4 +17,4 @@
</div>
</div>
</div>