mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-26 01:42:16 +00:00
Order training items by number
This commit is contained in:
25
training/migrations/0007_auto_20210908_2043.py
Normal file
25
training/migrations/0007_auto_20210908_2043.py
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# Generated by Django 3.1.13 on 2021-09-08 19:43
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('training', '0006_auto_20210903_2158'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='trainingitem',
|
||||||
|
options={'ordering': ['category__reference_number', 'reference_number']},
|
||||||
|
),
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name='trainingitem',
|
||||||
|
unique_together={('reference_number', 'name', 'category')},
|
||||||
|
),
|
||||||
|
migrations.AlterOrderWithRespectTo(
|
||||||
|
name='trainingitemqualification',
|
||||||
|
order_with_respect_to='item',
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -45,8 +45,12 @@ class TrainingItem(models.Model):
|
|||||||
category = models.ForeignKey('TrainingCategory', related_name='items', on_delete=models.RESTRICT)
|
category = models.ForeignKey('TrainingCategory', related_name='items', on_delete=models.RESTRICT)
|
||||||
name = models.CharField(max_length=50)
|
name = models.CharField(max_length=50)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def number(self):
|
||||||
|
return "{}.{}".format(self.category.reference_number, self.reference_number)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "{}.{} {}".format(self.category.reference_number, self.reference_number, self.name)
|
return "{} {}".format(self.number, self.name)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def user_has_qualification(item, user, depth):
|
def user_has_qualification(item, user, depth):
|
||||||
@@ -54,6 +58,10 @@ class TrainingItem(models.Model):
|
|||||||
if q.item == item and q.depth > depth:
|
if q.item == item and q.depth > depth:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
unique_together = ["reference_number", "name", "category"]
|
||||||
|
ordering = ['category__reference_number', 'reference_number']
|
||||||
|
|
||||||
|
|
||||||
class TrainingItemQualification(models.Model):
|
class TrainingItemQualification(models.Model):
|
||||||
STARTED = 0
|
STARTED = 0
|
||||||
@@ -95,6 +103,7 @@ class TrainingItemQualification(models.Model):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
unique_together = ["trainee", "item", "depth"]
|
unique_together = ["trainee", "item", "depth"]
|
||||||
|
order_with_respect_to = 'item'
|
||||||
|
|
||||||
|
|
||||||
# Levels
|
# Levels
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
{% if user.is_authenticated %}
|
{% if user.is_authenticated %}
|
||||||
<li class="nav-item"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item"><a class="nav-link" href="/">Home</a></li>
|
||||||
<li class="nav-item dropdown">
|
<li class="nav-item dropdown">
|
||||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownRigboard" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
<a class="nav-link dropdown-toggle text-info" href="#" id="navbarDropdownRigboard" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
My Record
|
My Record
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu" aria-labelledby="navbarDropdownRigboard">
|
<div class="dropdown-menu" aria-labelledby="navbarDropdownRigboard">
|
||||||
@@ -20,8 +20,9 @@
|
|||||||
Item Detail</a>
|
Item Detail</a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item"><a class="nav-link" href="{% url 'level_list' %}"><span class="fas fa-layer-group"></span> All Levels</a></li>
|
<li class="nav-item"><a class="nav-link" href="{% url 'trainee_list' %}"><span class="fas fa-users"></span> Trainee List</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" href="{% url 'item_list' %}"><span class="fas fa-sitemap"></span> All Items</a></li>
|
<li class="nav-item"><a class="nav-link" href="{% url 'level_list' %}"><span class="fas fa-layer-group"></span> Level List</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="{% url 'item_list' %}"><span class="fas fa-sitemap"></span> Item List</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" href="{% url 'training_activity_table' %}"><span class="fas fa-random"></span> Recent Changes</a></li>
|
<li class="nav-item"><a class="nav-link" href="{% url 'training_activity_table' %}"><span class="fas fa-random"></span> Recent Changes</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
{% render_field form.trainee|attr:'hidden' value=form.trainee.initial %}
|
{% render_field form.trainee|attr:'hidden' value=form.trainee.initial %}
|
||||||
<div class="form-group form-row">
|
<div class="form-group form-row">
|
||||||
<label for="item_id" class="col-sm-2 col-form-label">Item</label>
|
<label for="item_id" class="col-sm-2 col-form-label">Item</label>
|
||||||
<select name="item" id="item_id" class="form-control selectpicker custom-select col-sm-4" data-live-search="true" data-sourceurl="{% url 'api_secure' model='training_item' %}" required>
|
<select name="item" id="item_id" class="form-control selectpicker custom-select col-sm-4" data-live-search="true" data-sourceurl="{% url 'api_secure' model='training_item' %}?fields=reference_number,name" required>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group form-row">
|
<div class="form-group form-row">
|
||||||
|
|||||||
Reference in New Issue
Block a user