Skip to content

Commit 0889c06

Browse files
committed
fix stale sections persist case
1 parent 15eb414 commit 0889c06

2 files changed

Lines changed: 49 additions & 0 deletions

File tree

src/Http/Controllers/CP/Fields/FieldsetController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ public function update(Request $request, $fieldset)
159159
$contents['fields'] = collect($request->fields)->map(function ($field) {
160160
return FieldTransformer::fromVue($field);
161161
})->all();
162+
unset($contents['sections']);
162163
}
163164

164165
$fieldset->setContents($contents);

tests/Feature/Fieldsets/UpdateFieldsetTest.php

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,54 @@ public function fieldset_gets_saved_with_sections()
187187
], Facades\Fieldset::find('test')->contents());
188188
}
189189

190+
#[Test]
191+
public function fieldset_sections_are_removed_when_updating_with_flat_fields()
192+
{
193+
$user = tap(Facades\User::make()->makeSuper())->save();
194+
$fieldset = (new Fieldset)->setHandle('test')->setContents([
195+
'title' => 'Test',
196+
'sections' => [
197+
[
198+
'display' => 'SEO',
199+
'fields' => [
200+
['handle' => 'legacy', 'field' => ['type' => 'text']],
201+
],
202+
],
203+
],
204+
])->save();
205+
206+
$this
207+
->actingAs($user)
208+
->submit($fieldset, [
209+
'title' => 'Updated title',
210+
'fields' => [
211+
[
212+
'_id' => 'flat-1',
213+
'handle' => 'meta_title',
214+
'type' => 'inline',
215+
'config' => [
216+
'type' => 'text',
217+
'display' => 'Meta title',
218+
],
219+
],
220+
],
221+
])
222+
->assertStatus(204);
223+
224+
$this->assertEquals([
225+
'title' => 'Updated title',
226+
'fields' => [
227+
[
228+
'handle' => 'meta_title',
229+
'field' => [
230+
'type' => 'text',
231+
'display' => 'Meta title',
232+
],
233+
],
234+
],
235+
], Facades\Fieldset::find('test')->contents());
236+
}
237+
190238
#[Test]
191239
public function import_section_behavior_is_saved_when_flattening_sections()
192240
{

0 commit comments

Comments
 (0)