Added slug fields to Ensemble and Project
This commit is contained in:
parent
7a58d8b32d
commit
98fe7b77ce
@ -5,11 +5,11 @@ from django.contrib import admin
|
||||
from . import models
|
||||
|
||||
class EnsembleAdmin(admin.ModelAdmin):
|
||||
list_display = ['name', 'ensemble_code']
|
||||
list_display = ['name', 'ensemble_code', 'slug']
|
||||
|
||||
class ProjectAdmin(admin.ModelAdmin):
|
||||
|
||||
list_display = ['name', 'ensemble', 'deadline', 'active']
|
||||
list_display = ['name', 'ensemble', 'deadline', 'active', 'slug']
|
||||
list_filter = ['ensemble', 'active']
|
||||
|
||||
class SubmissionAdmin(admin.ModelAdmin):
|
||||
|
||||
@ -31,6 +31,7 @@ class Ensemble(models.Model):
|
||||
code = models.CharField(max_length=9, default=generate_code)
|
||||
passphrase = models.CharField(max_length=100)
|
||||
admins = models.ManyToManyField('auth.User', related_name='ensembles')
|
||||
slug = models.SlugField(max_length=100, editable=False)
|
||||
|
||||
def active_projects(self):
|
||||
return self.projects.filter(active=True)
|
||||
@ -39,6 +40,11 @@ class Ensemble(models.Model):
|
||||
code = str(self.code)
|
||||
return "{}-{}-{}".format(code[:3], code[3:6], code[6:])
|
||||
|
||||
def save(self):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
super(Ensemble, self).save()
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
@ -49,15 +55,21 @@ class Project(models.Model):
|
||||
active = models.BooleanField(default=True)
|
||||
deadline =models.DateField(null=True, blank=True)
|
||||
owner = models.CharField(max_length=255, blank=True)
|
||||
slug = models.SlugField(max_length=100, editable=False)
|
||||
|
||||
@property
|
||||
def submissions(self):
|
||||
return self.all_submissions.filter(complete=True).order_by('-pk')
|
||||
|
||||
def presigned_post(self, object_name, fields=None, conditions=None, expires=3600):
|
||||
key = os.path.join(slugify(self.name), object_name)
|
||||
key = os.path.join(self.slug, object_name)
|
||||
return s3client.generate_presigned_post(BUCKET, key, Fields=fields or {}, Conditions=conditions or [], ExpiresIn=expires)
|
||||
|
||||
def save(self):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
super(Project, self).save()
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user