123456789101112131415161718192021222324252627282930 |
- from misago.users.permissions import can_edit_profile_details
- def serialize_profilefields_data(request, profilefields, user):
- data = {
- 'id': user.pk,
- 'groups': [],
- 'edit': False,
- }
- can_edit = can_edit_profile_details(request.user, user)
- has_editable_fields = False
- for group in profilefields.get_fields_groups():
- group_fields = []
- for field in group['fields']:
- display_data = field.get_display_data(request, user)
- if display_data:
- group_fields.append(display_data)
- if can_edit and field.is_editable(request, user):
- has_editable_fields = True
- if group_fields:
- data['groups'].append({
- 'name': group['name'],
- 'fields': group_fields
- })
- data['edit'] = can_edit and has_editable_fields
- return data
|