enhanced ui and layout

This commit is contained in:
vagrant
2018-10-14 14:59:48 +00:00
parent b669cab4a7
commit e8c5ffe502
16 changed files with 376 additions and 259 deletions
+2
View File
@@ -16,3 +16,5 @@ yarn-error.log
# Swap files
*.swp
.DS_Store
+12
View File
@@ -0,0 +1,12 @@
<?php
/**
* Return nav-here if current path begins with this path.
*
* @param string $path
* @return string
*/
function setActive($path)
{
return Request::is($path . '*') ? ' active' : '';
}
+7 -4
View File
@@ -1,7 +1,10 @@
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"type": "project",
"require": {
@@ -23,7 +26,8 @@
},
"autoload": {
"files": [
"app/Http/helpers.php"
"app/Http/helpers.php",
"app/helpers.php"
],
"classmap": [
"database/seeds",
@@ -40,8 +44,7 @@
},
"extra": {
"laravel": {
"dont-discover": [
]
"dont-discover": []
}
},
"scripts": {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 21 KiB

+13 -7
View File
@@ -3,16 +3,22 @@
@section('title', 'Kassenbuch')
@section('subnav')
<a href='/bookings/create'>Neue Buchung</a>
<li class="nav-item ml-auto">
<a href='/bookings/create' class="btn btn-outline-success">Neue Buchung</a>
</li>
@endsection
@section('content')
<h4>
<a href='/bookings/year-{{ $year - 1 }}'>{{ $year - 1 }}</a>
1. Januar {{ $year }} - 31. Dezember {{ $year }}
<a href='/bookings/year-{{ $year + 1 }}'>{{ $year + 1 }}</a>
</h4>
<table border='1'>
<div class="d-flex justify-content-between h4 mb-5 mt-4">
<a href='/bookings/year-{{ $year - 1 }}'>
<i class="fas fa-chevron-left"></i> {{ $year - 1 }}
</a>
<strong>1. Januar {{ $year }} - 31. Dezember {{ $year }}</strong>
<a href='/bookings/year-{{ $year + 1 }}'>
{{ $year + 1 }} <i class="fas fa-chevron-right"></i>
</a>
</div>
<table class='table table-striped table-bordered'>
<tr>
<th></th>
<th>ID</th>
+1 -1
View File
@@ -1 +1 @@
<p>This page took {{ number_format(microtime(true) - LARAVEL_START, 3) }} seconds to render.</p>
<p class="text-muted">This page took {{ number_format(microtime(true) - LARAVEL_START, 3) }} seconds to render.</p>
+72 -47
View File
@@ -1,7 +1,9 @@
@extends('layout.master')
@section('subnav')
<a href='{{ url()->previous() }}'>Zurück</a>
<li class="nav-item">
<a href="{{ url()->previous() }}" class="btn btn-outline-primary">Zurück</a>
</li>
@endsection
@section('content')
@@ -12,61 +14,80 @@
@endif
{{ csrf_field() }}
<h3>Stammdaten</h3>
<table>
<tr>
<td>{{ Form::label('title', 'Anrede') }}</td>
<td>
<div class="form-group row">
{{ Form::label('title', 'Anrede', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
@if (!is_null($person->id))
{{ Form::select('title', [
'Herr' => 'Herr',
'Frau' => 'Frau',
'Firma' => 'Firma'],
$person->title) }}
$person->title, ['class' => 'form-control']) }}
@else
{{ Form::select('title', [
'Herr' => 'Herr',
'Frau' => 'Frau',
'Firma' => 'Firma']) }}
'Firma' => 'Firma']
, null, ['class' => 'form-control']) }}
@endif
</td>
</tr>
<tr>
<td>{{ Form::label('name_or_company', 'Name / Firma') }}</td>
<td>{{ Form::text('name_or_company', $person->name_or_company) }}</td>
</tr>
<tr>
<td>{{ Form::label('surname', 'Vorname') }}</td>
<td>{{ Form::text('surname', $person->surname) }}</td>
</tr>
<tr>
<td>{{ Form::label('street', 'Straße + Hausnummer') }}</td>
<td>{{ Form::text('street', $person->street) }}</td>
</tr>
<tr>
<td>{{ Form::label('postal_code', 'Postleitzahl') }}</td>
<td>{{ Form::text('postal_code', $person->postal_code) }}</td>
</tr>
<tr>
<td>{{ Form::label('city', 'Stadt') }}</td>
<td>{{ Form::text('city', $person->city) }}</td>
</tr>
<tr>
<td>{{ Form::label('email', 'E-Mail') }}</td>
<td>{{ Form::text('email', $person->email) }}</td>
</tr>
<tr>
<td>{{ Form::label('mobile', 'Handy') }}</td>
<td>{{ Form::text('mobile', $person->mobile) }}</td>
</tr>
<tr>
<td>{{ Form::label('phone', 'Telefon') }}</td>
<td>{{ Form::text('phone', $person->phone) }}</td>
</tr>
<tr>
<td>{{ Form::label('date_of_birth', 'Geburtsdatum') }}</td>
<td>{{ Form::date('date_of_birth', $person->date_of_birth) }}</td>
</tr>
</table>
</div>
</div>
<div class="form-group row">
{{ Form::label('name_or_company', 'Name / Firma', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::text('name_or_company', $person->name_or_company, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('surname', 'Vorname', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::text('surname', $person->surname, ['class' => 'form-control']) }}</div>
</div>
<div class="form-group row">
{{ Form::label('street', 'Straße + Hausnummer', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::text('street', $person->street, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('postal_code', 'Postleitzahl', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::text('postal_code', $person->postal_code, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('city', 'Stadt', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::text('city', $person->city, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('email', 'E-Mail', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::text('email', $person->email, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('mobile', 'Handy', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::text('mobile', $person->mobile, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('phone', 'Telefon', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::text('phone', $person->phone, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('date_of_birth', 'Geburtsdatum', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::date('date_of_birth', $person->date_of_birth, ['class' => 'form-control']) }}
</div>
</div>
@if ($person->title != 'Firma')
<h3>Mitgliedsdaten</h3>
@@ -96,6 +117,10 @@
</table>
@endif
<button type="submit" id="submit">Speichern</button>
<div class="form-group row">
<div class="col-sm-10">
<button class="btn btn-primary" type="submit" id="submit">Speichern</button>
</div>
</div>
</form>
@endsection
+29 -18
View File
@@ -11,27 +11,38 @@
{{ method_field('patch') }}
@endif
{{ csrf_field() }}
<table>
<tr>
<td>{{ Form::label('name', 'Name') }}</td>
<td>{{ Form::text('name', $project->name) }}</td>
</tr>
<tr>
<td>{{ Form::label('start_date', 'Beginn') }}</td>
<td>{{ Form::date('start_date', $project->start_date) }}</td>
</tr>
<tr>
<td>{{ Form::label('end_date', 'Ende') }}</td>
<td>{{ Form::date('end_date', $project->end_date) }}</td>
</tr>
</table>
<ul>
<div class="error-list">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
<div class="alert alert-danger">{{ $error }}</div>
@endforeach
</ul>
</div>
<button type="submit" id="submit">Speichern</button>
<div class="form-group row">
{{ Form::label('name', 'Name', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::text('name', $project->name, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('start_date', 'Beginn', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::date('start_date', $project->start_date, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('end_date', 'Ende', ['class' => 'col-sm-2 col-form-label']) }}
<div class="col-sm-10">
{{ Form::date('end_date', $project->start_date, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-group row">
<div class="col-sm-10">
<button class="btn btn-primary" type="submit" id="submit">Speichern</button>
</div>
</div>
</form>
@endsection
-3
View File
@@ -1,3 +0,0 @@
<p>
<img src='{{ asset('img/pollux_logo.png') }}' alt='Pollux logo' height='10%'>
</p>
+36 -22
View File
@@ -1,34 +1,48 @@
<html>
<head>
<title>Pollux - @yield('title')</title>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.1/css/all.css" integrity="sha384-5sAR7xN1Nv6T6+dT2mhtzEpVJvfS3NScPQTrOxhwjIuvcA67KV2R5Jz6kr4abQsz" crossorigin="anonymous">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.19/css/dataTables.bootstrap4.min.css" crossorigin="anonymous">
<style>
.table td, .table th {
vertical-align: middle;
}
.footer {
margin-top: 100px;
width: 100%;
height: 60px;
line-height: 60px;
background-color: #f5f5f5;
}
</style>
</head>
<body style='font-family: Arial, Helvetica, sans-serif'>
<div id='header'>
@include('layout.header')
</div>
<table border='1' width='100%'>
<tr>
<td valign='top' rowspan='2' width='100px'>
<div id='nav'>
<body style="padding-top: 56px;">
@include('layout.nav')
</div>
</td>
<td>
<div id='subnav'>
@yield('subnav')
</div>
</td>
</tr>
<tr>
<td>
<div class="container-fluid">
<div id='content'>
@yield('content')
</div>
</td>
</tr>
</table>
<div id='footer'>
</div>
<footer id='footer' class="footer">
<div class="container">
@include('layout.footer')
</div>
</footer>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js" crossorigin="anonymous"></script>
<script src="https://cdn.datatables.net/1.10.19/js/dataTables.bootstrap4.min.js" crossorigin="anonymous"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#datatable').DataTable();
} );
</script>
</body>
</html>
+24 -4
View File
@@ -1,5 +1,25 @@
<ul style='list-style-type: none; padding: 0'>
<li><a href='/bookings/year-{{ date('Y') }}'>Kassenbuch</a></li>
<li><a href='/people'>Personen</a></li>
<li><a href='/projects/'>Projekte</a></li>
<nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
<a class="navbar-brand" href="/" style="padding-top: 0;padding-bottom: 0;">
<img src='{{ asset('img/pollux_logo.png') }}' alt='Pollux logo' height="41px">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item{{ setActive('bookings/year-'.date('Y')) }}">
<a class="nav-link" href="/bookings/year-{{ date('Y') }}">Kassenbuch</a>
</li>
<li class="nav-item{{ setActive('people') }}">
<a class="nav-link" href="/people">Personen</a>
</li>
<li class="nav-item{{ setActive('projects') }}">
<a class="nav-link" href="/projects">Projekte</a>
</li>
</ul>
<ul class="navbar-nav ml-auto">
@yield('subnav')
</ul>
</div>
</nav>
+10 -5
View File
@@ -3,20 +3,25 @@
@section('title', 'Person löschen')
@section('subnav')
<a href='{{ url()->previous() }}'>Zurück</a>
<li class="nav-item">
<a href="{{ url()->previous() }}" class="btn btn-outline-primary">Zurück</a>
</li>
@endsection
@section('content')
<form action='/people/{{ $person->id }}' method='post'>
<form action='/people/{{ $person->id }}' method='post' class="mt-4 text-center">
{{ method_field('delete') }}
{{ csrf_field() }}
@if ($person->isEven())
<div class="alert alert-danger">
<p>Soll <b>{{ $person->fullName() }}</b> wirklich gelöscht werden?</p>
<button type="submit" id="submit">Ja</button>
</div>
@else
<p><b>{{ $person->fullName() }}</b> kann nicht gelöscht werden, da es noch
offene Forderungen oder Verbindlichkeiten gibt.</p>
<div class="alert alert-warning">
<b>{{ $person->fullName() }}</b> kann nicht gelöscht werden, da es noch
offene Forderungen oder Verbindlichkeiten gibt.
</div>
@endif
</form>
@endsection
+23 -17
View File
@@ -3,28 +3,32 @@
@section('title', 'Personen')
@section('subnav')
<a href='/people/create'>Neue Person</a>
<li class="nav-item ml-auto">
<a href='/people/create' class="btn btn-outline-success">Neue Person</a>
</li>
@endsection
@section('content')
<h2>@yield('title')</h2>
<table border='1'>
<table id="datatable" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>ID</th>
<th>Titel</th>
<th>Name / Firma</th>
<th>Vorname</th>
<th>Straße</th>
<th>PLZ</th>
<th>Ort</th>
<th>E-Mail</th>
<th>Handy</th>
<th>Telefon</th>
<th>Aktionen</th>
<th scope="col">ID</th>
<th scope="col">Titel</th>
<th scope="col">Name / Firma</th>
<th scope="col">Vorname</th>
<th scope="col">Straße</th>
<th scope="col">PLZ</th>
<th scope="col">Ort</th>
<th scope="col">E-Mail</th>
<th scope="col">Handy</th>
<th scope="col">Telefon</th>
<th scope="col" data-orderable="false">Aktionen</th>
</tr>
</thead>
@foreach ($people as $person)
<tr>
<td>{{ $person->id }}</td>
<th scope="row">{{ $person->id }}</td>
<td>{{ $person->title }}</td>
<td>{{ $person->name_or_company }}</td>
<td>{{ $person->surname }}</td>
@@ -35,9 +39,11 @@
<td>{{ $person->mobile }}</td>
<td>{{ $person->phone }}</td>
<td>
<a href='/people/{{ $person->id }}'>Anzeigen</a><br />
<a href='/people/{{ $person->id }}/edit'>Bearbeiten</a><br />
<a href='/people/{{ $person->id }}/delete'>Löschen</a>
<div class="btn-group" role="group" aria-label="Basic example">
<a href='/people/{{ $person->id }}' class="btn btn-primary"><i class="fas fa-eye"></i></a>
<a href='/people/{{ $person->id }}/edit' class="btn btn-success"><i class="fas fa-edit"></i></a>
<a href='/people/{{ $person->id }}/delete' class="btn btn-danger"><i class="fas fa-trash"></i></a>
</div>
</td>
</tr>
@endforeach
+14 -12
View File
@@ -5,14 +5,16 @@
@endsection
@section('subnav')
<a href='/people'>Zurück</a>
<a href='/people/{{ $person->id }}/edit'>Bearbeiten</a>
<li class="nav-item">
<a href='/people' class="btn btn-outline-secondary">Zurück</a>
<a href='/people/{{ $person->id }}/edit' class="btn btn-outline-primary">Bearbeiten</a>
</li>
@endsection
@section('content')
<h2>@yield('title')</h2>
<h2>Stammdaten</h2>
<table border='1'>
<table class='table table-bordered table-striped'>
<tr>
<td>ID</td>
<td>{{ $person->id }}</td>
@@ -88,7 +90,7 @@
@endif
<h2>Konto<h2>
<table border='1'>
<table class='table table-bordered table-striped'>
<tr>
<th>&nbsp;</th>
<th>Datum</th>
@@ -98,17 +100,17 @@
<th>Differenz</th>
</tr>
@foreach ($person->targets as $target)
<tr>
<td>></>
<td>{{ formatDate($target->date) }}</td>
<td>{{ $target->reference }}</td>
<td align='right'>{!! formatAmount($target->signedAmount()) !!}</td>
<td align='right'>{!! formatAmount($target->actualsSum()) !!}</td>
<td align='right'>{!! formatAmount($target->difference()) !!}</td>
<tr class="table-secondary">
<td></td>
<th>{{ formatDate($target->date) }}</th>
<th>{{ $target->reference }}</th>
<th align='right'>{!! formatAmount($target->signedAmount()) !!}</th>
<th align='right'>{!! formatAmount($target->actualsSum()) !!}</th>
<th align='right'>{!! formatAmount($target->difference()) !!}</th>
<tr>
@foreach ($target->actuals as $actual)
<tr>
<td></>
<td></td>
<td>{{ formatDate($actual->date()) }}</td>
<td>{{ $actual->reference }}</td>
<td></td>
+32 -18
View File
@@ -3,68 +3,82 @@
@section('title', 'Projekte')
@section('subnav')
<a href='/projects/create'>Neues Projekt</a>
<li class="nav-item">
<a href='/projects/create' class="btn btn-outline-success">Neues Projekt</a>
</li>
@endsection
@section('content')
<h2>@yield('title')</h2>
<h3>Aktuelle Projekte</h3>
<table border='1'>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>Name</th>
<th>Beginn</th>
<th>Ende</th>
<th>Aktionen</th>
</tr>
</thead>
@foreach($projects->where('start_date', '<=', now())
->where('end_date', '>=', now()) as $project)
<tr>
<td>{{ $project->name }}</td>
<td>{{ formatDate($project->start_date) }}</td>
<td>{{ formatDate($project->end_date) }}</td>
<td>
<a href='/projects/{{ $project->id }}/edit'>Bearbeiten</a><br />
<a href='/projects/{{ $project->id }}/delete'>Löschen</a>
<td width="1">
<div class="btn-group" role="group" aria-label="Basic example">
<a href='/projects/{{ $project->id }}/edit' class="btn btn-success"><i class="fas fa-edit"></i></a>
<a href='/projects/{{ $project->id }}/delete' class="btn btn-danger"><i class="fas fa-trash"></i></a>
</div>
</td>
</tr>
@endforeach
</table>
<h3>Kommende Projekte</h3>
<table border='1'>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>Name</th>
<th>Beginn</th>
<th>Ende</th>
<th>Aktionen</th>
</tr>
</thead>
@foreach($projects->where('start_date', '>', now()) as $project)
<tr>
<td>{{ $project->name }}</td>
<td>{{ formatDate($project->start_date) }}</td>
<td>{{ formatDate($project->end_date) }}</td>
<td>
<a href='/projects/{{ $project->id }}/edit'>Bearbeiten</a><br />
<a href='/projects/{{ $project->id }}/delete'>Löschen</a>
<td width="1">
<div class="btn-group" role="group" aria-label="Basic example">
<a href='/projects/{{ $project->id }}/edit' class="btn btn-success"><i class="fas fa-edit"></i></a>
<a href='/projects/{{ $project->id }}/delete' class="btn btn-danger"><i class="fas fa-trash"></i></a>
</div>
</td>
</tr>
@endforeach
</table>
<h3>Vergangene Projekte</h3>
<table border='1'>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>Name</th>
<th>Beginn</th>
<th>Ende</th>
<th>Aktionen</th>
<th scope="col">Name</th>
<th scope="col">Beginn</th>
<th scope="col">Ende</th>
<th scope="col">Aktionen</th>
</tr>
</thead>
@foreach($projects->where('end_date', '<', now()) as $project)
<tr>
<td>{{ $project->name }}</td>
<td scope="row">{{ $project->name }}</td>
<td>{{ formatDate($project->start_date) }}</td>
<td>{{ formatDate($project->end_date) }}</td>
<td>
<a href='/projects/{{ $project->id }}/edit'>Bearbeiten</a><br />
<a href='/projects/{{ $project->id }}/delete'>Löschen</a>
<td width="1">
<div class="btn-group" role="group" aria-label="Basic example">
<a href='/projects/{{ $project->id }}/edit' class="btn btn-success"><i class="fas fa-edit"></i></a>
<a href='/projects/{{ $project->id }}/delete' class="btn btn-danger"><i class="fas fa-trash"></i></a>
</div>
</td>
</tr>
@endforeach