Challenges now connected to items and added items hidden field
This commit is contained in:
@@ -12,7 +12,7 @@ class ChallengeAdmin(admin.ModelAdmin):
|
||||
|
||||
|
||||
class InventoryItemAdmin(admin.ModelAdmin):
|
||||
list_display = ('item_name', 'serial_nr', 'usable', 'owner', 'creator',)
|
||||
list_display = ('item_name', 'serial_nr', 'hidden', 'usable', 'owner', 'creator',)
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
if getattr(obj, 'creator', None) is None:
|
||||
|
@@ -33,25 +33,6 @@ class ChallengeTag(models.Model):
|
||||
return self.name
|
||||
|
||||
|
||||
class Challenge(models.Model):
|
||||
id = models.AutoField(primary_key=True)
|
||||
creator = models.ForeignKey(User, blank=True, null=True, editable=False, on_delete=models.SET_NULL)
|
||||
name = models.CharField(max_length=64)
|
||||
blurb = models.CharField(max_length=140, blank=True, null=True )
|
||||
description = models.TextField(blank=True, null=True)
|
||||
tags = models.ManyToManyField(ChallengeTag, blank=True)
|
||||
recurring = models.BooleanField(default=False)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class UserChallenge(models.Model):
|
||||
id = models.AutoField(primary_key=True)
|
||||
user = models.ForeignKey(User, blank=True, null=True, on_delete=models.SET_NULL)
|
||||
challenge = models.ForeignKey(Challenge, blank=True, null=True, on_delete=models.SET_NULL)
|
||||
|
||||
|
||||
class InventoryItemOwner(models.Model):
|
||||
user = models.OneToOneField(User, on_delete=models.CASCADE, blank=True, null=True, editable=False)
|
||||
name = models.CharField(max_length=64)
|
||||
@@ -78,7 +59,9 @@ class InventoryItem(models.Model):
|
||||
id = models.AutoField(primary_key=True)
|
||||
item_name = models.CharField(max_length=256)
|
||||
serial_nr = models.CharField(max_length=32, default='', blank=True, null=True)
|
||||
owner = models.ForeignKey(InventoryItemOwner , related_name="%(class)s_item", blank=True, null=True, on_delete=models.SET_NULL)
|
||||
hidden = models.BooleanField(default=True)
|
||||
owner = models.ForeignKey(InventoryItemOwner, related_name="%(class)s_item", blank=True, null=True,
|
||||
on_delete=models.SET_NULL)
|
||||
value = models.IntegerField(blank=True, null=True)
|
||||
location = models.ForeignKey(InventoryItemLocation, blank=True, null=True, on_delete=models.SET_NULL)
|
||||
usable = models.BooleanField(default=True)
|
||||
@@ -86,7 +69,8 @@ class InventoryItem(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
updated = models.DateTimeField(auto_now=True)
|
||||
destroyed = models.DateTimeField(blank=True, null=True)
|
||||
creator = models.ForeignKey(User, related_name="%(class)s_created", blank=True, null=True, editable=False, on_delete=models.SET_NULL)
|
||||
creator = models.ForeignKey(User, related_name="%(class)s_created", blank=True, null=True, editable=False,
|
||||
on_delete=models.SET_NULL)
|
||||
description = models.TextField(blank=True, null=True)
|
||||
photo = models.ImageField(upload_to=get_inventory_item_path, blank=True, null=True)
|
||||
|
||||
@@ -94,6 +78,26 @@ class InventoryItem(models.Model):
|
||||
return self.item_name
|
||||
|
||||
|
||||
class Challenge(models.Model):
|
||||
id = models.AutoField(primary_key=True)
|
||||
creator = models.ForeignKey(User, blank=True, null=True, editable=False, on_delete=models.SET_NULL)
|
||||
name = models.CharField(max_length=64)
|
||||
blurb = models.CharField(max_length=140, blank=True, null=True)
|
||||
description = models.TextField(blank=True, null=True)
|
||||
required_items = models.ManyToManyField(InventoryItem, blank=True)
|
||||
tags = models.ManyToManyField(ChallengeTag, blank=True)
|
||||
recurring = models.BooleanField(default=False)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class UserChallenge(models.Model):
|
||||
id = models.AutoField(primary_key=True)
|
||||
user = models.ForeignKey(User, blank=True, null=True, on_delete=models.SET_NULL)
|
||||
challenge = models.ForeignKey(Challenge, blank=True, null=True, on_delete=models.SET_NULL)
|
||||
|
||||
|
||||
@receiver(post_save, sender=User)
|
||||
def create_user_profile(sender, instance, created, **kwargs):
|
||||
if created:
|
||||
|
@@ -23,7 +23,8 @@ def challenge(request, id):
|
||||
challenge_name = request.POST['challenge_name']
|
||||
challenge_description = request.POST['challenge_discription']
|
||||
tags = []
|
||||
new_challenge = Challenge(creator=request.user, name=challenge_name, description=challenge_description, tags=tags)
|
||||
new_challenge = Challenge(creator=request.user, name=challenge_name, description=challenge_description,
|
||||
tags=tags)
|
||||
new_challenge.save()
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user