mirror of
https://gitlab.crans.org/bde/nk20
synced 2024-11-26 18:37:12 +00:00
add signup view
This commit is contained in:
parent
fbc6570eb6
commit
633663f95d
@ -6,7 +6,7 @@ from django.contrib import admin
|
||||
from django.contrib.auth.admin import UserAdmin
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from .forms import CustomUserChangeForm
|
||||
from .forms import ProfileForm
|
||||
from .models import Club, Membership, Profile, Role
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ class CustomUserAdmin(UserAdmin):
|
||||
inlines = (ProfileInline,)
|
||||
list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff')
|
||||
list_select_related = ('profile',)
|
||||
form = CustomUserChangeForm
|
||||
form = ProfileForm
|
||||
|
||||
def get_inline_instances(self, request, obj=None):
|
||||
"""
|
||||
|
@ -2,17 +2,13 @@
|
||||
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from django.contrib.auth.forms import UserChangeForm
|
||||
from django.contrib.auth.forms import UserChangeForm, UserCreationForm
|
||||
from django.contrib.auth.models import User
|
||||
from django import forms
|
||||
|
||||
from .models import Profile
|
||||
|
||||
class CustomUserChangeForm(UserChangeForm):
|
||||
"""
|
||||
Make first name, last name and email required
|
||||
in the default Django Auth User model
|
||||
"""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.fields['first_name'].required = True
|
||||
self.fields['last_name'].required = True
|
||||
self.fields['email'].required = True
|
||||
class ProfileForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Profile
|
||||
fields = '__all__'
|
||||
|
15
apps/member/signals.py
Normal file
15
apps/member/signals.py
Normal file
@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
def save_user_profile(instance, created, **_kwargs):
|
||||
"""
|
||||
Hook to create and save a note when an user is updated
|
||||
"""
|
||||
if created:
|
||||
from .models import Profile
|
||||
Profile.objects.create(user=instance)
|
||||
instance.note.save()
|
14
apps/member/urls.py
Normal file
14
apps/member/urls.py
Normal file
@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from django.urls import path
|
||||
|
||||
from . import views
|
||||
|
||||
app_name = 'member'
|
||||
urlpatterns = [
|
||||
path('signup/',views.SignUp.as_view(),name="signup")
|
||||
]
|
@ -7,4 +7,23 @@ from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.views.generic.edit import CreateView
|
||||
|
||||
from .models import
|
||||
from django.contrib.auth.forms import UserCreationForm
|
||||
from django.urls import reverse_lazy
|
||||
from .models import Profile
|
||||
from .forms import ProfileForm
|
||||
|
||||
class SignUp(CreateView):
|
||||
"""
|
||||
Une vue pour inscrire un utilisateur et lui créer un profile
|
||||
|
||||
"""
|
||||
form_class = ProfileForm
|
||||
success_url = reverse_lazy('login')
|
||||
template_name ='member/signup.html'
|
||||
second_form = UserCreationForm
|
||||
|
||||
def get_context_data(self,**kwargs):
|
||||
context = super(SignUp,self).get_context_data(**kwargs)
|
||||
context["user_form"] = self.second_form
|
||||
|
||||
return context
|
||||
|
@ -16,9 +16,8 @@ urlpatterns = [
|
||||
# Include Django Contrib and Core routers
|
||||
# admin/login/ is redirected to the non-admin login page
|
||||
path('i18n/', include('django.conf.urls.i18n')),
|
||||
path('accounts/',include('member.urls')),
|
||||
path('accounts/', include('django.contrib.auth.urls')),
|
||||
path('accounts/profile/',
|
||||
RedirectView.as_view(pattern_name='index')),
|
||||
path('admin/doc/', include('django.contrib.admindocs.urls')),
|
||||
path('admin/', admin.site.urls),
|
||||
]
|
||||
|
14
templates/member/signup.html
Normal file
14
templates/member/signup.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!-- templates/signup.html -->
|
||||
{% extends 'base.html' %}
|
||||
{% load crispy_forms_tags %}
|
||||
{% block title %}Sign Up{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h2>Sign up</h2>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p |crispy }}
|
||||
{{ user_form.as_p |crispy }}
|
||||
<button type="submit">Sign up</button>
|
||||
</form>
|
||||
{% endblock %}
|
Loading…
Reference in New Issue
Block a user