def save(self, *args, **kwargs): if self.household_member.household_structure.household.replaced_by: raise AlreadyReplaced('Household {0} replaced.'.format( self.subject_undecided.household_member.household_structure.household.household_identifier)) self.survey = self.household_member.survey self.registered_subject = self.household_member.registered_subject super(SubjectDeath, self).save(*args, **kwargs)
def save(self, *args, **kwargs): household = models.get_model( 'bcpp_household', 'Household').objects.get( household_identifier=self.household_member.household_structure. household.household_identifier) if household.replaced_by: raise AlreadyReplaced('Household {0} replaced.'.format( household.household_identifier)) self.survey = self.household_member.survey super(SubjectMoved, self).save(*args, **kwargs)
def save(self, *args, **kwargs): selected_member_status = None using = kwargs.get('using') clear_enrollment_fields = [] self.allow_enrollment(using) self.check_eligible_representative_filled(self.household_structure, using=using) if self.household_structure.household.replaced_by: raise AlreadyReplaced('Household {0} replaced.'.format( self.household_structure.household.household_identifier)) if self.member_status == DECEASED: self.set_death_flags else: self.clear_death_flags self.eligible_member = self.is_eligible_member if self.present_today == NO and not self.survival_status == DEAD: self.absent = True if kwargs.get('update_fields') == ['member_status']: # when updated by participation view selected_member_status = self.member_status if self.member_status == BHS_SCREEN: self.undecided = False self.absent = False self.eligible_htc = False self.refused_htc = False if self.refused: self.clear_refusal if self.enrollment_checklist_completed: clear_enrollment_fields = self.clear_enrollment_checklist if self.htc: self.clear_htc if self.member_status == REFUSED: if self.enrollment_checklist_completed: clear_enrollment_fields = self.clear_enrollment_checklist else: self.undecided = True if selected_member_status == UNDECIDED else False self.absent = True if selected_member_status == ABSENT else False if self.eligible_hoh: self.relation = HEAD_OF_HOUSEHOLD if self.intervention and self.plot_enrolled: self.eligible_htc = self.evaluate_htc_eligibility elif not self.intervention: self.eligible_htc = self.evaluate_htc_eligibility household_member_helper = HouseholdMemberHelper(self) self.member_status = household_member_helper.member_status(selected_member_status) if self.auto_filled: self.updated_after_auto_filled = True try: update_fields = kwargs.get('update_fields') + [ 'member_status', 'undecided', 'absent', 'refused', 'eligible_member', 'eligible_htc', 'enrollment_checklist_completed', 'enrollment_loss_completed', 'htc', 'survival_status', 'present_today'] + clear_enrollment_fields kwargs.update({'update_fields': update_fields}) except TypeError: pass #self.is_the_household_member_for_current_survey() super(HouseholdMember, self).save(*args, **kwargs)
def save(self, *args, **kwargs): household = models.get_model('bcpp_household', 'Household').objects.get( household_identifier=self.household_structure.household.household_identifier) if household.replaced_by: raise AlreadyReplaced('Household {0} replaced.'.format(household.household_identifier)) self.registered_subject = self.household_member.registered_subject self.verified_household_head(self.household_member) try: update_fields = kwargs.get('update_fields') + ['registered_subject', ] kwargs.update({'update_fields': update_fields}) except TypeError: pass super(HouseholdInfo, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if self.household_member.household_structure.household.replaced_by: raise AlreadyReplaced('Household {0} replaced.'.format( self.subject_undecided.household_member.household_structure. household.household_identifier)) self.survey = self.household_member.survey self.registered_subject = self.household_member.registered_subject try: update_fields = kwargs.get('update_fields') + [ 'registered_subject', 'survey' ] kwargs.update({'update_fields': update_fields}) except TypeError: pass super(SubjectUndecided, self).save(*args, **kwargs)
def save(self, *args, **kwargs): household = models.get_model('bcpp_household', 'Household').objects.get( household_identifier=self.household_member.household_structure.household.household_identifier) if household.replaced_by: raise AlreadyReplaced('Household {0} replaced.'.format(household.household_identifier)) if self.household_member.member_status != NOT_ELIGIBLE: raise MemberStatusError('Expected member status to be {0}. Got {1}'.format( NOT_ELIGIBLE, self.household_member.member_status)) self.survey = self.household_member.survey self.registered_subject = self.household_member.registered_subject try: update_fields = kwargs.get('update_fields') + ['registered_subject', 'survey', ] kwargs.update({'update_fields': update_fields}) except TypeError: pass super(EnrollmentLoss, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if self.household_member.household_structure.household.replaced_by: raise AlreadyReplaced( 'Model {0}-{1} has its container replaced.'.format( self._meta.object_name, self.pk)) if self.household_member.member_status not in [ HTC, HTC_ELIGIBLE, REFUSED_HTC ]: raise MemberStatusError( 'Expected member status to be on of {0}. ' 'Got {1}'.format([HTC, HTC_ELIGIBLE, REFUSED_HTC], self.household_member.member_status)) self.survey = self.household_member.survey if not self.id: self.tracking_identifier = self.prepare_tracking_identifier() self.registered_subject = self.household_member.registered_subject try: update_fields = kwargs.get('update_fields') + [ 'registered_subject', 'survey', 'tracking_identifier' ] kwargs.update({'update_fields': update_fields}) except TypeError: pass super(SubjectHtc, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if self.subject_undecided.household_member.household_structure.household.replaced_by: raise AlreadyReplaced( 'Model {0}-{1} has its container replaced.'.format( self._meta.object_name, self.pk)) super(SubjectUndecidedEntry, self).save(*args, **kwargs)