def to_json(self): return { 'username': self._user.username, 'email': self._user.email, 'enabled_days': self.get_enabled_isoweekdays(), 'minutes_per_day': self._user.minutes_per_day, 'fitness_level': self._user.fitness_level, 'experience': self._user.experience, 'status': StatusState.from_index(self._user.status_state_id).canonical_name, 'goal': Goal.get_by_id_as_json(self._user.goal_id), 'gender': GenderType.from_index(self._user.gender_id).canonical_name, 'age': self._user.age, 'equipment_ids': self.get_available_equipment_ids(), 'current_week_in_phase': self._user.current_week_in_phase, 'total_weeks_in_phase': self._user.total_weeks_in_phase, 'max_heart_rate': 220 - self._user.age, 'phase': Phase.get_by_id(self._user.current_phase_id).to_json() if self._user.current_phase_id else None }
def update_gender(self, canonical_name): gender_type = GenderType.from_canonical(canonical_name) self._user.gender_id = gender_type.index self._user.save()