- composer updates

- syntax improvements PSR2
- delete Book.php and BorrowController.php
- correct GeoLocation() method in Dataset.php
- use namesspace of Breadcrumbs class in breadcrumbs.php
- npm updates
This commit is contained in:
Arno Kaimbacher 2020-03-26 09:11:12 +01:00
parent 27464d08f7
commit 6a8b27efa6
14 changed files with 216 additions and 328 deletions

View File

@ -1,50 +0,0 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Book extends Model
{
protected $table = 'books';
protected $fillable = [
'title',
'author',
'year',
'stock',
'project_id'
];
public function project()
{
return $this->belongsTo('App\Models\Project', 'project_id', 'id');
}
// public function shelf()
// {
// return $this->belongsTo('App\Shelf');
// }
public function transactions()
{
//model, foreign key on the Transaction model is book_id, local id
return $this->hasMany('App\Transaction', 'book_id', 'id');
}
public function scopeAvailable($query)
{
return $query->where('stock', '>', 0);
}
public function scopeOrderByTitle($query)
{
return $query->orderBy('title');
}
public function hasProject()
{
return $this->project()->exists();
}
}

View File

@ -1,105 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Book;
use App\Person;
use App\Transaction;
use App\Models\Project;
use App\Http\Requests\PeminjamanRequest;
use Illuminate\Http\Request;
class BorrowController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
//$books = Book::available()->orderByTitle()->lists('title', 'id');
$persons = Person::active()->orderByName()->pluck('last_name', 'id');
//$categories = Category::lists('category', 'id');
$categories = Project::get();
return view('rdr.borrow.borrow', compact('persons', 'categories'));
}
public function store(PeminjamanRequest $request)
{
$input = $request->all();
$book_id = $input['book_id'];
$person_id = $input['person_id'];
$input['borrowed_at'] = time();
$transaction = Transaction::create($input);
$book = Book::findOrFail($book_id);
$stock = $book['stock'] - 1;
$book->update(['stock' => $stock]);
$person = Person::findOrFail($person_id);
$borrow = $person['borrow'] + 1;
$person->update(['borrow' => $borrow]);
session()->flash('flash_message', 'You have added 1 transaction!');
return redirect()->route('borrow.report');
}
public function report()
{
$dateNow = time();
$transactions = Transaction::with('student', 'book')->notReturnedYet()->get();
foreach ($transactions as $transaction) {
$dateDiff = $dateNow - $transaction['borrowed_at'];
$durasi = floor($dateDiff/(60 * 60 * 24));
// $fines = Fine::first();
// if($durasi > $fines['days'])
// {
// $hariDenda = $durasi - $fines['days'];
// $denda = $hariDenda * $fines['fines'];
// $transaction->update(['fines' => $denda]);
// }
// else
// {
// $denda = 0;
// $transaction->update(['fines' => $denda]);
// }
}
//ambil tanggal
//$date2 = mktime(0,0,0,05,31,2015);
//return $date2;
return view('rdr.borrow.report', compact('transactions', 'durasi'));
}
public function pengembalian($id)
{
$returnedAt = time();
$transaction = Transaction::findOrFail($id);
$transaction->update(['status' => 1, 'returned_at' => $returnedAt]);
$book = Book::findOrFail($transaction['book_id']);
$stock = $book['stock'] + 1;
$book->update(['stock' => $stock]);
$student = Student::findOrFail($transaction['student_id']);
$borrow = $student['borrow'] - 1;
$student->update(['borrow' => $borrow]);
session()->flash('flash_message', 'You have returned 1 book!');
return redirect()->route('borrow.histori');
}
public function perpanjang($id)
{
$transaction = Transaction::findOrFail($id);
$dateNow = time();
$transaction->update(['borrowed_at' => $dateNow, 'fines' => 0]);
session()->flash('flash_message', 'You have added 1 perpanjang!');
return redirect()->route('borrow.report');
}
public function histori()
{
$transactions = Transaction::returned()->get();
return view('rdr.borrow.histori', compact('transactions'));
}
}

View File

@ -1,14 +1,14 @@
<?php
namespace App\Http\Controllers\Oai;
use Illuminate\Http\Request;
use App\Exceptions\OaiModelException;
use App\Http\Controllers\Controller;
use App\Models\Dataset;
use Illuminate\Support\Facades\Log;
use App\Exceptions\OaiModelException;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use App\Models\Oai\OaiModelError;
use App\Models\Oai\ResumptionToken;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use \Exception;
class RequestController extends Controller
@ -19,17 +19,16 @@ class RequestController extends Controller
*
* @var array
*/
private $deliveringDocumentStates = array('published', 'deleted'); // maybe deleted documents too
private $deliveringDocumentStates = array('published', 'deleted'); // maybe deleted documents too
private $xMetaDissRestriction = array('doctoralthesis', 'habilitation');
const SET_SPEC_PATTERN = '[A-Za-z0-9\-_\.!~\*\'\(\)]+';
/**
* Holds xml representation of document information to be processed.
*
* @var \DomDocument Defaults to null.
*/
protected $_xml = null;
protected $xml = null;
/**
* Holds the stylesheet for the transformation.
@ -43,7 +42,7 @@ class RequestController extends Controller
*
* @var \XSLTProcessor Defaults to null.
*/
protected $_proc = null;
protected $proc = null;
/**
* Load an xslt stylesheet.
@ -54,19 +53,19 @@ class RequestController extends Controller
{
$this->xslt = new \DomDocument;
$this->xslt->load($stylesheet);
$this->_proc->importStyleSheet($this->xslt);
$this->proc->importStyleSheet($this->xslt);
if (isset($_SERVER['HTTP_HOST'])) {
$this->_proc->setParameter('', 'host', $_SERVER['HTTP_HOST']);
$this->proc->setParameter('', 'host', $_SERVER['HTTP_HOST']);
}
//$this->_proc->setParameter('', 'server', $this->getRequest()->getBaseUrl());
//$this->proc->setParameter('', 'server', $this->getRequest()->getBaseUrl());
}
public function __construct()
{
//$this->middleware('auth');
// Initialize member variables.
$this->_xml = new \DomDocument;
$this->_proc = new \XSLTProcessor;
$this->xml = new \DomDocument;
$this->proc = new \XSLTProcessor;
}
public function index(Request $request)
@ -82,40 +81,38 @@ class RequestController extends Controller
} catch (OaiModelException $e) {
$errorCode = OaiModelError::mapCode($e->getCode());
//$this->getLogger()->err($errorCode);
$this->_proc->setParameter('', 'oai_error_code', $errorCode);
$this->proc->setParameter('', 'oai_error_code', $errorCode);
//$this->getLogger()->err($e->getMessage());
$this->_proc->setParameter('', 'oai_error_message', htmlentities($e->getMessage()));
$this->proc->setParameter('', 'oai_error_message', htmlentities($e->getMessage()));
} catch (Exception $e) {
//$this->getLogger()->err($e);
$this->_proc->setParameter('', 'oai_error_code', 'unknown');
$this->_proc->setParameter('', 'oai_error_message', 'An internal error occured.');
$this->proc->setParameter('', 'oai_error_code', 'unknown');
$this->proc->setParameter('', 'oai_error_message', 'An internal error occured.');
//$this->getResponse()->setHttpResponseCode(500);
}
// $xml = $this->_xml->saveXML();
$xml = $this->_proc->transformToXML($this->_xml);
// $xml = $this->xml->saveXML();
$xml = $this->proc->transformToXML($this->xml);
//$xml = $this->doc->asXML();
return response($xml)//->view('rss', array('rss'=>$this->rss))
->header('Content-Type', 'application/xml')
->header('charset', 'utf-8');
//$xml = $this->doc->asXML();
return response($xml) //->view('rss', array('rss'=>$this->rss))
->header('Content-Type', 'application/xml')
->header('charset', 'utf-8');
}
private function __handleRequest(array $oaiRequest)
{
// Setup stylesheet
// Setup stylesheet
$this->loadStyleSheet('datasetxml2oai-pmh.xslt');
// Set response time
$this->_proc->setParameter('', 'responseDate', date("Y-m-d\TH:i:s\Z"));
$this->proc->setParameter('', 'responseDate', date("Y-m-d\TH:i:s\Z"));
// set OAI base url
$uri = explode('?', $_SERVER['REQUEST_URI'], 2);
$this->_proc->setParameter('', 'baseURL', url('/') . $uri[0]);
$this->proc->setParameter('', 'baseURL', url('/') . $uri[0]);
if (isset($oaiRequest['verb'])) {
$this->_proc->setParameter('', 'oai_verb', $oaiRequest['verb']);
$this->proc->setParameter('', 'oai_verb', $oaiRequest['verb']);
if ($oaiRequest['verb'] == 'Identify') {
$this->handleIdentify();
} elseif ($oaiRequest['verb'] == 'ListMetadataFormats') {
@ -133,7 +130,7 @@ class RequestController extends Controller
}
} else {
$oaiRequest['verb'] = 'Identify';
$this->_proc->setParameter('', 'oai_verb', $oaiRequest['verb']);
$this->proc->setParameter('', 'oai_verb', $oaiRequest['verb']);
$this->doc = $this->handleIdentify();
}
}
@ -148,16 +145,17 @@ class RequestController extends Controller
$email = "repository@geologie.ac.at";
$repositoryName = "Tethys RDR";
$repIdentifier = "tethys.geologie.ac.at";
$sampleIdentifier = "oai:" . $repIdentifier . ":27";//$this->_configuration->getSampleIdentifier();
$earliestDateFromDb = Dataset::earliestPublicationDate() != null ? Dataset::earliestPublicationDate()->server_date_published: null;
$sampleIdentifier = "oai:" . $repIdentifier . ":27"; //$this->_configuration->getSampleIdentifier();
$earliestDateFromDb = Dataset::earliestPublicationDate() != null ?
Dataset::earliestPublicationDate()->server_date_published : null;
// set parameters for oai-pmh.xslt
$this->_proc->setParameter('', 'email', $email);
$this->_proc->setParameter('', 'repositoryName', $repositoryName);
$this->_proc->setParameter('', 'repIdentifier', $repIdentifier);
$this->_proc->setParameter('', 'sampleIdentifier', $sampleIdentifier);
$this->_proc->setParameter('', 'earliestDatestamp', $earliestDateFromDb);
$this->_xml->appendChild($this->_xml->createElement('Datasets'));
$this->proc->setParameter('', 'email', $email);
$this->proc->setParameter('', 'repositoryName', $repositoryName);
$this->proc->setParameter('', 'repIdentifier', $repIdentifier);
$this->proc->setParameter('', 'sampleIdentifier', $sampleIdentifier);
$this->proc->setParameter('', 'earliestDatestamp', $earliestDateFromDb);
$this->xml->appendChild($this->xml->createElement('Datasets'));
}
/**
@ -176,7 +174,7 @@ class RequestController extends Controller
try {
//$dataset = new Opus_Document($docId);
$dataset = Dataset::findOrFail($dataId);
} catch (ModelNotFoundException $ex) {
} catch (ModelNotFoundException $ex) {
throw new OaiModelException(
'The value of the identifier argument is unknown or illegal in this repository.',
OaiModelError::IDDOESNOTEXIST
@ -187,17 +185,17 @@ class RequestController extends Controller
if (true === array_key_exists('metadataPrefix', $oaiRequest)) {
$metadataPrefix = $oaiRequest['metadataPrefix'];
}
$this->_proc->setParameter('', 'oai_metadataPrefix', $metadataPrefix);
$this->proc->setParameter('', 'oai_metadataPrefix', $metadataPrefix);
// do not deliver datasets which are restricted by document state
if (is_null($dataset)
//or (false === in_array($dataset->getServerState(), $this->_deliveringDocumentStates))
or (false === $dataset->whereIn('server_state', $this->deliveringDocumentStates))
or (false === $dataset->whereIn('server_state', $this->deliveringDocumentStates))
or (false === $dataset->hasEmbargoPassed())) {
throw new OaiModelException('Document is not available for OAI export!', OaiModelError::NORECORDSMATCH);
}
$this->_xml->appendChild($this->_xml->createElement('Datasets'));
$this->xml->appendChild($this->xml->createElement('Datasets'));
$this->createXmlRecord($dataset);
}
@ -236,9 +234,6 @@ class RequestController extends Controller
return $dataId;
}
/**
* Implements response for OAI-PMH verb 'ListMetadataFormats'.
*
@ -247,7 +242,7 @@ class RequestController extends Controller
*/
private function handleListMetadataFormats()
{
$this->_xml->appendChild($this->_xml->createElement('Datasets'));
$this->xml->appendChild($this->xml->createElement('Datasets'));
}
/**
@ -258,7 +253,7 @@ class RequestController extends Controller
*/
private function handleListRecords($oaiRequest)
{
$maxRecords = 30;//$this->_configuration->getMaxListRecords();
$maxRecords = 30; //$this->_configuration->getMaxListRecords();
$this->handlingOfLists($oaiRequest, $maxRecords);
}
@ -270,7 +265,7 @@ class RequestController extends Controller
*/
private function handleListIdentifiers(array &$oaiRequest)
{
$maxIdentifier = 5;//$this->_configuration->getMaxListIdentifiers();
$maxIdentifier = 5; //$this->_configuration->getMaxListIdentifiers();
$this->handlingOfLists($oaiRequest, $maxIdentifier);
}
@ -283,8 +278,8 @@ class RequestController extends Controller
private function handleListSets()
{
$repIdentifier = "tethys.geologie.ac.at";
$this->_proc->setParameter('', 'repIdentifier', $repIdentifier);
$this->_xml->appendChild($this->_xml->createElement('Datasets'));
$this->proc->setParameter('', 'repIdentifier', $repIdentifier);
$this->xml->appendChild($this->xml->createElement('Datasets'));
//$oaiSets = new Oai_Model_Sets();
$sets = array(
@ -298,27 +293,25 @@ class RequestController extends Controller
//$sets = $this->getSetsForDocumentTypes();
foreach ($sets as $type => $name) {
$opusDoc = $this->_xml->createElement('Rdr_Sets');
$typeAttr = $this->_xml->createAttribute('Type');
$typeValue = $this->_xml->createTextNode($type);
$opusDoc = $this->xml->createElement('Rdr_Sets');
$typeAttr = $this->xml->createAttribute('Type');
$typeValue = $this->xml->createTextNode($type);
$typeAttr->appendChild($typeValue);
$opusDoc->appendChild($typeAttr);
$nameAttr = $this->_xml->createAttribute('TypeName');
$nameValue = $this->_xml->createTextNode($name);
$nameAttr = $this->xml->createAttribute('TypeName');
$nameValue = $this->xml->createTextNode($name);
$nameAttr->appendChild($nameValue);
$opusDoc->appendChild($nameAttr);
$this->_xml->documentElement->appendChild($opusDoc);
$this->xml->documentElement->appendChild($opusDoc);
}
}
private function handleIllegalVerb()
{
$this->_proc->setParameter('', 'oai_error_code', 'badVerb');
$this->_proc->setParameter('', 'oai_error_message', 'The verb provided in the request is illegal.');
$this->proc->setParameter('', 'oai_error_code', 'badVerb');
$this->proc->setParameter('', 'oai_error_message', 'The verb provided in the request is illegal.');
}
/**
* Helper method for handling lists.
*
@ -336,8 +329,8 @@ class RequestController extends Controller
$repIdentifier = "tethys.geologie.ac.at";
$tokenTempPath = storage_path('app/resumption'); //$this->_configuration->getResumptionTokenPath();
$this->_proc->setParameter('', 'repIdentifier', $repIdentifier);
$this->_xml->appendChild($this->_xml->createElement('Datasets'));
$this->proc->setParameter('', 'repIdentifier', $repIdentifier);
$this->xml->appendChild($this->xml->createElement('Datasets'));
// do some initialisation
$cursor = 0;
@ -349,7 +342,7 @@ class RequestController extends Controller
if (true === array_key_exists('metadataPrefix', $oaiRequest)) {
$metadataPrefix = $oaiRequest['metadataPrefix'];
}
$this->_proc->setParameter('', 'oai_metadataPrefix', $metadataPrefix);
$this->proc->setParameter('', 'oai_metadataPrefix', $metadataPrefix);
// parameter resumptionToken is given
if (false === empty($oaiRequest['resumptionToken'])) {
@ -372,8 +365,7 @@ class RequestController extends Controller
$reldocIds = $finder->pluck('id')->toArray();
}
// handling of document ids
// handling of document ids
$restIds = $reldocIds;
$workIds = array_splice($restIds, 0, $maxRecords);
//foreach ($datasets as $dataset)
@ -385,21 +377,21 @@ class RequestController extends Controller
private function createXmlRecord(Dataset $dataset)
{
//$node = $this->_xml->createElement('Rdr_Dataset');
//$node = $this->xml->createElement('Rdr_Dataset');
$domNode = $this->getDatasetXmlDomNode($dataset);
// add frontdoor url
// add frontdoor url
$this->addLandingPageAttribute($domNode, $dataset->id);
// add access rights to element
//$this->_addAccessRights($domNode, $dataset);
$node = $this->_xml->importNode($domNode, true);
$node = $this->xml->importNode($domNode, true);
//$node->setAttribute("Id", $dataset->id);
//$node->setAttribute("ServerState", $dataset->server_state);
////$child = new \DOMElement("ServerDateModified");
//$child = $this->_xml->createElement('ServerDateModified');
//$child = $this->xml->createElement('ServerDateModified');
//$child->setAttribute("Year", $dataset->server_date_modified->format('Y'));
//$child->setAttribute("Month", $dataset->server_date_modified->month);
//$child->setAttribute("Day", $dataset->server_date_modified->day);
@ -409,7 +401,7 @@ class RequestController extends Controller
$this->addSpecInformation($node, 'data-type:' . $dataset->type);
//$this->addSpecInformation($node, 'bibliography:' . 'false');
$this->_xml->documentElement->appendChild($node);
$this->xml->documentElement->appendChild($node);
}
/**
@ -431,12 +423,12 @@ class RequestController extends Controller
private function addSpecInformation(\DOMNode $document, $information)
{
$setSpecAttribute = $this->_xml->createAttribute('Value');
$setSpecAttributeValue = $this->_xml->createTextNode($information);
$setSpecAttribute = $this->xml->createAttribute('Value');
$setSpecAttributeValue = $this->xml->createTextNode($information);
$setSpecAttribute->appendChild($setSpecAttributeValue);
$setSpecElement = $this->_xml->createElement('SetSpec');
//$setSpecElement =new \DOMElement("SetSpec");
$setSpecElement = $this->xml->createElement('SetSpec');
//$setSpecElement =new \DOMElement("SetSpec");
$setSpecElement->appendChild($setSpecAttribute);
$document->appendChild($setSpecElement);
}
@ -454,7 +446,7 @@ class RequestController extends Controller
$xmlModel = new \App\Library\Xml\XmlModel();
$xmlModel->setModel($dataset);
$xmlModel->excludeEmptyFields();
$cache = ($dataset->xmlCache) ? $dataset->xmlCache : new \App\Models\XmlCache();
$cache = ($dataset->xmlCache) ? $dataset->xmlCache : new \App\Models\XmlCache();
$xmlModel->setXmlCache($cache);
return $xmlModel->getDomDocument()->getElementsByTagName('Rdr_Dataset')->item(0);
}

View File

@ -8,15 +8,15 @@ class Kernel extends HttpKernel
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
* @var array
*/
*
* These middleware are run during every request to your application.
* @var array
*/
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];
/**

View File

@ -4,18 +4,18 @@ namespace App\Models;
use App\Library\Xml\DatasetExtension;
use App\Models\Collection;
use App\Models\License;
use App\Models\User;
use App\Models\Project;
use App\Models\Coverage;
use App\Models\Description;
use App\Models\Title;
use App\Models\Person;
use App\Models\XmlCache;
use App\Models\File;
use Illuminate\Database\Eloquent\Model;
use App\Models\License;
use App\Models\Person;
use App\Models\Project;
use App\Models\Title;
use App\Models\User;
use App\Models\XmlCache;
use Carbon\Carbon;
// use App\Models\GeolocationBox;
use App\Models\Coverage;
use Illuminate\Database\Eloquent\Model;
class Dataset extends Model
{
@ -45,10 +45,10 @@ class Dataset extends Model
'reviewer_id',
'reject_reviewer_note',
'reject_editor_note',
'reviewer_note_visible'
'reviewer_note_visible',
];
//protected $guarded = [];
/**
/**
* The attributes that should be mutated to dates.
*
* @var array
@ -96,7 +96,7 @@ class Dataset extends Model
return $this->belongsTo(Project::class, 'project_id', 'id');
}
/**
/**
* Get the account that the dataset belongs to
*/
public function user()
@ -175,7 +175,7 @@ class Dataset extends Model
public function contributors()
{
return $this
->persons()
->persons()
// ->belongsToMany(Person::class, 'link_documents_persons', 'document_id', 'person_id')
->wherePivot('role', 'contributor');
}
@ -251,7 +251,6 @@ class Dataset extends Model
return $this->hasMany(\App\Models\Subject::class, 'document_id', 'id');
}
/**
* Get the xml-cache record associated with the dataset.
*
@ -285,7 +284,7 @@ class Dataset extends Model
->where('server_state', 'published')
->orderBy('server_date_published', 'asc')
->first();
//->server_date_published;
//->server_date_published;
return $result;
}
@ -300,7 +299,6 @@ class Dataset extends Model
return $this->project()->exists();
}
public function hasEmbargoPassed($now = null)
{
$embargoDate = $this->embargo_date;
@ -320,7 +318,7 @@ class Dataset extends Model
// $dt->year = 2015;
// $dt->month = 04;
// $dt->day = 21;
$embargoDate->hour = 23;
$embargoDate->hour = 23;
$embargoDate->minute = 59;
$embargoDate->second = 59;
@ -330,7 +328,7 @@ class Dataset extends Model
public function getRemainingTimeAttribute()
{
$dateDiff =$this->server_date_modified->addDays(14);
$dateDiff = $this->server_date_modified->addDays(14);
if ($this->server_state == "approved") {
return Carbon::now()->diffInDays($dateDiff, false);
} else {
@ -346,6 +344,34 @@ class Dataset extends Model
. ' * WEST-BOUND LONGITUDE: ' . $this->coverage->y_min . ","
. ' * NORTH-BOUND LATITUDE: ' . $this->coverage->x_max . ","
. ' * EAST-BOUND LONGITUDE: ' . $this->coverage->y_max;
$elevation = '';
if ($this->coverage->elevation_min != null && $this->coverage->elevation_max != null) {
$elevation = $elevation . '* ELEVATION MIN: ' . $this->coverage->elevation_min
. ', * ELEVATION MAX: ' . $this->coverage->elevation_max;
} elseif ($this->coverage->elevation_absolut != null) {
$elevation = $elevation . '* ELEVATION ABSOLUT: ' . $this->coverage->elevation_absolut;
}
$geolocation = $elevation == '' ? $geolocation : $geolocation . ", " . $elevation;
$depth = '';
if ($this->coverage->depth_min != null && $this->coverage->depth_max != null) {
$depth = $depth . '* DEPTH MIN: ' . $this->coverage->depth_min
. ', * DEPTH MAX: ' . $this->coverage->depth_max;
} elseif ($this->coverage->depth_absolut != null) {
$depth = $depth . '* DEPTH ABSOLUT: ' . $this->coverage->depth_absolut;
}
$geolocation = $depth == '' ? $geolocation : $geolocation . ", " . $depth;
$time = '';
if ($this->coverage->time_min != null && $this->coverage->time_max != null) {
$time = $time . '* TIME MIN: ' . $this->coverage->time_min
. ', * TIME MAX: ' . $this->coverage->time_max;
} elseif ($this->coverage->time_absolut != null) {
$time = $time . '* TIME ABSOLUT: ' . $this->coverage->time_absolut;
}
$geolocation = $time == '' ? $geolocation : $geolocation . ", " . $time;
return $geolocation;
}
}

96
composer.lock generated
View File

@ -970,16 +970,16 @@
},
{
"name": "league/flysystem",
"version": "1.0.65",
"version": "1.0.66",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "8f17b3ba67097aafb8318cd5c553b1acf7c891c8"
"reference": "021569195e15f8209b1c4bebb78bd66aa4f08c21"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8f17b3ba67097aafb8318cd5c553b1acf7c891c8",
"reference": "8f17b3ba67097aafb8318cd5c553b1acf7c891c8",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/021569195e15f8209b1c4bebb78bd66aa4f08c21",
"reference": "021569195e15f8209b1c4bebb78bd66aa4f08c21",
"shasum": ""
},
"require": {
@ -1050,7 +1050,13 @@
"sftp",
"storage"
],
"time": "2020-03-08T18:53:20+00:00"
"funding": [
{
"url": "https://offset.earth/frankdejonge",
"type": "other"
}
],
"time": "2020-03-17T18:58:12+00:00"
},
{
"name": "mcamara/laravel-localization",
@ -1194,16 +1200,16 @@
},
{
"name": "nesbot/carbon",
"version": "2.31.0",
"version": "2.32.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "bbc0ab53f41a4c6f223c18efcdbd9bc725eb5d2d"
"reference": "7410a349613bf32d02d8aaed1c669698ddd2b718"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bbc0ab53f41a4c6f223c18efcdbd9bc725eb5d2d",
"reference": "bbc0ab53f41a4c6f223c18efcdbd9bc725eb5d2d",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7410a349613bf32d02d8aaed1c669698ddd2b718",
"reference": "7410a349613bf32d02d8aaed1c669698ddd2b718",
"shasum": ""
},
"require": {
@ -1212,6 +1218,7 @@
"symfony/translation": "^3.4 || ^4.0 || ^5.0"
},
"require-dev": {
"doctrine/orm": "^2.7",
"friendsofphp/php-cs-fixer": "^2.14 || ^3.0",
"kylekatarnls/multi-tester": "^1.1",
"phpmd/phpmd": "^2.8",
@ -1260,7 +1267,17 @@
"datetime",
"time"
],
"time": "2020-03-01T11:11:58+00:00"
"funding": [
{
"url": "https://opencollective.com/Carbon",
"type": "open_collective"
},
{
"url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
"type": "tidelift"
}
],
"time": "2020-03-24T16:01:47+00:00"
},
{
"name": "nikic/php-parser",
@ -1422,20 +1439,20 @@
},
{
"name": "phpoption/phpoption",
"version": "1.7.2",
"version": "1.7.3",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
"reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959"
"reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959",
"reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959",
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/4acfd6a4b33a509d8c88f50e5222f734b6aeebae",
"reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae",
"shasum": ""
},
"require": {
"php": "^5.5.9 || ^7.0"
"php": "^5.5.9 || ^7.0 || ^8.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.3",
@ -1473,7 +1490,7 @@
"php",
"type"
],
"time": "2019-12-15T19:35:24+00:00"
"time": "2020-03-21T18:07:53+00:00"
},
{
"name": "psr/container",
@ -1526,16 +1543,16 @@
},
{
"name": "psr/log",
"version": "1.1.2",
"version": "1.1.3",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801"
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801",
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801",
"url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
"shasum": ""
},
"require": {
@ -1569,7 +1586,7 @@
"psr",
"psr-3"
],
"time": "2019-11-01T11:05:21+00:00"
"time": "2020-03-23T09:12:05+00:00"
},
{
"name": "psr/simple-cache",
@ -2461,6 +2478,20 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-02-29T10:31:38+00:00"
},
{
@ -3319,16 +3350,16 @@
},
{
"name": "vlucas/phpdotenv",
"version": "v3.6.0",
"version": "v3.6.1",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
"reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156"
"reference": "8f7961f7b9deb3b432452c18093cf16f88205902"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1bdf24f065975594f6a117f0f1f6cabf1333b156",
"reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/8f7961f7b9deb3b432452c18093cf16f88205902",
"reference": "8f7961f7b9deb3b432452c18093cf16f88205902",
"shasum": ""
},
"require": {
@ -3337,8 +3368,12 @@
"symfony/polyfill-ctype": "^1.9"
},
"require-dev": {
"ext-filter": "*",
"phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0"
},
"suggest": {
"ext-filter": "Required to use the boolean validator."
},
"type": "library",
"extra": {
"branch-alias": {
@ -3372,7 +3407,13 @@
"env",
"environment"
],
"time": "2019-09-10T21:37:39+00:00"
"funding": [
{
"url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv",
"type": "tidelift"
}
],
"time": "2020-03-12T13:44:00+00:00"
},
{
"name": "yajra/laravel-datatables-oracle",
@ -4994,5 +5035,6 @@
"platform": {
"php": "^7.1.3"
},
"platform-dev": []
"platform-dev": [],
"plugin-api-version": "1.1.0"
}

View File

@ -245,7 +245,7 @@ return [
// 'HTML' => 'Illuminate\Html\HtmlFacade',
// 'Form' => 'Collective\Html\FormFacade',
// 'Html' => 'Collective\Html\HtmlFacade',
'Breadcrumbs' => DaveJamesMiller\Breadcrumbs\Facade::class,
'Breadcrumbs' => DaveJamesMiller\Breadcrumbs\Facades\Breadcrumbs::class,
//'Datatables' => Yajra\DataTables\Facades\DataTables::class
],

47
package-lock.json generated
View File

@ -1724,7 +1724,6 @@
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
"integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
"dev": true,
"requires": {
"follow-redirects": "1.5.10"
}
@ -3154,8 +3153,7 @@
"date-fns": {
"version": "1.30.1",
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
"integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==",
"dev": true
"integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw=="
},
"date-now": {
"version": "0.1.4",
@ -3166,14 +3164,12 @@
"de-indent": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
"integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
"dev": true
"integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
},
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
@ -4171,7 +4167,6 @@
"version": "1.5.10",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
"integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
"dev": true,
"requires": {
"debug": "=3.1.0"
}
@ -5208,8 +5203,7 @@
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
},
"hex-color-regex": {
"version": "1.1.0",
@ -6206,8 +6200,7 @@
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
},
"lodash.memoize": {
"version": "4.1.2",
@ -6570,8 +6563,7 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multicast-dns": {
"version": "6.2.3",
@ -9410,8 +9402,7 @@
"sortablejs": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz",
"integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A==",
"dev": true
"integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A=="
},
"source-list-map": {
"version": "2.0.1",
@ -10491,8 +10482,7 @@
"vee-validate": {
"version": "2.2.15",
"resolved": "https://registry.npmjs.org/vee-validate/-/vee-validate-2.2.15.tgz",
"integrity": "sha512-4TOsI8XwVkKVLkg8Nhmy+jyoJrR6XcTRDyxBarzcCvYzU61zamipS1WsB6FlDze8eJQpgglS4NXAS6o4NDPs1g==",
"dev": true
"integrity": "sha512-4TOsI8XwVkKVLkg8Nhmy+jyoJrR6XcTRDyxBarzcCvYzU61zamipS1WsB6FlDze8eJQpgglS4NXAS6o4NDPs1g=="
},
"vendors": {
"version": "1.0.3",
@ -10520,14 +10510,12 @@
"vue": {
"version": "2.6.11",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz",
"integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==",
"dev": true
"integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ=="
},
"vue-class-component": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.2.3.tgz",
"integrity": "sha512-oEqYpXKaFN+TaXU+mRLEx8dX0ah85aAJEe61mpdoUrq0Bhe/6sWhyZX1JjMQLhVsHAkncyhedhmCdDVSasUtDw==",
"dev": true
"integrity": "sha512-oEqYpXKaFN+TaXU+mRLEx8dX0ah85aAJEe61mpdoUrq0Bhe/6sWhyZX1JjMQLhVsHAkncyhedhmCdDVSasUtDw=="
},
"vue-datetime-picker": {
"version": "0.2.1",
@ -10552,8 +10540,7 @@
"vue-events": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/vue-events/-/vue-events-3.1.0.tgz",
"integrity": "sha512-JoE6ZlIEFdpj/vE7oW6T1T3Vz2h0Zxc4XEyz92L2tiRVc1TZ0u/nY1s6ZrnpHKoVxeEU0ouAp/FMxTKI3JBpvA==",
"dev": true
"integrity": "sha512-JoE6ZlIEFdpj/vE7oW6T1T3Vz2h0Zxc4XEyz92L2tiRVc1TZ0u/nY1s6ZrnpHKoVxeEU0ouAp/FMxTKI3JBpvA=="
},
"vue-hot-reload-api": {
"version": "2.3.3",
@ -10578,7 +10565,6 @@
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/vue-property-decorator/-/vue-property-decorator-8.4.0.tgz",
"integrity": "sha512-0o85LJSTLZvDaB7IXfmpONfAQZ7NgScFvptFSrlFFSsScR716muJb3mMFojNnKC3Vpm7CM4PsmHNdk30uuNpag==",
"dev": true,
"requires": {
"vue-class-component": "^7.1.0"
}
@ -10597,7 +10583,6 @@
"version": "2.6.11",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz",
"integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==",
"dev": true,
"requires": {
"de-indent": "^1.0.2",
"he": "^1.1.0"
@ -10612,14 +10597,12 @@
"vue-toast-notification": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/vue-toast-notification/-/vue-toast-notification-0.0.3.tgz",
"integrity": "sha512-3UQuEa2oQX5JcWwMcnm6Kf9djL4XwWWv2R8uIawFC/PSPHYp4JCnXiYu+BVNc/qCQhpSvfkXmmDVOLRau5kVDg==",
"dev": true
"integrity": "sha512-3UQuEa2oQX5JcWwMcnm6Kf9djL4XwWWv2R8uIawFC/PSPHYp4JCnXiYu+BVNc/qCQhpSvfkXmmDVOLRau5kVDg=="
},
"vuedraggable": {
"version": "2.23.2",
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.23.2.tgz",
"integrity": "sha512-PgHCjUpxEAEZJq36ys49HfQmXglattf/7ofOzUrW2/rRdG7tu6fK84ir14t1jYv4kdXewTEa2ieKEAhhEMdwkQ==",
"dev": true,
"requires": {
"sortablejs": "^1.10.1"
}
@ -10628,7 +10611,6 @@
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/vuejs-datetimepicker/-/vuejs-datetimepicker-1.1.13.tgz",
"integrity": "sha512-R7UtjXqRpqLnUk9uSiAmWXk64hFFfpoGDRiFLVGORU/ptSQRPh0KhfBwoe1ED7EeCQBAP8dXRh14n8RmfC6m1g==",
"dev": true,
"requires": {
"date-fns": "^1.29.0",
"vue": "^2.3.3"
@ -10638,7 +10620,6 @@
"version": "1.7.5",
"resolved": "https://registry.npmjs.org/vuetable-2/-/vuetable-2-1.7.5.tgz",
"integrity": "sha512-cKLD7ufbwNZZA1exOU1U7oXC+nrXq88YwDNAPL8dR9Kk1Pj/HMvLhOr4xw/15748c4OfYxBZQvVTJh4Hnu35AA==",
"dev": true,
"requires": {
"axios": "^0.15.3"
},
@ -10647,7 +10628,6 @@
"version": "0.15.3",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
"integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=",
"dev": true,
"requires": {
"follow-redirects": "1.0.0"
}
@ -10656,7 +10636,6 @@
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
@ -10665,7 +10644,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz",
"integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
"dev": true,
"requires": {
"debug": "^2.2.0"
}
@ -10673,8 +10651,7 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@
<div class="content">
<div class="box" v-if="dataset">
<div class="dataset_heaader">
<div class="dataset_header">
<div class="dataset__blog-meta">published: {{ $dataset->server_date_published->toDayDateTimeString() }}
</div>
<h1 class="dataset__title">{{ $dataset->mainTitle()->value }}</h1>
@ -95,6 +95,8 @@
</div>
<div class="tab-pane content-file" id="two">
<p class="dataset__abstract">Size: {{ $dataset->files()->count() }} </p>
@if($dataset->embargo_date != null)
<p class="dataset__abstract">Ende des Embargo-Zeitraums:
{{ $dataset->embargo_date->toDateString() }}</p>
@ -134,7 +136,7 @@
<div class="tab-pane content-technical-metadata" id="three">
<p class="dataset__abstract">Persistenter Identifikator:
{{ "http://www.tethys.at/" . $dataset->id }}</p>
{{ "https://www.tethys.at/dataset/" . $dataset->id }}</p>
<p class="dataset__abstract">Status: {{ $dataset->server_state }}</p>
<p class="dataset__abstract">Eingestellt von: {{ $dataset->user->login }}</p>
<p class="dataset__abstract">Erstellt am: {{ $dataset->created_at->toDateString() }}</p>
@ -187,6 +189,9 @@
/* background-color: #6c6e6b; */
}
.tab-nav {
z-index: 2;
}
.tab-content .tab-pane {
display: none;
/* visibility: hidden; */
@ -252,7 +257,7 @@
}
.dataset_heaader {
.dataset_header {
/* // background-color: lightgray; */
position: relative;
}
@ -281,13 +286,13 @@
right: -20px;
line-height: 1;
font-weight: 900;
z-index: 0;
z-index: -1;
}
.dataset__blog-meta {
padding: 10px 0 20px;
color: #c2c2c2;
// font-size: 0.8em;
/* font-size: 0.8em; */
margin-top: -1.7em;
}
</style>

View File

@ -1,4 +1,5 @@
<?php
use DaveJamesMiller\Breadcrumbs\Facades\Breadcrumbs;
// Dashboard
Breadcrumbs::register('settings.dashboard', function ($trail) {