Changing field to for routine, place and club classes.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
bc1eb90c6e
commit
7713feca0d
|
@ -58,10 +58,11 @@
|
|||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4><i class="fal fa-calendar-alt"></i> Next Events</h4>
|
||||
<h4><i class="fal fa-calendar-alt text-warning"></i> Next Events</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{% if event_list %}
|
||||
|
@ -80,10 +81,31 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="col-md-3">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4><i class="fal fa-highlighter"></i> Last updated gymnasts</h4>
|
||||
<h4><i class="fal fa-exclamation-triangle text-danger"></i> Updated needed</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{% if waiting_update_gymnast %}
|
||||
<table class="table tablesorter table-striped table-condensed" data-sort="table" id="gymnast_table">
|
||||
{% for gymnast in waiting_update_gymnast %}
|
||||
<tr>
|
||||
<td class="text-left"><a href="{% url 'gymnast_details' gymnast.id %}">{{ gymnast }}</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% else %}
|
||||
No update needed.
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4><i class="fal fa-highlighter text-success"></i> Last updated gymnasts</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{% if last_updated_gymnast %}
|
||||
|
@ -101,10 +123,10 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="col-md-3">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4><i class="fal fa-birthday-cake"></i> Next birthday</h4>
|
||||
<h4><i class="fal fa-birthday-cake text-info"></i> Next birthday</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{% if birthday_list %}
|
||||
|
@ -123,6 +145,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from datetime import datetime
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from django.db.models import Q
|
||||
from django.shortcuts import render
|
||||
|
@ -39,7 +39,7 @@ def login(request):
|
|||
request.session["is_sidebar_minified"] = profile.is_sidebar_minified
|
||||
except Exception:
|
||||
pass
|
||||
request.session["clubid"] = request.POST.get("clubid", None)
|
||||
# request.session["clubid"] = request.POST.get("clubid", None)
|
||||
return HttpResponseRedirect("/")
|
||||
|
||||
context = {"message": "Account disabled."}
|
||||
|
@ -89,6 +89,15 @@ def home(request):
|
|||
| Q(known_skills__created_at__gt=request.user.last_login)
|
||||
).distinct()
|
||||
|
||||
limit_date = timezone.now() - timedelta(days=14)
|
||||
waiting_update_gymnast = Gymnast.objects.filter(
|
||||
Q(mindstate__created_at__gt=limit_date)
|
||||
| Q(points__created_at__gt=limit_date)
|
||||
| Q(chronos__created_at__gt=limit_date)
|
||||
| Q(accident__created_at__gt=limit_date)
|
||||
| Q(known_skills__created_at__gt=limit_date)
|
||||
).distinct()
|
||||
|
||||
nb_active_gymnast = Gymnast.objects.filter(is_active=True).count()
|
||||
nb_event = Event.objects.all().count()
|
||||
nb_skill = Skill.objects.all().count()
|
||||
|
@ -117,6 +126,7 @@ def home(request):
|
|||
context = {
|
||||
"event_list": event_list,
|
||||
"last_updated_gymnast": last_updated_gymnast,
|
||||
"waiting_update_gymnast": waiting_update_gymnast,
|
||||
"nb_active_gymnast": nb_active_gymnast,
|
||||
"nb_event": nb_event,
|
||||
"nb_skill": nb_skill,
|
||||
|
|
|
@ -13,9 +13,9 @@ class CountryAdmin(admin.ModelAdmin):
|
|||
class ClubAdmin(admin.ModelAdmin):
|
||||
model = Club
|
||||
|
||||
list_display = ("name", "acronym", "place", "active")
|
||||
list_display = ("name", "acronym", "place", "is_active")
|
||||
ordering = ("name",)
|
||||
list_filter = ("active",)
|
||||
list_filter = ("is_active",)
|
||||
search_fields = ("name",)
|
||||
autocomplete_fields = ("place",)
|
||||
|
||||
|
@ -23,9 +23,9 @@ class ClubAdmin(admin.ModelAdmin):
|
|||
class PlaceAdmin(admin.ModelAdmin):
|
||||
model = Place
|
||||
|
||||
list_display = ("name", "address", "postal", "city", "active")
|
||||
list_display = ("name", "address", "postal", "city", "is_active")
|
||||
ordering = ("name",)
|
||||
list_filter = ("active",)
|
||||
list_filter = ("is_active",)
|
||||
search_fields = ("name", "address", "postal", "city")
|
||||
autocomplete_fields = ("country",)
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ class PlaceForm(forms.ModelForm):
|
|||
"country",
|
||||
# "nbkm",
|
||||
# "timing",
|
||||
"active",
|
||||
"is_active",
|
||||
)
|
||||
widgets = {
|
||||
"name": forms.TextInput(
|
||||
|
@ -37,7 +37,7 @@ class PlaceForm(forms.ModelForm):
|
|||
# "timing": forms.TextInput(
|
||||
# attrs={"class": "form-control", "placeholder": "Travel time"}
|
||||
# ),
|
||||
"active": forms.CheckboxInput(
|
||||
"is_active": forms.CheckboxInput(
|
||||
attrs={"class": "form-control form-check-input ml-0 mt-0"}
|
||||
),
|
||||
}
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 3.2.8 on 2022-01-09 10:01
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('location', '0002_alter_club_acronym'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='club',
|
||||
old_name='active',
|
||||
new_name='is_active',
|
||||
),
|
||||
migrations.RenameField(
|
||||
model_name='place',
|
||||
old_name='active',
|
||||
new_name='is_active',
|
||||
),
|
||||
]
|
|
@ -43,7 +43,7 @@ class Place(models.Model):
|
|||
)
|
||||
# nbkm = models.PositiveIntegerField(blank=True, null=True, help_text="in km")
|
||||
# timing = models.PositiveIntegerField(blank=True, null=True, help_text="in minutes")
|
||||
active = models.BooleanField(default=1, verbose_name="Active")
|
||||
is_active = models.BooleanField(default=1, verbose_name="Active")
|
||||
|
||||
def __str__(self):
|
||||
return "%s (%s)" % (self.name, self.city if self.city else "?")
|
||||
|
@ -68,7 +68,7 @@ class Club(models.Model):
|
|||
)
|
||||
name = models.CharField(max_length=255, verbose_name="Name")
|
||||
acronym = models.CharField(max_length=6, verbose_name="Acronym")
|
||||
active = models.BooleanField(default=1, verbose_name="Active")
|
||||
is_active = models.BooleanField(default=1, verbose_name="Active")
|
||||
|
||||
def __str__(self):
|
||||
return "%s (%s)" % (self.name, self.place.city if self.place.city else "?")
|
||||
|
|
|
@ -101,21 +101,32 @@ class RoutineAdmin(admin.ModelAdmin):
|
|||
"rank",
|
||||
"educatives",
|
||||
"prerequisites",
|
||||
"age_boy",
|
||||
"age_girl",
|
||||
"active",
|
||||
"age_boy_with_help",
|
||||
"age_boy_without_help",
|
||||
"age_boy_chained",
|
||||
"age_boy_masterised",
|
||||
"age_girl_with_help",
|
||||
"age_girl_without_help",
|
||||
"age_girl_chained",
|
||||
"age_girl_masterised",
|
||||
"is_active",
|
||||
"is_competitive",
|
||||
)
|
||||
list_display = (
|
||||
"long_label",
|
||||
"short_label",
|
||||
"is_competitive",
|
||||
"active",
|
||||
"is_active",
|
||||
"level",
|
||||
"rank",
|
||||
"difficulty",
|
||||
)
|
||||
list_filter = ("level", "difficulty", "is_competitive", "active")
|
||||
list_filter = (
|
||||
('level', DropdownFilter),
|
||||
"difficulty",
|
||||
"is_competitive",
|
||||
"is_active"
|
||||
)
|
||||
search_fields = (
|
||||
"long_label",
|
||||
"short_label",
|
||||
|
|
|
@ -11,7 +11,7 @@ class RoutineForm(forms.ModelForm):
|
|||
"short_label",
|
||||
"difficulty",
|
||||
"level",
|
||||
"active",
|
||||
"is_active",
|
||||
"informations",
|
||||
)
|
||||
widgets = {
|
||||
|
@ -29,5 +29,5 @@ class RoutineForm(forms.ModelForm):
|
|||
),
|
||||
"difficulty": forms.HiddenInput(),
|
||||
"level": forms.HiddenInput(),
|
||||
"active": forms.HiddenInput(),
|
||||
"is_active": forms.HiddenInput(),
|
||||
}
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
# Generated by Django 3.2.8 on 2022-01-09 10:01
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('objective', '0009_auto_20220108_1956'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='routine',
|
||||
name='active',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='routine',
|
||||
name='is_active',
|
||||
field=models.BooleanField(default=True),
|
||||
),
|
||||
]
|
|
@ -224,10 +224,10 @@ class Routine(Educative):
|
|||
verbose_name = "Routine"
|
||||
verbose_name_plural = "Routines"
|
||||
|
||||
active = models.BooleanField()
|
||||
jumps = models.ManyToManyField(
|
||||
Skill, through="RoutineSkill", verbose_name="routine"
|
||||
)
|
||||
is_active = models.BooleanField(default=True)
|
||||
is_competitive = models.BooleanField(default=False)
|
||||
|
||||
def __str__(self):
|
||||
|
|
Loading…
Reference in New Issue