Skip to content

Commit

Permalink
Adding mgmt for ranks
Browse files Browse the repository at this point in the history
  • Loading branch information
gm3dmo committed May 27, 2024
1 parent 4b8b7d8 commit 14f71e1
Show file tree
Hide file tree
Showing 6 changed files with 130 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Generated by Django 5.0.6 on 2024-05-17 10:59

import cmp.models
import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("cmp", "0001_initial"),
]

operations = [
migrations.AddField(
model_name="soldierdeath",
name="image",
field=models.ImageField(
blank=True, null=True, upload_to=cmp.models.get_upload_to
),
),
migrations.AlterField(
model_name="company",
name="notes",
field=models.TextField(default=""),
),
migrations.AlterField(
model_name="decoration",
name="notes",
field=models.TextField(default=""),
),
migrations.AlterField(
model_name="powcamp",
name="notes",
field=models.TextField(default=""),
),
migrations.AlterField(
model_name="soldier",
name="notes",
field=models.TextField(default=""),
),
migrations.AlterField(
model_name="soldierdecoration",
name="notes",
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name="soldierimprisonment",
name="notes",
field=models.TextField(default=""),
),
migrations.CreateModel(
name="ProvostAppointment",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("date", models.DateField(blank=True, null=True)),
("notes", models.TextField(default="")),
(
"rank",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="provostappointments",
to="cmp.rank",
),
),
(
"soldier",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to="cmp.soldier"
),
),
],
),
]
6 changes: 6 additions & 0 deletions cmp/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,18 @@
# create an index page for mgmt urls to link to /mgmt/countries
path('mgmt/', views.mgmt_index, name='mgmt-index'),

# Countries
path("mgmt/countries", views.edit_countries, name="edit-countries"),
path("mgmt/countries/<int:country_id>/", views.detail_countries, name="countries"),
path("mgmt/countries/edit/<int:country_id>", views.edit_countries, name="edit-countries"),
path('mgmt/countries/search/', views.search_countries, name='search-countries'),

# Ranks
path("mgmt/ranks", views.edit_ranks, name="edit-ranks"),
path("mgmt/ranks/<int:rank_id>/", views.detail_ranks, name="ranks"),
path("mgmt/ranks/edit/<int:rank_id>", views.edit_ranks, name="edit-ranks"),
path('mgmt/ranks/search/', views.search_ranks, name='search-ranks'),


path("mgmt/pow-camps", views.edit_powcamps, name="powcamps"),

Expand Down
20 changes: 18 additions & 2 deletions cmp/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,15 @@ def edit_soldiers(request, soldier_id):
return render(request, "cmp/edit-soldiers.html", {"form": form, 'death_form': death_form})


def search_ranks(request):
query = request.GET.get('q')
if query:
ranks = Rank.objects.filter(name__icontains=query)
else:
ranks = Rank.objects.all()
return render(request, 'cmp/search-ranks.html', {'ranks': ranks})


def search_soldiers(request):
query = request.GET.get('q')
if query:
Expand All @@ -355,6 +364,11 @@ def search_countries(request):
return render(request, 'cmp/search-countries.html', {'countries': countries})


def detail_ranks(request, rank_id):
# get or return a 404
rank = get_object_or_404(Rank, pk=rank_id)
return render(request, "cmp/detail-ranks.html", {"rank": rank})


def detail_countries(request, country_id):
# get or return a 404
Expand All @@ -368,10 +382,12 @@ def detail_soldiers(request, soldier_id):
return render(request, "cmp/detail-soldiers.html", {"soldier": soldier})



def edit_ranks(request):
def edit_ranks(request, rank_id):
post = request.POST
form = editRankForm(post or None)
if rank_id:
rank= Rank.objects.get(id=rank_id)
form = editRankForm(post or None, instance=rank)
if post and form.is_valid():
form.save()
return HttpResponse("Rank Added")
Expand Down
1 change: 1 addition & 0 deletions templates/cmp/edit-ranks.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
{% block title %}Rank Form{% endblock %}
{% block content %}

<h1> Edit Rank</h1>
<div>
<form method="POST">
{% csrf_token %}
Expand Down
5 changes: 2 additions & 3 deletions templates/cmp/mgmt-index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,13 @@
<h1>Management Index</h1>
<ul>
<h3>Broken</h3>
<li><a href="/mgmt/countries">Countries</a></li>
<li><a href="/mgmt/ranks">Ranks</a></li>
<li><a href="/mgmt/pow-camps">POW Camps</a></li>
<li><a href="/mgmt/cemeteries">Cemeteries</a></li>
<br>
<h3>Working</h3>
<li><a href="/mgmt/soldiers/search/">Soldiers</a></li>
<li><a href="/mgmt/countries/search">Countries</a></li>
<li><a href="/mgmt/countries/search/">Countries</a></li>
<li><a href="/mgmt/ranks/search/">Ranks</a></li>
</ul>

{% endblock %}
22 changes: 22 additions & 0 deletions templates/cmp/search-ranks.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{% extends "base.html" %}
{% load static crispy_forms_tags %}
{% block title %}Ranks{% endblock %}
{% block content %}

<h1>Search Ranks</h1>

<form method="get">
<input type="text" name="q" placeholder="Search ranks to edit">
<input type="submit" value="Search">
</form>


{% for rank in ranks%}
<p>
<a href="{% url 'edit-ranks' rank.id %}">{{ rank.name }}</a>
</p>
{% endfor %}



{% endblock %}

0 comments on commit 14f71e1

Please sign in to comment.