Skip to content
Snippets Groups Projects
Commit e975a982 authored by Jacek Lebioda's avatar Jacek Lebioda
Browse files
parents c390bde5 5afd0615
No related branches found
No related tags found
No related merge requests found
......@@ -40,3 +40,9 @@ class WorkerEditForm(ModelForm):
class Meta:
model = Worker
fields = '__all__'
class AppointmentDetailForm(ModelForm):
class Meta:
model = Appointment
fields = '__all__'
......@@ -93,6 +93,9 @@ class Subject(models.Model):
def __str__(self):
return "%s %s" % (self.firstName, self.lastName)
def __unicode__(self):
return "%s %s" % (self.firstName, self.lastName)
class Visit(models.Model):
subject = models.ForeignKey(Subject, on_delete=models.CASCADE,
......@@ -163,7 +166,8 @@ class AppType (models.Model):
verbose_name='Required equipment'
)
followUp = models.ForeignKey('self',
verbose_name='Follow-up visit'
verbose_name='Follow-up visit',
null=True, blank=True
)
apCode = models.CharField(max_length=20,
verbose_name='Appointment code'
......@@ -296,7 +300,8 @@ class Holiday(models.Model):
class Appointment(models.Model):
flyingTeam = models.ForeignKey(FlyingTeam,
verbose_name='Flying team (if applicable)'
verbose_name='Flying team (if applicable)',
null=True, blank=True
)
appType = models.ForeignKey(AppType,
verbose_name='Appointment type'
......
{% extends "_base.html" %}
{% load static %}
{% block styles %}
{{ block.super }}
<!-- DataTables -->
<link rel="stylesheet" href="{% static 'AdminLTE/plugins/datatables/dataTables.bootstrap.css' %}">
{% endblock styles %}
{% block page_title %}'Assignments'{% endblock page_title %}
{% block page_header %}Assignment's details{% endblock page_header %}
{% block page_description %}details{% endblock page_description %}
{% block title %} - Details of assignment{% endblock %}
{% block breadcrumb %}
<!--{% include "assignments/breadcrumb.html" %}-->
{% endblock breadcrumb %}
{% block maincontent %}
{% block content %}
<div class="box box-info">
<div class="box-header with-border">
<a href="{% url 'web.views.assignments' %}" class="btn btn-block btn-default">Go back</a>
</div>
{% comment %} <div class="box-header with-border">
<h3 class="box-title">Details of worker</h3>
</div>{% endcomment %}
<form method="post" action="" class="form-horizontal">
{% csrf_token %}
<div class="box-body">
{% for field in form %}
<div class="form-group">
<label for="{# TODO #}" class="col-sm-2 control-label">
{{ field.label }}
</label>
<div class="col-sm-10">
{{ field }}
</div>
{% if field.help_text %}
<span class="help-block">
{{ field.help_text }}
</span>
{% endif %}
</div>
{% endfor %}
</div><!-- /.box-body -->
<div class="box-footer">
<a href="{% url 'web.views.assignments' %}" class="btn btn-block btn-default">Go back</a>
</div><!-- /.box-footer -->
</form>
</div>
{% endblock %}
{% endblock maincontent %}
{% block scripts %}
{{ block.super }}
<script src="{% static 'AdminLTE/plugins/datatables/jquery.dataTables.min.js' %}"></script>
<script src="{% static 'AdminLTE/plugins/datatables/dataTables.bootstrap.min.js' %}"></script>
<script>
$(function () {
$('#table').DataTable({
"paging": true,
"lengthChange": false,
"searching": true,
"ordering": true,
"info": true,
"autoWidth": false
});
});
</script>
{% endblock scripts %}
......@@ -5,7 +5,7 @@
{{ block.super }}
<!-- DataTables -->
<link rel="stylesheet" href="{% static 'AdminLTE/plugins/datatables/dataTables.bootstrap.css' %}">
<!-- fullCalendar 2.2.5-->
<link rel="stylesheet" href="{% static 'AdminLTE/plugins/fullcalendar/fullcalendar.min.css' %}">
<link rel="stylesheet" href="{% static 'AdminLTE/plugins/fullcalendar/fullcalendar.print.css' %}" media="print">
......@@ -25,8 +25,12 @@
<div class="row">
<div class="col-md-5">
<h3>Planning</h3>
<table id="planning_table" class="table table-bordered table-striped">
<thead>
{% if planning_list %}
<table id="planning_table" class="table table-bordered table-striped">
<thead>
<tr>
<th>Subject name</th>
<th>Full information</th>
......@@ -34,65 +38,57 @@
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>Aaron Aee</td>
<td><button type="button" class="btn btn-block btn-default btn-xs">See full information</button></td>
<td>26-11-2016</td>
<td><button type="button" class="btn btn-block btn-default">Details</button></td>
</tr>
<tr>
<td>Benny Bee</td>
<td><button type="button" class="btn btn-block btn-default btn-xs">See full information</button></td>
<td>27-11-2016</td>
<td><button type="button" class="btn btn-block btn-default">Details</button></td>
</tr>
<tr>
<td>Charlie Cee</td>
<td><button type="button" class="btn btn-block btn-default btn-xs">See full information</button></td>
<td>28-11-2016</td>
<td><button type="button" class="btn btn-block btn-default">Details</button></td>
</tr>
</tbody>
</table>
<tbody>
{% for planned in planning_list %}
<tr>
<td>{{planned.visit.subject.firstName}} {{planned.visit.subject.lastName}}</td>
<td><button type="button" class="btn btn-block btn-default btn-xs">See full information</button></td>
<td>{{planned.appDateTime}}</td>
<td><button type="button" class="btn btn-block btn-default">Details</button></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p>No visits to plan in close future.</p>
{% endif %}
<h3>Approaching</h3>
{% if approaching_list %}
<table id="approaching_table" class="table table-bordered table-striped">
<thead>
<tr>
<th>Subject name</th>
<th>Full information</th>
<th>Suggested date</th>
<th>Suggested time</th>
<th>Date</th>
<th>Time</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>John Dee</td>
<td><button type="button" class="btn btn-block btn-default btn-xs">See full information</button></td>
<td>21-11-2016</td>
<td>10:00 am</td>
<td><button type="button" class="btn btn-block btn-default">Details</button></td>
</tr>
<tr>
<td>Mike Fee</td>
<td><button type="button" class="btn btn-block btn-default btn-xs">See full information</button></td>
<td>21-11-2016</td>
<td>14:00 am</td>
<td><button type="button" class="btn btn-block btn-default">Details</button></td>
</tr>
<tr>
<td>Penny Tee</td>
<td><button type="button" class="btn btn-block btn-default btn-xs">See full information</button></td>
<td>22-11-2016</td>
<td>9:00 am</td>
<td><button type="button" class="btn btn-block btn-default">Details</button></td>
</tr>
{% for approach in approaching_list %}
<tr>
<td>{{approach.visit.subject.firstName}} {{approach.visit.subject.lastName}}</td>
<td><a href="{% url 'web.views.subjectdet' approach.visit.subject.id %}" type="button" class="btn btn-block btn-default">Subject's details</a></td>
<td>{{approach.appDateTime|date:"d-M-Y" }}</td>
<td>{{approach.appDateTime|time:"H:i"}}</td>
<td><a href="{% url 'web.views.assignmentdetails' approach.id %}" type="button" class="btn btn-block btn-default">Details</a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p>No visits approaching in close future.</p>
{% endif %}
</div>
<div class="col-md-7">
<div class="box box-primary">
<div class="box-body no-padding">
......@@ -105,12 +101,12 @@
{% block scripts %}
{{ block.super }}
<script src="{% static 'AdminLTE/plugins/datatables/jquery.dataTables.min.js' %}"></script>
<script src="{% static 'AdminLTE/plugins/datatables/dataTables.bootstrap.min.js' %}"></script>
<script src="{% static 'AdminLTE/plugins/moment.js/moment.min.js' %}"></script>
<script src="{% static 'AdminLTE/plugins/fullcalendar/fullcalendar.min.js' %}"></script>
<script>
$(function () {
$('#planning_table, #approaching_table').DataTable({
......@@ -121,7 +117,7 @@
"info": true,
"autoWidth": false
});
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
......
......@@ -18,6 +18,7 @@ from web import views
urlpatterns = [
url(r'assignments$', views.assignments, name='web.views.assignments'),
url(r'assignments/details/(?P<ids>\d+)$', views.assignmentdetails, name='web.views.assignmentdetails'),
url(r'subjects$', views.subjects, name='web.views.subjects'),
url(r'subjects/add$', views.subjectadd, name='web.views.subjectadd'),
url(r'subjects/details/(?P<ids>\d+)$', views.subjectdet, name='web.views.subjectdet'),
......
......@@ -186,4 +186,18 @@ def equipment_and_rooms(request):
def mail_templates(request):
return wrap_response(request, "mail_templates/index.html", {})
def assignments(request):
planning_list = Appointment.objects.none()
approaching_list = Appointment.objects.filter(appDateTime__gt = datetime.datetime.now())
context = {
'planning_list': planning_list,
'approaching_list': approaching_list
}
return wrap_response(request, "assignments/index.html",context)
def assignmentdetails(request, ids):
form = AppointmentDetailForm(instance=Appointment.objects.get(id=ids))
return wrap_response(request, 'assignments/details.html', {'form': form})
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment