1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-06-24 18:20:33 +02:00

Index page

This commit is contained in:
Yohann D'ANELLO
2020-04-29 07:39:52 +02:00
parent 0ba38311c7
commit 264f2b7e6b
18 changed files with 879 additions and 4 deletions

View File

@ -1,6 +1,6 @@
from django.contrib.auth.admin import admin, UserAdmin
from polymorphic.admin import PolymorphicParentModelAdmin, PolymorphicChildModelAdmin
from member.models import TFJMUser, Document, Solution, Synthesis, MotivationLetter, Authorization
from member.models import TFJMUser, Document, Solution, Synthesis, MotivationLetter, Authorization, Config
@admin.register(TFJMUser)
@ -32,3 +32,8 @@ class SolutionAdmin(PolymorphicChildModelAdmin):
@admin.register(Synthesis)
class SynthesisAdmin(PolymorphicChildModelAdmin):
pass
@admin.register(Config)
class ConfigAdmin(admin.ModelAdmin):
pass

View File

@ -135,6 +135,18 @@ class TFJMUser(AbstractUser):
verbose_name=_("year"),
)
@property
def participates(self):
return self.role == "participant" or self.role == "encadrant"
@property
def organizes(self):
return self.role == "organizer" or self.role == "admin"
@property
def admin(self):
return self.role == "admin"
class Meta:
verbose_name = _("user")
verbose_name_plural = _("users")
@ -150,7 +162,6 @@ class TFJMUser(AbstractUser):
class Document(PolymorphicModel):
file = models.FileField(
unique=True,
upload_to="files/",
verbose_name=_("file"),
)
@ -261,3 +272,20 @@ class Synthesis(Document):
def __str__(self):
return _("Synthesis of team {trigram} that is {dest} for problem {problem}")\
.format(trigram=self.team.trigram, dest=self.dest, problem=self.problem)
class Config(models.Model):
key = models.CharField(
max_length=255,
primary_key=True,
verbose_name=_("key"),
)
value = models.TextField(
default="",
verbose_name=_("value"),
)
class Meta:
verbose_name = _("configuration")
verbose_name_plural = _("configurations")

View File

View File

@ -0,0 +1,19 @@
from django import template
import os
from member.models import Config
def get_config(value):
config = Config.objects.get_or_create(key=value)[0]
return config.value
def get_env(value):
return os.getenv(value)
register = template.Library()
register.filter('get_config', get_config)
register.filter('get_env', get_env)

View File

@ -120,6 +120,18 @@ class Team(models.Model):
verbose_name=_("year"),
)
@property
def valid(self):
return self.validation_status == "valid"
@property
def waiting(self):
return self.validation_status == "waiting"
@property
def invalid(self):
return self.validation_status == "invalid"
@property
def encadrants(self):
return self.users.filter(role="encadrant")