Skip to content

Commit a0ea1d9

Browse files
committed
Add additional roles, removed needless slash in password reset url
1 parent 9a167b2 commit a0ea1d9

5 files changed

Lines changed: 63 additions & 5 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,4 +135,5 @@ dmypy.json
135135

136136
cache
137137

138-
static
138+
static
139+
staticfiles
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Generated by Django 4.1.2 on 2022-11-04 17:57
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("users", "0010_alter_expert_user_alter_investor_user_and_more"),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name="expert",
15+
name="additional_role",
16+
field=models.PositiveSmallIntegerField(
17+
choices=[(2, "Ментор"), (3, "Эксперт"), (4, "Инвестор")], null=True
18+
),
19+
),
20+
migrations.AddField(
21+
model_name="investor",
22+
name="additional_role",
23+
field=models.PositiveSmallIntegerField(
24+
choices=[(2, "Ментор"), (3, "Эксперт"), (4, "Инвестор")], null=True
25+
),
26+
),
27+
migrations.AddField(
28+
model_name="mentor",
29+
name="additional_role",
30+
field=models.PositiveSmallIntegerField(
31+
choices=[(2, "Ментор"), (3, "Эксперт"), (4, "Инвестор")], null=True
32+
),
33+
),
34+
]

users/models.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,26 @@ def __str__(self):
8686
return f"User<{self.id}> - {self.first_name} {self.last_name}"
8787

8888

89+
class AbstractUserWithRole(models.Model):
90+
MENTOR = 2
91+
EXPERT = 3
92+
INVESTOR = 4
93+
94+
VERBOSE_ROLE_TYPES = (
95+
(MENTOR, "Ментор"),
96+
(EXPERT, "Эксперт"),
97+
(INVESTOR, "Инвестор"),
98+
)
99+
100+
additional_role = models.PositiveSmallIntegerField(
101+
choices=VERBOSE_ROLE_TYPES,
102+
null=True,
103+
)
104+
105+
class Meta:
106+
abstract = True
107+
108+
89109
class Member(models.Model):
90110
user = models.OneToOneField(
91111
CustomUser, on_delete=models.CASCADE, related_name="member"
@@ -99,7 +119,7 @@ def __str__(self):
99119
return f"Member<{self.id}> - {self.user.first_name} {self.user.last_name}"
100120

101121

102-
class Mentor(models.Model):
122+
class Mentor(AbstractUserWithRole):
103123
"""
104124
Mentor model
105125
@@ -119,7 +139,7 @@ def __str__(self):
119139
return f"Mentor<{self.id}> - {self.user.first_name} {self.user.last_name}"
120140

121141

122-
class Expert(models.Model):
142+
class Expert(AbstractUserWithRole):
123143
"""
124144
Expert model
125145
@@ -143,7 +163,7 @@ def __str__(self):
143163
return f"Expert<{self.id}> - {self.user.first_name} {self.user.last_name}"
144164

145165

146-
class Investor(models.Model):
166+
class Investor(AbstractUserWithRole):
147167
"""
148168
Investor model
149169

users/serializers.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ class Meta:
2020
fields = [
2121
"job",
2222
"useful_to_project",
23+
"additional_role",
2324
]
2425

2526

@@ -29,6 +30,7 @@ class Meta:
2930
fields = [
3031
"preferred_industries",
3132
"useful_to_project",
33+
"additional_role",
3234
]
3335

3436

@@ -38,6 +40,7 @@ class Meta:
3840
fields = [
3941
"interaction_process_description",
4042
"preferred_industries",
43+
"additional_role",
4144
]
4245

4346

users/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
name="password_reset_sent",
3232
),
3333
re_path(
34-
r"^password-reset//(?P<key>[-:\w]+)/$",
34+
r"^password-reset/(?P<key>[-:\w]+)/$",
3535
ResetPassword.as_view(),
3636
name="password_reset",
3737
),

0 commit comments

Comments
 (0)