Compare commits
5 Commits
bf1388dbd9
...
5641006e2b
Author | SHA1 | Date |
---|---|---|
philipp lang | 5641006e2b | |
philipp lang | 607038af6b | |
philipp lang | 189b83f2a5 | |
philipp lang | 3f4c655e5e | |
philipp lang | 158cd2d352 |
|
@ -1,10 +1,7 @@
|
|||
<?php
|
||||
|
||||
use App\Form\Models\Form;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
|
|
|
@ -14,12 +14,6 @@ return new class extends Migration
|
|||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('forms', function (Blueprint $table) {
|
||||
$table->json('description')->default($this->default())->change();
|
||||
$table->json('mail_top')->default($this->default())->nullable(false)->change();
|
||||
$table->json('mail_bottom')->default($this->default())->nullable(false)->change();
|
||||
});
|
||||
|
||||
foreach (DB::table('forms')->get() as $form) {
|
||||
$mailTop = json_decode($form->mail_top, true);
|
||||
if (!$mailTop || !count($mailTop)) {
|
||||
|
@ -34,6 +28,12 @@ return new class extends Migration
|
|||
DB::table('forms')->where('id', $form->id)->update(['description' => $this->default()]);
|
||||
}
|
||||
}
|
||||
|
||||
Schema::table('forms', function (Blueprint $table) {
|
||||
$table->json('description')->default($this->default())->change();
|
||||
$table->json('mail_top')->default($this->default())->nullable(false)->change();
|
||||
$table->json('mail_bottom')->default($this->default())->nullable(false)->change();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="js" setup>
|
||||
<script setup>
|
||||
import {ref, inject, computed} from 'vue';
|
||||
const axios = inject('axios');
|
||||
const emit = defineEmits(['update:modelValue']);
|
||||
|
@ -70,7 +70,7 @@ const props = defineProps({
|
|||
id: {
|
||||
required: true,
|
||||
type: String,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
const comparatorOptions = ref([
|
||||
|
@ -144,14 +144,17 @@ const fieldOptions = computed(() =>
|
|||
);
|
||||
|
||||
function addCondition() {
|
||||
emit('update:modelValue', {...props.modelValue, ifs: [
|
||||
emit('update:modelValue', {
|
||||
...props.modelValue,
|
||||
ifs: [
|
||||
...props.modelValue.ifs,
|
||||
{
|
||||
field: null,
|
||||
comparator: null,
|
||||
value: null,
|
||||
}
|
||||
]});
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
|
||||
const locked = ref(false);
|
||||
|
@ -162,5 +165,7 @@ async function checkIfDirty() {
|
|||
locked.value = response.data.result;
|
||||
}
|
||||
|
||||
if (props.single.links && props.single.links.is_dirty) {
|
||||
checkIfDirty();
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -228,6 +228,8 @@ const allFields = computed(() => {
|
|||
function setTemplate(template) {
|
||||
active.value = 0;
|
||||
single.value.config = template.config;
|
||||
single.value.mail_top = template.mail_top;
|
||||
single.value.mail_bottom = template.mail_bottom;
|
||||
}
|
||||
|
||||
async function saveFileConditions(conditions) {
|
||||
|
|
|
@ -19,7 +19,6 @@ class FormIndexActionTest extends FormTestCase
|
|||
{
|
||||
Carbon::setTestNow(Carbon::parse('2023-03-03'));
|
||||
$this->login()->loginNami()->withoutExceptionHandling();
|
||||
Formtemplate::factory()->name('tname')->sections([FormtemplateSectionRequest::new()->name('sname')])->create();
|
||||
$form = Form::factory()
|
||||
->name('lala')
|
||||
->excerpt('fff')
|
||||
|
@ -58,8 +57,6 @@ class FormIndexActionTest extends FormTestCase
|
|||
->assertInertiaPath('data.data.0.links.export', route('form.export', ['form' => $form]))
|
||||
->assertInertiaPath('data.meta.links.store', route('form.store'))
|
||||
->assertInertiaPath('data.meta.links.formtemplate_index', route('formtemplate.index'))
|
||||
->assertInertiaPath('data.meta.templates.0.name', 'tname')
|
||||
->assertInertiaPath('data.meta.templates.0.config.sections.0.name', 'sname')
|
||||
->assertInertiaPath('data.meta.default.name', '')
|
||||
->assertInertiaPath('data.meta.default.prevention_conditions', ['mode' => 'all', 'ifs' => []])
|
||||
->assertInertiaPath('data.meta.default.prevention_text.version', '1.0')
|
||||
|
@ -76,6 +73,27 @@ class FormIndexActionTest extends FormTestCase
|
|||
->assertInertiaPath('data.meta.section_default.name', '');
|
||||
}
|
||||
|
||||
public function testFormtemplatesHaveData(): void
|
||||
{
|
||||
$this->login()->loginNami()->withoutExceptionHandling();
|
||||
Formtemplate::factory()->name('tname')->sections([FormtemplateSectionRequest::new()->name('sname')->fields([
|
||||
$this->textField('vorname')
|
||||
])])
|
||||
->mailTop(EditorRequestFactory::new()->text(10, 'lala'))
|
||||
->mailBottom(EditorRequestFactory::new()->text(10, 'lalb'))
|
||||
->create();
|
||||
|
||||
sleep(1);
|
||||
$this->get(route('form.index'))
|
||||
->assertOk()
|
||||
->assertInertiaPath('data.meta.templates.0.name', 'tname')
|
||||
->assertInertiaPath('data.meta.templates.0.name', 'tname')
|
||||
->assertInertiaPath('data.meta.templates.0.config.sections.0.name', 'sname')
|
||||
->assertInertiaPath('data.meta.templates.0.config.sections.0.fields.0.key', 'vorname')
|
||||
->assertInertiaPath('data.meta.templates.0.mail_top.blocks.0.data.text', 'lala')
|
||||
->assertInertiaPath('data.meta.templates.0.mail_bottom.blocks.0.data.text', 'lalb');
|
||||
}
|
||||
|
||||
public function testItDisplaysExport(): void
|
||||
{
|
||||
$this->login()->loginNami()->withoutExceptionHandling();
|
||||
|
|
Loading…
Reference in New Issue