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);
|
$relationTypes = array_combine($relationTypes, $relationTypes);
|
||||||
|
|
||||||
$titleTypes = ['sub' => 'sub', 'alternative' => 'alternative', 'translated' => 'translated', 'other' => 'other'];
|
$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');
|
//$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);
|
$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
|
//save references
|
||||||
if (isset($data['references'])) {
|
if (isset($data['references'])) {
|
||||||
foreach ($request->get('references') as $key => $reference) {
|
foreach ($request->get('references') as $key => $reference) {
|
||||||
|
|
|
@ -11,6 +11,9 @@ class Description extends Model
|
||||||
|
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
|
'value',
|
||||||
|
'type',
|
||||||
|
'language'
|
||||||
];
|
];
|
||||||
|
|
||||||
public function dataset()
|
public function dataset()
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -33,6 +33,7 @@ function initialState() {
|
||||||
files: [],
|
files: [],
|
||||||
references: [],
|
references: [],
|
||||||
titles: [],
|
titles: [],
|
||||||
|
descriptions: [],
|
||||||
checkedContributors: [],
|
checkedContributors: [],
|
||||||
checkedSubmitters: [],
|
checkedSubmitters: [],
|
||||||
|
|
||||||
|
|
|
@ -214,6 +214,13 @@ const app = new Vue({
|
||||||
formData.append('titles[' + i + '][type]', title.type);
|
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
|
Make the request to the POST /multiple-files URL
|
||||||
*/
|
*/
|
||||||
|
@ -290,11 +297,22 @@ const app = new Vue({
|
||||||
this.dataset.titles.push(newTitle);
|
this.dataset.titles.push(newTitle);
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
Removes a selected reference
|
Removes a selected title
|
||||||
*/
|
*/
|
||||||
removeTitle(key) {
|
removeTitle(key) {
|
||||||
this.dataset.titles.splice(key, 1);
|
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) {
|
filesChange(fieldName, fileList) {
|
||||||
this.fileCount = fileList.length
|
this.fileCount = fileList.length
|
||||||
// this.dataset.files = this.$refs.files.files;
|
// this.dataset.files = this.$refs.files.files;
|
||||||
|
|
|
@ -107,7 +107,40 @@
|
||||||
"v-validate" => "'required'", "data-vv-as" => "Abstract Language", 'data-vv-scope' => 'step-2']) !!}
|
"v-validate" => "'required'", "data-vv-as" => "Abstract Language", 'data-vv-scope' => 'step-2']) !!}
|
||||||
</div>
|
</div>
|
||||||
</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>
|
</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>
|
||||||
|
|
||||||
<fieldset id="fieldset-creator">
|
<fieldset id="fieldset-creator">
|
||||||
|
|
Loading…
Reference in New Issue
Block a user