Source of file GridFieldConfig_FlexiFormSubmission.php
Size: 1,849 Bytes - Last Modified: 2021-12-24T06:34:15+00:00
/var/www/docs.ssmods.com/process/src/code/forms/gridfield/GridFieldConfig_FlexiFormSubmission.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | <?php class GridFieldConfig_FlexiFormSubmission extends GridFieldConfig { public function __construct($flexi) { $this->addComponent(new GridFieldToolbarHeader()); $this->addComponent($sort = new GridFieldSortableHeader()); $this->addComponent($filter = new GridFieldFilterHeader()); $this->addComponent(new GridFieldDataColumns()); $this->addComponent(new GridFieldEditButton()); $this->addComponent(new GridFieldDeleteAction(false)); $this->addComponent(new GridFieldDetailForm()); $this->addComponent($export = new GridFieldExportButton()); $this->addComponent($pagination = new GridFieldPaginator()); $sort->setThrowExceptionOnBadDataType(false); $filter->setThrowExceptionOnBadDataType(false); $pagination->setThrowExceptionOnBadDataType(false); // add submission values to exports /////////////////////////////////// $export->setExportColumns($this->getCSVColumns($flexi)); } private function getCSVColumns($flexi) { $columns = array( 'SubmittedBy' => 'Submitted By', 'IPAddress' => 'IP Address', 'Created' => 'Created' ); $sql = new SQLQuery(); $sql->setFrom('FlexiFormSubmissionValue'); $sql->setSelect('"FlexiFormSubmissionValue"."Name"'); $sql->addLeftJoin('FlexiFormSubmission','"FlexiFormSubmissionValue"."SubmissionID" = "FlexiFormSubmission"."ID"'); $sql->addWhere('"FlexiFormSubmission"."FlexiFormID" = ' . $flexi->ID); $sql->addWhere('"FlexiFormSubmission"."FlexiFormClass" = \'' . $flexi->class . '\''); $sql->setDistinct(true); foreach($sql->execute() as $row) { $columns['Values.' . $row['Name']] = $row['Name']; } return $columns; } } |