Skip to content

Commit f65ca85

Browse files
committed
Update membership types: merge Managing into Contributing
Update `membership_type` on `Membership` model to reflect 2024 Bylaws Change 1 (psf/bylaws#4) - Create data migration to merge `MANAGING` (3) into `CONTRIBUTING` (4). - Update `Membership` model, remove `MANAGING`. - Update all references: `MANAGING` to `CONTRIBUTING`. Left gap in `membership_type` choice values to ease data migration process. Closes #2566
1 parent 4e2bd04 commit f65ca85

5 files changed

+44
-4
lines changed

users/actions.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
def export_csv(modeladmin, request, queryset):
77
membership_name = {
8-
0: 'Basic', 1: 'Supporting', 2: 'Sponsor', 3: 'Managing',
8+
0: 'Basic', 1: 'Supporting', 2: 'Sponsor',
99
4: 'Contributing', 5: 'Fellow'
1010
}
1111
response = HttpResponse(content_type='text/csv')
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Generated by Django 4.2.17 on 2025-01-21 22:56
2+
3+
# Data migration: Merge MANAGING (3) membership_type into CONTRIBUTING (4)
4+
5+
from django.db import migrations
6+
7+
8+
def update_membership_level(apps, schema_editor):
9+
Membership = apps.get_model('users', 'Membership')
10+
Membership.objects.filter(membership_type=3).update(membership_type=4)
11+
12+
13+
class Migration(migrations.Migration):
14+
15+
dependencies = [
16+
('users', '0015_alter_user_first_name'),
17+
]
18+
19+
operations = [
20+
migrations.RunPython(
21+
update_membership_level,
22+
migrations.RunPython.noop
23+
)
24+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 4.2.17 on 2025-01-22 03:20
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('users', '0016_auto_20250121_2256'),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name='membership',
15+
name='membership_type',
16+
field=models.IntegerField(choices=[(0, 'Basic Member'), (1, 'Supporting Member'), (2, 'Sponsor Member'), (4, 'Contributing Member'), (5, 'Fellow')], default=0),
17+
),
18+
]

users/models.py

-2
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,13 @@ class Membership(models.Model):
7777
BASIC = 0
7878
SUPPORTING = 1
7979
SPONSOR = 2
80-
MANAGING = 3
8180
CONTRIBUTING = 4
8281
FELLOW = 5
8382

8483
MEMBERSHIP_CHOICES = (
8584
(BASIC, 'Basic Member'),
8685
(SUPPORTING, 'Supporting Member'),
8786
(SPONSOR, 'Sponsor Member'),
88-
(MANAGING, 'Managing Member'),
8987
(CONTRIBUTING, 'Contributing Member'),
9088
(FELLOW, 'Fellow'),
9189
)

users/tests/test_models.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def test_membership(self):
3434

3535
def test_higher_level_member(self):
3636
member1 = MembershipFactory()
37-
member2 = MembershipFactory(membership_type=Membership.SPONSOR)
37+
member2 = MembershipFactory(membership_type=Membership.CONTRIBUTING)
3838

3939
self.assertFalse(member1.higher_level_member)
4040
self.assertTrue(member2.higher_level_member)

0 commit comments

Comments
 (0)