mirror of
https://github.com/silverstripe/silverstripe-reports
synced 2024-10-22 11:05:53 +02:00
(merged from branches/roa. use "svn log -c <changeset> -g <module-svn-path>" for detailed commit message)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@59927 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
e858222ce1
commit
5000d0a227
@ -39,7 +39,7 @@ abstract class ModelAdmin extends LeftAndMain {
|
||||
public static $allowed_actions = array(
|
||||
'add',
|
||||
'edit',
|
||||
'delete',
|
||||
'delete'
|
||||
);
|
||||
|
||||
public function init() {
|
||||
@ -181,8 +181,6 @@ abstract class ModelAdmin extends LeftAndMain {
|
||||
return $form;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ############# Utility Methods ##############
|
||||
|
||||
/**
|
||||
@ -257,8 +255,67 @@ abstract class ModelAdmin extends LeftAndMain {
|
||||
new FormAction('search', _t('MemberTableField.SEARCH'))
|
||||
)
|
||||
);
|
||||
|
||||
//$form->setFormMethod('get');
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Another counter intuitive hoop to jump through, as the Form constructor
|
||||
* is still thoroughly confusing the hell out of me.
|
||||
*/
|
||||
function FormObjectLink($value) {
|
||||
$value = str_replace('SearchForm_', '', $value);
|
||||
return "admin/crm/$value/search";
|
||||
}
|
||||
|
||||
/**
|
||||
* Action to execute a search using the model context
|
||||
*/
|
||||
function search() {
|
||||
$className = $this->urlParams['ClassName'];
|
||||
if (in_array($className, $this->getManagedModels())) {
|
||||
$model = singleton($className);
|
||||
// @todo need to filter post vars
|
||||
$searchKeys = array_intersect_key($_POST, $model->searchableFields());
|
||||
$context = $model->getDefaultSearchContext();
|
||||
$results = $context->getResultSet($searchKeys);
|
||||
if ($results) {
|
||||
echo "<table>";
|
||||
foreach($results as $row) {
|
||||
$uri = Director::absoluteBaseUrl();
|
||||
echo "<tr id=\"{$uri}admin/crm/$className/view/$row->ID\">";
|
||||
foreach($model->searchableFields() as $key=>$val) {
|
||||
echo "<td>";
|
||||
echo $row->getField($key);
|
||||
echo "</td>";
|
||||
}
|
||||
echo "</tr>";
|
||||
}
|
||||
echo "</table>";
|
||||
} else {
|
||||
echo "<p>No results found</p>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function view() {
|
||||
$className = $this->urlParams['ClassName'];
|
||||
$ID = $this->urlParams['ID'];
|
||||
|
||||
if (in_array($className, $this->getManagedModels())) {
|
||||
|
||||
$model = DataObject::get_by_id($className, $ID);
|
||||
|
||||
$fields = $model->getCMSFields();
|
||||
|
||||
$form = new Form($this, $className, $fields, new FieldSet());
|
||||
$form->makeReadonly();
|
||||
$form->loadNonBlankDataFrom($model);
|
||||
echo $form->forTemplate();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user