From 1bd5eecd548446c2ba1eb5420316a98d3e65695e Mon Sep 17 00:00:00 2001 From: Adarnof Date: Wed, 28 Feb 2018 13:16:54 -0500 Subject: [PATCH] Correct old template URLs. Remove redundant name from fatlink. Remove optimer app dependency. And other general cleanup. Thanks @TargetZ3R0 --- allianceauth/fleetactivitytracking/forms.py | 8 +++--- .../migrations/0001_initial.py | 8 +++--- .../migrations/0005_remove_fat_name.py | 22 +++++++++++++++ allianceauth/fleetactivitytracking/models.py | 5 ++-- .../characternotexisting.html | 2 +- .../fatlinkpersonalmonthlystatisticsview.html | 16 +++++------ .../fleetactivitytracking/fatlinkview.html | 8 +++--- allianceauth/fleetactivitytracking/urls.py | 8 ++---- allianceauth/fleetactivitytracking/views.py | 27 +++++++------------ 9 files changed, 53 insertions(+), 51 deletions(-) create mode 100644 allianceauth/fleetactivitytracking/migrations/0005_remove_fat_name.py diff --git a/allianceauth/fleetactivitytracking/forms.py b/allianceauth/fleetactivitytracking/forms.py index 7e322a8b..8399f932 100644 --- a/allianceauth/fleetactivitytracking/forms.py +++ b/allianceauth/fleetactivitytracking/forms.py @@ -2,11 +2,9 @@ from django import forms from django.utils.translation import ugettext_lazy as _ -from allianceauth.optimer.models import OpTimer - class FatlinkForm(forms.Form): - fatname = forms.CharField(label=_('Name of fat-link'), required=True) + fleet = forms.CharField(label=_("Fleet Name"), max_length=50) duration = forms.IntegerField(label=_("Duration of fat-link"), required=True, initial=30, min_value=1, - max_value=2147483647) - fleet = forms.ModelChoiceField(label=_("Fleet"), queryset=OpTimer.objects.all().order_by('operation_name')) + max_value=2147483647, help_text=_('minutes')) + diff --git a/allianceauth/fleetactivitytracking/migrations/0001_initial.py b/allianceauth/fleetactivitytracking/migrations/0001_initial.py index b462ab6b..5a4e1be1 100644 --- a/allianceauth/fleetactivitytracking/migrations/0001_initial.py +++ b/allianceauth/fleetactivitytracking/migrations/0001_initial.py @@ -2,12 +2,10 @@ # Generated by Django 1.10.1 on 2016-09-05 21:39 from __future__ import unicode_literals -import datetime - import django.db.models.deletion from django.conf import settings from django.db import migrations, models -from django.utils.timezone import utc +from django.utils import timezone import allianceauth.fleetactivitytracking.models @@ -36,9 +34,9 @@ class Migration(migrations.Migration): name='Fatlink', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('fatdatetime', models.DateTimeField(default=datetime.datetime(2016, 9, 5, 21, 39, 17, 307954, tzinfo=utc))), + ('fatdatetime', models.DateTimeField(default=timezone.now)), ('duration', models.PositiveIntegerField()), - ('fleet', models.CharField(default=b'', max_length=254)), + ('fleet', models.CharField(default='', max_length=254)), ('name', models.CharField(max_length=254)), ('hash', models.CharField(max_length=254, unique=True)), ('creator', models.ForeignKey(on_delete=models.SET( diff --git a/allianceauth/fleetactivitytracking/migrations/0005_remove_fat_name.py b/allianceauth/fleetactivitytracking/migrations/0005_remove_fat_name.py new file mode 100644 index 00000000..27caa8e8 --- /dev/null +++ b/allianceauth/fleetactivitytracking/migrations/0005_remove_fat_name.py @@ -0,0 +1,22 @@ +# Generated by Django 2.0.2 on 2018-02-28 18:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('fleetactivitytracking', '0004_make_strings_more_stringy'), + ] + + operations = [ + migrations.RemoveField( + model_name='fatlink', + name='name', + ), + migrations.AlterField( + model_name='fatlink', + name='fleet', + field=models.CharField(max_length=254), + ), + ] diff --git a/allianceauth/fleetactivitytracking/models.py b/allianceauth/fleetactivitytracking/models.py index 8bb248b4..49f7da3f 100644 --- a/allianceauth/fleetactivitytracking/models.py +++ b/allianceauth/fleetactivitytracking/models.py @@ -12,13 +12,12 @@ def get_sentinel_user(): class Fatlink(models.Model): fatdatetime = models.DateTimeField(default=timezone.now) duration = models.PositiveIntegerField() - fleet = models.CharField(max_length=254, default="") - name = models.CharField(max_length=254) + fleet = models.CharField(max_length=254) hash = models.CharField(max_length=254, unique=True) creator = models.ForeignKey(User, on_delete=models.SET(get_sentinel_user)) def __str__(self): - return self.name + return self.fleet class Fat(models.Model): diff --git a/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html b/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html index e825de51..e6e88e79 100644 --- a/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html +++ b/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html @@ -16,7 +16,7 @@
- {% trans "This character is not part of any registered API-key. You must go to" %} {% trans "API key management and add an API with the character on before being able to click fleet attendance links." %} + {% trans "This character is not associated with an auth account." %} {% trans "Add it here" %} {% trans "before attempting to click fleet attendance links." %}
diff --git a/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html b/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html index e527dc6b..394cd261 100644 --- a/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html +++ b/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html @@ -10,12 +10,12 @@

{% blocktrans %}Participation data statistics for {{ month }}, {{ year }}{% endblocktrans %} {% if char_id %} {% endif %}

-

{% blocktrans %}{{ user }} has collected {{ n_fats }} links this month.{% endblocktrans %}

+

{% blocktrans %}{{ user }} has collected {{ n_fats }} link{{ n_fats|pluralize }} this month.{% endblocktrans %}

@@ -29,26 +29,24 @@ {% endfor %}
{% trans "Ship" %}
{% if created_fats %} -

{% blocktrans %}{{ user }} has created {{ n_created_fats }} links this month.{% endblocktrans %}

+

{% blocktrans %}{{ user }} has created {{ n_created_fats }} link{{ n_created_fats|pluralize }} this month.{% endblocktrans %}

{% if created_fats %} - - + {% for link in created_fats %} - + -
{% trans "Name" %}{% trans "Creator" %} {% trans "Fleet" %}{% trans "Creator" %} {% trans "Eve Time" %} {% trans "Duration" %} {% trans "Edit" %}
{{ link.name }}{{ link.fleet }} {{ link.creator.username }}{{ link.fleet }} {{ link.fatdatetime }} {{ link.duration }} - + diff --git a/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html b/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html index 47954d65..42d04482 100644 --- a/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html +++ b/allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html @@ -24,7 +24,7 @@ {% if fats %} - + @@ -32,7 +32,7 @@ {% for fat in fats %} - + {% if fat.station != "No Station" %} @@ -79,13 +79,13 @@ {% for link in fatlinks %} - + diff --git a/allianceauth/fleetactivitytracking/urls.py b/allianceauth/fleetactivitytracking/urls.py index 0d7984fb..84ad961b 100644 --- a/allianceauth/fleetactivitytracking/urls.py +++ b/allianceauth/fleetactivitytracking/urls.py @@ -25,10 +25,6 @@ urlpatterns = [ views.fatlink_monthly_personal_statistics_view, name='user_statistics_month'), url(r'^create/$', views.create_fatlink_view, name='create'), - url(r'^modify/$', views.modify_fatlink_view, name='modify'), - url(r'^modify/(?P[a-zA-Z0-9_-]+)/([a-z0-9_-]+)$', - views.modify_fatlink_view), - url(r'^link/$', views.fatlink_view, name='click_fatlink'), - url(r'^link/(?P[a-zA-Z0-9]+)/(?P[a-z0-9_-]+)/$', - views.click_fatlink_view), + url(r'^modify/(?P[a-zA-Z0-9_-]+)/$', views.modify_fatlink_view, name='modify'), + url(r'^link/(?P[a-zA-Z0-9]+)/$', views.click_fatlink_view, name='click'), ] diff --git a/allianceauth/fleetactivitytracking/views.py b/allianceauth/fleetactivitytracking/views.py index 81406c3d..261f6964 100644 --- a/allianceauth/fleetactivitytracking/views.py +++ b/allianceauth/fleetactivitytracking/views.py @@ -1,8 +1,6 @@ import datetime import logging import os -import random -import string from allianceauth.authentication.models import CharacterOwnership from django.contrib import messages @@ -17,7 +15,7 @@ from esi.decorators import token_required from allianceauth.eveonline.providers import provider from .forms import FatlinkForm from .models import Fatlink, Fat -from slugify import slugify +from django.utils.crypto import get_random_string from allianceauth.eveonline.models import EveAllianceInfo from allianceauth.eveonline.models import EveCharacter @@ -181,7 +179,7 @@ def fatlink_personal_statistics_view(request, year=datetime.date.today().year): personal_fats = Fat.objects.select_related('fatlink').filter(user=user).order_by('id') - monthlystats = [0 for month in range(1, 13)] + monthlystats = [0 for i in range(1, 13)] for fat in personal_fats: fatdate = fat.fatlink.fatdatetime @@ -236,8 +234,8 @@ def fatlink_monthly_personal_statistics_view(request, year, month, char_id=None) @login_required @token_required( scopes=['esi-location.read_location.v1', 'esi-location.read_ship_type.v1', 'esi-universe.read_structures.v1']) -def click_fatlink_view(request, token, hash, fatname): - fatlink = get_object_or_404(Fatlink, hash=hash, name=fatname) +def click_fatlink_view(request, token, fat_hash=None): + fatlink = get_object_or_404(Fatlink, hash=fat_hash) if (timezone.now() - fatlink.fatdatetime) < datetime.timedelta(seconds=(fatlink.duration * 60)): @@ -298,12 +296,11 @@ def create_fatlink_view(request): logger.debug("Submitting fleetactivitytracking by user %s" % request.user) if form.is_valid(): fatlink = Fatlink() - fatlink.name = slugify(form.cleaned_data["fatname"]) fatlink.fleet = form.cleaned_data["fleet"] fatlink.duration = form.cleaned_data["duration"] fatlink.fatdatetime = timezone.now() fatlink.creator = request.user - fatlink.hash = ''.join(random.choice(string.ascii_letters + string.digits) for i in range(10)) + fatlink.hash = get_random_string(length=15) try: fatlink.full_clean() fatlink.save() @@ -331,25 +328,19 @@ def create_fatlink_view(request): @login_required @permission_required('auth.fleetactivitytracking') -def modify_fatlink_view(request, hash=""): +def modify_fatlink_view(request, fat_hash=None): logger.debug("modify_fatlink_view called by user %s" % request.user) - if not hash: - return redirect('fatlink:view') - - try: - fatlink = Fatlink.objects.get(hash=hash) - except Fatlink.DoesNotExist: - raise Http404 + fatlink = get_object_or_404(Fatlink, hash=fat_hash) if request.GET.get('removechar', None): character_id = request.GET.get('removechar') character = EveCharacter.objects.get(character_id=character_id) - logger.debug("Removing character %s from fleetactivitytracking %s" % (character.character_name, fatlink.name)) + logger.debug("Removing character %s from fleetactivitytracking %s" % (character.character_name, fatlink)) Fat.objects.filter(fatlink=fatlink).filter(character=character).delete() if request.GET.get('deletefat', None): - logger.debug("Removing fleetactivitytracking %s" % fatlink.name) + logger.debug("Removing fleetactivitytracking %s" % fatlink) fatlink.delete() return redirect('fatlink:view')
{% trans "fatname" %}{% trans "Fleet" %} {% trans "Character" %} {% trans "System" %} {% trans "Ship" %}
{{ fat.fatlink.name }}{{ fat.fatlink.fleet }} {{ fat.character.character_name }}{% blocktrans %}Docked in {% endblocktrans %}{{ fat.system }}
{{ link.name }}{{ link.fleet }} {{ link.creator.username }} {{ link.fleet }} {{ link.fatdatetime }} {{ link.duration }} - +