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:
@ -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
|
||||
|
@ -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")
|
||||
|
0
apps/member/templatetags/__init__.py
Normal file
0
apps/member/templatetags/__init__.py
Normal file
19
apps/member/templatetags/getconfig.py
Normal file
19
apps/member/templatetags/getconfig.py
Normal 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)
|
@ -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")
|
||||
|
Reference in New Issue
Block a user