diff --git a/lineups/forms.py b/lineups/forms.py index 07bb9f1..a85f900 100644 --- a/lineups/forms.py +++ b/lineups/forms.py @@ -6,14 +6,13 @@ from django.forms import modelformset_factory, inlineformset_factory, BaseModelF from crispy_forms.helper import FormHelper, Layout class PositioningForm(forms.ModelForm): - available = forms.TextInput() - + availability = None class Meta: model = Positioning widgets = { - 'order': forms.NumberInput(attrs={'class':'w-100'}), + # 'order': forms.NumberInput(attrs={'class':'w-100'}), # 'player': forms.Select(attrs={'class': 'form-control'}), - 'position': forms.Select(attrs={'class': 'w-100'}), + 'position': forms.Select(attrs={'class': 'form-control form-control-sm'}), # 'ordering': forms.NumberInput(attrs={'class':'w-100'}) } exclude = () @@ -22,8 +21,9 @@ PositioningFormSet = modelformset_factory( model=Positioning, form=PositioningForm, # fields=['order', 'position','player'], - min_num=9, - can_order=True + # min_num=9, + extra=0 + ) # class PositioningFormSet(modelformset_factory): diff --git a/lineups/migrations/0005_alter_positioning_position.py b/lineups/migrations/0005_alter_positioning_position.py new file mode 100644 index 0000000..b16f894 --- /dev/null +++ b/lineups/migrations/0005_alter_positioning_position.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.6 on 2021-11-18 23:37 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('lineups', '0004_alter_availability_available'), + ] + + operations = [ + migrations.AlterField( + model_name='positioning', + name='position', + field=models.CharField(choices=[('EH', 'EH'), ('P', 'P'), ('C', 'C'), ('1B', '1B'), ('2B', '2B'), ('3B', '3B'), ('SS', 'SS'), ('LF', 'LF'), ('CF', 'CF'), ('RF', 'RF'), ('DH', 'DH')], default=None, max_length=2, null=True), + ), + ] diff --git a/lineups/models.py b/lineups/models.py index fddcb32..8f2e181 100644 --- a/lineups/models.py +++ b/lineups/models.py @@ -7,6 +7,7 @@ class Positioning(models.Model): player = models.ForeignKey(Player, on_delete=models.CASCADE) event = models.ForeignKey(Event, on_delete=models.CASCADE) positions = [ + ('EH', 'EH'), ('P', 'P'), ('C', 'C'), ('1B', '1B'), @@ -16,8 +17,7 @@ class Positioning(models.Model): ('LF', 'LF'), ('CF', 'CF'), ('RF', 'RF'), - ('DH','DH'), - ('EH','EH') + ('DH','DH') ] position = models.CharField(choices=positions, default=None, max_length=2, null=True) order = models.IntegerField(default=None, null=True) diff --git a/lineups/templates/lineups/lineup.html b/lineups/templates/lineups/lineup.html index c756a72..de72e8e 100644 --- a/lineups/templates/lineups/lineup.html +++ b/lineups/templates/lineups/lineup.html @@ -6,12 +6,13 @@ {{ event.start|date:"l, F j, Y g:i A" }}
{{ event.venue.name }}
+
- - -
-
Lineup
+
+
Lineup
+ {% csrf_token %} + {{ formset.management_form }} @@ -20,68 +21,83 @@ - {#{% for player in positionings_players_initial|dictsort:"positioning.order" %}#} - {% csrf_token %} - {{ formset_starting.management_form }} - {% for form in formset_starting %} - - {# #} - {# #} - {# #} - - - - + {% for form in formset %} + {% if form.instance.order or form.instance.position == "P" %} + + {{ form.id.as_hidden }} + {{ form.event.as_hidden }} + {{ form.order.as_hidden }} + {{ form.player.as_hidden }} + + + + {# #} + {% endif %} {% endfor %}
#
{{ form.order }}{{ form.player }}{{ form.position }}{% if form.instance.order %}{{ form.instance.order }}{% endif %}{{ form.instance.player.first_name }} {{ form.instance.player.last_name }}{{ form.instance.position }}
{% if form.order.value %}{{ form.order.value }}{% endif %}{{ form.instance.player.first_name }} {{ form.instance.player.last_name }} - # {{ form.instance.player.jersey_number }}{{ form.position }}{{ form.instance.position }}
- {# {% endfor %}#} - -
+
-
-
Players
+
Players
- + + - - + - {% for form in formset_bench %} - {% if not player.positioning.order and not player.positioning.position == "P" %} + {% for form in formset|dictsortreversed:"availability.available"%} + {% if not form.instance.order and not form.instance.position == "P" %} + + {{ form.id.as_hidden }} + {{ form.event.as_hidden }} + {{ form.order.as_hidden}} + {{ form.player.as_hidden }} + - - - + + + {# #} {% endif %} {% endfor %}
Ava. Name#StatlinePos
- {% if pos.player.availability.available == 2 %} - Yes - {% elif pos.player.availability.available == 1%} - Maybe - {% elif pos.player.availability.available == 0%} - No - {% elif pos.player.availability.available == -1%} - Unknown + + {% if form.availability.available == 2 %} + Yes + {% elif form.availability.available == 1%} + Maybe + {% elif form.availability.available == 0%} + No + {% elif form.availability.available == -1%} + Unknown {% endif %} {{ form.instance.player.first_name }} {{ form.instance.player.last_name }}{{ form.instance.player.jersey_number }} {{ form.instance.player.statline}}{{ form.instance.player.first_name }} {{ form.instance.player.last_name }} # {{ form.instance.player.jersey_number }}{{ form.position }} {{ form.instance.player.statline}}
-
+
+