serializers.py 814 B

1234567891011121314151617181920212223
  1. from ..permissions import can_edit_profile_details
  2. def serialize_profilefields_data(request, profilefields, user):
  3. data = {"id": user.pk, "groups": [], "edit": False}
  4. can_edit = can_edit_profile_details(request.user_acl, user)
  5. has_editable_fields = False
  6. for group in profilefields.get_fields_groups():
  7. group_fields = []
  8. for field in group["fields"]:
  9. display_data = field.get_display_data(request, user)
  10. if display_data:
  11. group_fields.append(display_data)
  12. if can_edit and field.is_editable(request, user):
  13. has_editable_fields = True
  14. if group_fields:
  15. data["groups"].append({"name": group["name"], "fields": group_fields})
  16. data["edit"] = can_edit and has_editable_fields
  17. return data