Projet

Général

Profil

0001-add-models-for-juridical-person-management-58554.patch

Paul Marillonnet, 20 décembre 2021 17:44

Télécharger (6,87 ko)

Voir les différences:

Subject: [PATCH] add models for juridical person management (#58554)

 .../migrations/0028_juridicalentity.py        | 40 ++++++++++++
 src/authentic2/a2_rbac/models.py              | 15 +++++
 .../migrations/0028_usersubprofile.py         | 62 +++++++++++++++++++
 src/authentic2/custom_user/models.py          | 21 +++++++
 4 files changed, 138 insertions(+)
 create mode 100644 src/authentic2/a2_rbac/migrations/0028_juridicalentity.py
 create mode 100644 src/authentic2/custom_user/migrations/0028_usersubprofile.py
src/authentic2/a2_rbac/migrations/0028_juridicalentity.py
1
# Generated by Django 2.2.19 on 2021-12-20 16:33
2

  
3
from django.db import migrations, models
4

  
5

  
6
class Migration(migrations.Migration):
7

  
8
    dependencies = [
9
        ('a2_rbac', '0027_auto_20211213_0949'),
10
    ]
11

  
12
    operations = [
13
        migrations.CreateModel(
14
            name='JuridicalEntity',
15
            fields=[
16
                (
17
                    'id',
18
                    models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
19
                ),
20
                ('name', models.CharField(max_length=128, verbose_name='name')),
21
                (
22
                    'kind',
23
                    models.CharField(
24
                        choices=[('national', 'national'), ('local', 'local')],
25
                        max_length=32,
26
                        verbose_name='kind',
27
                    ),
28
                ),
29
                ('registration_number', models.CharField(max_length=64, verbose_name='registration_number')),
30
                (
31
                    'status',
32
                    models.CharField(
33
                        choices=[('active', 'active'), ('deactivated', 'deactivated')],
34
                        max_length=32,
35
                        verbose_name='entity status',
36
                    ),
37
                ),
38
            ],
39
        ),
40
    ]
src/authentic2/a2_rbac/models.py
417 417
        return {'name': self.name, 'kind': self.kind, 'value': self.value}
418 418

  
419 419

  
420
class JuridicalEntity(models.Model):
421
    KINDS = (
422
        ('national', _('national')),
423
        ('local', _('local')),
424
    )
425
    STATUSES = (
426
        ('active', _('active')),
427
        ('deactivated', _('deactivated')),
428
    )
429
    name = models.CharField(max_length=128, verbose_name=_('name'))
430
    kind = models.CharField(max_length=32, choices=KINDS, verbose_name=_('kind'))
431
    registration_number = models.CharField(max_length=64, verbose_name=_('registration_number'))
432
    status = models.CharField(max_length=32, choices=STATUSES, verbose_name=_('entity status'))
433

  
434

  
420 435
GenericRelation(Permission, content_type_field='target_ct', object_id_field='target_id').contribute_to_class(
421 436
    ContentType, 'admin_perms'
422 437
)
src/authentic2/custom_user/migrations/0028_usersubprofile.py
1
# Generated by Django 2.2.19 on 2021-12-20 16:33
2

  
3
import django.db.models.deletion
4
import django.utils.timezone
5
from django.conf import settings
6
from django.db import migrations, models
7

  
8

  
9
class Migration(migrations.Migration):
10

  
11
    dependencies = [
12
        ('a2_rbac', '0028_juridicalentity'),
13
        ('custom_user', '0027_user_deactivation_reason'),
14
    ]
15

  
16
    operations = [
17
        migrations.CreateModel(
18
            name='UserSubprofile',
19
            fields=[
20
                (
21
                    'id',
22
                    models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
23
                ),
24
                (
25
                    'kind',
26
                    models.CharField(
27
                        choices=[('administrator', 'administrator'), ('mandatory', 'mandatory')],
28
                        max_length=32,
29
                        verbose_name='kind',
30
                    ),
31
                ),
32
                (
33
                    'creation_timestamp',
34
                    models.DateTimeField(
35
                        default=django.utils.timezone.now, verbose_name='creation timestamp'
36
                    ),
37
                ),
38
                (
39
                    'validation_timestamp',
40
                    models.DateTimeField(default=None, null=True, verbose_name='validation timestamp'),
41
                ),
42
                (
43
                    'juridical_entity',
44
                    models.ForeignKey(
45
                        on_delete=django.db.models.deletion.CASCADE,
46
                        related_name='managers',
47
                        to='a2_rbac.JuridicalEntity',
48
                        verbose_name='juridical entity',
49
                    ),
50
                ),
51
                (
52
                    'user',
53
                    models.ForeignKey(
54
                        on_delete=django.db.models.deletion.CASCADE,
55
                        related_name='subprofiles',
56
                        to=settings.AUTH_USER_MODEL,
57
                        verbose_name='user',
58
                    ),
59
                ),
60
            ],
61
        ),
62
    ]
src/authentic2/custom_user/models.py
460 460
        verbose_name = _('deleted user')
461 461
        verbose_name_plural = _('deleted users')
462 462
        ordering = ('deleted', 'id')
463

  
464

  
465
class UserSubprofile(models.Model):
466
    KINDS = (
467
        ('administrator', _('administrator')),
468
        ('mandatory', _('mandatory')),
469
    )
470
    user = models.ForeignKey(
471
        to=User, verbose_name=_('user'), related_name='subprofiles', on_delete=models.CASCADE
472
    )
473
    kind = models.CharField(max_length=32, choices=KINDS, verbose_name=_('kind'))
474
    juridical_entity = models.ForeignKey(
475
        to='a2_rbac.JuridicalEntity',
476
        verbose_name=_('juridical entity'),
477
        related_name='managers',
478
        on_delete=models.CASCADE,
479
    )
480
    creation_timestamp = models.DateTimeField(verbose_name=_('creation timestamp'), default=timezone.now)
481
    validation_timestamp = models.DateTimeField(
482
        verbose_name=_('validation timestamp'), null=True, default=None
483
    )
463
-