8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-25 22:22:26 +00:00

Renomme le modèle des addresses mails

This commit is contained in:
Gabriel Detraz 2018-08-01 13:06:25 +02:00
parent 43fb83ec12
commit bc0abb2c0a
15 changed files with 108 additions and 109 deletions

View file

@ -596,12 +596,12 @@ class WhitelistSerializer(NamespacedHMSerializer):
fields = ('user', 'raison', 'date_start', 'date_end', 'active', 'api_url') fields = ('user', 'raison', 'date_start', 'date_end', 'active', 'api_url')
class LocalEmailAccountSerializer(NamespacedHMSerializer): class EMailAddressSerializer(NamespacedHMSerializer):
"""Serialize `users.models.LocalEmailAccount` objects. """Serialize `users.models.EMailAddress` objects.
""" """
class Meta: class Meta:
model = users.LocalEmailAccount model = users.EMailAddress
fields = ('user', 'local_part', 'complete_email_address', 'api_url') fields = ('user', 'local_part', 'complete_email_address', 'api_url')
@ -627,7 +627,7 @@ class ServiceRegenSerializer(NamespacedHMSerializer):
class LocalEmailUsersSerializer(NamespacedHMSerializer): class LocalEmailUsersSerializer(NamespacedHMSerializer):
local_email_accounts = LocalEmailAccountSerializer( email_address = EMailAddressSerializer(
read_only=True, read_only=True,
many=True many=True
) )
@ -635,7 +635,7 @@ class LocalEmailUsersSerializer(NamespacedHMSerializer):
class Meta: class Meta:
model = users.User model = users.User
fields = ('local_email_enabled', 'local_email_redirect', fields = ('local_email_enabled', 'local_email_redirect',
'local_email_accounts') 'email_address')
# DHCP # DHCP

View file

@ -93,7 +93,7 @@ router.register_viewset(r'users/listright', views.ListRightViewSet)
router.register_viewset(r'users/shell', views.ShellViewSet, base_name='shell') router.register_viewset(r'users/shell', views.ShellViewSet, base_name='shell')
router.register_viewset(r'users/ban', views.BanViewSet) router.register_viewset(r'users/ban', views.BanViewSet)
router.register_viewset(r'users/whitelist', views.WhitelistViewSet) router.register_viewset(r'users/whitelist', views.WhitelistViewSet)
router.register_viewset(r'users/localemailaccount', views.LocalEmailAccountViewSet) router.register_viewset(r'users/emailaddress', views.EMailAddressViewSet)
# SERVICE REGEN # SERVICE REGEN
router.register_viewset(r'services/regen', views.ServiceRegenViewSet, base_name='serviceregen') router.register_viewset(r'services/regen', views.ServiceRegenViewSet, base_name='serviceregen')
# DHCP # DHCP

View file

@ -469,19 +469,19 @@ class WhitelistViewSet(viewsets.ReadOnlyModelViewSet):
serializer_class = serializers.WhitelistSerializer serializer_class = serializers.WhitelistSerializer
class LocalEmailAccountViewSet(viewsets.ReadOnlyModelViewSet): class EMailAddressViewSet(viewsets.ReadOnlyModelViewSet):
"""Exposes list and details of `users.models.LocalEmailAccount` objects. """Exposes list and details of `users.models.EMailAddress` objects.
""" """
serializer_class = serializers.LocalEmailAccountSerializer serializer_class = serializers.EMailAddressSerializer
queryset = users.LocalEmailAccount.objects.none() queryset = users.EMailAddress.objects.none()
def get_queryset(self): def get_queryset(self):
if preferences.OptionalUser.get_cached_value( if preferences.OptionalUser.get_cached_value(
'local_email_accounts_enabled'): 'local_email_accounts_enabled'):
return (users.LocalEmailAccount.objects return (users.EMailAddress.objects
.filter(user__local_email_enabled=True)) .filter(user__local_email_enabled=True))
else: else:
return users.LocalEmailAccount.objects.none() return users.EMailAddress.objects.none()
# SERVICE REGEN # SERVICE REGEN

View file

@ -24,7 +24,7 @@ class Migration(migrations.Migration):
), ),
migrations.AddField( migrations.AddField(
model_name='optionaluser', model_name='optionaluser',
name='max_local_email_accounts', name='max_email_address',
field=models.IntegerField(default=15, help_text='Maximum number of local email accounts for a standard user'), field=models.IntegerField(default=15, help_text='Maximum number of local email address for a standard user'),
), ),
] ]

View file

@ -93,9 +93,9 @@ class OptionalUser(AclMixin, PreferencesModel):
default = "@example.org", default = "@example.org",
help_text="Domain to use for local email accounts", help_text="Domain to use for local email accounts",
) )
max_local_email_accounts = models.IntegerField( max_email_address = models.IntegerField(
default = 15, default = 15,
help_text = "Maximum number of local email accounts for a standard user" help_text = "Maximum number of local email address for a standard user"
) )
class Meta: class Meta:

View file

@ -66,8 +66,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<td>{{ useroptions.local_email_domain }}</td> <td>{{ useroptions.local_email_domain }}</td>
</tr> </tr>
<tr> <tr>
<th>Nombre de comptes maximum</th> <th>Nombre d'alias mail max</th>
<td>{{ useroptions.max_local_email_accounts }}</td> <td>{{ useroptions.max_email_address }}</td>
</tr> </tr>
</table> </table>

View file

@ -34,7 +34,7 @@ from reversion.admin import VersionAdmin
from .models import ( from .models import (
User, User,
LocalEmailAccount, EMailAddress,
ServiceUser, ServiceUser,
School, School,
ListRight, ListRight,
@ -109,7 +109,7 @@ class BanAdmin(VersionAdmin):
pass pass
class LocalEmailAccountAdmin(VersionAdmin): class EMailAddressAdmin(VersionAdmin):
"""Gestion des alias mail""" """Gestion des alias mail"""
pass pass
@ -219,7 +219,7 @@ admin.site.register(School, SchoolAdmin)
admin.site.register(ListRight, ListRightAdmin) admin.site.register(ListRight, ListRightAdmin)
admin.site.register(ListShell, ListShellAdmin) admin.site.register(ListShell, ListShellAdmin)
admin.site.register(Ban, BanAdmin) admin.site.register(Ban, BanAdmin)
admin.site.register(LocalEmailAccount, LocalEmailAccountAdmin) admin.site.register(EMailAddress, EMailAddressAdmin)
admin.site.register(Whitelist, WhitelistAdmin) admin.site.register(Whitelist, WhitelistAdmin)
admin.site.register(Request, RequestAdmin) admin.site.register(Request, RequestAdmin)
# Now register the new UserAdmin... # Now register the new UserAdmin...

View file

@ -53,7 +53,7 @@ from .models import (
School, School,
ListRight, ListRight,
Whitelist, Whitelist,
LocalEmailAccount, EMailAddress,
ListShell, ListShell,
Ban, Ban,
Adherent, Adherent,
@ -591,16 +591,16 @@ class WhitelistForm(FormRevMixin, ModelForm):
widgets = {'date_end':DateTimePicker} widgets = {'date_end':DateTimePicker}
class LocalEmailAccountForm(FormRevMixin, ModelForm): class EMailAddressForm(FormRevMixin, ModelForm):
"""Create and edit a local email account""" """Create and edit a local email address"""
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
prefix = kwargs.pop('prefix', self.Meta.model.__name__) prefix = kwargs.pop('prefix', self.Meta.model.__name__)
super(LocalEmailAccountForm, self).__init__(*args, prefix=prefix, **kwargs) super(EMailAddressForm, self).__init__(*args, prefix=prefix, **kwargs)
self.fields['local_part'].label = "Local part of the email" self.fields['local_part'].label = "Local part of the email"
self.fields['local_part'].help_text = "Can't contain @" self.fields['local_part'].help_text = "Can't contain @"
class Meta: class Meta:
model = LocalEmailAccount model = EMailAddress
exclude = ['user'] exclude = ['user']

View file

@ -10,21 +10,21 @@ import re2o.mixins
class Migration(migrations.Migration): class Migration(migrations.Migration):
def create_initial_local_email_account(apps, schema_editor): def create_initial_email_address(apps, schema_editor):
db_alias = schema_editor.connection.alias db_alias = schema_editor.connection.alias
User = apps.get_model("users", "User") User = apps.get_model("users", "User")
LocalEmailAccount = apps.get_model("users", "LocalEmailAccount") EMailAddress = apps.get_model("users", "EMailAddress")
users = User.objects.using(db_alias).all() users = User.objects.using(db_alias).all()
for user in users: for user in users:
LocalEmailAccount.objects.using(db_alias).create( EMailAddress.objects.using(db_alias).create(
local_part=user.pseudo, local_part=user.pseudo,
user=user user=user
) )
def delete_all_local_email_accounts(apps, schema_editor): def delete_all_email_address(apps, schema_editor):
db_alias = schema_editor.connection.alias db_alias = schema_editor.connection.alias
LocalEmailAccount = apps.get_model("users", "LocalEmailAccount") EMailAddress = apps.get_model("users", "EMailAddress")
LocalEmailAccount.objects.using(db_alias).delete() EMailAddress.objects.using(db_alias).delete()
dependencies = [ dependencies = [
('users', '0072_auto_20180426_2021'), ('users', '0072_auto_20180426_2021'),
@ -32,14 +32,14 @@ class Migration(migrations.Migration):
operations = [ operations = [
migrations.CreateModel( migrations.CreateModel(
name='LocalEmailAccount', name='EMailAddress',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('local_part', models.CharField(help_text="Local part of the email address", max_length=128, unique=True)), ('local_part', models.CharField(help_text="Local part of the email address", max_length=128, unique=True)),
('user', models.ForeignKey(help_text='User of the local email', on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(help_text='User of the local email', on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
], ],
bases=(re2o.mixins.RevMixin, re2o.mixins.AclMixin, models.Model), bases=(re2o.mixins.RevMixin, re2o.mixins.AclMixin, models.Model),
options={'permissions': (('view_localemailaccount', 'Can see a local email account object'),), 'verbose_name': 'Local email account', 'verbose_name_plural': 'Local email accounts'}, options={'permissions': (('view_emailaddress', 'Can see a local email account object'),), 'verbose_name': 'Local email account', 'verbose_name_plural': 'Local email accounts'},
), ),
migrations.AddField( migrations.AddField(
model_name='user', model_name='user',
@ -51,8 +51,7 @@ class Migration(migrations.Migration):
name='local_email_redirect', name='local_email_redirect',
field=models.BooleanField(default=False, help_text='Whether or not to redirect the local email messages to the main email.'), field=models.BooleanField(default=False, help_text='Whether or not to redirect the local email messages to the main email.'),
), ),
migrations.RunPython(create_initial_local_email_account, migrations.RunPython(create_initial_email_address,
delete_all_local_email_accounts), delete_all_email_address),
),
] ]

View file

@ -683,11 +683,11 @@ class User(RevMixin, FieldPermissionModelMixin, AbstractBaseUser,
return return
@cached_property @cached_property
def local_email_accounts(self): def email_address(self):
if (OptionalUser.get_cached_value('local_email_accounts_enabled') if (OptionalUser.get_cached_value('local_email_accounts_enabled')
and self.local_email_enabled): and self.local_email_enabled):
return self.localemailaccount_set.all() return self.emailaddress_set.all()
return LocalEmailAccount.objects.none() return EMailAddress.objects.none()
def get_next_domain_name(self): def get_next_domain_name(self):
"""Look for an available name for a new interface for """Look for an available name for a new interface for
@ -935,7 +935,7 @@ class User(RevMixin, FieldPermissionModelMixin, AbstractBaseUser,
def clean(self, *args, **kwargs): def clean(self, *args, **kwargs):
"""Check if this pseudo is already used by any mailalias. """Check if this pseudo is already used by any mailalias.
Better than raising an error in post-save and catching it""" Better than raising an error in post-save and catching it"""
if (LocalEmailAccount.objects if (EMailAddress.objects
.filter(local_part=self.pseudo) .filter(local_part=self.pseudo)
.exclude(user=self)): .exclude(user=self)):
raise ValidationError("This pseudo is already in use.") raise ValidationError("This pseudo is already in use.")
@ -1066,7 +1066,7 @@ def user_post_save(**kwargs):
Synchronise le ldap""" Synchronise le ldap"""
is_created = kwargs['created'] is_created = kwargs['created']
user = kwargs['instance'] user = kwargs['instance']
LocalEmailAccount.objects.get_or_create(local_part=user.pseudo, user=user) EMailAddress.objects.get_or_create(local_part=user.pseudo, user=user)
if is_created: if is_created:
user.notif_inscription() user.notif_inscription()
user.state_sync() user.state_sync()
@ -1648,7 +1648,7 @@ class LdapServiceUserGroup(ldapdb.models.Model):
return self.name return self.name
class LocalEmailAccount(RevMixin, AclMixin, models.Model): class EMailAddress(RevMixin, AclMixin, models.Model):
"""Defines a local email account for a user """Defines a local email account for a user
""" """
user = models.ForeignKey( user = models.ForeignKey(
@ -1664,7 +1664,7 @@ class LocalEmailAccount(RevMixin, AclMixin, models.Model):
class Meta: class Meta:
permissions = ( permissions = (
("view_localemailaccount", "Can see a local email account object"), ("view_emailaddress", "Can see a local email account object"),
) )
verbose_name = "Local email account" verbose_name = "Local email account"
verbose_name_plural = "Local email accounts" verbose_name_plural = "Local email accounts"
@ -1678,7 +1678,7 @@ class LocalEmailAccount(RevMixin, AclMixin, models.Model):
@staticmethod @staticmethod
def can_create(user_request, userid, *_args, **_kwargs): def can_create(user_request, userid, *_args, **_kwargs):
"""Check if a user can create a `LocalEmailAccount` object. """Check if a user can create a `EMailAddress` object.
Args: Args:
user_request: The user who wants to create the object. user_request: The user who wants to create the object.
@ -1688,15 +1688,15 @@ class LocalEmailAccount(RevMixin, AclMixin, models.Model):
a message and a boolean which is True if the user can create a message and a boolean which is True if the user can create
a local email account. a local email account.
""" """
if user_request.has_perm('users.add_localemailaccount'): if user_request.has_perm('users.add_emailaddress'):
return True, None return True, None
if not OptionalUser.get_cached_value('local_email_accounts_enabled'): if not OptionalUser.get_cached_value('local_email_accounts_enabled'):
return False, "The local email accounts are not enabled." return False, "The local email accounts are not enabled."
if int(user_request.id) != int(userid): if int(user_request.id) != int(userid):
return False, "You don't have the right to add a local email account to another user." return False, "You don't have the right to add a local email account to another user."
elif user_request.local_email_accounts.count() >= OptionalUser.get_cached_value('max_local_email_accounts'): elif user_request.email_address.count() >= OptionalUser.get_cached_value('max_email_address'):
return False, "You have reached the limit of {} local email account.".format( return False, "You have reached the limit of {} local email account.".format(
OptionalUser.get_cached_value('max_local_email_accounts') OptionalUser.get_cached_value('max_email_address')
) )
return True, None return True, None
@ -1710,7 +1710,7 @@ class LocalEmailAccount(RevMixin, AclMixin, models.Model):
a message and a boolean which is True if the user can see a message and a boolean which is True if the user can see
the local email account. the local email account.
""" """
if user_request.has_perm('users.view_localemailaccount'): if user_request.has_perm('users.view_emailaddress'):
return True, None return True, None
if not OptionalUser.get_cached_value('local_email_accounts_enabled'): if not OptionalUser.get_cached_value('local_email_accounts_enabled'):
return False, "The local email accounts are not enabled." return False, "The local email accounts are not enabled."
@ -1731,7 +1731,7 @@ class LocalEmailAccount(RevMixin, AclMixin, models.Model):
if self.local_part == self.user.pseudo: if self.local_part == self.user.pseudo:
return False, ("You cannot delete a local email account whose " return False, ("You cannot delete a local email account whose "
"local part is the same as the username.") "local part is the same as the username.")
if user_request.has_perm('users.delete_localemailaccount'): if user_request.has_perm('users.delete_emailaddress'):
return True, None return True, None
if not OptionalUser.get_cached_value('local_email_accounts_enabled'): if not OptionalUser.get_cached_value('local_email_accounts_enabled'):
return False, "The local email accounts are not enabled." return False, "The local email accounts are not enabled."
@ -1753,7 +1753,7 @@ class LocalEmailAccount(RevMixin, AclMixin, models.Model):
if self.local_part == self.user.pseudo: if self.local_part == self.user.pseudo:
return False, ("You cannot edit a local email account whose " return False, ("You cannot edit a local email account whose "
"local part is the same as the username.") "local part is the same as the username.")
if user_request.has_perm('users.change_localemailaccount'): if user_request.has_perm('users.change_emailaddress'):
return True, None return True, None
if not OptionalUser.get_cached_value('local_email_accounts_enabled'): if not OptionalUser.get_cached_value('local_email_accounts_enabled'):
return False, "The local email accounts are not enabled." return False, "The local email accounts are not enabled."
@ -1765,5 +1765,5 @@ class LocalEmailAccount(RevMixin, AclMixin, models.Model):
def clean(self, *args, **kwargs): def clean(self, *args, **kwargs):
if "@" in self.local_part: if "@" in self.local_part:
raise ValidationError("The local part cannot contain a @") raise ValidationError("The local part cannot contain a @")
super(LocalEmailAccount, self).clean(*args, **kwargs) super(EMailAddress, self).clean(*args, **kwargs)

View file

@ -25,32 +25,32 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load acl %} {% load acl %}
{% load logs_extra %} {% load logs_extra %}
{% if localemailaccount_list.paginator %} {% if emailaddress_list.paginator %}
{% include "pagination.html" with list=alias_list %} {% include "pagination.html" with list=emailaddress_list %}
{% endif %} {% endif %}
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
<th>Local email address</th> <th>Email address</th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>
{% for localemailaccount in localemailaccount_list %} {% for emailaddress in emailaddress_list %}
<td>{{ localemailaccount.complete_email_address }}</td> <td>{{ emailaddress.complete_email_address }}</td>
<td class="text-right"> <td class="text-right">
{% can_delete localemailaccount %} {% can_delete emailaddress %}
{% include 'buttons/suppr.html' with href='users:del-localemailaccount' id=localemailaccount.id %} {% include 'buttons/suppr.html' with href='users:del-emailaddress' id=emailaddress.id %}
{% acl_end %} {% acl_end %}
{% can_edit localemailaccount %} {% can_edit emailaddress %}
{% include 'buttons/edit.html' with href='users:edit-localemailaccount' id=localemailaccount.id %} {% include 'buttons/edit.html' with href='users:edit-emailaddress' id=emailaddress.id %}
{% acl_end %} {% acl_end %}
{% history_button localemailaccount %} {% history_button emailaddress %}
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
</table> </table>
{% if localemailaccount_list.paginator %} {% if emailaddress_list.paginator %}
{% include "pagination.html" with list=alias_list %} {% include "pagination.html" with list=emailaddress_list %}
{% endif %} {% endif %}

View file

@ -29,6 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% block content %} {% block content %}
<h2>Local email accounts</h2> <h2>Local email accounts</h2>
{% include "users/aff_localemailaccounts.html" with localemailaccount_list=localemailaccount_list %} {% include "users/aff_emailaddress.html" with emailaddress_list=emailaddress_list %}
{% endblock %} {% endblock %}

View file

@ -438,13 +438,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</table> </table>
</div> </div>
{% if users.local_email_enabled %} {% if users.local_email_enabled %}
{% can_create LocalEmailAccount users.id %} {% can_create EMailAddress users.id %}
<a class="btn btn-primary btn-sm" role="button" href="{% url 'users:add-localemailaccount' users.id %}"> <a class="btn btn-primary btn-sm" role="button" href="{% url 'users:add-emailaddress' users.id %}">
<i class="fa fa-plus-square"></i> Add a local email account <i class="fa fa-plus-square"></i> Add an email address
</a> </a>
{% acl_end %} {% acl_end %}
{% if localemailaccount_list %} {% if emailaddress_list %}
{% include "users/aff_localemailaccounts.html" with localemailaccount_list=localemailaccount_list %} {% include "users/aff_emailaddress.html" with emailaddress_list=emailaddress_list %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{% else %} {% else %}

View file

@ -64,15 +64,15 @@ urlpatterns = [
url(r'^del_whitelist/(?P<whitelistid>[0-9]+)$', url(r'^del_whitelist/(?P<whitelistid>[0-9]+)$',
views.del_whitelist, views.del_whitelist,
name='del-whitelist'), name='del-whitelist'),
url(r'^add_localemailaccount/(?P<userid>[0-9]+)$', url(r'^add_emailaddress/(?P<userid>[0-9]+)$',
views.add_localemailaccount, views.add_emailaddress,
name='add-localemailaccount'), name='add-emailaddress'),
url(r'^edit_localemailaccount/(?P<localemailaccountid>[0-9]+)$', url(r'^edit_emailaddress/(?P<emailaddressid>[0-9]+)$',
views.edit_localemailaccount, views.edit_emailaddress,
name='edit-localemailaccount'), name='edit-emailaddress'),
url(r'^del_localemailaccount/(?P<localemailaccountid>[0-9]+)$', url(r'^del_emailaddress/(?P<emailaddressid>[0-9]+)$',
views.del_localemailaccount, views.del_emailaddress,
name='del-localemailaccount'), name='del-emailaddress'),
url(r'^edit_email_settings/(?P<userid>[0-9]+)$', url(r'^edit_email_settings/(?P<userid>[0-9]+)$',
views.edit_email_settings, views.edit_email_settings,
name='edit-email-settings'), name='edit-email-settings'),

View file

@ -81,12 +81,12 @@ from .models import (
Adherent, Adherent,
Club, Club,
ListShell, ListShell,
LocalEmailAccount, EMailAddress,
) )
from .forms import ( from .forms import (
BanForm, BanForm,
WhitelistForm, WhitelistForm,
LocalEmailAccountForm, EMailAddressForm,
EmailSettingsForm, EmailSettingsForm,
DelSchoolForm, DelSchoolForm,
DelListRightForm, DelListRightForm,
@ -496,24 +496,24 @@ def del_whitelist(request, whitelist, **_kwargs):
@login_required @login_required
@can_create(LocalEmailAccount) @can_create(EMailAddress)
@can_edit(User) @can_edit(User)
def add_localemailaccount(request, user, userid): def add_emailaddress(request, user, userid):
""" Create a new local email account""" """ Create a new local email account"""
localemailaccount_instance = LocalEmailAccount(user=user) emailaddress_instance = EMailAddress(user=user)
localemailaccount = LocalEmailAccountForm( emailaddress = EMailAddressForm(
request.POST or None, request.POST or None,
instance=localemailaccount_instance instance=emailaddress_instance
) )
if localemailaccount.is_valid(): if emailaddress.is_valid():
localemailaccount.save() emailaddress.save()
messages.success(request, "Local email account created") messages.success(request, "Local email account created")
return redirect(reverse( return redirect(reverse(
'users:profil', 'users:profil',
kwargs={'userid': str(userid)} kwargs={'userid': str(userid)}
)) ))
return form( return form(
{'userform': localemailaccount, {'userform': emailaddress,
'showCGU': False, 'showCGU': False,
'action_name': 'Add a local email account'}, 'action_name': 'Add a local email account'},
'users/user.html', 'users/user.html',
@ -522,23 +522,23 @@ def add_localemailaccount(request, user, userid):
@login_required @login_required
@can_edit(LocalEmailAccount) @can_edit(EMailAddress)
def edit_localemailaccount(request, localemailaccount_instance, **_kwargs): def edit_emailaddress(request, emailaddress_instance, **_kwargs):
""" Edit a local email account""" """ Edit a local email account"""
localemailaccount = LocalEmailAccountForm( emailaddress = EMailAddressForm(
request.POST or None, request.POST or None,
instance=localemailaccount_instance instance=emailaddress_instance
) )
if localemailaccount.is_valid(): if emailaddress.is_valid():
if localemailaccount.changed_data: if emailaddress.changed_data:
localemailaccount.save() emailaddress.save()
messages.success(request, "Local email account modified") messages.success(request, "Local email account modified")
return redirect(reverse( return redirect(reverse(
'users:profil', 'users:profil',
kwargs={'userid': str(localemailaccount_instance.user.id)} kwargs={'userid': str(emailaddress_instance.user.id)}
)) ))
return form( return form(
{'userform': localemailaccount, {'userform': emailaddress,
'showCGU': False, 'showCGU': False,
'action_name': 'Edit a local email account'}, 'action_name': 'Edit a local email account'},
'users/user.html', 'users/user.html',
@ -547,18 +547,18 @@ def edit_localemailaccount(request, localemailaccount_instance, **_kwargs):
@login_required @login_required
@can_delete(LocalEmailAccount) @can_delete(EMailAddress)
def del_localemailaccount(request, localemailaccount, **_kwargs): def del_emailaddress(request, emailaddress, **_kwargs):
"""Delete a local email account""" """Delete a local email account"""
if request.method == "POST": if request.method == "POST":
localemailaccount.delete() emailaddress.delete()
messages.success(request, "Local email account deleted") messages.success(request, "Local email account deleted")
return redirect(reverse( return redirect(reverse(
'users:profil', 'users:profil',
kwargs={'userid': str(localemailaccount.user.id)} kwargs={'userid': str(emailaddress.user.id)}
)) ))
return form( return form(
{'objet': localemailaccount, 'objet_name': 'localemailaccount'}, {'objet': emailaddress, 'objet_name': 'emailaddress'},
'users/delete.html', 'users/delete.html',
request request
) )
@ -1013,7 +1013,7 @@ def profil(request, users, **_kwargs):
'user_solde': user_solde, 'user_solde': user_solde,
'solde_activated': Paiement.objects.filter(is_balance=True).exists(), 'solde_activated': Paiement.objects.filter(is_balance=True).exists(),
'asso_name': AssoOption.objects.first().name, 'asso_name': AssoOption.objects.first().name,
'localemailaccount_list': users.local_email_accounts, 'emailaddress_list': users.email_address,
'local_email_accounts_enabled': ( 'local_email_accounts_enabled': (
OptionalUser.objects.first().local_email_accounts_enabled OptionalUser.objects.first().local_email_accounts_enabled
) )