publication workflow

This commit is contained in:
Arno Kaimbacher 2019-01-24 16:56:39 +01:00
parent 32129363ef
commit 39623ff5a6
11 changed files with 153 additions and 139 deletions

View file

@ -9,6 +9,7 @@ use App\Models\File;
use App\Models\Person;
use App\Models\Project;
use App\Models\Title;
use App\Models\Description;
use App\Rules\RdrFiletypes;
use App\Rules\RdrFilesize;
use Illuminate\Http\Request;
@ -231,7 +232,7 @@ class IndexController extends Controller
// 'rights' => 'required|boolean|in:1',
// ]);
$rules = [
'server_state' => 'required',
// 'server_state' => 'required',
'type' => 'required|min:5',
'rights' => 'required|boolean|in:1',
'belongs_to_bibliography' => 'required|boolean',
@ -267,8 +268,10 @@ class IndexController extends Controller
if ($validator->passes()) {
//store dataset todo
//$data = $request->all();
$input = $request->except('files', 'licenses', 'abstract_main', 'title_main', 'references');
$input = $request->except('files', 'licenses', 'abstract_main', 'title_main', 'references', 'titles');
// array_push($input, "Himbeere");
// $input += ['server_state' => 'created' ];
$input['server_state'] = 'created';
$dataset = new Dataset($input);
DB::beginTransaction(); //Start transaction!
@ -347,10 +350,18 @@ class IndexController extends Controller
$dataset->addMainTitle($title);
}
//save additional titles
if (isset($data['titles'])) {
foreach ($request->get('titles') as $key => $title) {
$titleReference = new Title($title);
$dataset->titles()->save($titleReference);
}
}
//save main abstract:
if (isset($data['abstract_main'])) {
$formAbstract = $request->input('abstract_main');
$abstract = new Title();
$abstract = new Description();
$abstract->value = $formAbstract['value'];
$abstract->language = $formAbstract['language'];
$dataset->addMainAbstract($abstract);

View file

@ -119,10 +119,10 @@ class DatasetController extends Controller
for ($jahr = 1990; $jahr <= $nowYear; $jahr++) {
$years[$jahr] = $jahr;
}
$languages = DB::table('languages')
->where('active', true)
->pluck('part2_t', 'part2_t');
->where('active', true)
->pluck('part1', 'part1');
//$options = License::all();
$options = License::all('id', 'name_long');

View file

@ -69,7 +69,7 @@ trait DatasetExtension
protected $fields = array();
protected function _initFields()
protected function initFields()
{
$fields = array(
"Id",
@ -176,7 +176,7 @@ trait DatasetExtension
public function fetchValues()
{
$this->_initFields();
$this->initFields();
foreach ($this->fields as $fieldname => $field) {
if (isset($this->externalFields[$fieldname]) === true) {
$fetchmode = 'lazy';

View file

@ -7,7 +7,7 @@ use App\Models\Collection;
use App\Models\License;
use App\Models\Project;
use App\Models\Description;
use App\Models\Titel;
use App\Models\Title;
use App\Models\Person;
use App\Models\XmlCache;
use App\Models\File;
@ -28,6 +28,7 @@ class Dataset extends Model
protected $fillable = [
'type',
'language',
'server_state',
'creating_corporation',
'project_id',
@ -132,7 +133,7 @@ class Dataset extends Model
#region title table:
public function titles()
{
return $this->hasMany(Titel::class, 'document_id', 'id');
return $this->hasMany(Title::class, 'document_id', 'id');
}
public function addMainTitle(Title $title)
@ -152,10 +153,10 @@ class Dataset extends Model
return $this->hasMany(Description::class, 'document_id', 'id');
}
public function addMainAbstract(Title $title)
public function addMainAbstract(Description $title)
{
$title->type = 'abstract';
$this->titlesAbstracts()->save($title);
$this->abstracts()->save($title);
// $this->abstracts()->save($title, ['type' => 'abstract']);
}

View file

@ -11,6 +11,9 @@ class Title extends Model
protected $fillable = [
'value',
'type',
'language'
];
public function dataset()