Skip to content

Commit d696021

Browse files
authored
Merge pull request #372 from pythoncanarias/issue#371
Nuevo campo de email de socio, obligatorio y único
2 parents b1bd052 + 7851648 commit d696021

8 files changed

Lines changed: 67 additions & 9 deletions

File tree

apps/api/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def serializer_staff(position):
135135
'position': position.get_position_display(),
136136
'first_name': position.member.user.first_name,
137137
'last_name': position.member.user.last_name,
138-
'email': position.member.user.email,
138+
'email': position.member.email,
139139
}
140140

141141

apps/members/migrations/0022_auto_20210613_2114.py renamed to apps/members/migrations/0022_auto_20210604_1031.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Generated by Django 2.2.24 on 2021-06-13 20:14
1+
# Generated by Django 2.2.20 on 2021-06-04 10:31
22

33
from django.db import migrations
44

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 2.2.24 on 2021-09-22 18:38
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('members', '0022_auto_20210604_1031'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='member',
15+
name='email',
16+
field=models.EmailField(blank=True, default='', max_length=320),
17+
),
18+
]
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Generated by Django 2.2.24 on 2021-09-22 18:45
2+
3+
from django.db import migrations
4+
5+
6+
def get_email_from_user(apps, schema_editor):
7+
Member = apps.get_model('members', 'Member')
8+
for member in Member.objects.all():
9+
member.email = member.user.email
10+
member.save()
11+
12+
13+
class Migration(migrations.Migration):
14+
15+
dependencies = [
16+
('members', '0023_member_email'),
17+
]
18+
19+
operations = [
20+
migrations.RunPython(get_email_from_user)
21+
]
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 2.2.24 on 2021-09-22 18:52
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('members', '0024_copy_member_email_from_user_model'),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name='member',
15+
name='email',
16+
field=models.EmailField(max_length=320, unique=True),
17+
),
18+
]

apps/members/models.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ class Meta:
2828
is_founder = models.BooleanField(default=False)
2929
is_honorary = models.BooleanField(default=False)
3030
remarks = models.CharField(max_length=512, blank=True)
31+
email = models.EmailField(
32+
max_length=320,
33+
unique=True,
34+
blank=False,
35+
)
3136

3237
@classmethod
3338
def load_from_username(cls, username):
@@ -42,10 +47,6 @@ def load_from_username(cls, username):
4247
def full_name(self):
4348
return self.user.first_name + ' ' + self.user.last_name
4449

45-
@property
46-
def email(self):
47-
return self.user.email
48-
4950
@property
5051
def member_id(self):
5152
return self.id

apps/members/templates/members/profile.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ <h3 class="panel-heading">Datos personales</h3>
1212
<tr> <th>Username</th> <td><code>{{ member.user.username }}</code></td> </tr>
1313
<tr> <th>Nombre</th> <td>{{ member.user.first_name }}</td> </tr>
1414
<tr> <th>Apellidos</th> <td>{{ member.user.last_name }}</td> </tr>
15-
<tr> <th>Email</th> <td>{{ member.user.email }}</td> </tr>
15+
<tr> <th>Email</th> <td>{{ member.email }}</td> </tr>
1616
</table>
1717
</div>
1818
</nav>

apps/notices/tasks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def create_notice_message(notice):
3535
msg = Mail(
3636
from_email=Email(organization.email, organization.name),
3737
subject=subject,
38-
to_email=Email(member.user.email),
38+
to_email=Email(member.email),
3939
content=Content('text/html', as_markdown(body)),
4040
)
4141
return msg
@@ -44,7 +44,7 @@ def create_notice_message(notice):
4444
@job
4545
def task_send_notice(notice):
4646
# Preconditions
47-
if not notice.member.user.email:
47+
if not notice.member.email:
4848
print("El usuario no tiene asignado email")
4949
return
5050
msg = create_notice_message(notice)

0 commit comments

Comments
 (0)