diff --git a/src/server/admin.py b/src/server/admin.py index 70ce86312c58deb41e55cea129b63b200a385e22..0e80a9333987e27e4df83f24da719683a44c1aba 100644 --- a/src/server/admin.py +++ b/src/server/admin.py @@ -1,5 +1,5 @@ from django.contrib import admin -from .models import Member, Skill, Project, Client, Cell, Channel +from .models import Member, Skill, Project, Client, Cell, Channel, Role admin.site.register(Member) admin.site.register(Skill) @@ -7,3 +7,4 @@ admin.site.register(Project) admin.site.register(Client) admin.site.register(Cell) admin.site.register(Channel) +admin.site.register(Role) diff --git a/src/server/models.py b/src/server/models.py index 046532759d8be809902667ef8128360519130d30..54ecdc583d36aee3bd3006c1e8f627badcbd96a2 100644 --- a/src/server/models.py +++ b/src/server/models.py @@ -5,18 +5,22 @@ from django.dispatch import receiver class Member(models.Model): + avatar = models.URLField(blank=True) + available = models.NullBooleanField(blank=True) + bio = models.CharField(max_length=255, blank=True, null=True) + cell = models.ForeignKey("Cell", on_delete=models.DO_NOTHING, blank=True, null=True) + jabberID = models.CharField(max_length=255, blank=True, null=True) + jabberRoom = models.NullBooleanField(blank=True) user = models.OneToOneField(User, on_delete=models.CASCADE) - avatar = models.URLField() - firstname = models.CharField(max_length=255, blank=True, null=True) - lastname = models.CharField(max_length=255, blank=True, null=True) - email = models.CharField(max_length=255, blank=True, null=True) number = models.CharField(max_length=255, blank=True, null=True) - cell = models.ForeignKey("Cell", on_delete=models.DO_NOTHING, blank=True, null=True) - skills = models.ManyToManyField("Skill", blank=True) projects = models.ManyToManyField("Project", blank=True) + pseudo = models.CharField(max_length=255, blank=True, null=True) + roles = models.ManyToManyField("Role", blank=True) + skills = models.ManyToManyField("Skill", blank=True) + website = models.URLField(blank=True) def __str__(self): - return self.firstname +' '+ self.lastname + return 'Profil de {} '.format(self.user.get_full_name()) @receiver(post_save, sender=User) def create_user_profile(sender, instance, created, **kwargs): @@ -33,10 +37,17 @@ class Skill(models.Model): return self.name +class Role(models.Model): + name = models.CharField(max_length=255, default='') + + def __str__(self): + return self.name + + class Project(models.Model): name = models.CharField(max_length=255, default='') - number = models.PositiveIntegerField(default='0') - client = models.OneToOneField("Client", on_delete=models.DO_NOTHING) + number = models.PositiveIntegerField(default='0', blank=True) + client = models.ForeignKey("Client", on_delete=models.DO_NOTHING) team = models.ManyToManyField("Member", blank=True) def __str__(self): diff --git a/src/server/urls.py b/src/server/urls.py index 4164c20f081d06f96b5d2f7ffe0dda5f485e2c54..f006f79d4d16cdb9f903690150a52ab6b554164d 100644 --- a/src/server/urls.py +++ b/src/server/urls.py @@ -15,16 +15,26 @@ Including another URLconf """ from django.conf.urls import url, include from django.contrib import admin +from django.views.generic import TemplateView from djangoldp.views import LDPViewSet -from .models import Member, Skill, Project, Client, Cell, Channel +from django.conf import settings +from .models import Member, Skill, Project, Client, Cell, Channel, Role +from .views import userinfocustom urlpatterns = [ + url(r'^$', TemplateView.as_view(template_name="index.html"), name="index"), + url(r'^accounts/', include('django.contrib.auth.urls')), url(r'^admin/', admin.site.urls), + url(r'^channels/', LDPViewSet.urls(model=Channel, nested_field="members")), + url(r'^cells/', LDPViewSet.urls(model=Cell)), + url(r'^clients/', LDPViewSet.urls(model=Client)), url(r'^members/', LDPViewSet.urls(model=Member, nested_field="skills")), - url(r'^skills/', LDPViewSet.urls(model=Skill)), url(r'^projects/', LDPViewSet.urls(model=Project, nested_field="team")), - url(r'^clients/', LDPViewSet.urls(model=Client)), - url(r'^cells/', LDPViewSet.urls(model=Cell)), - url(r'^channels/', LDPViewSet.urls(model=Channel, nested_field="members")), + url(r'^skills/', LDPViewSet.urls(model=Skill)), + url(r'^openid/userinfo', userinfocustom), + url(r'^openid/', include('oidc_provider.urls', namespace='oidc_provider')), + url(r'^role/', LDPViewSet.urls(model=Role)), + url(r'^users/', LDPViewSet.urls(model=settings.AUTH_USER_MODEL)), ] +