diff --git a/_config/extensions.yml b/_config/extensions.yml index 5ec2910..6929dbd 100644 --- a/_config/extensions.yml +++ b/_config/extensions.yml @@ -7,3 +7,6 @@ SilverStripe\UserForms\Model\UserDefinedForm: SilverStripe\Assets\File: extensions: - SilverStripe\UserForms\Extension\UserFormFileExtension +SilverStripe\Admin\Forms\UsedOnTable: + extensions: + - SilverStripe\UserForms\Extensions\UsedOnTableExtension diff --git a/code/Extension/UsedOnTableExtension.php b/code/Extension/UsedOnTableExtension.php new file mode 100644 index 0000000..734fe74 --- /dev/null +++ b/code/Extension/UsedOnTableExtension.php @@ -0,0 +1,60 @@ +Parent(); + if (!$submittedForm) { + $dataObject = null; + return; + } + // Display the submitted form instead of the submitted file field + $dataObject = $submittedForm; + } + + /** + * @param array $ancestorDataObjects + * @param DataObject $dataObject + */ + public function updateUsageAncestorDataObjects(array &$ancestorDataObjects, DataObject $dataObject) + { + // SubmittedFileField was changed to a Submitted Form in updateUsageModifyOrExcludeDataObject() + if (!($dataObject instanceof SubmittedForm)) { + return; + } + /** @var UserDefinedForm $page */ + $page = $dataObject->Parent(); + if (!$page) { + return; + } + // Use an un-persisted DataObject with a 'Title' field to display the word 'Submissions' + $submissions = new EditableFormField(); + $submissions->Title = 'Submissions'; + $ancestorDataObjects[] = $submissions; + $ancestorDataObjects[] = $page; + } +} diff --git a/code/Model/Submission/SubmittedForm.php b/code/Model/Submission/SubmittedForm.php index c2b6abe..6089815 100755 --- a/code/Model/Submission/SubmittedForm.php +++ b/code/Model/Submission/SubmittedForm.php @@ -9,7 +9,6 @@ use SilverStripe\Forms\GridField\GridFieldConfig; use SilverStripe\Forms\GridField\GridFieldDataColumns; use SilverStripe\Forms\GridField\GridFieldExportButton; use SilverStripe\Forms\GridField\GridFieldPrintButton; -use SilverStripe\Forms\GridField\GridFieldToolbarHeader; use SilverStripe\Forms\ReadonlyField; use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DB; diff --git a/lang/en.yml b/lang/en.yml index e85b52e..aff5a2e 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -255,11 +255,11 @@ en: other: '{count} Submitted File Fields' SINGULARNAME: 'Submitted File Field' SilverStripe\UserForms\Model\Submission\SubmittedForm: - PLURALNAME: 'Submitted Forms' + PLURALNAME: 'Submitted forms' PLURALS: - one: 'A Submitted Form' - other: '{count} Submitted Forms' - SINGULARNAME: 'Submitted Form' + one: 'A Submitted form' + other: '{count} Submitted forms' + SINGULARNAME: 'Submitted form' SUBMITTER: Submitter SilverStripe\UserForms\Model\Submission\SubmittedFormField: PLURALNAME: 'Submitted Form Fields'