Interface d'administration
This commit is contained in:
parent
3bc3f7cdd3
commit
45a009d9d5
2 changed files with 49 additions and 15 deletions
|
@ -1,3 +1,26 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
from django.contrib.auth.admin import UserAdmin
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
from monstage.models import *
|
||||||
|
|
||||||
# Register your models here.
|
class NormalienInline(admin.StackedInline):
|
||||||
|
model = Normalien
|
||||||
|
inline_classes = ("collapse open",)
|
||||||
|
|
||||||
|
class UserAdmin(UserAdmin):
|
||||||
|
inlines = (NormalienInline, )
|
||||||
|
|
||||||
|
|
||||||
|
class LieuStageInline(admin.StackedInline):
|
||||||
|
model = LieuStage
|
||||||
|
inline_classes = ("collapse open",)
|
||||||
|
extra = 0
|
||||||
|
|
||||||
|
class StageAdmin(admin.ModelAdmin):
|
||||||
|
inlines = (LieuStageInline, )
|
||||||
|
|
||||||
|
admin.site.unregister(User)
|
||||||
|
admin.site.register(User, UserAdmin)
|
||||||
|
admin.site.register(Lieu)
|
||||||
|
admin.site.register(StageMatiere)
|
||||||
|
admin.site.register(Stage, StageAdmin)
|
|
@ -26,8 +26,8 @@ class Normalien(models.Model):
|
||||||
permanent_mail = models.CharField("Adresse e-mail permanente", max_length = 200, blank = True)
|
permanent_mail = models.CharField("Adresse e-mail permanente", max_length = 200, blank = True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = "Profil élève"
|
verbose_name = u"Profil élève"
|
||||||
verbose_name_plural = "Profils élèves"
|
verbose_name_plural = u"Profils élèves"
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return unicode(self.user.username)
|
return unicode(self.user.username)
|
||||||
|
@ -51,6 +51,20 @@ class Lieu(models.Model):
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return u"%s (%s)" % (self.name, self.ville)
|
return u"%s (%s)" % (self.name, self.ville)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Lieu"
|
||||||
|
verbose_name_plural = "Lieux"
|
||||||
|
|
||||||
|
class StageMatiere(models.Model):
|
||||||
|
name = models.CharField(_(u"Matière"), max_length = 30)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Matière des stages"
|
||||||
|
verbose_name_plural = "Matières des stages"
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
class Stage(models.Model):
|
class Stage(models.Model):
|
||||||
user = models.ForeignKey(Normalien, related_name = "stages")
|
user = models.ForeignKey(Normalien, related_name = "stages")
|
||||||
published = models.BooleanField(_("Visible publiquement"), default = False)
|
published = models.BooleanField(_("Visible publiquement"), default = False)
|
||||||
|
@ -63,6 +77,7 @@ class Stage(models.Model):
|
||||||
sujet = models.CharField(_(u"Sujet"), max_length = 500)
|
sujet = models.CharField(_(u"Sujet"), max_length = 500)
|
||||||
encadrants = models.CharField(_(u"Encadrants"), max_length = 500, blank = True)
|
encadrants = models.CharField(_(u"Encadrants"), max_length = 500, blank = True)
|
||||||
lieux = models.ManyToManyField(Lieu, related_name = "stages", through = "LieuStage")
|
lieux = models.ManyToManyField(Lieu, related_name = "stages", through = "LieuStage")
|
||||||
|
matieres = models.ManyToManyField(StageMatiere, related_name = "stages")
|
||||||
|
|
||||||
# Avis
|
# Avis
|
||||||
avis_encadrants = models.TextField(_(u"Avis sur les encadrants"), blank = True)
|
avis_encadrants = models.TextField(_(u"Avis sur les encadrants"), blank = True)
|
||||||
|
@ -73,17 +88,9 @@ class Stage(models.Model):
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return u"%s : %s" % (self.user.profil.username, self.sujet)
|
return u"%s : %s" % (self.user.profil.username, self.sujet)
|
||||||
|
|
||||||
|
|
||||||
class StageMatiere(models.Model):
|
|
||||||
name = models.CharField(_(u"Matière"), max_length = 30)
|
|
||||||
users = models.ManyToManyField(Stage, related_name = "matieres")
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = "Matière des stages"
|
verbose_name = "Stage"
|
||||||
verbose_name_plural = "Matières des stages"
|
verbose_name_plural = "Stages"
|
||||||
|
|
||||||
def __unicode__(self):
|
|
||||||
return self.name
|
|
||||||
|
|
||||||
class LieuStage(models.Model):
|
class LieuStage(models.Model):
|
||||||
stage = models.ForeignKey(Stage)
|
stage = models.ForeignKey(Stage)
|
||||||
|
@ -96,3 +103,7 @@ class LieuStage(models.Model):
|
||||||
avis_pratique = models.TextField(_(u"S'installer / Conseils pratiques"), blank = True)
|
avis_pratique = models.TextField(_(u"S'installer / Conseils pratiques"), blank = True)
|
||||||
avis_visite = models.TextField(_(u"Que voir / que faire"), blank = True)
|
avis_visite = models.TextField(_(u"Que voir / que faire"), blank = True)
|
||||||
avis_anecdotes = models.TextField(_(u"Anecdotes"), blank = True)
|
avis_anecdotes = models.TextField(_(u"Anecdotes"), blank = True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Avis sur un lieu de stage"
|
||||||
|
verbose_name_plural = "Avis sur un lieu de stage"
|
Loading…
Add table
Reference in a new issue