- release form mit radio buttons um preferred reviewer verpflichtend auswählen zu müssen

- reject form for editor
- beim Releasen mind. 1 Datensatz angeben
This commit is contained in:
Arno Kaimbacher 2019-05-22 14:02:16 +02:00
parent 178d0e7f6b
commit fed2fafd55
9 changed files with 66 additions and 17 deletions

View file

@ -8,13 +8,14 @@ const app = new Vue({
el: '#app1',
data() {
return {
dataset: {
firstName: '',
preferred_reviewer: '',
preferred_reviewer_email: ''
},
// dataset: {
// firstName: '',
// preferred_reviewer: null,
// preferred_reviewer_email: null
// },
dataset: window.Laravel.dataset,
submitted: false,
preferation: "no_preferation",
preferation: "yes_preferation",
}
},
computed: {
@ -22,6 +23,14 @@ const app = new Vue({
return this.preferation === "yes_preferation";
},
},
watch: {
preferation(val) {
if (val === "no_preferation") {
this.dataset.preferred_reviewer = "";
this.dataset.preferred_reviewer_email = "";
}
}
},
methods: {
checkForm(e) {
// Log entire model to console
@ -29,7 +38,11 @@ const app = new Vue({
this.submitted = true;
this.$validator.validate().then(result => {
if (result) {
console.log('From Submitted!');
if (this.preferation === "no_preferation") {
this.dataset.preferred_reviewer = "";
this.dataset.preferred_reviewer_email = "";
}
// console.log('From Submitted!');
document.getElementById("releaseForm").submit();
return;
}

View file

@ -3,7 +3,8 @@
<div class="pure-g">
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('name_long', 'Lizenzname') !!} {!! Form::text('name_long', null, ['class' => 'pure-u-23-24', 'placeholder'
{!! Form::label('name_long', 'Lizenzname') !!}
{!! Form::text('name_long', null, ['class' => 'pure-u-23-24', 'placeholder'
=> '--no language--']) !!}
</div>

View file

@ -44,6 +44,7 @@
@else
no title
@endif
{{ $dataset->files->count() }}
</td>
<td>
{{ $dataset->user->login }}

View file

@ -12,6 +12,17 @@
</h3>
</div>
@if (count($errors) > 0)
<div class="alert alert-danger">
<strong>Whoops!</strong> There were some problems with your input.<br><br>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="pure-g box-content">
<div class="pure-u-1 pure-u-md-1">
@ -63,7 +74,7 @@
{!! Form::text('preferred_reviewer_email', null, array(
'placeholder' => 'Email', 'id' => 'preferred_reviewer_email', 'class' => 'pure-u-23-24',
'v-model' => 'dataset.preferred_reviewer_email',
"v-validate" => "this.isPreferationRequired ? 'required|mail' : ''")) !!}
"v-validate" => "this.isPreferationRequired ? 'required|email' : ''")) !!}
<em>*</em>
<span class="help is-danger" v-if="errors.has('preferred_reviewer_email')" v-text="errors.first('preferred_reviewer_email')"></span>
@ -98,6 +109,13 @@
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>--}} {{--
<script type="text/javascript" src="{{ resource_path('assets\js\datasetPublish.js') }}"></script> --}}
<script>
window.Laravel = <?php echo json_encode([
'csrf_token' => csrf_token(),
'dataset' => $dataset
]); ?>
</script>
<script type="text/javascript" src="{{ asset('backend/publish/releaseDataset.js') }}"></script>
@stop