Auswahl wird auf aktivierte Accounts mit aktiver Mitgliedschaft beschränkt.
This commit is contained in:
@@ -93,7 +93,10 @@ class Hanchan(models.Model):
|
|||||||
)
|
)
|
||||||
|
|
||||||
player1 = models.ForeignKey(
|
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'))
|
verbose_name=_('Player 1'))
|
||||||
player1_input_score = models.IntegerField(_('Score'))
|
player1_input_score = models.IntegerField(_('Score'))
|
||||||
player1_game_score = models.PositiveIntegerField(
|
player1_game_score = models.PositiveIntegerField(
|
||||||
@@ -110,7 +113,10 @@ class Hanchan(models.Model):
|
|||||||
_('Comment'), blank=True, max_length=255, editable=False)
|
_('Comment'), blank=True, max_length=255, editable=False)
|
||||||
|
|
||||||
player2 = models.ForeignKey(
|
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'))
|
verbose_name=_('Player 2'))
|
||||||
player2_input_score = models.IntegerField(_('Score'))
|
player2_input_score = models.IntegerField(_('Score'))
|
||||||
player2_game_score = models.PositiveIntegerField(
|
player2_game_score = models.PositiveIntegerField(
|
||||||
@@ -127,7 +133,10 @@ class Hanchan(models.Model):
|
|||||||
_('Comment'), blank=True, max_length=255, editable=False)
|
_('Comment'), blank=True, max_length=255, editable=False)
|
||||||
|
|
||||||
player3 = models.ForeignKey(
|
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'))
|
verbose_name=_('Player 3'))
|
||||||
player3_input_score = models.IntegerField(_('Score'))
|
player3_input_score = models.IntegerField(_('Score'))
|
||||||
player3_game_score = models.PositiveIntegerField(
|
player3_game_score = models.PositiveIntegerField(
|
||||||
@@ -144,7 +153,10 @@ class Hanchan(models.Model):
|
|||||||
_('Comment'), blank=True, max_length=255, editable=False)
|
_('Comment'), blank=True, max_length=255, editable=False)
|
||||||
|
|
||||||
player4 = models.ForeignKey(
|
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'))
|
verbose_name=_('Player 4'))
|
||||||
player4_input_score = models.IntegerField(_('Score'))
|
player4_input_score = models.IntegerField(_('Score'))
|
||||||
player4_game_score = models.PositiveIntegerField(
|
player4_game_score = models.PositiveIntegerField(
|
||||||
@@ -587,21 +599,16 @@ class SeasonRanking(models.Model):
|
|||||||
|
|
||||||
|
|
||||||
def update_ranking(sender, instance, **kwargs):
|
def update_ranking(sender, instance, **kwargs):
|
||||||
for user in (
|
for user in (instance.player1, instance.player2, instance.player3, instance.player4):
|
||||||
instance.player1, instance.player2, instance.player3, instance.player4):
|
|
||||||
logger.debug("marking %s's kyu/dan for recalculation", user)
|
logger.debug("marking %s's kyu/dan for recalculation", user)
|
||||||
set_dirty(user=user.id)
|
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:
|
if instance.season:
|
||||||
logger.debug(
|
logger.debug("marking %s's ladder %i season for recalculation.", user, instance.season)
|
||||||
"marking %s's ladder %i season for recalculation.", user,
|
|
||||||
instance.season)
|
|
||||||
set_dirty(user=user.id, season=instance.season)
|
set_dirty(user=user.id, season=instance.season)
|
||||||
|
logger.debug("marking season %d for recalculation.", instance.season)
|
||||||
set_dirty(season=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.pre_delete.connect(update_ranking, sender=Hanchan)
|
||||||
models.signals.post_save.connect(update_ranking, sender=Hanchan)
|
models.signals.post_save.connect(update_ranking, sender=Hanchan)
|
||||||
|
|||||||
@@ -56,7 +56,8 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
<tfoot><tr>
|
<tfoot><tr>
|
||||||
<td>{% trans 'Total' %}</td>
|
<td>{% trans 'Total' %}</td>
|
||||||
<td><input type="number" value="0" id="total" disabled> <span id="difference"></span></td>
|
<td><input type="number" value="0" id="total" disabled></td>
|
||||||
|
<td><span id="difference"></span></td>
|
||||||
</tr></tfoot>
|
</tr></tfoot>
|
||||||
</table>
|
</table>
|
||||||
{% if perms.mahjong_ranking.change_hanchan %}
|
{% if perms.mahjong_ranking.change_hanchan %}
|
||||||
|
|||||||
Reference in New Issue
Block a user