Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
D
Doorcode
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
5
Issues
5
List
Boards
Labels
Service Desk
Milestones
Merge Requests
2
Merge Requests
2
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Guardians of the Kretschmar Elock System
Doorcode
Commits
29eee4a8
Commit
29eee4a8
authored
Jul 23, 2020
by
Jacob Priddy
👌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
style changes fixing exceptions idk lots of stuff. New image assets
parent
b12df85c
Changes
52
Hide whitespace changes
Inline
Side-by-side
Showing
52 changed files
with
331 additions
and
413 deletions
+331
-413
src/backend/.env.example
src/backend/.env.example
+2
-0
src/backend/app/Exceptions/Handler.php
src/backend/app/Exceptions/Handler.php
+8
-0
src/backend/app/Http/Controllers/Web/Admin/DoorsController.php
...ackend/app/Http/Controllers/Web/Admin/DoorsController.php
+18
-6
src/backend/app/Http/Controllers/Web/Admin/UsersController.php
...ackend/app/Http/Controllers/Web/Admin/UsersController.php
+8
-4
src/backend/app/Http/Controllers/Web/MeController.php
src/backend/app/Http/Controllers/Web/MeController.php
+0
-2
src/backend/public/img/cover-forgot-password.png
src/backend/public/img/cover-forgot-password.png
+0
-0
src/backend/public/img/cover-login.png
src/backend/public/img/cover-login.png
+0
-0
src/backend/public/img/cover-register.png
src/backend/public/img/cover-register.png
+0
-0
src/backend/public/img/favicon.jpg
src/backend/public/img/favicon.jpg
+0
-0
src/backend/public/img/favicon.png
src/backend/public/img/favicon.png
+0
-0
src/backend/resources/views/access.blade.php
src/backend/resources/views/access.blade.php
+1
-1
src/backend/resources/views/admin/about.blade.php
src/backend/resources/views/admin/about.blade.php
+29
-28
src/backend/resources/views/admin/attempts.blade.php
src/backend/resources/views/admin/attempts.blade.php
+4
-4
src/backend/resources/views/admin/doors.blade.php
src/backend/resources/views/admin/doors.blade.php
+3
-3
src/backend/resources/views/admin/entities/groupSchedule.blade.php
...nd/resources/views/admin/entities/groupSchedule.blade.php
+1
-1
src/backend/resources/views/admin/entities/scheduleEvents.blade.php
...d/resources/views/admin/entities/scheduleEvents.blade.php
+1
-1
src/backend/resources/views/admin/entries.blade.php
src/backend/resources/views/admin/entries.blade.php
+5
-5
src/backend/resources/views/admin/groups.blade.php
src/backend/resources/views/admin/groups.blade.php
+1
-1
src/backend/resources/views/admin/home.blade.php
src/backend/resources/views/admin/home.blade.php
+36
-30
src/backend/resources/views/admin/overrides.blade.php
src/backend/resources/views/admin/overrides.blade.php
+5
-5
src/backend/resources/views/admin/profile.blade.php
src/backend/resources/views/admin/profile.blade.php
+0
-143
src/backend/resources/views/admin/requests.blade.php
src/backend/resources/views/admin/requests.blade.php
+8
-8
src/backend/resources/views/admin/schedules.blade.php
src/backend/resources/views/admin/schedules.blade.php
+4
-4
src/backend/resources/views/admin/tokens.blade.php
src/backend/resources/views/admin/tokens.blade.php
+3
-3
src/backend/resources/views/admin/users.blade.php
src/backend/resources/views/admin/users.blade.php
+1
-1
src/backend/resources/views/errors/400.blade.php
src/backend/resources/views/errors/400.blade.php
+5
-0
src/backend/resources/views/errors/401.blade.php
src/backend/resources/views/errors/401.blade.php
+5
-0
src/backend/resources/views/errors/403.blade.php
src/backend/resources/views/errors/403.blade.php
+5
-0
src/backend/resources/views/errors/404.blade.php
src/backend/resources/views/errors/404.blade.php
+5
-0
src/backend/resources/views/errors/500.blade.php
src/backend/resources/views/errors/500.blade.php
+5
-0
src/backend/resources/views/errors/503.blade.php
src/backend/resources/views/errors/503.blade.php
+5
-0
src/backend/resources/views/layouts/admin.blade.php
src/backend/resources/views/layouts/admin.blade.php
+3
-88
src/backend/resources/views/layouts/admin/builder.blade.php
src/backend/resources/views/layouts/admin/builder.blade.php
+1
-1
src/backend/resources/views/layouts/app.blade.php
src/backend/resources/views/layouts/app.blade.php
+1
-1
src/backend/resources/views/layouts/auth.blade.php
src/backend/resources/views/layouts/auth.blade.php
+2
-2
src/backend/resources/views/layouts/error.blade.php
src/backend/resources/views/layouts/error.blade.php
+25
-0
src/backend/resources/views/partials/message.blade.php
src/backend/resources/views/partials/message.blade.php
+2
-2
src/backend/resources/views/partials/table.blade.php
src/backend/resources/views/partials/table.blade.php
+1
-1
src/backend/resources/views/request.blade.php
src/backend/resources/views/request.blade.php
+10
-1
src/backend/resources/views/requests.blade.php
src/backend/resources/views/requests.blade.php
+56
-43
src/backend/resources/views/tokens.blade.php
src/backend/resources/views/tokens.blade.php
+4
-4
src/backend/routes/frontend.php
src/backend/routes/frontend.php
+2
-1
src/backend/src/Exceptions/DeleteFailedException.php
src/backend/src/Exceptions/DeleteFailedException.php
+22
-0
src/backend/src/Gateways/GroupSchedule/InMemoryGroupScheduleRepository.php
...ateways/GroupSchedule/InMemoryGroupScheduleRepository.php
+1
-1
src/backend/src/Gateways/Statistics/DatabaseStatisticsRepository.php
.../src/Gateways/Statistics/DatabaseStatisticsRepository.php
+6
-6
src/backend/src/Gateways/Users/DatabaseUsersRepository.php
src/backend/src/Gateways/Users/DatabaseUsersRepository.php
+1
-1
src/backend/src/UseCases/Door/ScheduleEvents/EventsPresenter.php
...kend/src/UseCases/Door/ScheduleEvents/EventsPresenter.php
+2
-2
src/backend/src/UseCases/Doors/UpdateDoor/ResponseModel.php
src/backend/src/UseCases/Doors/UpdateDoor/ResponseModel.php
+3
-0
src/backend/src/UseCases/Users/CreateUser/CreateUser.php
src/backend/src/UseCases/Users/CreateUser/CreateUser.php
+1
-1
src/backend/src/UseCases/Users/UpdateUser/UpdateCurrentUser.php
...ckend/src/UseCases/Users/UpdateUser/UpdateCurrentUser.php
+8
-1
src/backend/src/UseCases/Users/UpdateUser/UpdateUser.php
src/backend/src/UseCases/Users/UpdateUser/UpdateUser.php
+12
-6
src/backend/src/UseCases/Users/UpdateUser/UpdateUserUseCase.php
...ckend/src/UseCases/Users/UpdateUser/UpdateUserUseCase.php
+0
-1
No files found.
src/backend/.env.example
View file @
29eee4a8
...
...
@@ -20,3 +20,5 @@ DB_PASSWORD=secret
SAML_SIMPLESAMLPHP_AUTOLOAD=/var/simplesamlphp/lib/_autoload.php
SAML_SIMPLESAMLPHP_AUTH_SOURCE=default-sp
FRONTEND_URL=https://localhost:8080
SUPPORT_EMAIL=elock@persignum.com
src/backend/app/Exceptions/Handler.php
View file @
29eee4a8
...
...
@@ -10,6 +10,7 @@ use Source\Exceptions\EntityExistsException;
use
Source\Exceptions\AuthorizationException
;
use
Source\Exceptions\EntityNotFoundException
;
use
Source\UseCases\Door\ScheduleEvents\JsonPresenter
;
use
Symfony\Component\HttpKernel\Exception\HttpException
;
use
Source\UseCases\Door\ScheduleEvents\ScheduleEventsUseCase
;
use
Illuminate\Foundation\Exceptions\Handler
as
ExceptionHandler
;
use
Source\Exceptions\AuthenticationException
as
SourceAuthenticationException
;
...
...
@@ -81,6 +82,13 @@ class Handler extends ExceptionHandler
}
}
if
(
$e
instanceof
EntityNotFoundException
||
$e
instanceof
SourceAuthenticationException
||
$e
instanceof
AuthorizationException
||
$e
instanceof
EntityExistsException
)
{
throw
new
HttpException
(
$e
->
getCode
(),
$e
->
getMessage
());
}
return
parent
::
render
(
$request
,
$e
);
}
}
src/backend/app/Http/Controllers/Web/Admin/DoorsController.php
View file @
29eee4a8
...
...
@@ -6,6 +6,8 @@ namespace App\Http\Controllers\Web\Admin;
use
Illuminate\View\View
;
use
App\Http\Controllers\Controller
;
use
Illuminate\Http\RedirectResponse
;
use
Source\Exceptions\EntityExistsException
;
use
Illuminate\Validation\ValidationException
;
use
Source\UseCases\Doors\GetDoor\GetDoorUseCase
;
use
Source\UseCases\Doors\GetDoors\GetDoorsUseCase
;
use
Source\UseCases\Groups\GetGroups\GetGroupsUseCase
;
...
...
@@ -73,7 +75,6 @@ class DoorsController extends Controller
* @return \Illuminate\Http\RedirectResponse
* @throws \Illuminate\Validation\ValidationException
* @throws \Source\Exceptions\EntityNotFoundException
* @throws \Source\Exceptions\EntityExistsException
*/
public
function
update
(
string
$doorId
,
UpdateDoorUseCase
$updateDoor
):
RedirectResponse
{
...
...
@@ -83,7 +84,11 @@ class DoorsController extends Controller
]);
$presenter
=
new
UpdateDoorPresenter
();
$updateDoor
->
update
(
$doorId
,
$this
->
request
->
all
(),
$presenter
);
try
{
$updateDoor
->
update
(
$doorId
,
$this
->
request
->
all
(),
$presenter
);
}
catch
(
EntityExistsException
$e
)
{
throw
ValidationException
::
withMessages
([
'errors'
=>
$e
->
getMessage
()]);
}
return
redirect
(
route
(
'web.admin.doors.index'
))
->
with
(
$presenter
->
getViewModel
());
}
...
...
@@ -92,7 +97,6 @@ class DoorsController extends Controller
* @param \Source\UseCases\Doors\CreateDoor\CreateDoorUseCase $createDoor
* @return \Illuminate\Http\RedirectResponse
* @throws \Illuminate\Validation\ValidationException
* @throws \Source\Exceptions\EntityExistsException
*/
public
function
store
(
CreateDoorUseCase
$createDoor
):
RedirectResponse
{
...
...
@@ -103,7 +107,11 @@ class DoorsController extends Controller
$presenter
=
new
CreateDoorPresenter
();
$createDoor
->
create
(
$this
->
request
->
all
(),
$presenter
);
try
{
$createDoor
->
create
(
$this
->
request
->
all
(),
$presenter
);
}
catch
(
EntityExistsException
$e
)
{
throw
ValidationException
::
withMessages
([
'errors'
=>
$e
->
getMessage
()]);
}
return
redirect
(
route
(
'web.admin.doors.index'
))
->
with
(
$presenter
->
getViewModel
());
}
...
...
@@ -127,14 +135,18 @@ class DoorsController extends Controller
* @param string $doorId
* @param \Source\UseCases\Doors\GenerateDoorToken\GenerateDoorTokenUseCase $tokenGenerator
* @return \Illuminate\Http\RedirectResponse
* @throws \Source\Exceptions\EntityExistsException
* @throws \Source\Exceptions\EntityNotFoundException
* @throws \Illuminate\Validation\ValidationException
*/
public
function
regenerateToken
(
string
$doorId
,
GenerateDoorTokenUseCase
$tokenGenerator
):
RedirectResponse
{
$presenter
=
new
WebTokenGeneratePresenter
();
$tokenGenerator
->
generate
(
$doorId
,
$presenter
);
try
{
$tokenGenerator
->
generate
(
$doorId
,
$presenter
);
}
catch
(
EntityExistsException
$e
)
{
throw
ValidationException
::
withMessages
([
'error'
=>
'Please re-perform this action. '
.
$e
->
getMessage
()]);
}
return
redirect
()
->
back
()
->
with
(
$presenter
->
getViewModel
());
}
...
...
src/backend/app/Http/Controllers/Web/Admin/UsersController.php
View file @
29eee4a8
...
...
@@ -6,7 +6,9 @@ use Illuminate\View\View;
use
App\Http\Controllers\Controller
;
use
Illuminate\Http\RedirectResponse
;
use
Source\Exceptions\DeleteFailedException
;
use
Source\Exceptions\EntityExistsException
;
use
Source\Exceptions\AuthorizationException
;
use
Illuminate\Validation\ValidationException
;
use
Source\UseCases\Users\GetUser\GetUserUseCase
;
use
Source\UseCases\Doors\GetDoors\GetDoorsUseCase
;
use
Source\UseCases\Users\GetUsers\GetUsersUseCase
;
...
...
@@ -52,7 +54,6 @@ class UsersController extends Controller
* @param \Source\UseCases\Users\CreateUser\CreateUserUseCase $createUser
* @return \Illuminate\Http\RedirectResponse
* @throws \Illuminate\Validation\ValidationException
* @throws \Source\Exceptions\EntityExistsException
*/
public
function
store
(
CreateUserUseCase
$createUser
):
RedirectResponse
{
...
...
@@ -69,7 +70,11 @@ class UsersController extends Controller
$presenter
=
new
CreateUserPresenter
();
$createUser
->
create
(
$this
->
request
->
all
(),
$presenter
);
try
{
$createUser
->
create
(
$this
->
request
->
all
(),
$presenter
);
}
catch
(
EntityExistsException
$e
)
{
throw
ValidationException
::
withMessages
([
'error'
=>
$e
->
getMessage
()]);
}
return
redirect
(
route
(
'web.admin.users.index'
))
->
with
(
$presenter
->
getViewModel
());
}
...
...
@@ -98,7 +103,6 @@ class UsersController extends Controller
* @param \Source\UseCases\Users\UpdateUser\UpdateUserUseCase $updateUser
* @return \Illuminate\Http\RedirectResponse
* @throws \Illuminate\Validation\ValidationException
* @throws \Source\Exceptions\EntityExistsException
*/
public
function
update
(
string
$userId
,
UpdateUserUseCase
$updateUser
):
RedirectResponse
{
...
...
@@ -118,7 +122,7 @@ class UsersController extends Controller
try
{
$updateUser
->
update
(
$userId
,
$this
->
request
->
all
(),
$presenter
);
}
catch
(
AuthorizationException
$e
)
{
return
redirect
()
->
back
()
->
with
([
'error'
=>
$e
->
getMessage
()]);
throw
ValidationException
::
withMessages
([
'error'
=>
$e
->
getMessage
()]);
}
return
redirect
(
route
(
'web.admin.users.index'
))
->
with
(
$presenter
->
getViewModel
());
...
...
src/backend/app/Http/Controllers/Web/MeController.php
View file @
29eee4a8
...
...
@@ -31,7 +31,6 @@ class MeController extends Controller
* @return \Illuminate\View\View
* @throws \Illuminate\Validation\ValidationException
* @throws \Source\Exceptions\AuthorizationException
* @throws \Source\Exceptions\EntityExistsException
*/
public
function
doorcodeUpdate
(
UpdateCurrentUser
$userUpdate
):
View
{
...
...
@@ -55,7 +54,6 @@ class MeController extends Controller
* @return \Illuminate\View\View
* @throws \Illuminate\Validation\ValidationException
* @throws \Source\Exceptions\AuthorizationException
* @throws \Source\Exceptions\EntityExistsException
*/
public
function
passwordUpdate
(
UpdateCurrentUser
$userUpdate
):
View
{
...
...
src/backend/public/img/cover-forgot-password.png
deleted
100644 → 0
View file @
b12df85c
48.6 KB
src/backend/public/img/cover-login.png
View replaced file @
b12df85c
View file @
29eee4a8
48.6 KB
|
W:
|
H:
366 KB
|
W:
|
H:
2-up
Swipe
Onion skin
src/backend/public/img/cover-register.png
deleted
100644 → 0
View file @
b12df85c
48.6 KB
src/backend/public/img/favicon.jpg
0 → 100644
View file @
29eee4a8
3.84 KB
src/backend/public/img/favicon.png
deleted
100644 → 0
View file @
b12df85c
3.68 KB
src/backend/resources/views/access.blade.php
View file @
29eee4a8
...
...
@@ -16,7 +16,7 @@
</
div
>
<
div
class
=
"form-group col-3"
>
<
button
id
=
"submitDoorId"
type
=
"submit"
class
=
"btn btn-primary"
>
View
Access
</
button
>
<
a
href
=
"{{ route('web.requests.build') }}"
class
=
"btn btn-s
uccess
"
>
Request
Door
Access
</
a
>
<
a
href
=
"{{ route('web.requests.build') }}"
class
=
"btn btn-s
econdary
"
>
Request
Door
Access
</
a
>
</
div
>
</
div
>
</
form
>
...
...
src/backend/resources/views/admin/about.blade.php
View file @
29eee4a8
@
extends
(
'layouts.admin'
)
@
section
(
'main-content'
)
<!--
Page
Heading
-->
<
h1
class
=
"h3 mb-4 text-gray-800"
>
{{
__
(
'About'
)
}}
</
h1
>
@
section
(
'title'
,
'About'
)
@
section
(
'main-content'
)
<
div
class
=
"row justify-content-center"
>
<
div
class
=
"col-lg-8"
>
<
div
class
=
"card shadow mb-4"
>
<
div
class
=
"card-profile-image mt-4"
>
<
img
src
=
"{{ asset('img/favicon.png') }}"
class
=
"rounded-circle"
alt
=
"user-image"
>
</
div
>
{{
--
<
div
class
=
"card-profile-image mt-4"
>--
}}
{{
--
<
img
src
=
"{{ asset('img/favicon.png') }}"
class
=
"rounded-circle"
alt
=
"user-image"
>--
}}
{{
--
</
div
>--
}}
<
div
class
=
"card-body"
>
<
div
class
=
"row"
>
<
div
class
=
"col-lg-12 mb-1"
>
<
div
class
=
"text-center"
>
<
h5
class
=
"font-weight-bold"
>
Alejandro
RH
</
h5
>
<
h5
class
=
"font-weight-bold"
>
E
-
Lock
/
Doorcode
</
h5
>
</
div
>
</
div
>
</
div
>
<
hr
>
<
div
class
=
"row"
>
<
div
class
=
"col-md-4 mb-1 text-center"
>
<
a
href
=
"https://facebook.com/aleckrh"
target
=
"_blank"
class
=
"btn btn-facebook btn-circle btn-lg"
><
i
class
=
"fab fa-facebook-f fa-fw"
></
i
></
a
>
</
div
>
<
div
class
=
"col-md-4 mb-1 text-center"
>
<
a
href
=
"https://github.com/aleckrh"
target
=
"_blank"
class
=
"btn btn-github btn-circle btn-lg"
><
i
class
=
"fab fa-github fa-fw"
></
i
></
a
>
</
div
>
<
div
class
=
"col-md-4 mb-1 text-center"
>
<
a
href
=
"https://twitter.com/aleckrh"
target
=
"_blank"
class
=
"btn btn-twitter btn-circle btn-lg"
><
i
class
=
"fab fa-twitter fa-fw"
></
i
></
a
>
<
div
class
=
"col-lg-12"
>
<
h5
class
=
"font-weight-bold"
>
General
Information
</
h5
>
<
p
>
The
E
-
Lock
system
controls
access
to
all
the
doors
with
keypads
in
Kretschmar
Hall
and
Chan
Shun
Pavilion
at
Walla
Walla
University
.
It
allows
students
and
faculty
to
manage
their
own
door
code
to
enter
doors
,
as
well
as
shows
users
what
doors
they
have
access
to
and
when
.
It
has
an
API
to
allow
users
a
nice
programmatic
interface
for
the
system
.
It
also
allows
administrators
to
manage
the
door
system
in
the
building
.
</
p
>
</
div
>
</
div
>
...
...
@@ -40,12 +42,15 @@
<
div
class
=
"row"
>
<
div
class
=
"col-lg-12"
>
<
h5
class
=
"font-weight-bold"
>
Laravel
SB
Admin
2
</
h5
>
<
p
>
SB
Admin
2
for
Laravel
.
</
p
>
<
p
>
Recommend
to
install
this
preset
on
a
project
that
you
are
starting
from
scratch
,
otherwise
your
project
'
s
design
might
break
.
</
p
>
<
a
href
=
"https://github.com/aleckrh/laravel-sb-admin-2"
target
=
"_blank"
class
=
"btn btn-github"
>
<
i
class
=
"fab fa-github fa-fw"
></
i
>
Go
to
repository
</
a
>
<
h5
class
=
"font-weight-bold"
>
Support
</
h5
>
<
p
>
The
creator
(
JD
),
is
available
for
support
and
fixing
bugs
.
Please
post
any
bugs
as
issues
onto
the
<
a
href
=
"https://gitlab.cs.wallawalla.edu/elock"
target
=
"_blank"
>
GitLab
</
a
>
repository
.
He
will
get
to
them
if
he
sees
them
.
Alternatively
you
can
also
shoot
an
email
to
<
a
href
=
"mailto:{{env('SUPPORT_EMAIL', 'blank')}}"
>
{{
env
(
'SUPPORT_EMAIL'
,
'(You can\'t because no support email is configured)'
)
}}
</
a
>
for
any
questions
,
concerns
,
or
for
faster
response
time
on
bug
fixes
.
</
p
>
</
div
>
</
div
>
...
...
@@ -54,20 +59,16 @@
<
div
class
=
"row"
>
<
div
class
=
"col-lg-12"
>
<
h5
class
=
"font-weight-bold"
>
Credits
</
h5
>
<
p
>
Laravel
SB
Admin
2
uses
some
open
-
source
third
-
party
libraries
/
packages
,
many
thanks
to
the
web
community
.
</
p
>
<
p
>
The
E
-
Lock
system
was
written
by
Jacob
Priddy
,
a
2020
EE
and
CS
graduate
.
</
p
>
<
ul
>
<
li
><
a
href
=
"https://laravel.com"
target
=
"_blank"
>
Laravel
</
a
>
-
Open
source
framework
.
</
li
>
<
li
><
a
href
=
"https://github.com/DevMarketer/LaravelEasyNav"
target
=
"_blank"
>
LaravelEasyNav
</
a
>
-
Making
managing
navigation
in
Laravel
easy
.
</
li
>
<
li
><
a
href
=
"https://gitlab.cs.wallawalla.edu/elock"
target
=
"_blank"
>
GitLab
</
a
>
-
Source
code
for
the
project
.
</
li
>
<
li
><
a
href
=
"https://startbootstrap.com/themes/sb-admin-2"
target
=
"_blank"
>
SB
Admin
2
</
a
>
-
Thanks
to
Start
Bootstrap
.
</
li
>
<
li
><
a
href
=
"https://laravel.com"
target
=
"_blank"
>
Laravel
</
a
>
-
Open
source
framework
.
</
li
>
</
ul
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
@
endsection
src/backend/resources/views/admin/attempts.blade.php
View file @
29eee4a8
...
...
@@ -7,26 +7,26 @@
])
@
section
(
'filters'
)
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3 mb-md-0
"
>
<
label
for
=
"doorId"
>
Door
ID
:
</
label
>
<
input
type
=
"number"
name
=
"door_id"
id
=
"doorId"
class
=
"form-control"
value
=
"{{ request('door_id') }}"
>
</
div
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3 mb-md-0
"
>
<
label
for
=
"start"
>
Start
:
</
label
>
<
input
type
=
"date"
name
=
"start"
id
=
"start"
class
=
"form-control"
value
=
"{{ request('start') }}"
>
</
div
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3 mb-md-0
"
>
<
label
for
=
"end"
>
End
:
</
label
>
<
input
type
=
"date"
name
=
"end"
id
=
"end"
class
=
"form-control"
value
=
"{{ request('end') }}"
>
</
div
>
<
div
class
=
"col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"col-sm-12 col-md-6 col-xl-3
text-center
"
>
<
input
class
=
"btn btn-primary"
type
=
"submit"
value
=
"Filter"
>
</
div
>
@
endsection
...
...
src/backend/resources/views/admin/doors.blade.php
View file @
29eee4a8
...
...
@@ -8,21 +8,21 @@
])
@
section
(
'filters'
)
<
div
class
=
"col-sm-12 col-md-6 col-xl-3 text-center"
>
<
div
class
=
"col-sm-12 col-md-6 col-xl-3 text-center
mb-3
"
>
<
label
class
=
"sr-only"
for
=
"query"
>
Search
</
label
>
<
input
id
=
"query"
type
=
"text"
name
=
"query"
placeholder
=
"Search"
value
=
"{{ request('query') }}"
>
</
div
>
<
div
class
=
"col-sm-12 col-md-4 col-xl-2 text-center"
>
<
div
class
=
"col-sm-12 col-md-4 col-xl-2 text-center
mb-3
"
>
<
label
class
=
"sr-only"
for
=
"query"
>
Seen
within
seconds
.
</
label
>
<
input
id
=
"query"
type
=
"number"
name
=
"active_seconds"
placeholder
=
"Seen within (seconds)"
value
=
"{{ request('active_seconds') }}"
>
</
div
>
<
div
class
=
"col-sm-12 col-md-4 col-xl-2 text-center"
>
<
div
class
=
"col-sm-12 col-md-4 col-xl-2 text-center
mb-3
"
>
<
label
class
=
"sr-only"
for
=
"query"
>
Not
seen
since
in
seconds
.
</
label
>
...
...
src/backend/resources/views/admin/entities/groupSchedule.blade.php
View file @
29eee4a8
...
...
@@ -15,7 +15,7 @@
</
h1
>
</
div
>
<
div
class
=
"col-md-4 col-sm-12 text-center"
>
<
a
href
=
"
{{ url()->previous() }}
"
class
=
"btn btn-primary btn-lg"
>
<
a
href
=
"
javascript:history.back()
"
class
=
"btn btn-primary btn-lg"
>
Back
</
a
>
</
div
>
...
...
src/backend/resources/views/admin/entities/scheduleEvents.blade.php
View file @
29eee4a8
...
...
@@ -15,7 +15,7 @@
</
h1
>
</
div
>
<
div
class
=
"col-md-4 col-sm-12 text-center"
>
<
a
href
=
"
{{ url()->previous() }}
"
class
=
"btn btn-primary btn-lg"
>
<
a
href
=
"
javascript:history.back()
"
class
=
"btn btn-primary btn-lg"
>
Back
</
a
>
</
div
>
...
...
src/backend/resources/views/admin/entries.blade.php
View file @
29eee4a8
...
...
@@ -7,32 +7,32 @@
])
@
section
(
'filters'
)
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3 mb-md-0
"
>
<
label
for
=
"userId"
>
User
ID
:
</
label
>
<
input
type
=
"number"
name
=
"user_id"
id
=
"userId"
class
=
"form-control"
value
=
"{{ request('user_id') }}"
>
</
div
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3 mb-md-0
"
>
<
label
for
=
"doorId"
>
Door
ID
:
</
label
>
<
input
type
=
"number"
name
=
"door_id"
id
=
"doorId"
class
=
"form-control"
value
=
"{{ request('door_id') }}"
>
</
div
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3 mb-md-0
"
>
<
label
for
=
"start"
>
Start
:
</
label
>
<
input
type
=
"date"
name
=
"start"
id
=
"start"
class
=
"form-control"
value
=
"{{ request('start') }}"
>
</
div
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3 mb-md-0
"
>
<
label
for
=
"end"
>
End
:
</
label
>
<
input
type
=
"date"
name
=
"end"
id
=
"end"
class
=
"form-control"
value
=
"{{ request('end') }}"
>
</
div
>
<
div
class
=
"col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"col-sm-12 col-md-6 col-xl-3
text-center
"
>
<
input
class
=
"btn btn-primary"
type
=
"submit"
value
=
"Filter"
>
</
div
>
@
endsection
...
...
src/backend/resources/views/admin/groups.blade.php
View file @
29eee4a8
...
...
@@ -8,7 +8,7 @@
])
@
section
(
'filters'
)
<
div
class
=
"form-inline col-sm-12 col-md-6"
>
<
div
class
=
"form-inline col-sm-12 col-md-6
text-center
"
>
<
label
class
=
"sr-only"
for
=
"query"
>
Search
</
label
>
...
...
src/backend/resources/views/admin/home.blade.php
View file @
29eee4a8
...
...
@@ -25,54 +25,60 @@
<
div
class
=
"row"
>
<
div
class
=
"col-xl-3 col-md-6 mb-4"
>
<
div
class
=
"card border-left-primary shadow h-100 py-2"
>
<
div
class
=
"card-body"
>
<
div
class
=
"row no-gutters align-items-center"
>
<
div
class
=
"col mr-2"
>
<
div
class
=
"text-xs font-weight-bold text-primary text-uppercase mb-1"
>
Doors
<
a
href
=
"{{ route('web.admin.doors.index', ['active_seconds' => \Source\Entities\Door::AWOL_TIME_SECONDS]) }}"
>
<
div
class
=
"card border-left-primary shadow h-100 py-2"
>
<
div
class
=
"card-body"
>
<
div
class
=
"row no-gutters align-items-center"
>
<
div
class
=
"col mr-2"
>
<
div
class
=
"text-xs font-weight-bold text-primary text-uppercase mb-1"
>
Active
Doors
</
div
>
<
div
class
=
"h5 mb-0 font-weight-bold text-gray-800"
>
{{
$doorCount
}}
</
div
>
</
div
>
<
div
class
=
"col-auto"
>
<
i
class
=
"fas fa-microchip fa-2x text-gray-300"
></
i
>
</
div
>
<
div
class
=
"h5 mb-0 font-weight-bold text-gray-800"
>
{{
$doorCount
}}
</
div
>
</
div
>
<
div
class
=
"col-auto"
>
<
i
class
=
"fas fa-microchip fa-2x text-gray-300"
></
i
>
</
div
>
</
div
>
</
div
>
</
div
>
</
a
>
</
div
>
<
div
class
=
"col-xl-3 col-md-6 mb-4"
>
<
div
class
=
"card border-left-success shadow h-100 py-2"
>
<
div
class
=
"card-body"
>
<
div
class
=
"row no-gutters align-items-center"
>
<
div
class
=
"col mr-2"
>
<
div
class
=
"text-xs font-weight-bold text-success text-uppercase mb-1"
>
Unresponsive
Doors
<
a
href
=
"{{ route('web.admin.doors.index', ['awol_seconds' => \Source\Entities\Door::AWOL_TIME_SECONDS]) }}"
>
<
div
class
=
"card border-left-success shadow h-100 py-2"
>
<
div
class
=
"card-body"
>
<
div
class
=
"row no-gutters align-items-center"
>
<
div
class
=
"col mr-2"
>
<
div
class
=
"text-xs font-weight-bold text-success text-uppercase mb-1"
>
Unresponsive
Doors
</
div
>
<
div
class
=
"h5 mb-0 font-weight-bold text-gray-800"
>
{{
$missingDoorCount
}}
</
div
>
</
div
>
<
div
class
=
"col-auto"
>
<
i
class
=
"fas fa-exclamation-triangle fa-2x text-gray-300"
></
i
>
</
div
>
<
div
class
=
"h5 mb-0 font-weight-bold text-gray-800"
>
{{
$missingDoorCount
}}
</
div
>
</
div
>
<
div
class
=
"col-auto"
>
<
i
class
=
"fas fa-exclamation-triangle fa-2x text-gray-300"
></
i
>
</
div
>
</
div
>
</
div
>
</
div
>
</
a
>
</
div
>
<
div
class
=
"col-xl-3 col-md-6 mb-4"
>
<
div
class
=
"card border-left-info shadow h-100 py-2"
>
<
div
class
=
"card-body"
>
<
div
class
=
"row no-gutters align-items-center"
>
<
div
class
=
"col mr-2"
>
<
div
class
=
"text-xs font-weight-bold text-success text-uppercase mb-1"
>
Pending
Requests
<
a
href
=
"{{ route('web.admin.requests.index', ['resolved' => 0]) }}"
>
<
div
class
=
"card border-left-info shadow h-100 py-2"
>
<
div
class
=
"card-body"
>
<
div
class
=
"row no-gutters align-items-center"
>
<
div
class
=
"col mr-2"
>
<
div
class
=
"text-xs font-weight-bold text-success text-uppercase mb-1"
>
Pending
Requests
</
div
>
<
div
class
=
"h5 mb-0 font-weight-bold text-gray-800"
>
{{
$pendingRequestsCount
}}
</
div
>
</
div
>
<
div
class
=
"col-auto"
>
<
i
class
=
"fas fa-tasks fa-2x text-gray-300"
></
i
>
</
div
>
<
div
class
=
"h5 mb-0 font-weight-bold text-gray-800"
>
{{
$pendingRequestsCount
}}
</
div
>
</
div
>
<
div
class
=
"col-auto"
>
<
i
class
=
"fas fa-tasks fa-2x text-gray-300"
></
i
>
</
div
>
</
div
>
</
div
>
</
div
>
</
a
>
</
div
>
<
div
class
=
"col-xl-3 col-md-6 mb-4"
>
...
...
src/backend/resources/views/admin/overrides.blade.php
View file @
29eee4a8
...
...
@@ -8,32 +8,32 @@
])
@
section
(
'filters'
)
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3
"
>
<
label
for
=
"userId"
>
User
ID
:
</
label
>
<
input
type
=
"number"
name
=
"user_id"
id
=
"userId"
class
=
"form-control"
value
=
"{{ request('user_id') }}"
>
</
div
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3
"
>
<
label
for
=
"doorId"
>
Door
ID
:
</
label
>
<
input
type
=
"number"
name
=
"door_id"
id
=
"doorId"
class
=
"form-control"
value
=
"{{ request('door_id') }}"
>
</
div
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3
"
>
<
label
for
=
"start"
>
Start
:
</
label
>
<
input
type
=
"date"
name
=
"start"
id
=
"start"
class
=
"form-control"
value
=
"{{ request('start') }}"
>
</
div
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"form-inline col-sm-12 col-md-6 col-xl-3
text-center mb-3 mb-xl-0
"
>
<
label
for
=
"end"
>
End
:
</
label
>
<
input
type
=
"date"
name
=
"end"
id
=
"end"
class
=
"form-control"
value
=
"{{ request('end') }}"
>
</
div
>
<
div
class
=
"col-sm-12 col-md-6 col-xl-3"
>
<
div
class
=
"col-sm-12 col-md-6 col-xl-3
text-center
"
>
<
input
class
=
"btn btn-primary"
type
=
"submit"
value
=
"Filter"
>
</
div
>
@
endsection
src/backend/resources/views/admin/profile.blade.php
deleted
100644 → 0
View file @
b12df85c
@
extends
(
'layouts.admin'
)
@
section
(
'main-content'
)
<!--
Page
Heading
-->
<
h1
class
=
"h3 mb-4 text-gray-800"
>
{{
__
(
'Profile'
)
}}
</
h1
>
@
if
(
$errors
->
any
())
<
div
class
=
"alert alert-danger border-left-danger"
role
=
"alert"
>
<
ul
class
=
"pl-4 my-2"
>
@
foreach
(
$errors
->
all
()
as
$error
)
<
li
>
{{
$error
}}
</
li
>
@
endforeach
</
ul
>
</
div
>
@
endif
<
div
class
=
"row"
>
<
div
class
=
"col-lg-4 order-lg-2"
>
<
div
class
=
"card shadow mb-4"
>
<
div
class
=
"card-profile-image mt-4"
>
<
figure
class
=
"rounded-circle avatar avatar font-weight-bold"
style
=
"font-size: 60px; height: 180px; width: 180px;"
data
-
initial
=
"{{ user()->getDisplayName()[0] }}"
></
figure
>