mirror of
				https://gitlab.crans.org/mediatek/med.git
				synced 2025-11-04 15:22:27 +01:00 
			
		
		
		
	Remove custom add user view
This commit is contained in:
		@@ -26,13 +26,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
        {% endblock %}
 | 
			
		||||
        {% block userlinks %}
 | 
			
		||||
            {% if user.is_authenticated %}
 | 
			
		||||
                {% if perms.users.add_user %}
 | 
			
		||||
                    <a href="{% url "users:new-user" %}">Nouveau utilisateur</a> /
 | 
			
		||||
                {% endif %}
 | 
			
		||||
                {% if user.is_staff %}
 | 
			
		||||
                    <a href="{% url "logs:index" %}">Statistiques</a> /
 | 
			
		||||
                {% endif %}
 | 
			
		||||
 | 
			
		||||
                {% if available_apps %}
 | 
			
		||||
                    {# When in admin site, list all admin pages and documentation #}
 | 
			
		||||
                    <span class="dropdown">
 | 
			
		||||
@@ -45,6 +38,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
                                    {% endif %}
 | 
			
		||||
                                {% endfor %}
 | 
			
		||||
                            {% endfor %}
 | 
			
		||||
                            <a href="{% url "logs:index" %}">Statistiques</a>
 | 
			
		||||
                            {% if user.is_active and user.is_superuser %}
 | 
			
		||||
                                {% url 'django-admindocs-docroot' as docsroot %}
 | 
			
		||||
                                {% if docsroot %}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ from django.utils.html import format_html
 | 
			
		||||
from django.utils.translation import ugettext_lazy as _
 | 
			
		||||
from reversion.admin import VersionAdmin
 | 
			
		||||
 | 
			
		||||
from .forms import UserCreationAdminForm
 | 
			
		||||
from .models import Adhesion, Clef, Request, User
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -18,7 +19,7 @@ class RequestAdmin(admin.ModelAdmin):
 | 
			
		||||
 | 
			
		||||
class ClefAdmin(VersionAdmin):
 | 
			
		||||
    list_display = ('nom', 'proprio', 'commentaire')
 | 
			
		||||
    # TODO order by nom
 | 
			
		||||
    ordering = ('nom',)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AdhesionAdmin(VersionAdmin):
 | 
			
		||||
@@ -60,6 +61,17 @@ class UserAdmin(VersionAdmin, BaseUserAdmin):
 | 
			
		||||
    list_filter = (IsAdherentFilter, 'is_staff', 'is_superuser', 'is_active',
 | 
			
		||||
                   'groups')
 | 
			
		||||
 | 
			
		||||
    # Customize required initial fields
 | 
			
		||||
    add_form_template = 'admin/change_form.html'
 | 
			
		||||
    add_form = UserCreationAdminForm
 | 
			
		||||
    add_fieldsets = (
 | 
			
		||||
        (None, {
 | 
			
		||||
            'classes': ('wide',),
 | 
			
		||||
            'fields': ("username", "email", "first_name", "last_name",
 | 
			
		||||
                       "address", "telephone"),
 | 
			
		||||
        }),
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    def is_adherent(self, obj):
 | 
			
		||||
        """
 | 
			
		||||
        Get current membership year and check if user is there
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
# SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
 | 
			
		||||
from django import forms
 | 
			
		||||
from django.contrib.auth.forms import UsernameField
 | 
			
		||||
from django.core.validators import MinLengthValidator
 | 
			
		||||
from django.forms import ModelForm
 | 
			
		||||
 | 
			
		||||
@@ -35,3 +36,16 @@ class BaseInfoForm(ModelForm):
 | 
			
		||||
            'address',
 | 
			
		||||
            'telephone',
 | 
			
		||||
        ]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class UserCreationAdminForm(ModelForm):
 | 
			
		||||
    """
 | 
			
		||||
    A form that creates a user, with no privileges,
 | 
			
		||||
    from the given information.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = User
 | 
			
		||||
        fields = ("username", "email", "first_name", "last_name", "address",
 | 
			
		||||
                  "telephone")
 | 
			
		||||
        field_classes = {'username': UsernameField}
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
        </fieldset>
 | 
			
		||||
 | 
			
		||||
        <div class="submit-row">
 | 
			
		||||
            <input class="default" type="submit" value="{% trans 'Create or edit' %}">
 | 
			
		||||
            <input class="default" type="submit" value="{% trans 'Save' %}">
 | 
			
		||||
        </div>
 | 
			
		||||
    </form>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,6 @@ from . import views
 | 
			
		||||
 | 
			
		||||
app_name = 'users'
 | 
			
		||||
urlpatterns = [
 | 
			
		||||
    url(r'^new_user/$', views.new_user, name='new-user'),
 | 
			
		||||
    url(r'^edit_info/$', views.edit_info, name='edit-info'),
 | 
			
		||||
    url(r'^adherer/(?P<userid>[0-9]+)$', views.adherer, name='adherer'),
 | 
			
		||||
    url(r'^process/(?P<token>[a-z0-9]{32})/$', views.process, name='process'),
 | 
			
		||||
 
 | 
			
		||||
@@ -62,34 +62,6 @@ def reset_passwd_mail(req, request):
 | 
			
		||||
    return
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@login_required
 | 
			
		||||
@permission_required('users.add_user')
 | 
			
		||||
def new_user(request):
 | 
			
		||||
    """
 | 
			
		||||
    Vue de création d'un nouvel utilisateur
 | 
			
		||||
    """
 | 
			
		||||
    user = BaseInfoForm(request.POST or None)
 | 
			
		||||
    if user.is_valid():
 | 
			
		||||
        user = user.save(commit=False)
 | 
			
		||||
        with transaction.atomic(), reversion.create_revision():
 | 
			
		||||
            user.save()
 | 
			
		||||
            reversion.set_comment("Création")
 | 
			
		||||
        req = Request()
 | 
			
		||||
        req.type = Request.PASSWD
 | 
			
		||||
        req.user = user
 | 
			
		||||
        req.save()
 | 
			
		||||
        reset_passwd_mail(req, request)
 | 
			
		||||
        messages.success(request,
 | 
			
		||||
                         "L'utilisateur %s a été crée, un mail pour "
 | 
			
		||||
                         "l'initialisation du mot de passe a été "
 | 
			
		||||
                         "envoyé" % user.username)
 | 
			
		||||
        return redirect("/")
 | 
			
		||||
    return form({
 | 
			
		||||
        'form': user,
 | 
			
		||||
        'title': _('New user'),
 | 
			
		||||
    }, 'users/user.html', request)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@login_required
 | 
			
		||||
def edit_info(request):
 | 
			
		||||
    """
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user