mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-06-26 03:57:36 +02:00
Regroup everything here
This commit is contained in:
0
note_adherents/__init__.py
Normal file
0
note_adherents/__init__.py
Normal file
75
note_adherents/models.py
Normal file
75
note_adherents/models.py
Normal file
@ -0,0 +1,75 @@
|
||||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2016-2019 by BDE
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.db.models.signals import post_save
|
||||
from django.dispatch import receiver
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
||||
class Profile(models.Model):
|
||||
"""
|
||||
An user profile
|
||||
|
||||
We do not want to patch the Django Contrib Auth User class
|
||||
so this model add an user profile with additional information.
|
||||
"""
|
||||
user = models.OneToOneField(
|
||||
settings.AUTH_USER_MODEL,
|
||||
on_delete=models.CASCADE,
|
||||
)
|
||||
phone_number = models.CharField(
|
||||
max_length=255,
|
||||
verbose_name=_('phone number'),
|
||||
)
|
||||
section = models.CharField(
|
||||
max_length=255,
|
||||
verbose_name=_('section'),
|
||||
help_text=_('e.g. "1A0", "9A♥", "SAPHIRE"'),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('user profile')
|
||||
verbose_name_plural = _('user profile')
|
||||
|
||||
def __str__(self):
|
||||
return self.user.get_username()
|
||||
|
||||
|
||||
class MembershipFee(models.Model):
|
||||
"""
|
||||
TODO
|
||||
"""
|
||||
user = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
on_delete=models.PROTECT,
|
||||
)
|
||||
date = models.CharField(
|
||||
max_length=255,
|
||||
verbose_name=_('phone number'),
|
||||
)
|
||||
amount = models.CharField(
|
||||
max_length=255,
|
||||
verbose_name=_('section'),
|
||||
help_text=_('e.g. "1A0", "9A♥", "SAPHIRE"'),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('user profile')
|
||||
verbose_name_plural = _('user profile')
|
||||
|
||||
def __str__(self):
|
||||
return self.user.get_username()
|
||||
|
||||
|
||||
@receiver(post_save, sender=User)
|
||||
def save_user_profile(sender, instance, created, **_kwargs):
|
||||
"""
|
||||
Hook to save an user profile when an user is updated
|
||||
"""
|
||||
if created:
|
||||
Profile.objects.create(user=instance)
|
||||
instance.profile.save()
|
0
note_adherents/tests/__init__.py
Normal file
0
note_adherents/tests/__init__.py
Normal file
Reference in New Issue
Block a user