parent
622c52bb20
commit
5efb054c30
|
@ -1,5 +1,6 @@
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
* Add support for purchase ownership information (https://git.kucharczyk.xyz/lukas/timetracker/issues/48)
|
||||||
* Add support for purchase prices
|
* Add support for purchase prices
|
||||||
* Add support for game editions (https://git.kucharczyk.xyz/lukas/timetracker/issues/28)
|
* Add support for game editions (https://git.kucharczyk.xyz/lukas/timetracker/issues/28)
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@ class PurchaseForm(forms.ModelForm):
|
||||||
"date_refunded",
|
"date_refunded",
|
||||||
"price",
|
"price",
|
||||||
"price_currency",
|
"price_currency",
|
||||||
|
"ownership_type",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Generated by Django 4.1.5 on 2023-02-18 19:54
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("games", "0012_purchase_price_purchase_price_currency"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="purchase",
|
||||||
|
name="ownership_type",
|
||||||
|
field=models.CharField(
|
||||||
|
choices=[
|
||||||
|
("ph", "Physical"),
|
||||||
|
("di", "Digital"),
|
||||||
|
("du", "Digital Upgrade"),
|
||||||
|
("re", "Rented"),
|
||||||
|
("bo", "Borrowed"),
|
||||||
|
("tr", "Trial"),
|
||||||
|
("de", "Demo"),
|
||||||
|
("pi", "Pirated"),
|
||||||
|
],
|
||||||
|
default="di",
|
||||||
|
max_length=2,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
|
@ -26,12 +26,34 @@ class Edition(models.Model):
|
||||||
|
|
||||||
|
|
||||||
class Purchase(models.Model):
|
class Purchase(models.Model):
|
||||||
|
PHYSICAL = "ph"
|
||||||
|
DIGITAL = "di"
|
||||||
|
DIGITALUPGRADE = "du"
|
||||||
|
RENTED = "re"
|
||||||
|
BORROWED = "bo"
|
||||||
|
TRIAL = "tr"
|
||||||
|
DEMO = "de"
|
||||||
|
PIRATED = "pi"
|
||||||
|
OWNERSHIP_TYPES = [
|
||||||
|
(PHYSICAL, "Physical"),
|
||||||
|
(DIGITAL, "Digital"),
|
||||||
|
(DIGITALUPGRADE, "Digital Upgrade"),
|
||||||
|
(RENTED, "Rented"),
|
||||||
|
(BORROWED, "Borrowed"),
|
||||||
|
(TRIAL, "Trial"),
|
||||||
|
(DEMO, "Demo"),
|
||||||
|
(PIRATED, "Pirated"),
|
||||||
|
]
|
||||||
|
|
||||||
edition = models.ForeignKey("Edition", on_delete=models.CASCADE)
|
edition = models.ForeignKey("Edition", on_delete=models.CASCADE)
|
||||||
platform = models.ForeignKey("Platform", on_delete=models.CASCADE)
|
platform = models.ForeignKey("Platform", on_delete=models.CASCADE)
|
||||||
date_purchased = models.DateField()
|
date_purchased = models.DateField()
|
||||||
date_refunded = models.DateField(blank=True, null=True)
|
date_refunded = models.DateField(blank=True, null=True)
|
||||||
price = models.IntegerField(default=0)
|
price = models.IntegerField(default=0)
|
||||||
price_currency = models.CharField(max_length=3, default="USD")
|
price_currency = models.CharField(max_length=3, default="USD")
|
||||||
|
ownership_type = models.CharField(
|
||||||
|
max_length=2, choices=OWNERSHIP_TYPES, default=DIGITAL
|
||||||
|
)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"{self.edition} ({self.platform})"
|
return f"{self.edition} ({self.platform})"
|
||||||
|
|
Loading…
Reference in New Issue