Add staff notes functionality
This commit is contained in:
44
templates/internal/staff/cases/my-cases.html.twig
Normal file
44
templates/internal/staff/cases/my-cases.html.twig
Normal file
@ -0,0 +1,44 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
{{ block('nav', 'internal/libs/nav.html.twig') }}
|
||||
|
||||
<main class="main-content position-relative max-height-vh-100 h-100 border-radius-lg ">
|
||||
{{ block('topnav', 'internal/libs/top-nav.html.twig') }}
|
||||
<div class='container-fluid py-2'>
|
||||
<div class='row'>
|
||||
<div class='ms-3'>
|
||||
<h3 class='mb-0 h4 font-weight-bolder'>My Cases</h3>
|
||||
<p class='mb-4'></p>
|
||||
</div>
|
||||
{% for c in cases %}
|
||||
<div class='col-xl-3 col-sm-6 mb-xl-0 mb-4'>
|
||||
<div class='card'>
|
||||
<div class='card-header p-2 ps-3'>
|
||||
<div class='d-flex justify-content-between'>
|
||||
<div>
|
||||
<h4 class='mb-0'>{{ c.caseName }}</h4>
|
||||
<p class='text-sm mb-0 text-capitalize'>
|
||||
<a href='tel:'></a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="icon icon-md icon-shape bg-gradient-dark shadow-dark shadow text-center border-radius-lg">
|
||||
<i class="material-symbols-rounded opacity-10">weekend</i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class='dark horizontal my-0'>
|
||||
<div class='card-footer p-2 ps-3'>
|
||||
<p class='mb-0 text-sm'>
|
||||
<span class='text-info font-weight-bolder'>
|
||||
<a href='{{ path('app_staff_list_notes', {staffId: user.id, caseId: c.id}) }}'>Staff Notes</a>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% endblock %}
|
44
templates/internal/staff/cases/staff-cases.html.twig
Normal file
44
templates/internal/staff/cases/staff-cases.html.twig
Normal file
@ -0,0 +1,44 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
{{ block('nav', 'internal/libs/nav.html.twig') }}
|
||||
|
||||
<main class="main-content position-relative max-height-vh-100 h-100 border-radius-lg ">
|
||||
{{ block('topnav', 'internal/libs/top-nav.html.twig') }}
|
||||
<div class='container-fluid py-2'>
|
||||
<div class='row'>
|
||||
<div class='ms-3'>
|
||||
<h3 class='mb-0 h4 font-weight-bolder'>Staff Cases</h3>
|
||||
<p class='mb-4'></p>
|
||||
</div>
|
||||
{% for c in cases %}
|
||||
<div class='col-xl-3 col-sm-6 mb-xl-0 mb-4'>
|
||||
<div class='card'>
|
||||
<div class='card-header p-2 ps-3'>
|
||||
<div class='d-flex justify-content-between'>
|
||||
<div>
|
||||
<h4 class='mb-0'>{{ c.caseName }}</h4>
|
||||
<p class='text-sm mb-0 text-capitalize'>
|
||||
<a href='tel:'></a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="icon icon-md icon-shape bg-gradient-dark shadow-dark shadow text-center border-radius-lg">
|
||||
<i class="material-symbols-rounded opacity-10">weekend</i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class='dark horizontal my-0'>
|
||||
<div class='card-footer p-2 ps-3'>
|
||||
<p class='mb-0 text-sm'>
|
||||
<span class='text-info font-weight-bolder'>
|
||||
<a href='{{ path('app_staff_list_notes', {staffId: staffId, caseId: c.id}) }}'>Staff Notes</a>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% endblock %}
|
56
templates/internal/staff/notes/add-note.html.twig
Normal file
56
templates/internal/staff/notes/add-note.html.twig
Normal file
@ -0,0 +1,56 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
{{ block('nav', 'internal/libs/nav.html.twig') }}
|
||||
|
||||
<main class="main-content position-relative max-height-vh-100 h-100 border-radius-lg ">
|
||||
{{ block('topnav', 'internal/libs/top-nav.html.twig') }}
|
||||
|
||||
<section>
|
||||
|
||||
<div class="card card-plain">
|
||||
<div class="card-header">
|
||||
<h4 class="font-weight-bolder">Case Info</h4>
|
||||
<p class="mb-0"></p>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="container">
|
||||
{{ form_errors(form) }}
|
||||
|
||||
{{ form_start(form) }}
|
||||
<div class="row">
|
||||
<div class='col'>
|
||||
<div class='input-group input-group-outline mb-3'>
|
||||
<label for='note_form_date'></label>
|
||||
<input type='date' name='{{ field_name(form.date) }}' id='note_form_date' class='form-control'/>
|
||||
</div>
|
||||
|
||||
<div class='input-group input-group-outline mb-3'>
|
||||
{{ form_row(form.servicesProvided) }}
|
||||
</div>
|
||||
|
||||
<div class='input-group input-group-outline mb-3'>
|
||||
<label for='note_form_recommendation' class='form-label'>Recommendation</label>
|
||||
<input type='text' name='{{ field_name(form.recommendations) }}' id='note_form_recommendation' class='form-control'/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='col'>
|
||||
<div class='input-group input-group-outline mb-3'>
|
||||
<textarea name='{{ field_name(form.note) }}' id='note_form_note' class='form-control' placeholder='Note' style='width:100%;height:200px;'></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row'>
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-lg bg-gradient-dark btn-lg w-100 mt-4 mb-0">Save Staff Note</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{% endblock %}
|
60
templates/internal/staff/notes/list-notes.html.twig
Normal file
60
templates/internal/staff/notes/list-notes.html.twig
Normal file
@ -0,0 +1,60 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
{{ block('nav', 'internal/libs/nav.html.twig') }}
|
||||
|
||||
<main class="main-content position-relative max-height-vh-100 h-100 border-radius-lg ">
|
||||
{{ block('topnav', 'internal/libs/top-nav.html.twig') }}
|
||||
|
||||
<div class="container-fluid py-2">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card my-4">
|
||||
<div class="card-header p-0 position-relative mt-n4 mx-3 z-index-2">
|
||||
<div class="d-flex justify-content-between bg-gradient-dark shadow-dark border-radius-lg pt-4 pb-3 ps-3 p-2">
|
||||
<div>
|
||||
<h6 class="text-white text-capitalize ps-3">{{ case.caseName }}</h6>
|
||||
</div>
|
||||
{% if app.user.id == staffId %}
|
||||
<div>
|
||||
<button type="button" class="btn btn-block btn-light mb-3" onclick="window.open('{{ path('app_staff_add_note', {caseId: case.id}) }}', '_self')">Add Staff Note</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body px-0 pb-2">
|
||||
<div class="table-responsive p-0">
|
||||
<table class="table align-items-center mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-uppercase text-secondary text-xxs font-weight-bolder opacity-7">Date</th>
|
||||
<th class="text-secondary opacity-7"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id='case-list'>
|
||||
{% for n in staffNotes %}
|
||||
<tr>
|
||||
<td>
|
||||
<div class='d-flex px-2 py-1'>
|
||||
<div class='d-flex flex-column justify-content-center'>
|
||||
<h6 class='mb-0 text-small'>{{ n.date|date('F j, Y') }}</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class='align-right'>
|
||||
<a href='{{ path('app_staff_edit_note', {noteId: n.id}) }}' title='Edit Note'>
|
||||
<i class='material-symbols-rounded opacity-5'>edit</i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% endblock %}
|
@ -5,5 +5,40 @@
|
||||
|
||||
<main class="main-content position-relative max-height-vh-100 h-100 border-radius-lg ">
|
||||
{{ block('topnav', 'internal/libs/top-nav.html.twig') }}
|
||||
<div class='container-fluid py-2'>
|
||||
<div class='row'>
|
||||
<div class='ms-3'>
|
||||
<h3 class='mb-0 h4 font-weight-bolder'>Staff Dashboard</h3>
|
||||
<p class='mb-4'></p>
|
||||
</div>
|
||||
{% for s in staff %}
|
||||
<div class='col-xl-3 col-sm-6 mb-xl-0 mb-4'>
|
||||
<div class='card'>
|
||||
<div class='card-header p-2 ps-3'>
|
||||
<div class='d-flex justify-content-between'>
|
||||
<div>
|
||||
<h4 class='mb-0'>{{ s.name }}</h4>
|
||||
<p class='text-sm mb-0 text-capitalize'>
|
||||
<a href='tel:'></a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="icon icon-md icon-shape bg-gradient-dark shadow-dark shadow text-center border-radius-lg">
|
||||
<i class="material-symbols-rounded opacity-10">weekend</i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class='dark horizontal my-0'>
|
||||
<div class='card-footer p-2 ps-3'>
|
||||
<p class='mb-0 text-sm'>
|
||||
<span class='text-info font-weight-bolder'>
|
||||
<a href='{{ path('app_staff_cases', {staffId: s.id}) }}'>Staff Cases</a>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% endblock %}
|
||||
|
Reference in New Issue
Block a user