diff --git a/allianceauth/fleetactivitytracking/views.py b/allianceauth/fleetactivitytracking/views.py index 92dbed38..81406c3d 100644 --- a/allianceauth/fleetactivitytracking/views.py +++ b/allianceauth/fleetactivitytracking/views.py @@ -37,8 +37,12 @@ class CorpStat(object): self.n_fats = Fat.objects.filter(character__corporation_id=self.corp.corporation_id).filter( fatlink__fatdatetime__gte=start_of_month).filter(fatlink__fatdatetime__lte=start_of_next_month).count() + @property def avg_fat(self): - return "%.2f" % (float(self.n_fats) / float(self.corp.member_count)) + try: + return "%.2f" % (float(self.n_fats) / float(self.corp.member_count)) + except ZeroDivisionError: + return "%.2f" % 0 class MemberStat(object): @@ -55,8 +59,12 @@ class MemberStat(object): self.n_fats = Fat.objects.filter(user_id=member.pk).filter( fatlink__fatdatetime__gte=start_of_month).filter(fatlink__fatdatetime__lte=start_of_next_month).count() + @property def avg_fat(self): - return "%.2f" % (float(self.n_fats) / float(self.n_chars)) + try: + return "%.2f" % (float(self.n_fats) / float(self.n_chars)) + except ZeroDivisionError: + return "%.2f" % 0 def first_day_of_next_month(year, month): @@ -117,7 +125,7 @@ def fatlink_statistics_corp_view(request, corpid, year=None, month=None): # collect and sort stats stat_list = [fat_stats[x] for x in fat_stats] stat_list.sort(key=lambda stat: stat.mainchar.character_name) - stat_list.sort(key=lambda stat: (stat.n_fats, stat.n_fats / stat.n_chars), reverse=True) + stat_list.sort(key=lambda stat: (stat.n_fats, stat.avg_fat), reverse=True) context = {'fatStats': stat_list, 'month': start_of_month.strftime("%B"), 'year': year, 'previous_month': start_of_previous_month, 'corpid': corpid} @@ -153,7 +161,7 @@ def fatlink_statistics_view(request, year=datetime.date.today().year, month=date # collect and sort stats stat_list = [fat_stats[x] for x in fat_stats] stat_list.sort(key=lambda stat: stat.corp.corporation_name) - stat_list.sort(key=lambda stat: (stat.n_fats, stat.n_fats / stat.corp.member_count), reverse=True) + stat_list.sort(key=lambda stat: (stat.n_fats, stat.avg_fat), reverse=True) context = {'fatStats': stat_list, 'month': start_of_month.strftime("%B"), 'year': year, 'previous_month': start_of_previous_month} diff --git a/allianceauth/hrapplications/admin.py b/allianceauth/hrapplications/admin.py index e6b80f09..de3cff38 100755 --- a/allianceauth/hrapplications/admin.py +++ b/allianceauth/hrapplications/admin.py @@ -12,7 +12,7 @@ class ChoiceInline(admin.TabularInline): class QuestionAdmin(admin.ModelAdmin): fieldsets = [ - (None, {'fields': ['title', 'help_text']}), + (None, {'fields': ['title', 'help_text', 'multi_select']}), ] inlines = [ChoiceInline] diff --git a/allianceauth/hrapplications/migrations/0006_applicationquestion_multi_select.py b/allianceauth/hrapplications/migrations/0006_applicationquestion_multi_select.py new file mode 100644 index 00000000..28618899 --- /dev/null +++ b/allianceauth/hrapplications/migrations/0006_applicationquestion_multi_select.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2017-10-20 13:51 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('hrapplications', '0005_remove_legacy_models'), + ] + + operations = [ + migrations.AddField( + model_name='applicationquestion', + name='multi_select', + field=models.BooleanField(default=False), + ), + ] diff --git a/allianceauth/hrapplications/models.py b/allianceauth/hrapplications/models.py index a9bf57e8..b5c8f39a 100755 --- a/allianceauth/hrapplications/models.py +++ b/allianceauth/hrapplications/models.py @@ -9,6 +9,7 @@ from allianceauth.eveonline.models import EveCorporationInfo class ApplicationQuestion(models.Model): title = models.CharField(max_length=254, verbose_name='Question') help_text = models.CharField(max_length=254, blank=True, null=True) + multi_select = models.BooleanField(default=False) def __str__(self): return "Question: " + self.title diff --git a/allianceauth/hrapplications/templates/hrapplications/create.html b/allianceauth/hrapplications/templates/hrapplications/create.html index e0770545..1f26562b 100644 --- a/allianceauth/hrapplications/templates/hrapplications/create.html +++ b/allianceauth/hrapplications/templates/hrapplications/create.html @@ -19,7 +19,7 @@