From 8863d86ed069bcafda941ff59ed4cc999ef43e95 Mon Sep 17 00:00:00 2001 From: Arona Jones Date: Wed, 22 Feb 2023 21:07:43 +0000 Subject: [PATCH] Add description field to TrainingItems (#523) * Add 'description' field to TrainingItems Renamed existing field to name, removed the dummy property. * Initial version of training item export view * Fix line length issue and better spacing on exported PDF * Added export button to item list * pep8 * Implement code doctor tweaks * Attempt to fix odd deployment issue * Pad headers slightly * Fix page numbering --- PyRIGS/views.py | 61 +++++++++++------- RIGS/static/imgs/paperwork/corner-tr-su.jpg | Bin 67203 -> 64711 bytes RIGS/templates/base_print.xml | 3 + RIGS/templatetags/filters.py | 4 +- .../commands/generateSampleAssetsData.py | 3 +- assets/models.py | 3 +- assets/views.py | 2 +- package-lock.json | 1 + .../commands/generateSampleTrainingData.py | 11 +++- ...06_rename_description_trainingitem_name.py | 18 ++++++ .../0007_trainingitem_description.py | 18 ++++++ training/models.py | 13 ++-- training/templates/item_list.html | 9 ++- training/templates/item_list.xml | 25 +++++++ training/urls.py | 1 + training/views.py | 13 +++- 16 files changed, 144 insertions(+), 41 deletions(-) create mode 100644 training/migrations/0006_rename_description_trainingitem_name.py create mode 100644 training/migrations/0007_trainingitem_description.py create mode 100644 training/templates/item_list.xml diff --git a/PyRIGS/views.py b/PyRIGS/views.py index 1a47b7da..fe7a44e0 100644 --- a/PyRIGS/views.py +++ b/PyRIGS/views.py @@ -321,45 +321,60 @@ class OEmbedView(generic.View): return JsonResponse(data) +def get_info_string(user): + user_str = f"by {user.name} " if user else "" + time = timezone.now().strftime('%d/%m/%Y %H:%I') + return f"[Paperwork generated {user_str}on {time}" + + +def render_pdf_response(template, context, append_terms): + merger = PdfFileMerger() + rml = template.render(context) + buffer = rml2pdf.parseString(rml) + merger.append(PdfFileReader(buffer)) + buffer.close() + + if append_terms: + terms = urllib.request.urlopen(settings.TERMS_OF_HIRE_URL) + merger.append(BytesIO(terms.read())) + + merged = BytesIO() + merger.write(merged) + + response = HttpResponse(content_type='application/pdf') + f = context['filename'] + response['Content-Disposition'] = f'filename="{f}"' + response.write(merged.getvalue()) + return response + + class PrintView(generic.View): append_terms = False def get_context_data(self, **kwargs): obj = get_object_or_404(self.model, pk=self.kwargs['pk']) - user_str = f"by {self.request.user.name} " if self.request.user is not None else "" - time = timezone.now().strftime('%d/%m/%Y %H:%I') object_name = re.sub(r'[^a-zA-Z0-9 \n\.]', '', obj.name) context = { 'object': obj, 'current_user': self.request.user, 'object_name': object_name, - 'info_string': f"[Paperwork generated {user_str}on {time} - {obj.current_version_id}]", + 'info_string': get_info_string(self.request.user) + f"- {obj.current_version_id}]", } return context def get(self, request, pk): - template = get_template(self.template_name) + return render_pdf_response(get_template(self.template_name), self.get_context_data(), self.append_terms) - merger = PdfFileMerger() - context = self.get_context_data() +class PrintListView(generic.ListView): + def get_context_data(self, *args, **kwargs): + context = super().get_context_data(*args, **kwargs) + context['current_user'] = self.request.user + context['info_string'] = get_info_string(self.request.user) + "]" + return context - rml = template.render(context) - buffer = rml2pdf.parseString(rml) - merger.append(PdfFileReader(buffer)) - buffer.close() - - if self.append_terms: - terms = urllib.request.urlopen(settings.TERMS_OF_HIRE_URL) - merger.append(BytesIO(terms.read())) - - merged = BytesIO() - merger.write(merged) - - response = HttpResponse(content_type='application/pdf') - f = context['filename'] - response['Content-Disposition'] = f'filename="{f}"' - response.write(merged.getvalue()) - return response + def get(self, request): + self.object_list = self.get_queryset() + return render_pdf_response(get_template(self.template_name), self.get_context_data(), False) diff --git a/RIGS/static/imgs/paperwork/corner-tr-su.jpg b/RIGS/static/imgs/paperwork/corner-tr-su.jpg index 4cbe129864080448bccc2ad24c0e28e40389d926..e1f960fad51b7a2dc726c712053991a074fda753 100644 GIT binary patch literal 64711 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 R`Lcn7d&`0Q9p(Su1OTHsubuz^ literal 67203 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 + @@ -27,6 +28,8 @@ + + diff --git a/RIGS/templatetags/filters.py b/RIGS/templatetags/filters.py index 21d4a1af..b2480d40 100644 --- a/RIGS/templatetags/filters.py +++ b/RIGS/templatetags/filters.py @@ -196,8 +196,8 @@ def button(type, url=None, pk=None, clazz="", icon=None, text="", id=None, style text = "Edit" elif type == 'print': clazz += " btn-primary " - icon = "fa-print" - text = "Print" + icon = "fa-download" + text = "Export" elif type == 'duplicate': clazz += " btn-info " icon = "fa-copy" diff --git a/assets/management/commands/generateSampleAssetsData.py b/assets/management/commands/generateSampleAssetsData.py index 49e709ab..d9d66f16 100644 --- a/assets/management/commands/generateSampleAssetsData.py +++ b/assets/management/commands/generateSampleAssetsData.py @@ -105,8 +105,7 @@ class Command(BaseCommand): for i in range(100): prefix = random.choice(asset_prefixes) - asset_id = str(get_available_asset_id(wanted_prefix=prefix)) - asset_id = prefix + asset_id + asset_id = get_available_asset_id(wanted_prefix=prefix) asset = models.Asset( asset_id=asset_id, description=random.choice(asset_description), diff --git a/assets/models.py b/assets/models.py index ef535fa4..32331029 100644 --- a/assets/models.py +++ b/assets/models.py @@ -102,7 +102,8 @@ class AssetManager(models.Manager): def get_available_asset_id(wanted_prefix=""): last_asset = Asset.objects.filter(asset_id_prefix=wanted_prefix).last() - return 9000 if last_asset is None else wanted_prefix + str(last_asset.asset_id_number + 1) + last_asset_id = last_asset.asset_id_number if last_asset else 0 + return wanted_prefix + str(last_asset_id + 1) def validate_positive(value): diff --git a/assets/views.py b/assets/views.py index 4ad4c94c..46f83fb3 100644 --- a/assets/views.py +++ b/assets/views.py @@ -168,7 +168,7 @@ class DuplicateMixin: class AssetDuplicate(DuplicateMixin, AssetIDUrlMixin, AssetCreate): def get_initial(self, *args, **kwargs): initial = super().get_initial(*args, **kwargs) - initial["asset_id"] = models.get_available_asset_id(wanted_prefix=self.get_object().asset_id_prefix) + initial["asset_id"] = models.get_available_asset_id() return initial def get_context_data(self, **kwargs): diff --git a/package-lock.json b/package-lock.json index 24528b69..2b73da2d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "PyRIGS", "version": "1.0.0", "license": "Custom", "dependencies": { diff --git a/training/management/commands/generateSampleTrainingData.py b/training/management/commands/generateSampleTrainingData.py index 8b92452d..f342c023 100644 --- a/training/management/commands/generateSampleTrainingData.py +++ b/training/management/commands/generateSampleTrainingData.py @@ -143,6 +143,15 @@ class Command(BaseCommand): "Bin Diving", "Wiki Editing"] + descriptions = [ + "Physical training concentrates on mechanistic goals: training programs in this area develop specific motor skills, agility, strength or physical fitness, often with an intention of peaking at a particular time.", + "In military use, training means gaining the physical ability to perform and survive in combat, and learn the many skills needed in a time of war.", + "These include how to use a variety of weapons, outdoor survival skills, and how to survive being captured by the enemy, among many others. See military education and training.", + "While some studies have indicated relaxation training is useful for some medical conditions, autogenic training has limited results or has been the result of few studies.", + "Some occupations are inherently hazardous, and require a minimum level of competence before the practitioners can perform the work at an acceptable level of safety to themselves or others in the vicinity.", + "Occupational diving, rescue, firefighting and operation of certain types of machinery and vehicles may require assessment and certification of a minimum acceptable competence before the person is allowed to practice as a licensed instructor." + ] + for i, name in enumerate(names): category = random.choice(self.categories) previous_item = models.TrainingItem.objects.filter(category=category).last() @@ -150,7 +159,7 @@ class Command(BaseCommand): number = previous_item.reference_number + 1 else: number = 0 - item = models.TrainingItem.objects.create(category=category, reference_number=number, description=name) + item = models.TrainingItem.objects.create(category=category, reference_number=number, name=name, description=random.choice(descriptions) + random.choice(descriptions) + random.choice(descriptions)) self.items.append(item) def setup_levels(self): diff --git a/training/migrations/0006_rename_description_trainingitem_name.py b/training/migrations/0006_rename_description_trainingitem_name.py new file mode 100644 index 00000000..5976da1c --- /dev/null +++ b/training/migrations/0006_rename_description_trainingitem_name.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.18 on 2023-02-19 14:02 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('training', '0005_auto_20220223_1535'), + ] + + operations = [ + migrations.RenameField( + model_name='trainingitem', + old_name='description', + new_name='name', + ), + ] diff --git a/training/migrations/0007_trainingitem_description.py b/training/migrations/0007_trainingitem_description.py new file mode 100644 index 00000000..4a087668 --- /dev/null +++ b/training/migrations/0007_trainingitem_description.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.18 on 2023-02-19 14:02 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('training', '0006_rename_description_trainingitem_name'), + ] + + operations = [ + migrations.AddField( + model_name='trainingitem', + name='description', + field=models.TextField(blank=True), + ), + ] diff --git a/training/models.py b/training/models.py index db36c7ed..9f6fddc8 100644 --- a/training/models.py +++ b/training/models.py @@ -85,7 +85,7 @@ class TrainingItemManager(QueryablePropertiesManager): def search(self, query=None): qs = self.get_queryset() if query is not None: - or_lookup = (Q(description__icontains=query) | Q(display_id=query)) + or_lookup = (Q(name__icontains=query) | Q(description__icontains=query) | Q(display_id=query)) qs = qs.filter(or_lookup).distinct() # distinct() is often necessary with Q lookups return qs @@ -94,16 +94,13 @@ class TrainingItemManager(QueryablePropertiesManager): class TrainingItem(models.Model): reference_number = models.IntegerField() category = models.ForeignKey('TrainingCategory', related_name='items', on_delete=models.CASCADE) - description = models.CharField(max_length=50) + name = models.CharField(max_length=50) + description = models.TextField(blank=True) active = models.BooleanField(default=True) prerequisites = models.ManyToManyField('self', symmetrical=False, blank=True) objects = TrainingItemManager() - @property - def name(self): - return str(self) - @queryable_property def display_id(self): return f"{self.category.reference_number}.{self.reference_number}" @@ -121,7 +118,7 @@ class TrainingItem(models.Model): return models.Q() def __str__(self): - name = f"{self.display_id} {self.description}" + name = f"{self.display_id} {self.name}" if not self.active: name += " (inactive)" return name @@ -149,7 +146,7 @@ class TrainingItemQualificationManager(QueryablePropertiesManager): def search(self, query=None): qs = self.get_queryset().select_related('item', 'supervisor', 'item__category') if query is not None: - or_lookup = (Q(item__description__icontains=query) | Q(supervisor__first_name__icontains=query) | Q(supervisor__last_name__icontains=query) | Q(item__category__name__icontains=query) | Q(item__display_id=query)) + or_lookup = (Q(item__name__icontains=query) | Q(supervisor__first_name__icontains=query) | Q(supervisor__last_name__icontains=query) | Q(item__category__name__icontains=query) | Q(item__display_id=query)) try: or_lookup = Q(item__category__reference_number=int(query)) | or_lookup diff --git a/training/templates/item_list.html b/training/templates/item_list.html index 556c550b..550efdfa 100644 --- a/training/templates/item_list.html +++ b/training/templates/item_list.html @@ -1,6 +1,11 @@ {% extends 'base_training.html' %} +{% load button from filters %} + {% block content %} +
+{% button 'print' 'item_list_export' %} +
{% for category in categories %}
@@ -13,7 +18,8 @@
{% for item in category.items.all %} -
  • {{ item }} +
  • {{ item }} Qualified Users +
    {{ item.description }} {% if item.prerequisites.exists %}

    Passed Out Prerequisites:

    @@ -24,7 +30,6 @@
    {% endif %} - Qualified Users
  • {% endfor %}
    diff --git a/training/templates/item_list.xml b/training/templates/item_list.xml new file mode 100644 index 00000000..576eaed1 --- /dev/null +++ b/training/templates/item_list.xml @@ -0,0 +1,25 @@ +{% extends 'base_print.xml' %} + +{% block content %} +

    TEC Training Item List

    + +{% for category in categories %} +

    {{category}}

    + + {% for item in category.items.all %} +

    {{ item }}

    + + {{ item.description }} + {% if item.prerequisites.exists %} +

    Prerequisites:

    +
      + {% for p in item.prerequisites.all %} +
    • {{p}}
    • + {% endfor %} +
    + {% endif %} + + {% endfor %} +{% endfor %} + +{% endblock %} diff --git a/training/urls.py b/training/urls.py index de0dd2e6..55ab7523 100644 --- a/training/urls.py +++ b/training/urls.py @@ -8,6 +8,7 @@ from versioning.views import VersionHistory urlpatterns = [ path('items/', login_required(views.ItemList.as_view()), name='item_list'), + path('items/export/', login_required(views.ItemListExport.as_view()), name='item_list_export'), path('item//qualified_users/', login_required(views.ItemQualifications.as_view()), name='item_qualification'), path('trainee/list/', login_required(views.TraineeList.as_view()), name='trainee_list'), diff --git a/training/views.py b/training/views.py index 50d1c4a6..e9d95d9d 100644 --- a/training/views.py +++ b/training/views.py @@ -7,7 +7,7 @@ from django.db import transaction from django.db.models import Q, Count from django.db.utils import IntegrityError -from PyRIGS.views import is_ajax, ModalURLMixin, get_related +from PyRIGS.views import is_ajax, ModalURLMixin, get_related, PrintListView from training import models, forms from users import views from reversion.views import RevisionMixin @@ -24,6 +24,17 @@ class ItemList(generic.ListView): return context +class ItemListExport(PrintListView): + model = models.TrainingItem + template_name = 'item_list.xml' + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context['filename'] = "TrainingItemList.pdf" + context["categories"] = models.TrainingCategory.objects.all() + return context + + class TraineeDetail(views.ProfileDetail): template_name = "trainee_detail.html" model = models.Trainee