Files
@ 6d5c24e6354f
Branch filter:
Location: symposion_app/symposion/sponsorship/management/commands/reset_sponsor_benefits.py - annotation
6d5c24e6354f
1.5 KiB
text/x-python
Merge pull request #56 from chromano/master
Fix flake8 warnings
Fix flake8 warnings
1ad87798ad44 1ad87798ad44 36ab6d599ffc 1ad87798ad44 1ad87798ad44 1ad87798ad44 36ab6d599ffc 1ad87798ad44 1ad87798ad44 36ab6d599ffc 1ad87798ad44 1ad87798ad44 1ad87798ad44 1ad87798ad44 1ad87798ad44 1ad87798ad44 1ad87798ad44 1ad87798ad44 1ad87798ad44 36ab6d599ffc 1ad87798ad44 1ad87798ad44 36ab6d599ffc 1ad87798ad44 1ad87798ad44 1ad87798ad44 36ab6d599ffc 1ad87798ad44 1ad87798ad44 36ab6d599ffc 1ad87798ad44 1ad87798ad44 1ad87798ad44 1ad87798ad44 1ad87798ad44 1ad87798ad44 | from django.core.management.base import BaseCommand
from symposion.sponsorship.models import Sponsor, SponsorBenefit, SponsorLevel
class Command(BaseCommand):
def handle(self, *args, **options):
for sponsor in Sponsor.objects.all():
level = None
try:
level = sponsor.level
except SponsorLevel.DoesNotExist:
pass
if level:
for benefit_level in level.benefit_levels.all():
# Create all needed benefits if they don't exist already
sponsor_benefit, created = SponsorBenefit.objects.get_or_create(
sponsor=sponsor, benefit=benefit_level.benefit)
if created:
print "created", sponsor_benefit, "for", sponsor
# and set to default limits for this level.
sponsor_benefit.max_words = benefit_level.max_words
sponsor_benefit.other_limits = benefit_level.other_limits
# and set to active
sponsor_benefit.active = True
# @@@ We don't call sponsor_benefit.clean here. This means
# that if the sponsorship level for a sponsor is adjusted
# downwards, an existing too-long text entry can remain,
# and won't raise a validation error until it's next
# edited.
sponsor_benefit.save()
|