add additional descriptions
This commit is contained in:
parent
39623ff5a6
commit
c648ebd4fc
|
@ -63,8 +63,11 @@ class IndexController extends Controller
|
|||
$relationTypes = array_combine($relationTypes, $relationTypes);
|
||||
|
||||
$titleTypes = ['sub' => 'sub', 'alternative' => 'alternative', 'translated' => 'translated', 'other' => 'other'];
|
||||
|
||||
$descriptionTypes = [ 'methods' => 'methods', 'series_information' => 'series_information', 'technical_info' => 'technical_info', 'other' => 'other'];
|
||||
|
||||
//$relationTypes = array('updates' => 'updates', 'updated-by' => 'updated-by', 'other' => 'other');
|
||||
return view('publish.create-step1', compact('licenses', 'languages', 'projects', 'relatedIdentifierTypes', 'relationTypes', 'titleTypes'));
|
||||
return view('publish.create-step1', compact('licenses', 'languages', 'projects', 'relatedIdentifierTypes', 'relationTypes', 'titleTypes', 'descriptionTypes'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -367,6 +370,14 @@ class IndexController extends Controller
|
|||
$dataset->addMainAbstract($abstract);
|
||||
}
|
||||
|
||||
//save additional descriptions
|
||||
if (isset($data['descriptions'])) {
|
||||
foreach ($request->get('descriptions') as $key => $description) {
|
||||
$descriptionReference = new Description($description);
|
||||
$dataset->abstracts()->save($descriptionReference);
|
||||
}
|
||||
}
|
||||
|
||||
//save references
|
||||
if (isset($data['references'])) {
|
||||
foreach ($request->get('references') as $key => $reference) {
|
||||
|
|
|
@ -11,6 +11,9 @@ class Description extends Model
|
|||
|
||||
|
||||
protected $fillable = [
|
||||
'value',
|
||||
'type',
|
||||
'language'
|
||||
];
|
||||
|
||||
public function dataset()
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -33,6 +33,7 @@ function initialState() {
|
|||
files: [],
|
||||
references: [],
|
||||
titles: [],
|
||||
descriptions: [],
|
||||
checkedContributors: [],
|
||||
checkedSubmitters: [],
|
||||
|
||||
|
|
|
@ -214,6 +214,13 @@ const app = new Vue({
|
|||
formData.append('titles[' + i + '][type]', title.type);
|
||||
}
|
||||
|
||||
for (var i = 0; i < this.dataset.descriptions.length; i++) {
|
||||
let description = this.dataset.descriptions[i];
|
||||
formData.append('descriptions[' + i + '][value]', description.value);
|
||||
formData.append('descriptions[' + i + '][language]', description.language);
|
||||
formData.append('descriptions[' + i + '][type]', description.type);
|
||||
}
|
||||
|
||||
/*
|
||||
Make the request to the POST /multiple-files URL
|
||||
*/
|
||||
|
@ -290,11 +297,22 @@ const app = new Vue({
|
|||
this.dataset.titles.push(newTitle);
|
||||
},
|
||||
/*
|
||||
Removes a selected reference
|
||||
Removes a selected title
|
||||
*/
|
||||
removeTitle(key) {
|
||||
this.dataset.titles.splice(key, 1);
|
||||
},
|
||||
addDescription() {
|
||||
let newTitle = { value: '', language: '', type: '' };
|
||||
//this.dataset.files.push(uploadedFiles[i]);
|
||||
this.dataset.descriptions.push(newTitle);
|
||||
},
|
||||
/*
|
||||
Removes a selected description
|
||||
*/
|
||||
removeDescription(key) {
|
||||
this.dataset.descriptions.splice(key, 1);
|
||||
},
|
||||
filesChange(fieldName, fileList) {
|
||||
this.fileCount = fileList.length
|
||||
// this.dataset.files = this.$refs.files.files;
|
||||
|
|
|
@ -107,7 +107,40 @@
|
|||
"v-validate" => "'required'", "data-vv-as" => "Abstract Language", 'data-vv-scope' => 'step-2']) !!}
|
||||
</div>
|
||||
</div>
|
||||
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||
{!! Form::label('AddtionalDescription', 'Add additional descriptions(s) ') !!}
|
||||
<button class="pure-button button-small" @click.prevent="addDescription()">+</button>
|
||||
</div>
|
||||
</div>
|
||||
<table class="pure-table pure-table-horizontal" v-if="dataset.descriptions.length">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 20px;">Description</th>
|
||||
<th>Type</th>
|
||||
<th>Language</th>
|
||||
<th style="width: 130px;"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in dataset.descriptions">
|
||||
<td>
|
||||
<input name="Description[Value]" class="form-control" placeholder="[DESCRIPTION]" v-model="item.value" v-validate="'required'" data-vv-scope="step-1" />
|
||||
</td>
|
||||
<td>
|
||||
{!! Form::select('Description[Type]', $descriptionTypes, null,
|
||||
['placeholder' => '[descriptionType]', 'v-model' => 'item.type', "v-validate" => "'required'", 'data-vv-scope' => 'step-1']) !!}
|
||||
</td>
|
||||
<td>
|
||||
{!! Form::select('Description[Language]', $languages, null,
|
||||
['placeholder' => '[language]', 'v-model' => 'item.language', "v-validate" => "'required'", 'data-vv-scope' => 'step-1']) !!}
|
||||
</td>
|
||||
<td>
|
||||
<button class="pure-button button-small is-warning" @click.prevent="removeDescription(index)">-</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</fieldset>
|
||||
|
||||
<fieldset id="fieldset-creator">
|
||||
|
|
Loading…
Reference in New Issue
Block a user