Compare commits
23 Commits
96933d2e01
...
61d8cb2e3d
Author | SHA1 | Date | |
---|---|---|---|
61d8cb2e3d | |||
ec9abbe5c0 | |||
7130cce4a2 | |||
04dfc20a28 | |||
1489427b80 | |||
809490dc44 | |||
569e03aab0 | |||
d53222bd06 | |||
dde2cb34e4 | |||
00e4e2170c | |||
5ed230e895 | |||
2bbb621a56 | |||
3b36d4ee42 | |||
885cddf6b1 | |||
a93b83e392 | |||
5d14d05019 | |||
f81e65938d | |||
7704319bd1 | |||
1eac26399f | |||
354d1fbde3 | |||
f3a32e9d94 | |||
30f9be37ec | |||
6454d3db47 |
@ -14,36 +14,34 @@
|
|||||||
"doctrine/orm": "^3.3",
|
"doctrine/orm": "^3.3",
|
||||||
"phpdocumentor/reflection-docblock": "^5.4",
|
"phpdocumentor/reflection-docblock": "^5.4",
|
||||||
"phpstan/phpdoc-parser": "^1.33",
|
"phpstan/phpdoc-parser": "^1.33",
|
||||||
"symfony/asset": "7.1.*",
|
"symfony/asset": "7.2.*",
|
||||||
"symfony/asset-mapper": "7.1.*",
|
"symfony/asset-mapper": "7.2.*",
|
||||||
"symfony/console": "7.1.*",
|
"symfony/console": "7.2.*",
|
||||||
"symfony/doctrine-messenger": "7.1.*",
|
"symfony/doctrine-messenger": "7.2.*",
|
||||||
"symfony/dotenv": "7.1.*",
|
"symfony/dotenv": "7.2.*",
|
||||||
"symfony/expression-language": "7.1.*",
|
"symfony/expression-language": "7.2.*",
|
||||||
"symfony/flex": "^2",
|
"symfony/flex": "^2",
|
||||||
"symfony/form": "7.1.*",
|
"symfony/form": "7.2.*",
|
||||||
"symfony/framework-bundle": "7.1.*",
|
"symfony/framework-bundle": "7.2.*",
|
||||||
"symfony/http-client": "7.1.*",
|
"symfony/http-client": "7.2.*",
|
||||||
"symfony/intl": "7.1.*",
|
"symfony/intl": "7.2.*",
|
||||||
"symfony/mailer": "7.1.*",
|
"symfony/mailer": "7.2.*",
|
||||||
"symfony/mime": "7.1.*",
|
"symfony/mime": "7.2.*",
|
||||||
"symfony/monolog-bundle": "^3.0",
|
"symfony/monolog-bundle": "^3.0",
|
||||||
"symfony/notifier": "7.1.*",
|
"symfony/notifier": "7.2.*",
|
||||||
"symfony/process": "7.1.*",
|
"symfony/process": "7.2.*",
|
||||||
"symfony/property-access": "7.1.*",
|
"symfony/property-access": "7.2.*",
|
||||||
"symfony/property-info": "7.1.*",
|
"symfony/property-info": "7.2.*",
|
||||||
"symfony/runtime": "7.1.*",
|
"symfony/runtime": "7.2.*",
|
||||||
"symfony/security-bundle": "7.1.*",
|
"symfony/security-bundle": "7.2.*",
|
||||||
"symfony/serializer": "7.1.*",
|
"symfony/serializer": "7.2.*",
|
||||||
"symfony/stimulus-bundle": "^2.21",
|
"symfony/string": "7.2.*",
|
||||||
"symfony/string": "7.1.*",
|
"symfony/translation": "7.2.*",
|
||||||
"symfony/translation": "7.1.*",
|
"symfony/twig-bundle": "7.2.*",
|
||||||
"symfony/twig-bundle": "7.1.*",
|
"symfony/uid": "7.2.*",
|
||||||
"symfony/uid": "7.1.*",
|
"symfony/validator": "7.2.*",
|
||||||
"symfony/ux-turbo": "^2.21",
|
"symfony/web-link": "7.2.*",
|
||||||
"symfony/validator": "7.1.*",
|
"symfony/yaml": "7.2.*",
|
||||||
"symfony/web-link": "7.1.*",
|
|
||||||
"symfony/yaml": "7.1.*",
|
|
||||||
"twig/extra-bundle": "^2.12|^3.0",
|
"twig/extra-bundle": "^2.12|^3.0",
|
||||||
"twig/intl-extra": "^3.15",
|
"twig/intl-extra": "^3.15",
|
||||||
"twig/twig": "^2.12|^3.0"
|
"twig/twig": "^2.12|^3.0"
|
||||||
@ -95,17 +93,17 @@
|
|||||||
"extra": {
|
"extra": {
|
||||||
"symfony": {
|
"symfony": {
|
||||||
"allow-contrib": false,
|
"allow-contrib": false,
|
||||||
"require": "7.1.*"
|
"require": "7.2.*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^9.5",
|
"phpunit/phpunit": "^9.5",
|
||||||
"symfony/browser-kit": "7.1.*",
|
"symfony/browser-kit": "7.2.*",
|
||||||
"symfony/css-selector": "7.1.*",
|
"symfony/css-selector": "7.2.*",
|
||||||
"symfony/debug-bundle": "7.1.*",
|
"symfony/debug-bundle": "7.2.*",
|
||||||
"symfony/maker-bundle": "^1.0",
|
"symfony/maker-bundle": "^1.0",
|
||||||
"symfony/phpunit-bridge": "^7.1",
|
"symfony/phpunit-bridge": "^7.2",
|
||||||
"symfony/stopwatch": "7.1.*",
|
"symfony/stopwatch": "7.2.*",
|
||||||
"symfony/web-profiler-bundle": "7.1.*"
|
"symfony/web-profiler-bundle": "7.2.*"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Controller;
|
namespace App\Controller;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
use App\Entity\MemberCase;
|
use App\Entity\MemberCase;
|
||||||
use App\Entity\ReferralSource;
|
use App\Entity\ReferralSource;
|
||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
@ -140,8 +141,8 @@ class CaseController extends AbstractController
|
|||||||
|
|
||||||
$caseWorkers = $this->entityManager->getRepository(User::class)->getCaseWorkers();
|
$caseWorkers = $this->entityManager->getRepository(User::class)->getCaseWorkers();
|
||||||
$case = $this->entityManager->getRepository(MemberCase::class)->find($id);
|
$case = $this->entityManager->getRepository(MemberCase::class)->find($id);
|
||||||
|
|
||||||
$prevUc = $this->entityManager->getRepository(UserCase::class)->findBy(['memberCase' => $case]);
|
$prevUc = $this->entityManager->getRepository(UserCase::class)->findBy(['memberCase' => $case]);
|
||||||
|
|
||||||
$uc = new UserCase();
|
$uc = new UserCase();
|
||||||
$form = $this->createForm(UserCaseFormType::class, $uc);
|
$form = $this->createForm(UserCaseFormType::class, $uc);
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
@ -152,10 +153,6 @@ class CaseController extends AbstractController
|
|||||||
$uc->setMemberCase($case);
|
$uc->setMemberCase($case);
|
||||||
$uc->setUser($user);
|
$uc->setUser($user);
|
||||||
|
|
||||||
if(!$uc->checkLevel()) {
|
|
||||||
throw new Exception('');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (count($prevUc) > 0) {
|
if (count($prevUc) > 0) {
|
||||||
$this->entityManager->remove($prevUc[0]);
|
$this->entityManager->remove($prevUc[0]);
|
||||||
$this->entityManager->flush();
|
$this->entityManager->flush();
|
||||||
@ -177,7 +174,7 @@ class CaseController extends AbstractController
|
|||||||
'title' => 'Assign Case',
|
'title' => 'Assign Case',
|
||||||
'breadcrumbs' => [
|
'breadcrumbs' => [
|
||||||
new Breadcrumb($this->generateUrl('app_list_cases'), 'List Cases'),
|
new Breadcrumb($this->generateUrl('app_list_cases'), 'List Cases'),
|
||||||
new Breadcrumb($this->generateUrl('app_assign_case', ['id' => $id]), 'Assign Case')
|
new Breadcrumb($this->generateUrl('app_assign_case', ['id' => $id]), 'Assign User')
|
||||||
],
|
],
|
||||||
'notifications' => $admin->retrieveUnreadNotifications(),
|
'notifications' => $admin->retrieveUnreadNotifications(),
|
||||||
'form' => $form,
|
'form' => $form,
|
||||||
@ -189,6 +186,33 @@ class CaseController extends AbstractController
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Route('/case-notes/{id}', name: 'app_case_notes')]
|
||||||
|
public function showCaseNotes(Request $request, string $id): Response
|
||||||
|
{
|
||||||
|
$case = $this->entityManager->getRepository(MemberCase::class)->find($id);
|
||||||
|
return new Response();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[Route('/api/case/{caseId}/user/{userId}', name: 'ajax_case_user_level_check')]
|
||||||
|
public function checkUserCaseLevel(string $caseId, string $userId) : Response
|
||||||
|
{
|
||||||
|
$ret = true;
|
||||||
|
|
||||||
|
$user = $this->entityManager->getRepository(User::class)->find($userId);
|
||||||
|
$case = $this->entityManager->getRepository(MemberCase::class)->find($caseId);
|
||||||
|
|
||||||
|
$res = UserCase::checkLevel($user, $case);
|
||||||
|
|
||||||
|
if (!$res) {
|
||||||
|
$ret = [
|
||||||
|
'userLevel' => ucwords(str_replace('_', ' ', strtolower($user->getLevel()->name))),
|
||||||
|
'caseLevel' => ucwords(str_replace('_', ' ', strtolower($case->getLevel()->name))),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->json($ret);
|
||||||
|
}
|
||||||
|
|
||||||
#[Route('/api/filter-cases-by-user', name: 'ajax_filter_cases_by_user')]
|
#[Route('/api/filter-cases-by-user', name: 'ajax_filter_cases_by_user')]
|
||||||
public function filterCasesByUser(Request $request): Response
|
public function filterCasesByUser(Request $request): Response
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity;
|
||||||
|
|
||||||
|
use App\Enums\CaseLevel;
|
||||||
use App\Repository\UserCaseRepository;
|
use App\Repository\UserCaseRepository;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
@ -49,4 +50,9 @@ class UserCase
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function checkLevel(User $user, MemberCase $case): bool
|
||||||
|
{
|
||||||
|
return ($user->getLevel()->value >= $case->getLevel()->value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
namespace App\Enums;
|
namespace App\Enums;
|
||||||
|
|
||||||
enum CaseLevel: string
|
enum CaseLevel: int
|
||||||
{
|
{
|
||||||
case PARAPROFESSIONAL = 'Paraprofessional';
|
case PARAPROFESSIONAL = 0;
|
||||||
case BACHELOR = 'Bachelor';
|
case BACHELOR = 1;
|
||||||
case MASTER = 'Master';
|
case MASTER = 2;
|
||||||
case DOCTORATE = 'Doctorate';
|
case DOCTORATE = 3;
|
||||||
case ADMIN = 'Admin';
|
case ADMIN = 99;
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ namespace App\Form;
|
|||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
|
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
use Symfony\Component\Validator\Constraints\Length;
|
use Symfony\Component\Validator\Constraints\Length;
|
||||||
@ -18,7 +19,10 @@ class RegistrationFormType extends AbstractType
|
|||||||
->add('name')
|
->add('name')
|
||||||
->add('username')
|
->add('username')
|
||||||
->add('email')
|
->add('email')
|
||||||
->add('plainPassword', PasswordType::class, [
|
->add('plainPassword', RepeatedType::class, [
|
||||||
|
'type' => PasswordType::class,
|
||||||
|
'first_options' => ['label' => 'Password'],
|
||||||
|
'second_options' => ['label' => 'Repeat Password'],
|
||||||
// instead of being set onto the object directly,
|
// instead of being set onto the object directly,
|
||||||
// this is read and encoded in the controller
|
// this is read and encoded in the controller
|
||||||
'mapped' => false,
|
'mapped' => false,
|
||||||
|
@ -6,6 +6,7 @@ use App\Entity\User;
|
|||||||
use App\Entity\UserCase;
|
use App\Entity\UserCase;
|
||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
|
|
||||||
@ -18,6 +19,9 @@ class UserCaseFormType extends AbstractType
|
|||||||
'class' => User::class,
|
'class' => User::class,
|
||||||
'choice_label' => 'name',
|
'choice_label' => 'name',
|
||||||
])
|
])
|
||||||
|
->add('overrideLevel', CheckboxType::class, [
|
||||||
|
'mapped' => false
|
||||||
|
])
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
22
src/Libs/Breadcrumb.php
Normal file
22
src/Libs/Breadcrumb.php
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Libs;
|
||||||
|
|
||||||
|
class Breadcrumb
|
||||||
|
{
|
||||||
|
public function __construct(
|
||||||
|
private string $link,
|
||||||
|
private string $name
|
||||||
|
) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __toString(): string
|
||||||
|
{
|
||||||
|
return <<<HTML
|
||||||
|
<li class='breadcrumb-item text-sm'>
|
||||||
|
<a class='opacity-6 opacity-5 text-dark' href="{$this->link}">{$this->name}</a>
|
||||||
|
</li>
|
||||||
|
HTML;
|
||||||
|
}
|
||||||
|
}
|
@ -86,8 +86,10 @@ class UserRepository extends ServiceEntityRepository implements PasswordUpgrader
|
|||||||
return $this->createQueryBuilder('u')
|
return $this->createQueryBuilder('u')
|
||||||
->orWhere('u.caseWorker = :case_worker')
|
->orWhere('u.caseWorker = :case_worker')
|
||||||
->orWhere('u.caseManager = :case_manager')
|
->orWhere('u.caseManager = :case_manager')
|
||||||
|
->orWhere('u.therapist = :therapist')
|
||||||
->setParameter('case_worker', true)
|
->setParameter('case_worker', true)
|
||||||
->setParameter('case_manager', true)
|
->setParameter('case_manager', true)
|
||||||
|
->setParameter('therapist', true)
|
||||||
->orderBy('u.name', 'ASC')
|
->orderBy('u.name', 'ASC')
|
||||||
->getQuery()
|
->getQuery()
|
||||||
->getResult()
|
->getResult()
|
||||||
|
@ -3,35 +3,40 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8"/>
|
<meta charset="utf-8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<link rel="apple-touch-icon" sizes="76x76" href="/assets/img/apple-icon.png">
|
<link rel="apple-touch-icon" sizes="76x76" href="{{ asset('img/apple-icon.png') }}">
|
||||||
<link rel="icon" type="image/png" href="/assets/img/favicon.png">
|
<link rel="icon" type="image/png" href="{{ asset('img/favicon.png') }}">
|
||||||
<title>
|
<title>
|
||||||
{% block title %}CM Tracker
|
{% block title %}CM Tracker
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</title>
|
</title>
|
||||||
|
|
||||||
|
<!-- Simple CSS
|
||||||
|
<link
|
||||||
|
rel="stylesheet" href="https://cdn.simplecss.org/simple.min.css">-->
|
||||||
|
|
||||||
<!-- Fonts and icons -->
|
<!-- Fonts and icons -->
|
||||||
<link
|
<link
|
||||||
rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Inter:300,400,500,600,700,900"/>
|
rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Inter:300,400,500,600,700,900"/>
|
||||||
<!-- Nucleo Icons -->
|
<!-- Nucleo Icons -->
|
||||||
<link href="/assets/css/nucleo-icons-a27f14049a724caccfdf868df5270952.css" rel="stylesheet"/>
|
<link href="{{ asset('css/nucleo-icons.css') }}" rel="stylesheet"/>
|
||||||
<link
|
<link
|
||||||
href="/assets/css/nucleo-svg-3db27f91a3b15bada90bc46e8e6e1035.css" rel="stylesheet"/>
|
href="{{ asset('css/nucleo-svg.css') }}" rel="stylesheet"/>
|
||||||
<!-- Font Awesome Icons -->
|
<!-- Font Awesome Icons -->
|
||||||
<script src="https://kit.fontawesome.com/f15a79324f.js" crossorigin="anonymous"></script>
|
<script src="https://kit.fontawesome.com/f15a79324f.js" crossorigin="anonymous"></script>
|
||||||
<!-- Material Icons -->
|
<!-- Material Icons -->
|
||||||
<link
|
<link
|
||||||
rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,400,0,0"/>
|
rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,400,0,0"/>
|
||||||
<!-- CSS Files -->
|
<!-- CSS Files -->
|
||||||
<link id="pagestyle" href="/assets/css/material-dashboard-69c5ab25ac23935d84707ae832be200b.css?v=3.2.0" rel="stylesheet"/> {% block stylesheets %}{% endblock %}
|
<link id="pagestyle" href="{{ asset('css/material-dashboard.css') }}?v=3.2.0" rel="stylesheet"/> {% block stylesheets %}{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="bg-gray-200"> {% block body %}{% endblock %}
|
<body class="bg-gray-200"> {% block body %}{% endblock %}
|
||||||
|
|
||||||
{% block javascripts %}
|
{% block javascripts %}
|
||||||
<script src="/assets/js/core/popper.min-0e0d7375f38434864f6e8b17b83248aa.js"></script>
|
<script src="{{ asset('js/core/popper.min.js') }}"></script>
|
||||||
<script src="/assets/js/core/bootstrap.min-98996657a881e005a859bf6c1669833e.js"></script>
|
<script src="{{ asset('js/core/bootstrap.min.js') }}"></script>
|
||||||
<script src="/assets/js/plugins/perfect-scrollbar.min-a3b6b88d9191651d76bca1d18ad6ff6f.js"></script>
|
<script src="{{ asset('js/plugins/perfect-scrollbar.min.js') }}"></script>
|
||||||
<script src="/assets/js/plugins/smooth-scrollbar.min-7f3b7aad407cb76c47d8ba2ff36b2917.js"></script>
|
<script src="{{ asset('js/plugins/smooth-scrollbar.min.js') }}"></script>
|
||||||
<script>
|
<script>
|
||||||
var win = navigator.platform.indexOf('Win') > -1;
|
var win = navigator.platform.indexOf('Win') > -1;
|
||||||
if (win && document.querySelector('#sidenav-scrollbar')) {
|
if (win && document.querySelector('#sidenav-scrollbar')) {
|
||||||
@ -44,7 +49,9 @@ Scrollbar.init(document.querySelector('#sidenav-scrollbar'), options);
|
|||||||
<!-- Github buttons -->
|
<!-- Github buttons -->
|
||||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||||
<!-- Control Center for Material Dashboard: parallax effects, scripts for the example pages etc -->
|
<!-- Control Center for Material Dashboard: parallax effects, scripts for the example pages etc -->
|
||||||
<script src="/assets/js/material-dashboard-3c2e68ac5dcb043e53d475fe9d10a964.js?v=3.2.0"></script>
|
<script src="{{ asset('js/material-dashboard.js') }}?v=3.2.0"></script>
|
||||||
|
|
||||||
|
<script src='{{ asset('js/script.js') }}'></script>
|
||||||
|
|
||||||
{% block importmap %}
|
{% block importmap %}
|
||||||
{{ importmap('app') }}
|
{{ importmap('app') }}
|
||||||
|
@ -27,8 +27,7 @@
|
|||||||
<select name='{{ field_name(form.supervisor) }}' id='user_form_supervisor' class='form-control'>
|
<select name='{{ field_name(form.supervisor) }}' id='user_form_supervisor' class='form-control'>
|
||||||
<option value=''></option>
|
<option value=''></option>
|
||||||
{% for s in supervisors %}
|
{% for s in supervisors %}
|
||||||
{% set selected = (s.id == data.id) %}
|
<option value='{{ s.id }}' {% if user.supervisor and user.supervisor.id == s.id %} selected="selected" {% endif %}>{{ s.name }}</option>
|
||||||
<option value='{{ s.id }}' {% if selected %} selected="true" {% endif %}>{{ s.name }}</option>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
<select name='{{ field_name(form.level) }}' id='case_form_level' class='form-control'>
|
<select name='{{ field_name(form.level) }}' id='case_form_level' class='form-control'>
|
||||||
<option value=''></option>
|
<option value=''></option>
|
||||||
{% for l in enum('App\\Enums\\CaseLevel').cases() %}
|
{% for l in enum('App\\Enums\\CaseLevel').cases() %}
|
||||||
<option value='{{ l.value }}'>{{ l.name }}</option>
|
<option value='{{ l.value }}'>{{ l.name|replace({'_': ' '})|lower|capitalize }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -19,12 +19,15 @@
|
|||||||
<h4 class="font-weight-bolder">Assign Case Worker</h4>
|
<h4 class="font-weight-bolder">Assign Case Worker</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
{{ form_start(form, {'attr': {'onsubmit': 'return validateAssignForm()'}}) }}
|
||||||
|
|
||||||
{{ form_errors(form) }}
|
{{ form_errors(form) }}
|
||||||
|
|
||||||
{{ form_start(form) }}
|
|
||||||
<div class='input-group input-group-outline mb-3 is-filled'>
|
<div class='input-group input-group-outline mb-3 is-filled'>
|
||||||
|
<input type='hidden' id='caseId' value='{{ id }}'/>
|
||||||
|
<input type='hidden' id='mustOverride' value="false"/>
|
||||||
<label for='user_form_caseWorker' class='form-label'>Case Worker</label>
|
<label for='user_form_caseWorker' class='form-label'>Case Worker</label>
|
||||||
<select name='{{ field_name(form.user) }}' id='user_form_caseWorker' class='form-control'>
|
<select name='{{ field_name(form.user) }}' id='user_form_caseWorker' class='form-control' onchange='javascript:checkLevels()'>
|
||||||
<option value=''></option>
|
<option value=''></option>
|
||||||
{% for w in caseWorkers %}
|
{% for w in caseWorkers %}
|
||||||
{% set selected = (w.id == assignedWorkerId) %}
|
{% set selected = (w.id == assignedWorkerId) %}
|
||||||
@ -34,12 +37,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class='input-group input-group-outline mb-3'>
|
<div class='input-group input-group-outline mb-3'>
|
||||||
<input type='checkbox' name='user_form_levelOverride' id='user_form_levelOverride' value='1'/>
|
<input type='checkbox' name='{{ field_name(form.overrideLevel) }}' id='user_form_levelOverride' value='1'/>
|
||||||
<label for='user_form_levelOverride' class='form-label'>Override Level</label>
|
<label for='user_form_levelOverride'>Override Level</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<button type="submit" class="btn btn-lg bg-gradient-dark btn-lg w-100 mt-4 mb-0">Assign Case Worker</button>
|
<button type="submit" id='submit-btn' class="btn btn-lg bg-gradient-dark btn-lg w-100 mt-4 mb-0">Assign Case Worker</button>
|
||||||
</div>
|
</div>
|
||||||
{{ form_end(form) }}
|
{{ form_end(form) }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -54,11 +54,7 @@
|
|||||||
<select name='{{ field_name(form.level) }}' id='case_form_level' class='form-control'>
|
<select name='{{ field_name(form.level) }}' id='case_form_level' class='form-control'>
|
||||||
<option value=''></option>
|
<option value=''></option>
|
||||||
{% for l in enum('App\\Enums\\CaseLevel').cases() %}
|
{% for l in enum('App\\Enums\\CaseLevel').cases() %}
|
||||||
{% set selected="" %}
|
<option value='{{ l.value }}' {% if case.level.value == l.value %} selected='selected'{% endif %}>{{ l.name }}</option>
|
||||||
{% if case.level.value == l.value %}
|
|
||||||
{% set selected=" selected='selected" %}
|
|
||||||
{% endif %}
|
|
||||||
<option value='{{ l.value }}' {{ selected }}>{{ l.name }}</option>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
<div class="col-xl-4 col-lg-5 col-md-7 d-flex flex-column ms-auto me-auto ms-lg-auto me-lg-5">
|
<div class="col-xl-4 col-lg-5 col-md-7 d-flex flex-column ms-auto me-auto ms-lg-auto me-lg-5">
|
||||||
<div class="card card-plain">
|
<div class="card card-plain">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h4 class="font-weight-bolder">Add Referral Source</h4>
|
<h4 class="font-weight-bolder">Edit Referral Source</h4>
|
||||||
<p class="mb-0">Add a source of receiving referrals</p>
|
<p class="mb-0">{{ rs.name }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
{{ form_errors(form) }}
|
{{ form_errors(form) }}
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
<h6 class="text-white text-capitalize ps-3">Referral Source List</h6>
|
<h6 class="text-white text-capitalize ps-3">Referral Source List</h6>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('/index.php/add-source', '_self')">Add Source</button>
|
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('{{ path('app_add_source') }}', '_self')">Add Source</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -58,7 +58,7 @@
|
|||||||
{{ src.phone }}
|
{{ src.phone }}
|
||||||
</td>
|
</td>
|
||||||
<td class='align-middle'>
|
<td class='align-middle'>
|
||||||
<a href='/index.php/edit-source/{{ src.id }}' class='text-secondary font-weight-bold text-xs' data-toggle='tooltip' data-original-title='Edit Source'>Edit</a>
|
<a href="{{ path('app_edit_source', {id: src.id}) }}" class='text-secondary font-weight-bold text-xs' data-toggle='tooltip' data-original-title='Edit Source'>Edit</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -33,21 +33,21 @@
|
|||||||
<div class='input-group input-group-outline mb-3'>
|
<div class='input-group input-group-outline mb-3'>
|
||||||
<div class='row justify-content-center flex-column'>
|
<div class='row justify-content-center flex-column'>
|
||||||
<div class='col'>
|
<div class='col'>
|
||||||
<input type='checkbox' name='{{ field_name(form.caseWorker) }}' id='user_form_job_CASE_WORKER' value='CASE_WORKER' {% if is_granted('ROLE_CASE_WORKER') %} checked="checked" {% endif %}/>
|
<input type='checkbox' name='{{ field_name(form.caseWorker) }}' id='user_form_job_CASE_WORKER' value='CASE_WORKER' {% if data.caseWorker %} checked="checked" {% endif %}/>
|
||||||
<label for='user_form_job_CASE_WORKER'>Case Worker</label><br/>
|
<label for='user_form_job_CASE_WORKER'>Case Worker</label><br/>
|
||||||
</div>
|
</div>
|
||||||
<div class='col'>
|
<div class='col'>
|
||||||
<input type='checkbox' name='{{ field_name(form.therapist) }}' id='user_form_job_THERAPIST' value='THERAPIST' {% if is_granted('ROLE_THERAPIST') %} checked="checked" {% endif %}/>
|
<input type='checkbox' name='{{ field_name(form.therapist) }}' id='user_form_job_THERAPIST' value='THERAPIST' {% if data.therapist %} checked="checked" {% endif %}/>
|
||||||
<label for='user_form_job_THERAPIST'>Therapist</label><br/>
|
<label for='user_form_job_THERAPIST'>Therapist</label><br/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class='row justify-content-center flex-column'>
|
<div class='row justify-content-center flex-column'>
|
||||||
<div class='col'>
|
<div class='col'>
|
||||||
<input type='checkbox' name='{{ field_name(form.caseManager) }}' id='user_form_job_CASE_MANAGER' value='CASE_MANAGER' {% if is_granted('ROLE_CASE_MANAGER') %} checked="checked" {% endif %}/>
|
<input type='checkbox' name='{{ field_name(form.caseManager) }}' id='user_form_job_CASE_MANAGER' value='CASE_MANAGER' {% if data.caseManager %} checked="checked" {% endif %}/>
|
||||||
<label for='user_form_job_CASE_MANAGER'>Case Manager</label>
|
<label for='user_form_job_CASE_MANAGER'>Case Manager</label>
|
||||||
</div>
|
</div>
|
||||||
<div class='col'>
|
<div class='col'>
|
||||||
<input type='checkbox' name='{{ field_name(form.su) }}' id='user_form_job_ADMIN' value='ADMIN' {% if is_granted('ROLE_ADMIN') %} checked="checked" {% endif %}/>
|
<input type='checkbox' name='{{ field_name(form.su) }}' id='user_form_job_ADMIN' value='ADMIN' {% if data.su %} checked="checked" {% endif %}/>
|
||||||
<label for='user_form_job_ADMIN'>Admin</label><br/>
|
<label for='user_form_job_ADMIN'>Admin</label><br/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
<h6 class="text-white text-capitalize ps-3">User List</h6>
|
<h6 class="text-white text-capitalize ps-3">User List</h6>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('/index.php/add-user', '_self')">Add User</button>
|
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('{{ path('app_add_user') }}', '_self')">Add User</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -60,9 +60,9 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td class='align-middle'>
|
<td class='align-middle'>
|
||||||
<a href='/index.php/edit-user/{{ user.id }}' class='text-secondary font-weight-bold text-xs' data-toggle='tooltip' data-original-title='Edit user'>Edit</a>
|
<a href='{{ path('app_edit_user', {id: user.id}) }}' class='text-secondary font-weight-bold text-xs' data-toggle='tooltip' data-original-title='Edit user'>Edit</a>
|
||||||
|
|
||||||
<a href='/index.php/assign-supervisor/{{ user.id }}' class='text-secondary text-xs' data-toggle='tooltip' data-original-title='Assign supervisor'>Assign</a>
|
<a href='{{ path('app_assign_supervisor', {id: user.id}) }}' class='text-secondary text-xs' data-toggle='tooltip' data-original-title='Assign supervisor'>Assign</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -16,14 +16,14 @@
|
|||||||
<h6 class="text-white text-capitalize ps-3">Case List</h6>
|
<h6 class="text-white text-capitalize ps-3">Case List</h6>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('/index.php/add-case', '_self')">Add Case</button>
|
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('{{ path('app_add_case') }}', '_self')">Add Case</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body px-0 pb-2">
|
<div class="card-body px-0 pb-2">
|
||||||
<div>
|
<div>
|
||||||
Filters:
|
Filters:
|
||||||
<select onchange='javascript:filterCasesByUser(this.value)'>
|
<select onchange='filterCasesByUser(this.value)'>
|
||||||
<option value=''></option>
|
<option value=''></option>
|
||||||
|
|
||||||
{% for w in workers %}
|
{% for w in workers %}
|
||||||
@ -45,7 +45,7 @@
|
|||||||
<th class="text-secondary opacity-7"></th>
|
<th class="text-secondary opacity-7"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody id='case-list'>
|
||||||
{% for c in cases %}
|
{% for c in cases %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
@ -81,18 +81,21 @@
|
|||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td class='align-right'>
|
<td class='align-right'>
|
||||||
<a href='/index.php/edit-case/{{ c.id }}' class='' title='Edit Case' data-toggle='tooltip' data-original-title='Edit Case'>
|
<a href='{{ path('app_edit_case', {id: c.id}) }}' class='' title='Edit Case' data-toggle='tooltip'>
|
||||||
<i class="material-symbols-rounded opacity-5">edit</i>
|
<i class="material-symbols-rounded opacity-5">edit</i>
|
||||||
</a>
|
</a>
|
||||||
<a href='/index.php/assign-case/{{ c.id }}' class='' title='Assign Case Worker' data-toggle='tooltip' data-original-title='Assign Worker'>
|
<a href='{{ path('app_assign_case', {id: c.id}) }}' class='' title='Assign Case Worker' data-toggle='tooltip'>
|
||||||
<i class='material-symbols-rounded opacity-5'>badge</i>
|
<i class='material-symbols-rounded opacity-5'>badge</i>
|
||||||
</a>
|
</a>
|
||||||
<a href='/index.php/list-referrals/{{ c.id }}' class='' title='List Referrals' data-toggle='tooltip' data-original-title='Add Referral'>
|
<a href='{{ path('app_list_referrals', {id: c.id}) }}' class='' title='List Referrals' data-toggle='tooltip'>
|
||||||
<i class='material-symbols-rounded opacity-5'>create_new_folder</i>
|
<i class='material-symbols-rounded opacity-5'>create_new_folder</i>
|
||||||
</a>
|
</a>
|
||||||
<a href='/index.php/list-members/{{ c.id }}' class='' title='List Members' data-toggle='tooltip' data-original-title='Add Member'>
|
<a href='{{ path('app_case_members', {id: c.id}) }}' class='' title='List Members' data-toggle='tooltip'>
|
||||||
<i class='material-symbols-rounded opacity-5'>group_add</i>
|
<i class='material-symbols-rounded opacity-5'>group_add</i>
|
||||||
</a>
|
</a>
|
||||||
|
<a href='{{ path('app_case_notes', {id: c.id}) }}' class='' title='Show Notes' data-toggle='tooltip'>
|
||||||
|
<i class='material-symbols-rounded opacity-5'>clinical_notes</i>
|
||||||
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</td>
|
</td>
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
<h6 class="text-white text-capitalize ps-3">Member List</h6>
|
<h6 class="text-white text-capitalize ps-3">Member List</h6>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('/index.php/add-member/{{ case.id }}', '_self')">Add Member</button>
|
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('{{ path('app_case_add_member', {id: case.id}) }}', '_self')">Add Member</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -73,7 +73,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td class='align-middle'>
|
<td class='align-middle'>
|
||||||
<a href='/index.php/case/{{ case.id }}/edit-member/{{ member.id }}' class='text-secondary font-weight-bold text-xs' data-toggle='tooltip' data-original-title='Edit Source'>
|
<a href='{{ path('app_case_edit_member', {caseId: case.id, memberId: member.id}) }}' class='text-secondary font-weight-bold text-xs' data-toggle='tooltip' data-original-title='Edit Source'>
|
||||||
<i class="material-symbols-rounded opacity-5">edit</i>
|
<i class="material-symbols-rounded opacity-5">edit</i>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
<h6 class="text-white text-capitalize ps-3">Referral List</h6>
|
<h6 class="text-white text-capitalize ps-3">Referral List</h6>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('/index.php/add-referral/{{ case.id }}', '_self')">Add Referral</button>
|
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('{{ path('app_case_add_referral', {id: case.id}) }}', '_self')">Add Referral</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -51,7 +51,7 @@
|
|||||||
<p class='text-xs font-weight-bold mb-0'>{{ r.endDate|date("F j, Y") }}</p>
|
<p class='text-xs font-weight-bold mb-0'>{{ r.endDate|date("F j, Y") }}</p>
|
||||||
</td>
|
</td>
|
||||||
<td class='align-right'>
|
<td class='align-right'>
|
||||||
<a href='/index.php/case/{{ case.id }}/edit-referral/{{ r.id }}' class='' title='Edit Referral' data-toggle='tooltip'>
|
<a href='{{ path('app_case_edit_referral', {caseId: case.id, referralId: r.id}) }}' class='' title='Edit Referral' data-toggle='tooltip'>
|
||||||
<i class="material-symbols-rounded opacity-5">edit</i>
|
<i class="material-symbols-rounded opacity-5">edit</i>
|
||||||
</a>
|
</a>
|
||||||
<a href='/index.php/list-notes/{{ r.id }}' class='' title='List Notes' data-toggle='tooltip'>
|
<a href='/index.php/list-notes/{{ r.id }}' class='' title='List Notes' data-toggle='tooltip'>
|
||||||
|
@ -2,11 +2,8 @@
|
|||||||
<nav aria-label="breadcrumb">
|
<nav aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb bg-transparent mb-0 pb-0 pt-1 px-0 me-sm-6 me-5">
|
<ol class="breadcrumb bg-transparent mb-0 pb-0 pt-1 px-0 me-sm-6 me-5">
|
||||||
{% for crumb in breadcrumbs %}
|
{% for crumb in breadcrumbs %}
|
||||||
<li class="breadcrumb-item text-sm">
|
{{ crumb|raw }}
|
||||||
<a class="opacity-5 text-dark" href="javascript:;">{{ crumb }}</a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{#<li class="breadcrumb-item text-sm text-dark active" aria-current="page">Tables</li>#}
|
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
<aside class="sidenav navbar navbar-vertical navbar-expand-xs border-radius-lg fixed-start ms-2 bg-white my-2" id="sidenav-main">
|
<aside class="sidenav navbar navbar-vertical navbar-expand-xs border-radius-lg fixed-start ms-2 bg-white my-2" id="sidenav-main">
|
||||||
<div class="sidenav-header">
|
<div class="sidenav-header">
|
||||||
<i class="fas fa-times p-3 cursor-pointer text-dark opacity-5 position-absolute end-0 top-0 d-none d-xl-none" aria-hidden="true" id="iconSidenav"></i>
|
<i class="fas fa-times p-3 cursor-pointer text-dark opacity-5 position-absolute end-0 top-0 d-none d-xl-none" aria-hidden="true" id="iconSidenav"></i>
|
||||||
<a class="navbar-brand px-4 py-3 m-0" href="/index.php/dashboard">
|
<a class="navbar-brand px-4 py-3 m-0" href="{{ path('app_dashboard') }}">
|
||||||
<img src="/assets/img/logo-ct-dark-fede0e8581dd87c5e6217653376c32a4.png" class="navbar-brand-img" width="26" height="26" alt="main_logo">
|
<img src="{{ asset('img/logo-ct-dark.png') }}" class="navbar-brand-img" width="26" height="26" alt="main_logo">
|
||||||
<span class="ms-1 text-sm text-dark">CM Tracker</span>
|
<span class="ms-1 text-sm text-dark">CM Tracker</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@ -18,19 +18,19 @@
|
|||||||
<ul class="navbar-nav">
|
<ul class="navbar-nav">
|
||||||
{% if is_granted('ROLE_ADMIN') %}
|
{% if is_granted('ROLE_ADMIN') %}
|
||||||
<li class='nav-item'>
|
<li class='nav-item'>
|
||||||
<a class="{{ admin_dashboard }}" href="/index.php/admin-dashboard">
|
<a class="{{ admin_dashboard }}" href="{{ path('app_admin_dashboard') }}">
|
||||||
<i class="material-symbols-rounded opacity-5">dashboard</i>
|
<i class="material-symbols-rounded opacity-5">dashboard</i>
|
||||||
<span class="nav-link-text ms-1">Admin Dashboard</span>
|
<span class="nav-link-text ms-1">Admin Dashboard</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class='nav-item'>
|
<li class='nav-item'>
|
||||||
<a class='{{ case_list }}' href='/index.php/list-cases'>
|
<a class='{{ case_list }}' href='{{ path('app_list_cases') }}'>
|
||||||
<i class='material-symbols-rounded opacity-5'>cases</i>
|
<i class='material-symbols-rounded opacity-5'>cases</i>
|
||||||
<span class='nav-link-text ms-1'>Case List</span>
|
<span class='nav-link-text ms-1'>Case List</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li clas='nav-item'>
|
<li clas='nav-item'>
|
||||||
<a class='{{ referral_sources }}' href='/index.php/list-referral-sources'>
|
<a class='{{ referral_sources }}' href='{{ path('app_referral_source') }}'>
|
||||||
<i class='material-symbols-rounded opacity-5'>groups</i>
|
<i class='material-symbols-rounded opacity-5'>groups</i>
|
||||||
<span class='nav-link-text ms-1'>Referral Sources</span>
|
<span class='nav-link-text ms-1'>Referral Sources</span>
|
||||||
</a>
|
</a>
|
||||||
@ -39,7 +39,7 @@
|
|||||||
|
|
||||||
{% if is_granted('ROLE_CASE_MANAGER') %}
|
{% if is_granted('ROLE_CASE_MANAGER') %}
|
||||||
<li class='nav-item'>
|
<li class='nav-item'>
|
||||||
<a class='{{ staff_dashboard }}' href='/index.php/staff-dashboard'>
|
<a class='{{ staff_dashboard }}' href='{{ path('app_staff_dashboard') }}'>
|
||||||
<i class='material-symbols-rounded opacity-5'>dashboard</i>
|
<i class='material-symbols-rounded opacity-5'>dashboard</i>
|
||||||
<span class='nav-link-text ms-1'>Staff Dashboard</span>
|
<span class='nav-link-text ms-1'>Staff Dashboard</span>
|
||||||
</a>
|
</a>
|
||||||
@ -47,7 +47,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="{{ user_dashboard }}" href="/index.php/dashboard">
|
<a class="{{ user_dashboard }}" href="{{ path('app_dashboard') }}">
|
||||||
<i class="material-symbols-rounded opacity-5">dashboard</i>
|
<i class="material-symbols-rounded opacity-5">dashboard</i>
|
||||||
<span class="nav-link-text ms-1">Dashboard</span>
|
<span class="nav-link-text ms-1">Dashboard</span>
|
||||||
</a>
|
</a>
|
||||||
@ -56,21 +56,21 @@
|
|||||||
<h6 class="ps-4 ms-2 text-uppercase text-xs text-dark font-weight-bolder opacity-5">Account pages</h6>
|
<h6 class="ps-4 ms-2 text-uppercase text-xs text-dark font-weight-bolder opacity-5">Account pages</h6>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="{{ profile }}" href="/index.php/profile">
|
<a class="{{ profile }}" href="{{ path('app_profile') }}">
|
||||||
<i class="material-symbols-rounded opacity-5">person</i>
|
<i class="material-symbols-rounded opacity-5">person</i>
|
||||||
<span class="nav-link-text ms-1">Profile</span>
|
<span class="nav-link-text ms-1">Profile</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% if is_granted('ROLE_ADMIN') %}
|
{% if is_granted('ROLE_ADMIN') %}
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="{{ user_list }}" href="/index.php/list-users">
|
<a class="{{ user_list }}" href="{{ path('app_list_users') }}">
|
||||||
<i class="material-symbols-rounded opacity-5">assignment</i>
|
<i class="material-symbols-rounded opacity-5">assignment</i>
|
||||||
<span class="nav-link-text ms-1">User List</span>
|
<span class="nav-link-text ms-1">User List</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li class='nav-item'>
|
<li class='nav-item'>
|
||||||
<a class='text-dark nav-link' href='/index.php/logout'>
|
<a class='text-dark nav-link' href='{{ logout_path() }}'>
|
||||||
<i class='material-symbols-rounded opacity-5'>logout</i>
|
<i class='material-symbols-rounded opacity-5'>logout</i>
|
||||||
<span class='nav-link-text ms-1'>Logout</span>
|
<span class='nav-link-text ms-1'>Logout</span>
|
||||||
</a>
|
</a>
|
||||||
|
@ -3,6 +3,16 @@
|
|||||||
<div class="container-fluid py-1 px-3">
|
<div class="container-fluid py-1 px-3">
|
||||||
{{ block('breadcrumb', 'internal/libs/breadcrumb.html.twig') }}
|
{{ block('breadcrumb', 'internal/libs/breadcrumb.html.twig') }}
|
||||||
<div class="collapse navbar-collapse mt-sm-0 mt-2 me-md-0 me-sm-4" id="navbar">
|
<div class="collapse navbar-collapse mt-sm-0 mt-2 me-md-0 me-sm-4" id="navbar">
|
||||||
|
<div class='ms-md-auto pe-md-3 d-flex align-items-left'>
|
||||||
|
{% for label, messages in app.flashes %}
|
||||||
|
{% for message in messages %}
|
||||||
|
<div class="flash-{{ label }}">
|
||||||
|
{{ message }}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="ms-md-auto pe-md-3 d-flex align-items-center">
|
<div class="ms-md-auto pe-md-3 d-flex align-items-center">
|
||||||
<div class="input-group input-group-outline">
|
<div class="input-group input-group-outline">
|
||||||
<label class="form-label">Case Search...</label>
|
<label class="form-label">Case Search...</label>
|
||||||
@ -47,7 +57,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item d-flex align-items-center" title="Profile">
|
<li class="nav-item d-flex align-items-center" title="Profile">
|
||||||
<a href="/index.php/profile" class="nav-link text-body font-weight-bold px-0">
|
<a href="{{ path('app_profile') }}" class="nav-link text-body font-weight-bold px-0">
|
||||||
<i class="material-symbols-rounded">account_circle</i>
|
<i class="material-symbols-rounded">account_circle</i>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -43,7 +43,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input-group input-group-outline mb-3">
|
<div class="input-group input-group-outline mb-3">
|
||||||
<label for="registration_form_plainPassword" class="form-label">Password</label>
|
<label for="registration_form_plainPassword" class="form-label">Password</label>
|
||||||
<input type="password" name="{{ field_name(form.plainPassword) }}" placeholder="" class="form-control" required="required"/>
|
<input type="password" name="{{ field_name(form.plainPassword.first) }}" placeholder="" class="form-control" required="required"/>
|
||||||
|
</div>
|
||||||
|
<div class='input-group input-group-outline mb-3'>
|
||||||
|
<label for='registration_form_repeatPassword' class='form-label'>Repeat Password</label>
|
||||||
|
<input type='password' name='{{ field_name(form.plainPassword.second) }}' class='form-control'/>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<button type="submit" class="btn btn-lg bg-gradient-dark btn-lg w-100 mt-4 mb-0">Sign Up</button>
|
<button type="submit" class="btn btn-lg bg-gradient-dark btn-lg w-100 mt-4 mb-0">Sign Up</button>
|
||||||
|
Loading…
Reference in New Issue
Block a user