update bootstrap script with orders and orderproductrelations

This commit is contained in:
Stephan Telling 2017-04-23 21:45:35 +02:00
parent 5c4487d513
commit 698698a96b
No known key found for this signature in database
GPG Key ID: D4892289F36ADA9B
1 changed files with 167 additions and 93 deletions

View File

@ -3,10 +3,21 @@ from django.core.management.base import BaseCommand
from django.utils import timezone
from camps.models import Camp
from news.models import NewsItem
from shop.models import ProductCategory, Product
from info.models import InfoCategory, InfoItem
from villages.models import Village
from program.models import EventType, Event, EventInstance, Speaker, EventLocation
from shop.models import (
ProductCategory,
Product,
Order,
OrderProductRelation
)
from program.models import (
EventType,
Event,
EventInstance,
Speaker,
EventLocation
)
from teams.models import Team, TeamArea, TeamMember
from django.contrib.auth.models import User
from allauth.account.models import EmailAddress
@ -195,6 +206,159 @@ class Command(BaseCommand):
content='unpublished news body here',
)
self.output('Creating products...')
name = 'PROSA bus transport (PROSA members only)'
product0 = Product.objects.create(
name=name,
category=transportation,
price=125,
description='PROSA is sponsoring a bustrip from Copenhagen to the venue and back.',
available_in=(
timezone.datetime(2017, 3, 1, 11, 0, tzinfo=timezone.utc),
timezone.datetime(2017, 10, 30, 11, 30, tzinfo=timezone.utc),
),
slug='{}'.format(slugify(name)),
)
name = 'PROSA bus transport (open for everyone)'
product1 = Product.objects.create(
name=name,
category=transportation,
price=125,
description='PROSA is sponsoring a bustrip from Copenhagen to the venue and back.',
available_in=(
timezone.datetime(2017, 3, 1, 11, 0, tzinfo=timezone.utc),
timezone.datetime(2017, 10, 30, 11, 30, tzinfo=timezone.utc),
),
slug='{}'.format(slugify(name)),
)
name = 'T-shirt (large)'
product2 = Product.objects.create(
name=name,
category=merchandise,
price=160,
description='Get a nice t-shirt',
available_in=(
timezone.datetime(2017, 3, 1, 11, 0, tzinfo=timezone.utc),
timezone.datetime(2017, 10, 30, 11, 30, tzinfo=timezone.utc),
),
slug='{}'.format(slugify(name)),
)
name = 'Village tent 3x3 meters, no floor'
tent1 = Product.objects.create(
name=name,
description='A description of the tent goes here',
price=3325,
category=villages,
available_in=(
timezone.datetime(2017, 3, 1, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2017, 8, 20, 12, 0, tzinfo=timezone.utc),
),
slug='{}'.format(slugify(name)),
)
name = 'Village tent 3x3 meters, with floor'
tent2 = Product.objects.create(
name=name,
description='A description of the tent goes here',
price=3675,
category=villages,
available_in=(
timezone.datetime(2017, 3, 1, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2017, 8, 20, 12, 0, tzinfo=timezone.utc),
),
slug='{}'.format(slugify(name)),
)
name = 'Standard ticket'
ticket1 = Product.objects.create(
name=name,
description='A ticket',
price=1200,
category=tickets,
available_in=(
timezone.datetime(2017, 3, 1, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2017, 8, 20, 12, 0, tzinfo=timezone.utc),
),
slug='{}'.format(slugify(name)),
)
name = 'Hacker ticket'
ticket2 = Product.objects.create(
name=name,
description='Another ticket',
price=1337,
category=tickets,
available_in=(
timezone.datetime(2017, 3, 1, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2017, 8, 20, 12, 0, tzinfo=timezone.utc),
),
slug='{}'.format(slugify(name)),
)
self.output('Creating orders...')
order0 = Order.objects.create(
user=user1,
payment_method='cash',
open=None,
paid=True
)
order0.orderproductrelation_set.create(
product=ticket1,
quantity=1,
)
order0.orderproductrelation_set.create(
product=tent1,
quantity=1,
)
order1 = Order.objects.create(
user=user2,
payment_method='cash'
)
order1.orderproductrelation_set.create(
product=ticket1,
quantity=1,
)
order1.orderproductrelation_set.create(
product=tent2,
quantity=1,
)
order2 = Order.objects.create(
user=user3,
payment_method='cash'
)
order2.orderproductrelation_set.create(
product=ticket2,
quantity=1,
)
order2.orderproductrelation_set.create(
product=ticket1,
quantity=1,
)
order2.orderproductrelation_set.create(
product=tent2,
quantity=1,
)
order3 = Order.objects.create(
user=user4,
payment_method='cash'
)
order3.orderproductrelation_set.create(
product=product0,
quantity=1,
)
order3.orderproductrelation_set.create(
product=ticket2,
quantity=1,
)
order3.orderproductrelation_set.create(
product=tent1,
quantity=1,
)
for camp in [camp2016, camp2017, camp2018]:
year = camp.camp.lower.year
@ -1025,97 +1189,6 @@ programming for a danish startup.
)
)
self.output("Creating products for {}...".format(year))
name='PROSA bus transport (PROSA members only)'
Product.objects.create(
name=name,
category=transportation,
price=125,
description='PROSA is sponsoring a bustrip from Copenhagen to the venue and back.',
available_in=(
timezone.datetime(year, 3, 1, 11, 0, tzinfo=timezone.utc),
timezone.datetime(year, 10, 30, 11, 30, tzinfo=timezone.utc),
),
slug='%s-%s' % (camp.slug, slugify(name)),
)
name='PROSA bus transport (open for everyone)'
Product.objects.create(
name=name,
category=transportation,
price=125,
description='PROSA is sponsoring a bustrip from Copenhagen to the venue and back.',
available_in=(
timezone.datetime(year, 3, 1, 11, 0, tzinfo=timezone.utc),
timezone.datetime(year, 10, 30, 11, 30, tzinfo=timezone.utc),
),
slug='%s-%s' % (camp.slug, slugify(name)),
)
name='T-shirt (large)'
Product.objects.create(
name=name,
category=merchandise,
price=160,
description='Get a nice t-shirt',
available_in=(
timezone.datetime(year, 3, 1, 11, 0, tzinfo=timezone.utc),
timezone.datetime(year, 10, 30, 11, 30, tzinfo=timezone.utc),
),
slug='%s-%s' % (camp.slug, slugify(name)),
)
name='Village tent 3x3 meters, no floor'
tent1 = Product.objects.create(
name=name,
description='A description of the tent goes here',
price=3325,
category=villages,
available_in=(
timezone.datetime(year, 3, 1, 12, 0, tzinfo=timezone.utc),
timezone.datetime(year, 8, 20, 12, 0, tzinfo=timezone.utc),
),
slug='%s-%s' % (camp.slug, slugify(name)),
),
name='Village tent 3x3 meters, with floor'
tent2 = Product.objects.create(
name=name,
description='A description of the tent goes here',
price=3675,
category=villages,
available_in=(
timezone.datetime(year, 3, 1, 12, 0, tzinfo=timezone.utc),
timezone.datetime(year, 8, 20, 12, 0, tzinfo=timezone.utc),
),
slug='%s-%s' % (camp.slug, slugify(name)),
)
name='Standard ticket'
ticket1 = Product.objects.create(
name=name,
description='A ticket',
price=1200,
category=tickets,
available_in=(
timezone.datetime(year, 3, 1, 12, 0, tzinfo=timezone.utc),
timezone.datetime(year, 8, 20, 12, 0, tzinfo=timezone.utc),
),
slug='%s-%s' % (camp.slug, slugify(name)),
)
name='Hacker ticket'
ticket2 = Product.objects.create(
name=name,
description='Another ticket',
price=1337,
category=tickets,
available_in=(
timezone.datetime(year, 3, 1, 12, 0, tzinfo=timezone.utc),
timezone.datetime(year, 8, 20, 12, 0, tzinfo=timezone.utc),
),
slug='%s-%s' % (camp.slug, slugify(name)),
)
self.output("Creating infocategories for {}...".format(year))
info_cat1 = InfoCategory.objects.create(
@ -1310,6 +1383,7 @@ Please note that sleeping in the parking lot is not permitted. If you want to sl
user=user2
)
self.output("marking 2016 as read_only...")
camp2016.read_only = True
camp2016.save()