- schow no contributor in oai if no contributor is defined

- add contributor_type during creating the dataset
This commit is contained in:
Arno Kaimbacher 2020-05-04 13:50:23 +02:00
parent 76bdfcdf92
commit 3a2336adad
23 changed files with 434 additions and 316 deletions

View file

@ -21,6 +21,7 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Config;
class IndexController extends Controller
{
@ -75,6 +76,8 @@ class IndexController extends Controller
$page = Page::query()->where('page_slug', 'terms-and-conditions')->firstOrFail();
$contributorTypes = Config::get('enums.contributor_types');
//$relationTypes = array('updates' => 'updates', 'updated-by' => 'updated-by', 'other' => 'other');
return view(
'publish.create-step1',
@ -88,6 +91,7 @@ class IndexController extends Controller
'titleTypes',
'keywordTypes',
'descriptionTypes',
'contributorTypes',
'page'
)
);
@ -394,7 +398,11 @@ class IndexController extends Controller
if (isset($data['contributors'])) {
//$data_to_sync = [];
foreach ($request->get('contributors') as $key => $contributor) {
$pivot_data = ['role' => 'contributor', 'sort_order' => $key + 1];
$pivot_data = [
'role' => 'contributor',
'sort_order' => $key + 1,
'contributor_type' => $contributor['contributor_type']
];
if (isset($contributor['id'])) {
//$data_to_sync[$person['id']] = $pivot_data;
$dataset->persons()->attach($contributor['id'], $pivot_data);

View file

@ -26,6 +26,7 @@ use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\View;
use Illuminate\Support\Facades\Config;
class SubmitController extends Controller
{
@ -61,8 +62,11 @@ class SubmitController extends Controller
*/
public function edit($id): \Illuminate\Contracts\View\View
{
$dataset = Dataset::findOrFail($id);
$dataset->load('licenses', 'authors', 'contributors', 'titles', 'abstracts', 'files', 'coverage', 'subjects', 'references');
// $dataset = Dataset::findOrFail($id);
$dataset = Dataset::where('id', $id)
->with('contributors')->first();
$dataset->load('licenses', 'authors', 'titles', 'abstracts', 'files', 'coverage', 'subjects', 'references');
$titleTypes = ['Main' => 'Main', 'Sub' => 'Sub', 'Alternative' => 'Alternative',
'Translated' => 'Translated', 'Other' => 'Other'];
@ -72,6 +76,8 @@ class SubmitController extends Controller
$languages = DB::table('languages')
->where('active', true)
->pluck('part1', 'part1');
$contributorTypes = Config::get('enums.contributor_types');
$messages = DB::table('messages')
->pluck('help_text', 'metadata_element');
@ -111,6 +117,7 @@ class SubmitController extends Controller
'dataset',
'titleTypes',
'descriptionTypes',
'contributorTypes',
'languages',
'messages',
'projects',

View file

@ -139,7 +139,7 @@ class Dataset extends Model
{
return $this
->belongsToMany(Person::class, 'link_documents_persons', 'document_id', 'person_id')
->withPivot('role', 'sort_order', 'allow_email_contact');
->withPivot('role', 'sort_order', 'allow_email_contact', 'contributor_type');
}
/**