Skip to content

Commit

Permalink
Merge pull request #621 from creative-commoners/pulls/4.2/fix-submiss…
Browse files Browse the repository at this point in the history
…ions-gridfield-state

FIX Pass submissions GridFieldConfig to GridField constructor to avoid error in state
  • Loading branch information
fspringveldt authored Jun 26, 2017
2 parents a1a7a0f + d88ce28 commit 08b0a74
Showing 1 changed file with 24 additions and 21 deletions.
45 changes: 24 additions & 21 deletions code/model/UserDefinedForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -118,14 +118,13 @@ class UserDefinedForm extends Page
/**
* @return FieldList
*/
public function getCMSFields()
{
Requirements::css(USERFORMS_DIR . '/css/UserForm_cms.css');

$self = $this;
public function getCMSFields()
{
Requirements::css(USERFORMS_DIR . '/css/UserForm_cms.css');

$this->beforeUpdateCMSFields(function ($fields) use ($self) {
$self = $this;

$this->beforeUpdateCMSFields(function ($fields) use ($self) {
// define tabs
$fields->findOrMakeTab('Root.FormOptions', _t('UserDefinedForm.CONFIGURATION', 'Configuration'));
$fields->findOrMakeTab('Root.Recipients', _t('UserDefinedForm.RECIPIENTS', 'Recipients'));
Expand Down Expand Up @@ -167,12 +166,6 @@ public function getCMSFields()


// view the submissions
$submissions = new GridField(
'Submissions',
_t('UserDefinedForm.SUBMISSIONS', 'Submissions'),
$self->Submissions()->sort('Created', 'DESC')
);

// make sure a numeric not a empty string is checked against this int column for SQL server
$parentID = (!empty($self->ID)) ? (int) $self->ID : 0;

Expand Down Expand Up @@ -229,23 +222,33 @@ public function getCMSFields()
$export->setCsvHasHeader(true);
$export->setExportColumns($columns);

$submissions->setConfig($config);
$submissions = GridField::create(
'Submissions',
_t('UserDefinedForm.SUBMISSIONS', 'Submissions'),
$self->Submissions()->sort('Created', 'DESC'),
$config
);
$fields->addFieldToTab('Root.Submissions', $submissions);
$fields->addFieldToTab('Root.FormOptions', new CheckboxField('DisableSaveSubmissions', _t('UserDefinedForm.SAVESUBMISSIONS', 'Disable Saving Submissions to Server')));

$fields->addFieldToTab(
'Root.FormOptions',
CheckboxField::create(
'DisableSaveSubmissions',
_t('UserDefinedForm.SAVESUBMISSIONS', 'Disable Saving Submissions to Server')
)
);
});

$fields = parent::getCMSFields();
$fields = parent::getCMSFields();

if ($this->EmailRecipients()->Count() == 0 && static::config()->recipients_warning_enabled) {
$fields->addFieldToTab("Root.Main", new LiteralField("EmailRecipientsWarning",
if ($this->EmailRecipients()->Count() == 0 && static::config()->recipients_warning_enabled) {
$fields->addFieldToTab("Root.Main", new LiteralField("EmailRecipientsWarning",
"<p class=\"message warning\">" . _t("UserDefinedForm.NORECIPIENTS",
"Warning: You have not configured any recipients. Form submissions may be missed.")
. "</p>"), "Title");
}
}

return $fields;
}
return $fields;
}

/**
* Allow overriding the EmailRecipients on a {@link DataExtension}
Expand Down

0 comments on commit 08b0a74

Please sign in to comment.