code cleaned

This commit is contained in:
s416422 2019-12-20 01:11:51 +01:00
parent b1ad665738
commit 1a1d79a5f4
23 changed files with 1158 additions and 1441 deletions

View File

@ -1,4 +1,5 @@
@import url(https://fonts.googleapis.com/css?family=Nunito);@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Nunito);
@charset "UTF-8";
/*!
* Bootstrap v4.3.1 (https://getbootstrap.com/)
@ -11100,19 +11101,10 @@ a.text-dark:focus {
}
}
.full-height {
height: 100%;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.title {
font-size: 84px;
}
@ -11127,89 +11119,82 @@ a.text-dark:focus {
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
.content {
text-align: center;
color: #636b6f;
}
#app {
display: flex;
flex-direction: column;
}
.container, .py-4 {
height: 100%;
}
/*.btn-custom {*/
/*border: none;*/
/*border-bottom: 1px solid lightgrey;*/
/*background-color: white;*/
/*color: #1e3572;*/
/*}*/
.custom-header {
display: flex;
justify-content: space-between;
background-color: #ececec;
}
.add-subject, .add-attendance {
display: none;
}
.add-subject.open, .add-attendance.open {
display: block;
}
.card-body {
margin-top: 30px;
}
.classes-form {
margin-bottom: 50px;
}
.map-buttons {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.subjects-table {
margin-bottom: 50px;
}
.seat-wrapper {
display: flex;
flex-direction: column;
}
.main-seat-text {
font-size: 50px;
}
.navbar-nav.ml-auto {
justify-content: flex-end;
width: 100%;
}
.no-margin-top {
margin-top: 0;
}
.nav-link {
margin-left: 30px;
transition: transform 0.3s;
}
.nav-link:hover {
transform: scale(1.1);
}
.btn-export {
background-color: #649a24;
}
.card-header {
background-color: #ececec;
}
.card-custom {
display: flex;
justify-content: flex-start;
align-items: center;
}
.card-body {
margin-top: 30px;
}
.classes-form {
margin-bottom: 50px;
}
.subjects-table {
margin-bottom: 50px;
}
.navbar-nav.ml-auto {
justify-content: flex-end;
width: 100%;
}
.no-margin-top {
margin-top: 0;
}
.nav-link {
margin-left: 30px;
transition: transform 0.3s;
}
.nav-link:hover {
transform: scale(1.1);
}
.btn-export {
background-color: #649a24;
}
.sort-span {
margin-right: 20px;
}
.form-custom {
width: auto;
}
.carousel-control-prev, .carousel-control-next {
.carousel-control-prev, .carousel-control-next, .sr-only {
filter: invert(100%);
}
main {
padding-top: 20px;
}

View File

@ -1,41 +1,49 @@
div.seatCharts-container {
min-width: 700px;
a {
color: #b71a4c;
}
div.seatCharts-cell {
height: 16px;
width: 16px;
div.seatCharts-container {
text-align: center;
width: fit-content;
padding: 30px;
margin: auto;
}
div.seatCharts-cell {
margin: 3px;
float: left;
text-align: center;
outline: none;
font-size: 13px;
line-height:16px;
color: blue;
color: #182C4E;
height: 90px;
width: 90px;
line-height: 90px;
}
div.seatCharts-seat {
background-color: green;
color: white;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
cursor: default;
color: #FFFFFF;
cursor: pointer;
}
div.seatCharts-seat:focus {
border: none;
}
.seatCharts-seat:focus {
outline: none;
}
div.seatCharts-space {
background-color: white;
}
div.seatCharts-row {
height: 50px;
height: 100px;
display: flex;
justify-content: flex-start;
margin: 0 auto;
width: auto;
}
div.seatCharts-row:after {
@ -43,33 +51,270 @@ div.seatCharts-row:after {
}
div.seatCharts-seat.selected {
background-color: aqua;
background-color: #1b4d76;
}
div.seatCharts-seat.focused {
background-color: #6db131;
background-color: #1F5684;
}
div.seatCharts-seat.available {
background-color: green;
background-color: #649a24;
}
div.seatCharts-seat.available.student-class {
background-color: #a8b9bd;
}
div.seatCharts-seat.unavailable {
background-color: red;
cursor: not-allowed;
background-color: #6F7881;
}
ul.seatCharts-legendList {
list-style: none;
cursor: default;
padding-left: 0;
}
li.seatCharts-legendItem {
margin-top: 10px;
line-height: 2;
}
li.seatCharts-legendItem div {
cursor: default;
}
li.seatCharts-legendItem > .seatCharts-cell {
cursor: default;
}
div.seatCharts-legend {
display: inline-block;
}
div.seatCharts-legend li {
text-align: left;
}
span.seatCharts-legendDescription {
margin-left: 5px;
line-height: 100px;
}
.front-indicator {
margin: 0;
background-color: #ececec;
color: #a1a1a1;
text-align: center;
padding: 15px;
border-radius: 5px;
display: flex;
justify-content: flex-start;
align-items: center;
}
#legend {
width: 49%;
margin: 0 auto;
float: left;
font-size: 16px;
}
.booking-details {
display: inline-block;
text-align: right;
font-size: 12px;
width: 49%;
margin: 0 auto;
}
.booking-details h2 {
margin: 25px 0 20px 0;
font-size: 22px;
color: #333333;
letter-spacing: 0.15em;
font-weight: bold;
}
.booking-details h3 {
margin: 5px 5px 0 0;
font-size: 40px;
color: #333333;
font-weight: bold;
}
.map-buttons {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.checkout-button {
margin: 10px 0;
font-size: 14px;
color: #fff;
background-color: #3490dc;
border-radius: 3px;
border: 0;
padding: 15px 40px;
display: inline-block;
text-align: center;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 3px 10px 0 rgba(0, 0, 0, 0.1);
}
.checkout-button:hover {
box-shadow: 0 0 rgb(103, 88, 184);
background-color: #227dc7;
border-color: #2176bd;
}
a.checkout-button {
color: #fff;
text-decoration: none;
}
#selected-seats {
list-style-type: none;
margin-left: 0;
padding-left: 0;
}
.seat-p {
font-weight: bold;
font-size: 20px;
margin-left: 15%;
}
.wrapper {
margin: 0 40px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 0;
}
.wrapper h2 {
font-size: 40px;
padding: 0;
}
.wrapper h3 {
font-size: 30px;
font-weight: 400;
text-shadow: 1px 0px 0px rgb(160, 160, 160);
}
.seat-stat-wrapper, .seat-chart-wrapper {
width: 100%;
}
.card-reader {
text-align: center;
color: #3490dc;
border-color: #3490dc;
padding: 50px 100px;
font-size: 30px;
display: none;
width: 70%;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 3px 10px 0 rgba(0, 0, 0, 0.1);
}
.card-reader.open {
display: block;
}
.code-p {
text-align: center;
font-size: 20px;
margin-bottom: 100px;
}
.card-reader-form {
display: flex;
flex-direction: column;
align-items: flex-start;
}
.card-reader-form div {
width: 100%;
display: flex;
justify-content: space-between;
}
.main-text {
text-transform: uppercase;
font-family: 'Nunito', sans-serif;
font-weight: 500;
text-shadow: 0 0 2px rgba(56, 55, 55, 0.6);
color: #636b6f;
text-align: center;
font-size: 50px;
}
#sel-seat {
font-size: 24px;
text-shadow: 0px 0px 1px rgb(160, 160, 160);
margin-top: -15px;
margin-bottom: 100px;
padding: 0;
font-weight: 600;
letter-spacing: 0.2em;
}
@media (max-width: 1300px) {
.wrapper {
height: 50%;
}
.main-text {
font-size: 9vh;
}
}
@media (max-width: 870px) {
.wrapper {
height: 35%;
}
.main-text {
font-size: 3.5em;
line-height: 10vh;
width: 100%;
}
.card-reader {
bottom: -30%;
transform: translate(-50%, -10%);
padding: 30px 50px;
font-size: 25px;
}
}
@media (max-width: 650px) {
.wrapper {
height: 30%;
}
.main-text {
font-size: 2.7em;
line-height: 6vh;
width: 100%;
padding: 20px 0;
}
}
@media screen and (max-width: 550px) {
#legend {
width: 100%;
}
.booking-details {
width: 100%;
text-align: left;
}
}

View File

@ -1,93 +0,0 @@
body {
font-family: 'Nunito', sans-serif;
background-color: #f8fafc;
}
.wrapper {
text-align: center;
margin: 100px;
border-radius: 10px;
padding: 50px 0;
text-shadow: 0 0 2px rgba(56, 55, 55, 0.6);
color: #545c5f;
}
.wrapper h2 {
font-size: 64px;
padding: 0;
}
.wrapper h3 {
font-size: 36px;
font-weight: 400;
text-shadow: 1px 0px 0px rgb(160, 160, 160);
}
#sel-seat {
font-size: 24px;
text-shadow: 0px 0px 1px rgb(160, 160, 160);
margin-top: -15px;
margin-bottom: 100px;
padding: 0;
font-weight: 600;
letter-spacing: 0.2em;
}
button {
margin: auto 0;
font-size: 18px;
border-radius: 2px;
border: 0;
min-width: 250px;
padding: 25px 60px;
text-align: center;
color: #fff;
background-color: #3490dc;
border-color: #3490dc;
display: inline-block;
position: absolute;
left: 50%;
bottom: 30%;
transform: translate(-50%, -10%);
}
button:hover {
color: #fff;
background-color: #227dc7;
border-color: #2176bd;
}
button:active {
box-shadow: 0 0 #b85a5b;
background-color: #3654ff;
}
.checkout-button {
margin: 10px 0;
font-size: 14px;
background-color: #5d7cd3;
border-radius: 3px;
border: 0;
padding: 15px 40px;
display: inline-block;
text-align: center;
box-shadow:0px 4px 0px #1e3572;
}
.checkout-button:hover {
box-shadow: 0 0 rgb(103, 88, 184);
background-color: #3654c9;
cursor: pointer;
}
.checkout-button:active {
box-shadow: 0 0 #b85a5b;
background-color: #3654ff;
}
a.checkout-button {
color: #fff;
text-decoration: none;
}
.add-mn-btn {
display: none;
}

View File

@ -1,148 +0,0 @@
body {
background-color: #f8fafc;
}
.wrapper {
margin: 0 auto;
display: inline-block;
padding: 20px;
width: 70%;
height:60vh;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.czytnik {
text-align: center;
position: absolute;
left: 50%;
bottom: -30%;
transform: translate(-50%, -10%);
box-shadow: 0 0 rgb(103, 88, 184);
color: #fff;
background-color: #3490dc;
border-color: #3490dc;
padding: 50px 100px;
font-size: 30px;
display: none;
width: 70%;
}
.czytnik:hover {
color: #fff;
background-color: #227dc7;
border-color: #2176bd;
}
.czytnik.open {
display: block;
}
.code-p {
text-align: center;
font-size: 20px;
margin-bottom: 100px;
}
.test-form {
display: flex;
flex-direction: column;
align-items: flex-start;
}
.test-form div {
width: 100%;
display: flex;
justify-content: space-between;
}
.main-text {
text-transform: uppercase;
font-family: 'Nunito', sans-serif;
font-weight: 500;
text-shadow: 0 0 2px rgba(56, 55, 55, 0.6);
color: #636b6f;
text-align: center;
font-size: 12vh;
}
@media (max-width: 1300px) {
.wrapper {
height: 50%;
}
.main-text {
font-size: 9vh;
}
}
@media (max-width: 870px) {
.wrapper {
height: 35%;
}
.main-text {
font-size: 3.5em;
line-height: 10vh;
width: 100%;
}
.czytnik {
bottom: -30%;
transform: translate(-50%, -10%);
padding: 30px 50px;
font-size: 25px;
}
}
@media (max-width: 650px) {
.wrapper {
height: 30%;
}
.main-text {
font-size: 2.7em;
line-height: 6vh;
width: 100%;
padding: 20px 0;
}
}
.checkout-button {
margin: 10px 0;
font-size: 14px;
background-color: #5d7cd3;
border-radius: 3px;
border: 0;
padding: 15px 40px;
display: inline-block;
text-align: center;
box-shadow:0px 4px 0px #1e3572;
color: #fff;
}
.checkout-button:hover {
box-shadow: 0 0 rgb(103, 88, 184);
background-color: #3654c9;
cursor: pointer;
}
.checkout-button:active {
top: 4px;
box-shadow: 0 0 #b85a5b;
background-color: #3654ff;
}
a.checkout-button {
color: #fff;
text-decoration: none;
}
.map-buttons {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.seat-wrapper {
display: flex;
flex-direction: column;
}
.main-seat-text {
font-size: 70px;
text-align: center;
}

View File

@ -1,101 +1,72 @@
body {
background-color: #f8fafc;
font-family: 'Nunito', sans-serif;
font-weight: 600;
}
.seat-stat-wrapper h1{
text-align: center;
font-size: 56px;
padding-bottom: 10px;
border-bottom: 2px outset rgba(133, 133, 133, 0.4);
text-transform: uppercase;
font-family: 'Nunito', sans-serif;
font-weight: 500;
text-shadow: 0 0 6px rgba(133, 133, 133, 0.4);
color: #636b6f;
}
.add-mn-btn, .end-button {
display: none;
}
#choosepanel h2, .room-view h2 {
font-size: 23px;
text-shadow: 0 0 6px rgba(133, 133, 133, 0.4);
}
#choosepanel select {
font-size: 18px;
width: 150px;
text-shadow: 0 0 6px rgba(133, 133, 133, 0.4);
display: block;
font-family: sans-serif;
}
.seat-chart-wrapper, div.seatCharts-space {
background-color: #ececec;
}
.seat-chart-wrapper {
padding: 60px 0;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 3px 10px 0 rgba(0, 0, 0, 0.1);
}
.preview-page-content {
display: flex;
justify-content: center;
align-items: flex-start;
justify-content: space-between;
align-items: center;
height: 100%;
padding: auto;
padding-top: 50px;
margin: 40px;
}
.preview-attendance-table {
width: 40%;
width: 35%;
}
.seat-chart-wrapper {
width: 60%;
}
.preview-attendance-table, .seat-chart-wrapper {
margin: 0 30px;
}
div.seatCharts-space {
background-color: unset;
}
div.seatCharts-row {
height: 130px;
height: 150px;
justify-content: flex-start;
margin: 0 auto;
width: auto;
}
div.seatCharts-cell {
width: 120px;
height: 120px;
line-height: 37px;
}
.preview-name {
color: rgba(0,0,0,0.7);
}
.front-indicator-preview {
width: 140px;
height: 140px;
font-size: 16px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
line-height: initial;
}
.preview-box {
display: flex;
align-items: center;
div.seatCharts-seat.available {
background-color: rgba(111,120,129, 0.7);
}
div.seatCharts-seat.taken {
background-color: #649a24;
}
.preview-name {
color: rgba(0,0,0,0.7);
word-wrap: break-word;
width: 90%;
font-weight: bold;
}
.checkout-button-preview {
display: flex;
justify-content: flex-start;
width: 40%;
padding-left: 35px;
}
.seat-p-ppreview {
.seat-p-preview {
justify-content: center;
width: 60%;
padding: 0 auto;
}
div.seatCharts-seat.available {
background-color: rgba(111,120,129, 0.7);
}
div.seatCharts-seat.taken {
background-color: #649a24;
}
.front-indicator {
width: 100%;
margin: 5px 0;
margin: 0 40px;
}

View File

@ -1,154 +0,0 @@
body {
background-color: #f8fafc;
font-family: 'Nunito', sans-serif;
font-weight: 600;
}
a {
color: #b71a4c;
}
.front-indicator {
width: 90%;
margin: 5px 32px 5px 32px;
background-color: #ececec;
color: #a1a1a1;
text-align: center;
padding: 15px;
border-radius: 5px;
}
.container {
margin: 0 auto;
text-align: left;
}
.seat-stat-wrapper {
display: inline;
}
#legend {
width: 49%;
margin: 0 auto;
float: left;
font-size: 16px;
}
.booking-details {
display: inline-block;
text-align: right;
font-size: 12px;
width: 49%;
margin: 0 auto;
}
@media screen and (max-width: 550px) {
#legend {
width: 100%;
}
.booking-details {
width: 100%;
text-align: left;
}
}
.booking-details h2 {
margin: 25px 0 20px 0;
font-size: 22px;
color: #333333;
letter-spacing: 0.15em;
font-weight: bold;
}
.booking-details h3 {
margin: 5px 5px 0 0;
font-size: 40px;
color: #333333;
font-weight: bold;
}
div.seatCharts-cell {
color: #182C4E;
height: 90px;
width: 90px;
line-height: 90px;
}
div.seatCharts-seat {
color: #FFFFFF;
cursor: pointer;
}
div.seatCharts-row {
height: 100px;
display: flex;
justify-content: flex-start;
margin: 0 auto;
width: auto;
}
div.seatCharts-seat.available {
background-color: #649a24;
}
div.seatCharts-seat.available.student-class {
background-color: #a8b9bd;
}
div.seatCharts-seat.focused {
background-color: #1F5684;
}
div.seatCharts-seat.selected {
background-color: #1b4d76;
}
div.seatCharts-seat.unavailable {
background-color: #6F7881;
}
div.seatCharts-container {
text-align: center;
width: fit-content;
padding: 30px;
margin: auto;
}
div.seatCharts-legend {
display: inline-block;
}
div.seatCharts-legend li {
text-align: left;
}
ul.seatCharts-legendList {
padding-left: 0px;
}
span.seatCharts-legendDescription {
margin-left: 5px;
line-height: 100px;
}
.checkout-button {
margin: 10px 0;
font-size: 14px;
color: #fff;
background-color: #3490dc;
border-color: #3490dc;
border-radius: 3px;
border: 0;
padding: 15px 40px;
display: inline-block;
text-align: center;
}
.checkout-button:hover {
box-shadow: 0 0 rgb(103, 88, 184);
background-color: #227dc7;
border-color: #2176bd;
}
a.checkout-button {
color: #fff;
text-decoration: none;
}
#selected-seats {
list-style-type: none;
margin-left: 0;
padding-left: 0;
}
.add-mn-btn {
display: none;
}
.seat-p {
font-weight: bold;
margin-bottom: 0;
font-size: 20px;
}

View File

@ -1,6 +1,6 @@
$(document).ready(function(){
$('.add-mn-btn').on('click', function () {
$('.czytnik').toggleClass('open');
$('.card-reader').toggleClass('open');
});

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -41,6 +41,7 @@ function checkForUnavailablePlaces() {
});
}
}
$(document).ready(function(){
checkForUnavailablePlaces();
toggleButtonAvailability();

View File

@ -14,7 +14,7 @@ function assignPlaces() {
map_seat = $('#seat-map-second').find(`#${seat_number}`);
}
}
map_seat.html(`<b>${seat_number}</b> <br><span class="preview-name">${name} ${surname}</span>`)
map_seat.html(`<b>${seat_number}</b> <br><span class="preview-name">${name} ${surname}</span>`);
map_seat.on('mouseover', () => {
map_seat.css('backgroundColor', 'lightgrey');
$(this).css('backgroundColor', 'lightgrey');

View File

@ -3,6 +3,7 @@ $(document).ready(function() {
function createMap(seats_rows, seats_container) {
let $cart = $('#selected-seats');
let seat_selected = false;
seats_container.seatCharts({
map: seats_rows,
naming: {
@ -20,7 +21,7 @@ $(document).ready(function() {
click: function () {
if (this.status() === 'available' && !seat_selected) {
// let's create a new <li> which we'll add to the cart items
$('<span> ' + this.settings.label + '</span>')
$('<span> ' + this.settings.label + ' <a href="#" class="cancel-cart-item">[x]</a></span>')
.attr('id', 'cart-item-' + this.settings.id)
.data('seatId', this.settings.id)
.appendTo($cart);
@ -39,11 +40,17 @@ $(document).ready(function() {
}
}
});
$('#selected-seats').on('click', '.cancel-cart-item', function () {
const id = $(this).parent().data('seatId');
$('#seat-map').find(`#${id}`).click();
});
}
function createTwoPartsMap(seat_rows_first, seat_rows_second, seat_container_first, seat_container_second) {
let $cart = $('#selected-seats');
let seat_selected = false;
seat_container_first.seatCharts({
map: seat_rows_first,
naming: {

View File

@ -1,22 +1,22 @@
@extends('layouts.app')
@section('title') Confirm password @endsection
@section('title') Potwierdź hasło @endsection
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Confirm Password') }}</div>
<div class="card-header">{{ __('Potwierdź hasło) }}</div>
<div class="card-body">
{{ __('Please confirm your password before continuing.') }}
{{ __('Zanimi przejdziesz dalej, potwierdź swoje hasło.') }}
<form method="POST" action="{{ route('password.confirm') }}">
@csrf
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Hasło') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
@ -32,12 +32,12 @@
<div class="form-group row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Confirm Password') }}
{{ __('Potwierdź hasło') }}
</button>
@if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Forgot Your Password?') }}
{{ __('Zapomniałeś hasła?') }}
</a>
@endif
</div>

View File

@ -7,7 +7,7 @@
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Reset Password') }}</div>
<div class="card-header">{{ __('Resetuj hasło') }}</div>
<div class="card-body">
@if (session('status'))
@ -20,7 +20,7 @@
@csrf
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Adres E-Mail') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
@ -36,7 +36,7 @@
<div class="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Send Password Reset Link') }}
{{ __('WYślij link do zresetowania hasła') }}
</button>
</div>
</div>

View File

@ -1,13 +1,13 @@
@extends('layouts.app')
@section('title') Reset password @endsection
@section('title') Zesetuj hasło @endsection
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Reset Password') }}</div>
<div class="card-header">{{ __('Zresetuj hasło') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('password.update') }}">
@ -16,7 +16,7 @@
<input type="hidden" name="token" value="{{ $token }}">
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Adres E-Mail') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ $email ?? old('email') }}" required autocomplete="email" autofocus>
@ -30,7 +30,7 @@
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Hasło') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
@ -44,7 +44,7 @@
</div>
<div class="form-group row">
<label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>
<label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Powtórz hasło') }}</label>
<div class="col-md-6">
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
@ -54,7 +54,7 @@
<div class="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Reset Password') }}
{{ __('Zresetuj hasło') }}
</button>
</div>
</div>

View File

@ -3,55 +3,55 @@
@section('title') Strona Główna @endsection
@section('content')
@auth
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card">
<div class="card-body no-margin-top">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
@section('user_content')
<h4> Garść przydatnych informacji </h4>
<p> W zakładce <a href="{{ route('user_subjects') }}"> <b>Moje przedmioty</b> </a> znajdują się przedmioty, których jesteś prowadzącym.
<br>Przedmioty możesz grupować i usuwać. Możesz także dodać nowy przedmiot.
</p>
<p></p>
<p> Sprawdzanie obecności możesz rozpocząć w zakładce <a href="{{ route('user_classes') }}"><b>Sprawdź obecność</b></a>.
<br> Po rozpoczęciu zapisów zostanie wygenerowany i wyświetlony na ekranie kod weryfikacyjny.
Należy go wprowadzić do programu obsługującego odczyt danych z legitymacji studenckich.
Kod jest ważny 1,5 godziny od momentu utworzenia zajęć.
Dopóki kod jest aktywny, zapisy można przerywać i ponownie kontynuować, gdy zajdzie taka potrzeba.
<br> W tej zakładce znajdziesz także listę wszystkich minionych zajęć.
<br> W każdym momencie możesz zobaczyć podgląd sali i listę obecności dla konkretnych zajęć. Taką listę możesz wyeksportować do formatu xlsx.
</p>
<p>
Dane dotyczące obecności znajdziesz także w zakładce <a href="{{ route('user_attendances') }}"><b>Obecności</b></a>.
<br> Do każdej obecności możesz dodać notatkę.
<br> Rekordy dotyczące wszystkich obecności możesz grupować i wyeksportować. Przy eksporcie każda tabela-grupa trafi do pliku xlsx jako osobny arkusz.
</p>
@endsection
@yield('user_content')
@auth
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card">
<div class="card-body no-margin-top">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
</div>
@endif
@section('user_content')
<h4> Garść przydatnych informacji </h4>
<p> W zakładce <a href="{{ route('user_subjects') }}"> <b>Moje przedmioty</b> </a> znajdują się przedmioty, których jesteś prowadzącym.
<br>Przedmioty możesz grupować i usuwać. Możesz także dodać nowy przedmiot.
</p>
<p></p>
<p> Sprawdzanie obecności możesz rozpocząć w zakładce <a href="{{ route('user_classes') }}"><b>Sprawdź obecność</b></a>.
<br> Po rozpoczęciu zapisów zostanie wygenerowany i wyświetlony na ekranie kod weryfikacyjny.
Należy go wprowadzić do programu obsługującego odczyt danych z legitymacji studenckich.
Kod jest ważny 1,5 godziny od momentu utworzenia zajęć.
Dopóki kod jest aktywny, zapisy można przerywać i ponownie kontynuować, gdy zajdzie taka potrzeba.
<br> W tej zakładce znajdziesz także listę wszystkich minionych zajęć.
<br> W każdym momencie możesz zobaczyć podgląd sali i listę obecności dla konkretnych zajęć. Taką listę możesz wyeksportować do formatu xlsx.
</p>
<p>
Dane dotyczące obecności znajdziesz także w zakładce <a href="{{ route('user_attendances') }}"><b>Obecności</b></a>.
<br> Do każdej obecności możesz dodać notatkę.
<br> Rekordy dotyczące wszystkich obecności możesz grupować i wyeksportować. Przy eksporcie każda tabela-grupa trafi do pliku xlsx jako osobny arkusz.
</p>
@endsection
@yield('user_content')
</div>
</div>
</div>
@else
<div class="container flex-center">
<div class="row justify-content-center">
<div class="flex-center position-ref full-height">
<div class="content">
<div class="title m-b-md">
@CHECK
</div>
<h2>Witaj!</h2>
</div>
</div>
</div>
@else
<div class="container flex-center">
<div class="row justify-content-center">
<div class="flex-center position-ref">
<div class="content">
<div class="title">
@CHECK
</div>
<h2>Witaj!</h2>
</div>
</div>
@endauth
</div>
</div>
@endauth
@endsection

View File

@ -3,29 +3,27 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>@CHECK | @yield('title')</title>
<title> @CHECK | @yield('title') </title>
<!-- Scripts -->
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="{{ asset('js/app.js') }}" defer></script>
<script src="{{ asset('js/custom.js') }}" defer></script>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
<link rel="shortcut icon" href="{{ asset('img/favicon.png') }}">
@yield('main_meta')
@yield('additional_meta')
</head>
<body>
<div id="app">
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
<div class="container">
<a class="navbar-brand" href="{{ url('/') }}">
@ -34,15 +32,10 @@
<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">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Zaloguj się') }}</a>
@ -65,14 +58,12 @@
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }} {{ Auth::user()->surname }} <span class="caret"></span>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Wyloguj się') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
@ -84,11 +75,10 @@
</div>
</nav>
<main class="py-4">
<div class="container">
@yield('content')
</div>
<main>
@yield('content')
</main>
</div>
</body>
</html>

View File

@ -1,89 +0,0 @@
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8">
<link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.14.0.css">
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
<script type="text/javascript" src="{{ asset('js/app.js') }}"></script>
<script src="http://code.jquery.com/qunit/qunit-1.14.0.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="{{ asset('js/custom.js') }}"></script>
<link rel="shortcut icon" href="{{ asset('img/favicon.png') }}">
<title> @CHECK | @yield('map_title') </title>
@yield('map_meta')
</head>
<body>
<div id="app">
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
<div class="container">
<a class="navbar-brand" href="{{ url('/') }}">
@CHECK
</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">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Zaloguj się') }}</a>
</li>
@if (Route::has('register'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Zarejestruj się') }}</a>
</li>
@endif
@else
<a href="{{ route('user_subjects') }}" class="nav-link"> Moje przedmioty </a>
<a href="{{ route('user_classes') }}" class="nav-link"> Sprawdź obecność </a>
<a href="{{ route('user_attendances') }}" class="nav-link"> Obecności </a>
@if (Auth::user()->is_Admin)
<li class="nav-item">
<a class="nav-link" href="{{ route('admin') }}">{{ __('Panel admina') }}</a>
</li>
@endif
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }} {{ Auth::user()->surname }} <span class="caret"></span>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Wyloguj się') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</div>
</li>
@endguest
</ul>
</div>
</div>
</nav>
</div>
<div class="wrapper">
<div class="map-buttons">
<a href="{{ route('user_classes') }}" class="checkout-button end-button"> Zakończ zapisy </a>
<button type="button" class="checkout-button end-button add-mn-btn"> Dodaj studenta ręcznie </button>
</div>
@yield('map_content')
</div>
</body>
</html>

View File

@ -1,46 +1,47 @@
@extends('layouts.map')
@extends('layouts.app')
@section('title') Wybór miejsca @endsection
@section('map_meta')
<script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.min.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/seatchart.css') }}">
@section('additional_meta')
<script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.js') }}"></script>
<script type="text/javascript" src="{{ asset('js/map/seatchart.js') }}"></script>
<script type="text/javascript" src="{{ asset('js/map/seatchart-custom.js') }}"></script>
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
@endsection
@section('map_content')
<div class="seat-chart-wrapper">
@if($twoparts)
<div class="front-indicator">
<p class="seat-p">
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->name }},
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->weekday }}
{{ App\Classes::find($classes_id)->date }} {{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->time }},
<b>sala {{ App\Room::find(App\Subject::find(App\Classes::find($classes_id)->subject_id)->room_id)->name }}</b>
</p>
</div>
<div id="map-carousel" class="carousel slide" data-ride="carousel" data-interval="false" data-wrap="false">
<div class="carousel-inner" id="twoparts-map">
<div class="carousel-item active">
<div id="seat-map-first"></div>
</div>
<div class="carousel-item">
<div id="seat-map-second"></div>
</div>
@section('content')
<div class="wrapper">
<div class="seat-chart-wrapper">
@if($twoparts)
<div class="front-indicator">
<a href="{{ route('user_classes') }}" class="checkout-button end-button"> Powrót do listy zajęć </a>
<p class="seat-p">
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->name }},
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->weekday }}
{{ App\Classes::find($classes_id)->date }} {{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->time }},
<b>sala {{ App\Room::find(App\Subject::find(App\Classes::find($classes_id)->subject_id)->room_id)->name }}</b>
</p>
</div>
<a class="carousel-control-prev" href="#map-carousel" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Pierwsza część</span>
</a>
<a class="carousel-control-next" href="#map-carousel" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Druga część</span>
</a>
</div>
@else
<div id="seat-map">
<div id="map-carousel" class="carousel slide" data-ride="carousel" data-interval="false" data-wrap="false">
<div class="carousel-inner" id="twoparts-map">
<div class="carousel-item active">
<div id="seat-map-first"></div>
</div>
<div class="carousel-item">
<div id="seat-map-second"></div>
</div>
</div>
<a class="carousel-control-prev" href="#map-carousel" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Pierwsza część</span>
</a>
<a class="carousel-control-next" href="#map-carousel" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Druga część</span>
</a>
</div>
@else
<div class="front-indicator">
<p class="seat-p">
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->name }},
@ -49,31 +50,32 @@
<b>sala {{ App\Room::find(App\Subject::find(App\Classes::find($classes_id)->subject_id)->room_id)->name }}</b>
</p>
</div>
</div>
@endif
</div>
<br/>
<div class='seat-stat-wrapper'>
<div id="legend">
<div id="seat-map"></div>
@endif
</div>
<div class="booking-details">
<h2 id="studentName"> <span class="student_name"> {{ $student_name }} </span><span class="student_surname"> {{ $student_surname }} </span> </h2>
<h3 class="student_id_number"> {{ $student_id_number }}</h3>
<h3>Wybrane miejsce:
<span id="selected-seats"></span>
</h3>
@foreach($seat_numbers as $seat_number)
<input type="hidden" class="unavailable_place" value="{{ $seat_number }}">
@endforeach
<input type="hidden" class="room_arrangement" name="room_arrangement" id="room_arrangement" value="{{ $room_arrangement }}">
<form method="POST" action="{{ route('user_save_classes_data') }}">
<input type="hidden" value="{{ $classes_id }}" class="classes_id" name="classes_id">
<input type="hidden" value="{{ $student_name }}" class="student_name" name="student_name">
<input type="hidden" value="{{ $student_surname }}" class="student_surname" name="student_surname">
<input type="hidden" value="{{ $student_id_number }}" class="student_id_number" name="student_id_number">
<input type="hidden" value="" class="seat_number" name="seat_number">
<button type="submit" class="checkout-button">Zapisz &raquo;</button>
</form>
<br/>
<div class='seat-stat-wrapper'>
<div id="legend">
</div>
<div class="booking-details">
<h2 id="studentName"> <span class="student_name"> {{ $student_name }} </span><span class="student_surname"> {{ $student_surname }} </span> </h2>
<h3 class="student_id_number"> {{ $student_id_number }}</h3>
<h3>Wybrane miejsce:
<span id="selected-seats"></span>
</h3>
@foreach($seat_numbers as $seat_number)
<input type="hidden" class="unavailable_place" value="{{ $seat_number }}">
@endforeach
<input type="hidden" class="room_arrangement" name="room_arrangement" id="room_arrangement" value="{{ $room_arrangement }}">
<form method="POST" action="{{ route('user_save_classes_data') }}">
<input type="hidden" value="{{ $classes_id }}" class="classes_id" name="classes_id">
<input type="hidden" value="{{ $student_name }}" class="student_name" name="student_name">
<input type="hidden" value="{{ $student_surname }}" class="student_surname" name="student_surname">
<input type="hidden" value="{{ $student_id_number }}" class="student_id_number" name="student_id_number">
<input type="hidden" value="" class="seat_number" name="seat_number">
<button type="submit" class="checkout-button">Zapisz &raquo;</button>
</form>
</div>
</div>
</div>
@endsection

View File

@ -1,42 +1,47 @@
@extends('layouts.map')
@extends('layouts.app')
@section('title') Wybór miejsca @endsection
@section('map_meta')
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/przylozlegitke.css') }}">
@section('additional_meta')
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
@endsection
@section('map_content')
<div id="refresh"></div>
<p class="code-p"> <b>Kod:</b> {{ $classes_code }}</p>
<h1 class="main-text main-seat-text">Przyłóż legitymację do czytnika</h1>
<div class="czytnik">
<form method="POST" action="{{ route('user_start_classes_verified') }}" class="test-form">
<div>
<label for="classes_code"> Kod: </label>
<input type="text" name="classes_code" id="classes_code" value="{{ $classes_code }}" required>
</div>
<div>
<label for="student_id_number"> Nr indeksu: </label>
<input type="number" name="student_id_number" id="student_id_number" required>
</div>
<div>
<label for="student_name"> Imię: </label>
<input type="text" name="student_name" id="student_name" required>
</div>
<div>
<label for="student_surname"> Nazwisko: </label>
<input type="text" name="student_surname" id="student_surname" required>
</div>
<button type="submit" class="checkout-button"> Dodaj studenta </button>
</form>
@section('content')
<div class="wrapper">
<div class="map-buttons">
<a href="{{ route('user_classes') }}" class="checkout-button end-button"> Zakończ zapisy </a>
<button type="button" class="checkout-button end-button add-mn-btn"> Dodaj studenta ręcznie </button>
</div>
<div id="refresh"></div>
<p class="code-p"> <b>Kod:</b> {{ $classes_code }}</p>
<h1 class="main-text main-seat-text">Przyłóż legitymację do czytnika</h1>
<div class="card-reader">
<form method="POST" action="{{ route('user_start_classes_verified') }}" class="card-reader-form">
<div>
<label for="classes_code"> Kod: </label>
<input type="text" name="classes_code" id="classes_code" value="{{ $classes_code }}" required>
</div>
<div>
<label for="student_id_number"> Nr indeksu: </label>
<input type="number" name="student_id_number" id="student_id_number" required>
</div>
<div>
<label for="student_name"> Imię: </label>
<input type="text" name="student_name" id="student_name" required>
</div>
<div>
<label for="student_surname"> Nazwisko: </label>
<input type="text" name="student_surname" id="student_surname" required>
</div>
<button type="submit" class="checkout-button"> Dodaj studenta </button>
</form>
</div>
{{--<script>--}}
{{--// Your application has indicated there's an error--}}
{{--window.setTimeout(function(){--}}
{{--// Move to a new location or you can do something else--}}
{{--window.location.href = window.location.href;--}}
{{--}, 5000);--}}
{{--</script>--}}
</div>
<script>
// Your application has indicated there's an error
window.setTimeout(function(){
// Move to a new location or you can do something else
window.location.href = window.location.href;
}, 5000);
</script>
@endsection

View File

@ -1,17 +1,19 @@
@extends('layouts.map')
@extends('layouts.app')
@section('title') Wybór miejsca @endsection
@section('map_meta')
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/koncowastrona.css') }}">
@section('additional_meta')
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
@endsection
@section('map_content')
<h2>{{ $student_name }} {{ $student_surname }}</h2>
<h3>{{ $student_id_number }} </h3>
<h3>wybrane miejsce:</h3>
<ul id="sel-seat"> {{ $seat_number }}</ul>
<a href="{{ route('user_start_classes', [$classes_id]) }}"><button type="button" class="checkout-button">Następny student &raquo;</button></a>
@section('content')
<div class="wrapper">
<div class="map-buttons">
<a href="{{ route('user_classes') }}" class="checkout-button end-button"> Zakończ zapisy </a>
</div>
<h2>{{ $student_name }} {{ $student_surname }}</h2>
<h3>{{ $student_id_number }} </h3>
<h3>wybrane miejsce:</h3>
<ul id="sel-seat"> {{ $seat_number }}</ul>
<a href="{{ route('user_start_classes', [$classes_id]) }}"><button type="button" class="checkout-button">Następny student &raquo;</button></a>
</div>
@endsection

View File

@ -1,5 +1,5 @@
<div class="modal fade" id="noteModal-{{ $attendance->id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">{{ $attendance->student_name }} {{ $attendance->student_surname }} ({{ $attendance->student_id_number }})</h5>

View File

@ -1,21 +1,21 @@
@extends('layouts.map')
@extends('layouts.app')
@section('title') Podgląd sali @endsection
@section('map_meta')
<script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.min.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/seatchart.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/seatchart-preview.css') }}">
@section('additional_meta')
<script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.js') }}"></script>
<script type="text/javascript" src="{{ asset('js/map/seatchart.js') }}"></script>
<script type="text/javascript" src="{{ asset('js/map/seatchart-preview.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/seatchart-preview.css') }}">
@endsection
@section('map_content')
<div class="front-indicator front-indicator-preview">
@section('content')
<div class="front-indicator">
<div class="preview-box checkout-button-preview">
<a href="{{ route('user_classes') }}" class="checkout-button"> Zakończ podgląd </a>
</div>
<div class="preview-box seat-p-ppreview">
<div class="seat-p-preview">
<p class="seat-p">
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->name }},
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->weekday }}