コード例 #1
0
                if not self.id:
                        self.sender = self.sender_player.user
                        self.recipient = self.recipient_player.user
                        self.year = self.sender_player.game.year
                        self.season = self.sender_player.game.season
                super(Letter, self).save(*args, **kwargs)
        
        def get_absolute_url(self):
                return ('condottieri_messages_detail', [self.id])
        get_absolute_url = models.permalink(get_absolute_url)

def notify_new_letter(sender, instance, created, raw, **kw):
    if notification and isinstance(instance, Letter) and created and not raw:
        user = [instance.recipient,]
        game = instance.recipient_player.game
        extra_context = {'game': game, 'letter': instance, 'STATIC_URL': settings.STATIC_URL,}
        if game.fast:
            notification.send_now(user, "condottieri_messages_received", extra_context)
        else:
            notification.send(user, "condottieri_messages_received", extra_context)

models.signals.post_save.connect(notify_new_letter, sender=Letter)

def update_letter_users(sender, **kwargs):
        assert isinstance(sender, Revolution), "sender must be a Revolution"
        Letter.objects.filter(sender_player=sender.government_player).update(sender=sender.opposition)
        Letter.objects.filter(recipient_player=sender.government_player).update(recipient=sender.opposition)

government_overthrown.connect(update_letter_users)

コード例 #2
0
ファイル: models.py プロジェクト: joskid/condottieri_profiles
			return _("You need a minimum karma of %s to play a fast game.") % karma_to_fast
		if private and self.karma < karma_to_private:
			return _("You need a minimum karma of %s to create a private game.") % karma_to_private
		if self.karma < karma_to_unlimited:
			current_games = self.user.player_set.all().count()
			if current_games >= games_limit:
				return _("You need karma %s to play more than %s games.") % (karma_to_unlimited, games_limit)
		return ""
		

def add_overthrow(sender, **kwargs):
	if not sender.voluntary:
		profile = sender.government.get_profile()
		profile.overthrow()

government_overthrown.connect(add_overthrow)

def add_surrender(sender, **kwargs):
	profile = sender.user.get_profile()
	profile.surrenders += 1
	try:
		surrender_karma = settings.SURRENDER_KARMA
	except:
		surrender_karma = -10
	profile.adjust_karma(surrender_karma)

player_surrendered.connect(add_surrender)

def create_profile(sender, instance=None, **kwargs):
	""" Creates a profile associated to a User	"""
	if instance is None: