ded824bddd
KFetGroup model - Provides a distinction from non-kfet Groups. - Convert code appropriately. - Initially filled from Groups containing K-Fêt (this was the previous distinction) in the kfetauth.0002 migration. Permission proxy model (kfetauth app) - Proxy of the django.contrib.auth Permission model. - Adds the 'kfet' manager which returns only kfet-related permissions. KeepUnselectableModelFormMixin - Helps to keep the unselectable items of many-to-many field for ModelForm. - 'kfetauth' forms (related to KFetGroup) use this mixin. Using KFetGroup allows to simplify the 'kfet/account_group_form.html' template. A bug is also fixed in 'kfet/form_field_snippet.html', which could lead to prevent field displays if they used CheckboxSelectMultiple widget.
30 lines
724 B
Python
30 lines
724 B
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
|
|
from django.db import migrations, models
|
|
|
|
|
|
def existing_groups(apps, schema_editor):
|
|
Group = apps.get_model('auth', 'Group')
|
|
KFetGroup = apps.get_model('kfetauth', 'Group')
|
|
|
|
for group in Group.objects.filter(name__icontains='K-Fêt'):
|
|
kf_group = KFetGroup(group_ptr=group, pk=group.pk, name=group.name)
|
|
kf_group.save()
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
"""
|
|
Data migration.
|
|
|
|
Previously, K-Fêt groups were identified with the presence of 'K-Fêt' in
|
|
their name.
|
|
"""
|
|
|
|
dependencies = [
|
|
('kfetauth', '0001_initial'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(existing_groups),
|
|
]
|