Auswahl wird auf aktivierte Accounts mit aktiver Mitgliedschaft beschränkt.

This commit is contained in:
2017-03-13 09:33:27 +01:00
parent 942aadfeb6
commit 60bc7fcf7b
2 changed files with 23 additions and 15 deletions

View File

@@ -93,7 +93,10 @@ class Hanchan(models.Model):
)
player1 = models.ForeignKey(
settings.AUTH_USER_MODEL, related_name='user_hanchan+',
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
limit_choices_to={'is_active': True, 'membership': True},
related_name='user_hanchan+',
verbose_name=_('Player 1'))
player1_input_score = models.IntegerField(_('Score'))
player1_game_score = models.PositiveIntegerField(
@@ -110,7 +113,10 @@ class Hanchan(models.Model):
_('Comment'), blank=True, max_length=255, editable=False)
player2 = models.ForeignKey(
settings.AUTH_USER_MODEL, related_name='user_hanchan+',
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
limit_choices_to={'is_active': True, 'membership': True},
related_name='user_hanchan+',
verbose_name=_('Player 2'))
player2_input_score = models.IntegerField(_('Score'))
player2_game_score = models.PositiveIntegerField(
@@ -127,7 +133,10 @@ class Hanchan(models.Model):
_('Comment'), blank=True, max_length=255, editable=False)
player3 = models.ForeignKey(
settings.AUTH_USER_MODEL, related_name='user_hanchan+',
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
limit_choices_to={'is_active': True, 'membership': True},
related_name='user_hanchan+',
verbose_name=_('Player 3'))
player3_input_score = models.IntegerField(_('Score'))
player3_game_score = models.PositiveIntegerField(
@@ -144,7 +153,10 @@ class Hanchan(models.Model):
_('Comment'), blank=True, max_length=255, editable=False)
player4 = models.ForeignKey(
settings.AUTH_USER_MODEL, related_name='user_hanchan+',
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
limit_choices_to={'is_active': True, 'membership': True},
related_name='user_hanchan+',
verbose_name=_('Player 4'))
player4_input_score = models.IntegerField(_('Score'))
player4_game_score = models.PositiveIntegerField(
@@ -587,21 +599,16 @@ class SeasonRanking(models.Model):
def update_ranking(sender, instance, **kwargs):
for user in (
instance.player1, instance.player2, instance.player3, instance.player4):
for user in (instance.player1, instance.player2, instance.player3, instance.player4):
logger.debug("marking %s's kyu/dan for recalculation", user)
set_dirty(user=user.id)
logger.debug(
"marking event %s for recalculation.", instance.event)
set_dirty(event=instance.event_id, user=user.id)
if instance.season:
logger.debug(
"marking %s's ladder %i season for recalculation.", user,
instance.season)
logger.debug("marking %s's ladder %i season for recalculation.", user, instance.season)
set_dirty(user=user.id, season=instance.season)
logger.debug("marking season %d for recalculation.", instance.season)
set_dirty(season=instance.season)
logger.debug("marking event %s for recalculation.", instance.event)
set_dirty(event=instance.event_id, user=user.id)
models.signals.pre_delete.connect(update_ranking, sender=Hanchan)
models.signals.post_save.connect(update_ranking, sender=Hanchan)