add authors during publishing

This commit is contained in:
Arno Kaimbacher 2018-09-14 18:16:02 +02:00
parent 0457e65565
commit f66e4a8f29
11 changed files with 460 additions and 228 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -17,6 +17,7 @@ window.Vue = require('vue');
Vue.component('my-vuetable', require('./components/MyVuetable.vue')); Vue.component('my-vuetable', require('./components/MyVuetable.vue'));
const app = new Vue({ const app = new Vue({
el: '#app' el: '#app'
}); });

View File

@ -1,3 +1,5 @@
window._ = require('lodash');
/** /**
* We'll load the axios HTTP library which allows us to easily issue requests * We'll load the axios HTTP library which allows us to easily issue requests
* to our Laravel back-end. This library automatically handles sending the * to our Laravel back-end. This library automatically handles sending the

View File

@ -0,0 +1,136 @@
<!-- https://pineco.de/instant-ajax-search-laravel-vue/
https://alligator.io/vuejs/vue-autocomplete-component/ -->
<template>
<div>
<input type="search" @input="onChange" v-model="search" v-bind:disabled="isLoading == true" v-bind:title=title placeholder="Search for authors and contributors...">
<!-- <ul class="autocomplete-results" v-show="results.length > 0"> -->
<ul class="autocomplete-results" v-show="isOpen">
<li class="loading" v-if="isLoading" >Loading results...</li>
<li
v-else
v-for="result in results"
:key="result.id"
@click="setResult(result)"
class="autocomplete-result">
<strong>{{ result.full_name }}</strong>
</li>
</ul>
</div>
</template>
<script>
export default {
//data from parent component
props: {
title: String
// items: {
// type: Array,
// required: false,
// default: () => []
// },
// isAsync: {
// type: Boolean,
// required: false,
// default: false
// }
},
data() {
return {
search: null,
results: [],
isOpen: false,
isLoading: false,
isAsync: true,
items: []
};
},
// watch: {
// search(after, before) {
// this.isOpen = true;
// this.filterResults();
// }
// },
watch: {
// Once the items content changes, it means the parent component
// provided the needed data
items: function(value, oldValue) {
// we want to make sure we only do this when it's an async request
if (this.isAsync) {
this.results = value;
this.isOpen = true;
this.isLoading = false;
} else {
if (val.length !== oldValue.length) {
this.results = val;
this.isLoading = false;
}
}
}
},
methods: {
setResult(person) {
// this.search = person.full_name;
this.reset();
this.isOpen = false;
this.$emit("person", person);
},
reset() {
this.search = "";
},
onChange() {
// Let's warn the parent that a change was made
this.$emit("input", this.search);
// Is the data given by an outside ajax request?
if (this.isAsync) {
this.isLoading = true;
this.filterResults();
} else {
// Data is sync, we can search our flat array
this.filterResults();
this.isOpen = true;
}
},
filterResults() {
var self = this;
axios
.get("/api/persons", { params: { filter: this.search } })
.then(function(response) {
return (self.items = response.data.data);
})
.catch(function(error) {
alert(error);
});
// this.results = this.items.filter(item => {
// return item.toLowerCase().indexOf(this.search.toLowerCase()) > -1;
// });
}
}
};
</script>
<style>
.autocomplete-results {
padding: 0;
margin: 0;
border: 1px solid #eeeeee;
height: 120px;
overflow: auto;
}
.autocomplete-result {
list-style: none;
text-align: left;
padding: 4px 2px;
cursor: pointer;
}
.autocomplete-result:hover {
background-color: #4aae9b;
color: white;
}
</style>

View File

@ -19,12 +19,14 @@
// else { // else {
// console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token'); // console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
// } // }
window._ = require('lodash');
// window.Vue = require('vue'); // window.Vue = require('vue');
// Vue.prototype.$http = axios; // Vue.prototype.$http = axios;
// Vue.component('example', require('./components/Example.vue')); // Vue.component('example', require('./components/Example.vue'));
const STATUS_INITIAL = 0, STATUS_SAVING = 1, STATUS_SUCCESS = 2, STATUS_FAILED = 3; Vue.component('my-autocomplete', require('./components/MyAutocomplete.vue'));
const STATUS_INITIAL = 0, STATUS_SAVING = 1, STATUS_SUCCESS = 2, STATUS_FAILED = 3;
const app = new Vue({ const app = new Vue({
el: '#app', el: '#app',
@ -41,6 +43,7 @@ const app = new Vue({
currentStatus: null, currentStatus: null,
uploadFieldName: 'photos', uploadFieldName: 'photos',
fileCount: 0, fileCount: 0,
persons: [],
step: 1, step: 1,
dataset: { dataset: {
@ -98,6 +101,7 @@ const app = new Vue({
this.dataset.files = []; this.dataset.files = [];
}, },
save() { save() {
var _this = this;
this.errors = []; this.errors = [];
/* /*
Initialize the form data Initialize the form data
@ -151,7 +155,7 @@ const app = new Vue({
// this.loading = false; // this.loading = false;
// this.items = response.data; // this.items = response.data;
//Vue.set(app.skills, 1, "test55"); //Vue.set(app.skills, 1, "test55");
this.currentStatus = STATUS_SUCCESS; _this.currentStatus = STATUS_SUCCESS;
if (response.data.redirect) { if (response.data.redirect) {
window.location = response.data.redirect; window.location = response.data.redirect;
@ -166,14 +170,14 @@ const app = new Vue({
var errorsArray = errorObject.response.data.errors; var errorsArray = errorObject.response.data.errors;
for (var index in errorsArray) { for (var index in errorsArray) {
console.log(errorsArray[index]); console.log(errorsArray[index]);
this.errors.push(errorsArray[index]); _this.errors.push(errorsArray[index]);
} }
} }
if (errorObject.response.data.error) { if (errorObject.response.data.error) {
var error = errorObject.response.data.error; var error = errorObject.response.data.error;
this.errors.push(error.message); _this.errors.push(error.message);
} }
this.currentStatus = STATUS_FAILED; _this.currentStatus = STATUS_FAILED;
}); });
}, },
// filesChange(fieldName, fileList) { // filesChange(fieldName, fileList) {
@ -212,6 +216,9 @@ const app = new Vue({
// } // }
}, },
onAddPerson(person) {
this.persons.push(person);
},
/* /*
Removes a select file the user has uploaded Removes a select file the user has uploaded
*/ */

View File

@ -1,7 +1,5 @@
@extends('settings.layouts.app') @extends('settings.layouts.app')
@section('title', 'Publish') @section('title', 'Publish')
@section('content') @section('content')
<div class="header"> <div class="header">
<h3 class="header-title"> <h3 class="header-title">
@ -10,7 +8,7 @@
</div> </div>
<div id="app" class="box-content"> <div id="app" class="box-content">
<form action={{ route('publish.dataset.store1') }} method="post" class="pure-form" enctype="multipart/form-data"> <form action={{ route( 'publish.dataset.store1') }} method="post" class="pure-form" enctype="multipart/form-data">
{{ csrf_field() }} {{ csrf_field() }}
<div v-if="step === 1"> <div v-if="step === 1">
@ -18,11 +16,15 @@
<fieldset class="left-labels"> <fieldset class="left-labels">
<legend>Datensatztyp</legend> <legend>Datensatztyp</legend>
<div class="description hint"> <div class="description hint">
<p>Bitte wählen Sie einen Datensatztyp aus der Liste aus.</p></div><p></p><div class="form-item"> <p>Bitte wählen Sie einen Datensatztyp aus der Liste aus.</p>
<label for="documentType">Datensatztyp<span class="required" title="Dieses Feld muss ausgefüllt werden."> *</span></label>
<div class="select" style="width:300px" title="Bitte wählen Sie einen Datensatztyp aus der Liste aus.">
{!! Form::select('Type', Lang::get('doctypes'), null, ['id' => 'type', 'placeholder' => '-- select type --', 'v-model' => 'dataset.type']) !!}
</div> </div>
<p></p>
<div class="form-item">
<label for="documentType">Datensatztyp<span class="required" title="Dieses Feld muss ausgefüllt werden."> *</span></label>
<div class="select" style="width:300px" title="Bitte wählen Sie einen Datensatztyp aus der Liste aus.">
{!! Form::select('Type', Lang::get('doctypes'), null, ['id' => 'type', 'placeholder' => '-- select type --', 'v-model' =>
'dataset.type']) !!}
</div>
</div> </div>
</fieldset> </fieldset>
@ -31,8 +33,7 @@
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
<small for="rights" class="pure-form-message-inline">Ich habe diese rechtlichen Hinweise gelesen und bin damit einverstanden. <small for="rights" class="pure-form-message-inline">Ich habe diese rechtlichen Hinweise gelesen und bin damit einverstanden.
<span class="required" title="Dieses Feld muss ausgefüllt werden.">*</span> <span class="required" title="Dieses Feld muss ausgefüllt werden.">*</span>
</small> </small> {{-- <input name="rights" value="0" type="hidden"> --}}
{{-- <input name="rights" value="0" type="hidden"> --}}
<label> <label>
<input class="form-checkbox" name="rights" id="rights" type="checkbox" v-model="dataset.rights" true-value="1" false-value="0"> <input class="form-checkbox" name="rights" id="rights" type="checkbox" v-model="dataset.rights" true-value="1" false-value="0">
<p> <p>
@ -53,7 +54,7 @@
</button> --}} </button> --}}
<button @click.prevent="next()" class="pure-button button-small"> <button @click.prevent="next()" class="pure-button button-small">
<i class="fa fa-arrow-right"></i> <i class="fa fa-arrow-right"></i>
<span>Weiter zum nächsten Schritt</span> <span>Continue</span>
</button> </button>
</div> </div>
</div> </div>
@ -64,48 +65,47 @@
<legend>General</legend> <legend>General</legend>
<div class="pure-g"> <div class="pure-g">
{{-- <div class="pure-u-1 pure-u-md-1-2 pure-div"> {{--
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('Person', 'Person..') !!} {!! Form::label('Person', 'Person..') !!}
<div class="select pure-u-23-24"> <div class="select pure-u-23-24">
{!! Form::select('Person', $persons, null, ['id' => 'type', 'placeholder' => '-- select person --']) !!} {!! Form::select('Person', $persons, null, ['id' => 'type', 'placeholder' => '-- select person --']) !!}
</div> </div>
</div> --}} </div> --}}
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('Type', 'Type..') !!} {!! Form::label('Type', 'Type..') !!}
<div class="select pure-u-23-24"> <div class="select pure-u-23-24">
{!! Form::select('Type', Lang::get('doctypes'), null, ['id' => 'type', 'placeholder' => '-- select type --', 'v-model' => 'dataset.type']) !!} {!! Form::select('Type', Lang::get('doctypes'), null, ['id' => 'type', 'placeholder' => '-- select type --', 'v-model' =>
'dataset.type']) !!}
</div> </div>
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('State', 'State..') !!} {!! Form::label('State', 'State..') !!}
<div class="select pure-u-23-24"> <div class="select pure-u-23-24">
{!! Form::select( {!! Form::select( 'State', array_except(Config::get('enums.server_states'),['published', 'deleted', 'temporary']), '', ['placeholder'
'State', => '-- select server state --', 'v-model' => 'dataset.state'] ) !!}
array_except(Config::get('enums.server_states'),['published', 'deleted', 'temporary']),
'',
['placeholder' => '-- select server state --', 'v-model' => 'dataset.state']
) !!}
</div> </div>
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('CreatingCorporation', 'Creating Corporation') !!} {!! Form::label('CreatingCorporation', 'Creating Corporation') !!} {!! Form::text('CreatingCorporation', null, ['class' =>
{!! Form::text('CreatingCorporation', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.creating_corporation']) !!} 'pure-u-23-24', 'v-model' => 'dataset.creating_corporation']) !!}
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('project_id', 'Project..') !!} {!! Form::label('project_id', 'Project..') !!}
<div class="select pure-u-23-24"> <div class="select pure-u-23-24">
{!! Form::select('project_id', $projects, null, ['id' => 'project_id', 'placeholder' => '--no project--', 'v-model' => 'dataset.project_id']) !!} {!! Form::select('project_id', $projects, null, ['id' => 'project_id', 'placeholder' => '--no project--', 'v-model' => 'dataset.project_id'])
!!}
</div> </div>
<small id="projectHelp" class="pure-form-message-inline">project is optional</small> <small id="projectHelp" class="pure-form-message-inline">project is optional</small>
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('EmbargoDate', 'Embargo Date') !!} {!! Form::label('EmbargoDate', 'Embargo Date') !!} {!! Form::date('EmbargoDate', null, ['placeholder' => date('y-m-d'), 'class'
{!! Form::date('EmbargoDate', null, ['placeholder' => date('y-m-d'), 'class' => 'pure-u-23-24', 'v-model' => 'dataset.embargo_date']) !!} => 'pure-u-23-24', 'v-model' => 'dataset.embargo_date']) !!}
<small id="projectHelp" class="pure-form-message-inline">EmbargoDate is optional</small> <small id="projectHelp" class="pure-form-message-inline">EmbargoDate is optional</small>
</div> </div>
@ -127,24 +127,26 @@
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('TitleMain', 'Main Title ') !!} {!! Form::label('TitleMain', 'Main Title ') !!} {!! Form::text('TitleMain[Value]', null, ['class' => 'pure-u-23-24', 'v-model'
{!! Form::text('TitleMain[Value]', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.title_main.value']) !!} => 'dataset.title_main.value']) !!}
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('TitleLanguage', 'Title Language..') !!} {!! Form::label('TitleLanguage', 'Title Language..') !!}
<div class="select pure-u-23-24"> <div class="select pure-u-23-24">
{!! Form::select('TitleMain[Language]', $languages, null, ['placeholder' => '--no language--', 'v-model' => 'dataset.title_main.language']) !!} {!! Form::select('TitleMain[Language]', $languages, null, ['placeholder' => '--no language--', 'v-model' => 'dataset.title_main.language'])
!!}
</div> </div>
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('TitleAbstract', 'Main Abstract ') !!} {!! Form::label('TitleAbstract', 'Main Abstract ') !!} {{ Form::textarea('TitleAbstract[Value]', null, ['class' => 'pure-u-23-24',
{{ Form::textarea('TitleAbstract[Value]', null, ['class' => 'pure-u-23-24', 'size' => '70x6', 'v-model' => 'dataset.abstract_main.value']) }} 'size' => '70x6', 'v-model' => 'dataset.abstract_main.value']) }}
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('AbstractLanguage', 'Abstract Language..') !!} {!! Form::label('AbstractLanguage', 'Abstract Language..') !!}
<div class="select pure-u-23-24"> <div class="select pure-u-23-24">
{!! Form::select('TitleAbstract[Language]', $languages, null, ['placeholder' => '--no language--', 'v-model' => 'dataset.abstract_main.language']) !!} {!! Form::select('TitleAbstract[Language]', $languages, null, ['placeholder' => '--no language--', 'v-model' => 'dataset.abstract_main.language'])
!!}
</div> </div>
</div> </div>
</div> </div>
@ -154,11 +156,10 @@
<div class="pure-control-group checkboxlist"> <div class="pure-control-group checkboxlist">
@foreach ($licenses as $license) @foreach ($licenses as $license)
<label for={{"license". $license->id }} class="pure-checkbox"> <label for={{ "license". $license->id }} class="pure-checkbox">
<input name="licenses[]" value={{ $license->id }} v-model="dataset.checkedLicenses" type="checkbox" class="form-check-input"> <input name="licenses[]" value={{ $license->id }} v-model="dataset.checkedLicenses" type="checkbox" class="form-check-input">
{{ $license->name_long }} {{ $license->name_long }}
</label> </label> @endforeach
@endforeach
<br> <br>
<span>Checked licenses: @{{ dataset.checkedLicenses }}</span> <span>Checked licenses: @{{ dataset.checkedLicenses }}</span>
</div> </div>
@ -168,7 +169,47 @@
<div class="pure-controls"> <div class="pure-controls">
<button @click.prevent="prev()" class="pure-button button-small"> <button @click.prevent="prev()" class="pure-button button-small">
<i class="fa fa-arrow-left"></i> <i class="fa fa-arrow-left"></i>
<span>Zurück</span> <span>Back</span>
</button>
<button @click.prevent="next()" class="pure-button button-small">
<i class="fa fa-arrow-right"></i>
<span>Continue</span>
</button>
</div>
</div>
<div v-if="step === 3">
<h1>Select authors, contributors</h1>
<fieldset id="fieldset-general">
<legend>General</legend>
<div class="pure-g">
<div class="pure-u-1 pure-u-md-1-2 pure-div">
<my-autocomplete title="My journey with Vue" @person="onAddPerson"></my-autocomplete>
{{--
<my-autocomplete :items="[ 'Apple', 'Banana', 'Orange', 'Mango', 'Pear', 'Peach', 'Grape', 'Tangerine', 'Pineapple']"></my-autocomplete> --}}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
<div class="pure-control-group checkboxlist">
<label v-for="(person, index) in persons" :for="person.id" class="pure-checkbox">
<input type="checkbox" name="persons[]" :value="person.id" class="form-check-input">
@{{ person.full_name }}
</label>
</div>
{{-- <span v-for="(person, index) in persons">
<strong>@{{ person.full_name }}</strong>
</span> --}}
</div>
</div>
</fieldset>
<br />
<div class="pure-controls">
<button @click.prevent="prev()" class="pure-button button-small">
<i class="fa fa-arrow-left"></i>
<span>Back</span>
</button> </button>
<button @click.prevent="next()" class="pure-button button-small"> <button @click.prevent="next()" class="pure-button button-small">
@ -176,14 +217,14 @@
<span>Review Dataset</span> <span>Review Dataset</span>
</button> </button>
</div> </div>
</div> </div>
<div v-if="step === 3"> <div v-if="step === 4">
<h1>File Upload</h1> <h1>File Upload</h1>
<div class="dropbox"> <div class="dropbox">
<input type="file" multiple name="files" :disabled="isSaving" @change="filesChange($event.target.name, $event.target.files)" class="input-file"> <input type="file" multiple name="files" :disabled="isSaving" @change="filesChange($event.target.name, $event.target.files)"
class="input-file">
<p v-if="isInitial"> <p v-if="isInitial">
Drag your file(s) here to begin<br> or click to browse Drag your file(s) here to begin<br> or click to browse
</p> </p>
@ -191,36 +232,36 @@
Uploading @{{ fileCount }} files... Uploading @{{ fileCount }} files...
</p> </p>
</div> </div>
{{-- <button @click.prevent="resetDropbox()" v-bind:disabled="isInitial" class="pure-button is-warning">Reset Dropbox</button> --}} {{-- <button @click.prevent="resetDropbox()" v-bind:disabled="isInitial" class="pure-button is-warning">Reset Dropbox</button> --}} {{--
{{-- <ul class="list-unstyled"> <ul class="list-unstyled">
<li v-for="(item, index) in dataset.files"> <li v-for="(item, index) in dataset.files">
@{{ item.name }} <i class="fa fa-remove"></i><span class="remove-file" v-on:click="removeFile(index)"> Remove</span> @{{ item.name }} <i class="fa fa-remove"></i><span class="remove-file" v-on:click="removeFile(index)"> Remove</span>
</li> </li>
</ul> --}} </ul> --}}
<table class="table table-hover"> <table class="table table-hover">
<thead> <thead>
<tr> <tr>
<th style="width: 20px;">Sorting</th> <th style="width: 20px;">Sorting</th>
<th>File</th> <th>File</th>
<th>Label</th> <th>Label</th>
<th style="width: 130px;"></th> <th style="width: 130px;"></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr v-for="(item, index) in dataset.files"> <tr v-for="(item, index) in dataset.files">
<td> <td>
@{{ index +1 }} @{{ index +1 }}
</td> </td>
<td> <td>
<input class="form-control" v-model="item.file.name"/> <input class="form-control" v-model="item.file.name" />
</td> </td>
<td> <td>
<input class="form-control" v-model="item.label"/> <input class="form-control" v-model="item.label" />
</td> </td>
<td> <td>
<button class="pure-button button-small is-warning" @click.prevent="removeFile(index)">Remove</button> <button class="pure-button button-small is-warning" @click.prevent="removeFile(index)">Remove</button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -247,15 +288,33 @@
{{-- <br/><br/>Debug:@{{ dataset }} --}} {{-- <br/><br/>Debug:@{{ dataset }} --}}
</div> </div>
@stop @stop
@section('after-scripts') {{--
<script type="text/javascript" src="{{ asset('js/lib.js') }}"></script> --}} {{--
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>--}} {{--
<script type="text/javascript" src="{{ resource_path('assets\js\datasetPublish.js') }}"></script> --}}
<script type="text/javascript" src="{{ asset('backend/publish/datasetPublish.js') }}"></script>
@section('after-scripts')
{{-- <script type="text/javascript" src="{{ asset('js/lib.js') }}"></script> --}}
{{-- <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>--}}
{{-- <script type="text/javascript" src="{{ resource_path('assets\js\datasetPublish.js') }}"></script> --}}
<script type="text/javascript" src="{{ asset('backend/publish/datasetPublish.js') }}"></script>
@stop @stop

View File

@ -3,51 +3,47 @@
<div class="pure-g"> <div class="pure-g">
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('name_long', 'Lizenzname') !!} {!! Form::label('name_long', 'Lizenzname') !!} {!! Form::text('name_long', null, ['class' => 'pure-u-23-24', 'placeholder'
{!! Form::text('name_long', null, ['class' => 'pure-u-23-24', 'placeholder' => '--no language--']) !!} => '--no language--']) !!}
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('language', 'Sprache') !!} {!! Form::label('language', 'Sprache') !!}
<div class="select pure-u-23-24"> <div class="select pure-u-23-24">
{!! Form::select('language', $languages, null, ['id' => 'language', 'placeholder' => '--no language--']) !!} {!! Form::select('language', $languages, null, ['id' => 'language', 'placeholder' => '--no language--']) !!}
</div> </div>
<small id="languageHelp" class="pure-form-message-inline">language is optional</small> <small id="languageHelp" class="pure-form-message-inline">language is optional</small>
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('link_licence', 'URI zur Lizenz') !!} {!! Form::label('link_licence', 'URI zur Lizenz') !!} {!! Form::text('link_licence', null, ['class' => 'pure-u-23-24']) !!}
{!! Form::text('link_licence', null, ['class' => 'pure-u-23-24']) !!}
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('link_logo', 'URI zum Logo') !!} {!! Form::label('link_logo', 'URI zum Logo') !!} {!! Form::text('link_logo', null, ['class' => 'pure-u-23-24']) !!}
{!! Form::text('link_logo', null, ['class' => 'pure-u-23-24']) !!}
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('desc_text', 'Beschreibungstext') !!} {!! Form::label('desc_text', 'Beschreibungstext') !!} {!! Form::textarea('desc_text', null, ['class' => 'pure-u-23-24', 'size'
{!! Form::textarea('desc_text', null, ['class' => 'pure-u-23-24', 'size' => '70x6']) !!} => '70x6']) !!}
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('desc_markup', 'Beschreibung als Markup') !!} {!! Form::label('desc_markup', 'Beschreibung als Markup') !!} {!! Form::textarea('desc_markup', null, ['class' => 'pure-u-23-24',
{!! Form::textarea('desc_markup', null, ['class' => 'pure-u-23-24', 'size' => '70x6']) !!} 'size' => '70x6']) !!}
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('comment_internal', 'Interne Bermerkung') !!} {!! Form::label('comment_internal', 'Interne Bermerkung') !!} {!! Form::textarea('comment_internal', null, ['class' => 'pure-u-23-24',
{!! Form::textarea('comment_internal', null, ['class' => 'pure-u-23-24', 'size' => '70x6']) !!} 'size' => '70x6']) !!}
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('mime_type', 'Internet Media Typ') !!} {!! Form::label('mime_type', 'Internet Media Typ') !!} {!! Form::text('mime_type', null, ['class' => 'pure-u-23-24']) !!}
{!! Form::text('mime_type', null, ['class' => 'pure-u-23-24']) !!}
</div> </div>
<div class="pure-u-1 pure-u-md-1-2 pure-div"> <div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('sort_order', 'Sortierreihenfolge') !!} {!! Form::label('sort_order', 'Sortierreihenfolge') !!} {!! Form::text('sort_order', null, ['class' => 'pure-u-23-24']) !!}
{!! Form::text('sort_order', null, ['class' => 'pure-u-23-24']) !!}
</div> </div>
</div> </div>
@ -70,4 +66,4 @@
<div class="pure-controls"> <div class="pure-controls">
{!! Form::submit($submitButtonText, ['class' => 'pure-button button-small']) !!} {!! Form::submit($submitButtonText, ['class' => 'pure-button button-small']) !!}
</div> </div>
@include('errors._errors') @include('errors._errors')

View File

@ -1,111 +1,140 @@
@extends ('settings.layouts.app') @extends ('settings.layouts.app')
@section ('title', trans('labels.backend.pages.management') . ' | ' . trans('labels.backend.pages.edit')) @section ('title', trans('labels.backend.pages.management') . ' | ' . trans('labels.backend.pages.edit'))
{{--
@section('page-header')
<h1>
{{ trans('labels.backend.pages.management') }}
<small>{{ trans('labels.backend.pages.edit') }}</small>
</h1>
@endsection
--}}
@section('content') {{ Form::model($page, ['method' => 'PATCH', 'route' => ['settings.page.update', $page],
'class' => 'pure-form pure-form-aligned', 'id' => 'edit-role', 'enctype' => 'multipart/form-data']) }}
{{-- @section('page-header') <div class="box box-info">
<h1>
{{ trans('labels.backend.pages.management') }}
<small>{{ trans('labels.backend.pages.edit') }}</small>
</h1>
@endsection --}}
@section('content') <div class="header">
<h3 class="header-title">{{ trans('labels.backend.pages.edit') }}
</h3>
<div class="box-tools pull-right">
{{--
@include('backend.pages.partials.pages-header-buttons') --}}
</div>
</div>
{{ Form::model($page, ['method' => 'PATCH', 'route' => ['settings.page.update', $page], 'class' => 'pure-form pure-form-aligned', 'id' => 'edit-role', 'enctype' => 'multipart/form-data']) }} <div class="box-body box-content">
<div class="box box-info"> <div class="pure-control-group">
{{ Form::label('title', trans('validation.attributes.backend.pages.title'), ['class' => 'col-lg-2 control-label required'])
<div class="header"> }}
<h3 class="header-title">{{ trans('labels.backend.pages.edit') }} <div class="col-lg-10">
</h3> {{ Form::text('title', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.title'),
<div class="box-tools pull-right"> 'required' => 'required', 'readonly' => 'true']) }}
{{-- @include('backend.pages.partials.pages-header-buttons') --}}
</div>
</div> </div>
<!--col-lg-10-->
</div>
<!--form control-->
<div class="box-body box-content"> <div class="pure-control-group">
{{ Form::label('description', trans('validation.attributes.backend.pages.description'), ['class' => 'col-lg-2 control-label
required']) }}
<div class="col-lg-10">
{{ Form::textarea('description', null,['class' => 'form-control', 'placeholder' => trans('validation.attributes.backend.pages.description')])
}}
</div>
<!--col-lg-3-->
</div>
<!--form control-->
<div class="pure-control-group"> {{--
{{ Form::label('title', trans('validation.attributes.backend.pages.title'), ['class' => 'col-lg-2 control-label required']) }} <div class="pure-control-group">
<div class="col-lg-10"> {{ Form::label('language', 'Language..', ['class' => 'col-lg-2 control-label required']) }}
{{ Form::text('title', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.title'), 'required' => 'required', 'readonly' => 'true']) }} <div class="col-lg-10">
</div><!--col-lg-10--> {{ Form::select('language', $languages, $page->language, ['placeholder' => '--no language--']) }}
</div><!--form control--> </div>
</div> --}}
<div class="pure-control-group"> <div class="pure-control-group">
{{ Form::label('description', trans('validation.attributes.backend.pages.description'), ['class' => 'col-lg-2 control-label required']) }} {{ Form::label('cannonical_link', trans('validation.attributes.backend.pages.cannonical_link'), ['class' => 'col-lg-2 control-label'])
<div class="col-lg-10"> }}
{{ Form::textarea('description', null,['class' => 'form-control', 'placeholder' => trans('validation.attributes.backend.pages.description')]) }} <div class="col-lg-10">
</div><!--col-lg-3--> {{ Form::text('cannonical_link', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.cannonical_link')])
</div><!--form control--> }}
</div>
<!--col-lg-10-->
</div>
<!--form control-->
{{-- <div class="pure-control-group"> <div class="pure-control-group">
{{ Form::label('language', 'Language..', ['class' => 'col-lg-2 control-label required']) }} {{ Form::label('seo_title', trans('validation.attributes.backend.pages.seo_title'), ['class' => 'col-lg-2 control-label'])
<div class="col-lg-10"> }}
{{ Form::select('language', $languages, $page->language, ['placeholder' => '--no language--']) }} <div class="col-lg-10">
</div> {{ Form::text('seo_title', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.seo_title')])
</div> --}} }}
</div>
<!--col-lg-10-->
</div>
<!--form control-->
<div class="pure-control-group"> <div class="pure-control-group">
{{ Form::label('cannonical_link', trans('validation.attributes.backend.pages.cannonical_link'), ['class' => 'col-lg-2 control-label']) }} {{ Form::label('seo_keyword', trans('validation.attributes.backend.pages.seo_keyword'), ['class' => 'col-lg-2 control-label'])
<div class="col-lg-10"> }}
{{ Form::text('cannonical_link', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.cannonical_link')]) }} <div class="col-lg-10">
</div><!--col-lg-10--> {{ Form::text('seo_keyword', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.seo_keyword')])
</div><!--form control--> }}
</div>
<!--col-lg-10-->
</div>
<!--form control-->
<div class="pure-control-group"> <div class="pure-control-group">
{{ Form::label('seo_title', trans('validation.attributes.backend.pages.seo_title'), ['class' => 'col-lg-2 control-label']) }} {{ Form::label('seo_description', trans('validation.attributes.backend.pages.seo_description'), ['class' => 'col-lg-2 control-label'])
<div class="col-lg-10"> }}
{{ Form::text('seo_title', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.seo_title')]) }} <div class="col-lg-10">
</div><!--col-lg-10--> {{ Form::textarea('seo_description', null,['class' => 'form-control', 'placeholder' => trans('validation.attributes.backend.pages.seo_description')])
</div><!--form control--> }}
</div>
<!--col-lg-3-->
</div>
<!--form control-->
<div class="pure-control-group"> <div class="pure-control-group">
{{ Form::label('seo_keyword', trans('validation.attributes.backend.pages.seo_keyword'), ['class' => 'col-lg-2 control-label']) }} {{ Form::label('status', trans('validation.attributes.backend.pages.is_active'), ['class' => 'col-lg-2 control-label']) }}
<div class="col-lg-10">
{{ Form::text('seo_keyword', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.seo_keyword')]) }}
</div><!--col-lg-10-->
</div><!--form control-->
<div class="pure-control-group"> <div class="col-lg-10">
{{ Form::label('seo_description', trans('validation.attributes.backend.pages.seo_description'), ['class' => 'col-lg-2 control-label']) }} <div class="control-group">
<div class="col-lg-10"> <label class="control control--checkbox">
{{ Form::textarea('seo_description', null,['class' => 'form-control', 'placeholder' => trans('validation.attributes.backend.pages.seo_description')]) }}
</div><!--col-lg-3-->
</div><!--form control-->
<div class="pure-control-group">
{{ Form::label('status', trans('validation.attributes.backend.pages.is_active'), ['class' => 'col-lg-2 control-label']) }}
<div class="col-lg-10">
<div class="control-group">
<label class="control control--checkbox">
{{ Form::checkbox('status', 1, ($page->status == 1) ? true : false ) }} {{ Form::checkbox('status', 1, ($page->status == 1) ? true : false ) }}
<div class="control__indicator"></div> <div class="control__indicator"></div>
</label> </label>
</div>
</div><!--col-lg-3-->
</div><!--form control-->
<div class="pure-controls">
{{ link_to_route('settings.page.index', trans('buttons.general.cancel'), [], ['class' => 'pure-button button-small is-warning']) }}
{{ Form::submit(trans('buttons.general.crud.update'), ['class' => 'pure-button button-small is-primary']) }}
<div class="clearfix"></div>
</div> </div>
</div>
<!--col-lg-3-->
</div>
<!--form control-->
</div><!-- /.box-body --> <div class="pure-controls">
</div><!--box--> {{ link_to_route('settings.page.index', trans('buttons.general.cancel'), [], ['class' => 'pure-button button-small is-warning'])
{{ Form::close() }} }} {{ Form::submit(trans('buttons.general.crud.update'), ['class' => 'pure-button button-small is-primary'])
}}
<div class="clearfix"></div>
</div>
</div>
<!-- /.box-body -->
</div>
<!--box-->
{{ Form::close() }}
@endsection @endsection
@section("after-scripts") @section("after-scripts")
<script type="text/javascript"> <script type="text/javascript">
// Backend.Pages.init(); // Backend.Pages.init();
</script> </script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.10/summernote-lite.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.10/summernote-lite.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.10/summernote-lite.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.10/summernote-lite.js"></script>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
// $('#description').summernote(); // $('#description').summernote();
$('#description').summernote({ $('#description').summernote({
height: "300px", height: "300px",
@ -116,5 +145,5 @@
} }
}); });
}); });
</script> </script>
@endsection @endsection

View File

@ -1,11 +1,9 @@
@extends ('settings.layouts.app') @extends ('settings.layouts.app')
@section ('title', trans('labels.backend.pages.management')) {{--
@section ('title', trans('labels.backend.pages.management')) @section('page-header')
<h2>{{ trans('labels.backend.pages.management') }}</h1>
{{-- @section('page-header') @endsection
<h2>{{ trans('labels.backend.pages.management') }}</h1> --}}
@endsection --}}
@section('content') @section('content')
<div class="box box-info"> <div class="box box-info">
@ -14,7 +12,8 @@
<i class="fa fa fa-edit"></i> {{ trans('labels.backend.pages.management') }} <i class="fa fa fa-edit"></i> {{ trans('labels.backend.pages.management') }}
</h3> </h3>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
{{-- @include('backend.pages.partials.pages-header-buttons') --}} {{--
@include('backend.pages.partials.pages-header-buttons') --}}
</div> </div>
</div> </div>
@ -33,11 +32,13 @@
<thead class="transparent-bg"> <thead class="transparent-bg">
<tr> <tr>
<th> <th>
{!! Form::text('first_name', null, ["class" => "search-input-text form-control", "data-column" => 0, "placeholder" => trans('labels.backend.pages.table.title')]) !!} {!! Form::text('first_name', null, ["class" => "search-input-text form-control", "data-column" => 0, "placeholder" => trans('labels.backend.pages.table.title')])
<a class="reset-data" href="javascript:void(0)"><i class="fa fa-times"></i></a> !!}
<a class="reset-data" href="javascript:void(0)"><i class="fa fa-times"></i></a>
</th> </th>
<th> <th>
{!! Form::select('status', [0 => "InActive", 1 => "Active"], null, ["class" => "search-input-select form-control", "data-column" => 1, "placeholder" => trans('labels.backend.pages.table.all')]) !!} {!! Form::select('status', [0 => "InActive", 1 => "Active"], null, ["class" => "search-input-select form-control", "data-column"
=> 1, "placeholder" => trans('labels.backend.pages.table.all')]) !!}
</th> </th>
<th></th> <th></th>
<th></th> <th></th>
@ -45,14 +46,15 @@
</tr> </tr>
</thead> </thead>
</table> </table>
</div><!--table-responsive--> </div>
</div><!-- /.box-body --> <!--table-responsive-->
</div><!--box--> </div>
<!-- /.box-body -->
</div>
<!--box-->
@endsection @endsection
@section('after-scripts') @section('after-scripts') {{-- For DataTables --}} {{ Html::script(mix('js/dataTable.js')) }}
{{-- For DataTables --}}
{{ Html::script(mix('js/dataTable.js')) }}
<script> <script>
$(function() { $(function() {

View File

@ -39,7 +39,7 @@ Route::get('/api/persons', function () {
if ($request->exists('filter')) { if ($request->exists('filter')) {
$query->where(function ($q) use ($request) { $query->where(function ($q) use ($request) {
$value = "%{$request->filter}%"; $value = "%{$request->filter}%";
$q->where('name', 'like', $value) $q->where('first_name', 'like', $value)
// ->orWhere('nickname', 'like', $value) // ->orWhere('nickname', 'like', $value)
->orWhere('email', 'like', $value); ->orWhere('email', 'like', $value);
}); });