コード例 #1
0
def new(request, household_id):
    member_form = HouseholdMemberForm()
    breadcrumbs = [('Households', reverse('list_household_page')),]
    try:
        household = Household.objects.get(id=household_id)
        breadcrumbs.append(('Household', reverse('view_household_page', args=(household_id, ))),)
        if request.method == 'POST':
            member_form = HouseholdMemberForm(data=request.POST)
            interviewer = household.last_registrar
            survey = SurveyAllocation.get_allocation(interviewer)
            if member_form.is_valid():
                household_member = member_form.save(commit=False)
                household_member.household = household
                household_member.registrar = household.last_registrar
                household_member.survey_listing = SurveyHouseholdListing.get_or_create_survey_listing(interviewer,
                                                                                                      survey)
                household_member.registration_channel = WebAccess.choice_name()
                household_member.save()
                messages.success(request, 'Household member successfully created.')
                return HttpResponseRedirect('/households/%s/'%(str(household_id)))
    except Household.DoesNotExist:
        messages.error(request, 'There are  no households currently registered  for this ID.')
        return HttpResponseRedirect('/households/')
    request.breadcrumbs(breadcrumbs)
    return render(request, 'household_member/new.html', {'member_form': member_form, 'button_label': 'Create'})
コード例 #2
0
ファイル: household.py プロジェクト: EswarSakamuri/mymics
def save(request, instance=None):
    head = None
    if instance:
        handler = reverse('edit_household_page', args=(instance.pk, ))
        head = instance.get_head()
        heading = 'Edit Household'
        cancel_url = reverse('view_household_page', args=(instance.pk, ))
    else:
        handler = reverse('new_household_page')
        heading = 'New Household'
        cancel_url = reverse('list_household_page')
    locations_filter = LocationsFilterForm(data=request.GET, include_ea=True)
    householdform = HouseholdForm(instance=instance, eas=locations_filter.get_enumerations())
    headform = HouseholdHeadForm(instance=head)
    if request.method == 'POST':
        householdform = HouseholdForm(data=request.POST, instance=instance)
        headform = HouseholdHeadForm(data=request.POST, instance=head)
        if householdform.is_valid():
            household = householdform.save(commit=False)
            interviewer = household.last_registrar
            survey = SurveyAllocation.get_allocation(interviewer)
            if survey:
                survey_listing = SurveyHouseholdListing.get_or_create_survey_listing(interviewer, survey)
                household.listing = survey_listing.listing
                household.save()
                householdform = HouseholdForm()
                # import pdb; pdb.set_trace()
                if headform.is_valid():
                    head = headform.save(commit=False)
                    head.household = household
                    head.registrar = interviewer
                    head.survey_listing = survey_listing
                    head.registration_channel = WebAccess.choice_name()
                    head.save()
                    if household.head_desc is not head.surname:
                        household.head_desc = head.surname
                        household.save()
                    messages.info(request, 'Household %s saved successfully' % household.house_number)
                    return HttpResponseRedirect(reverse('view_household_page', args=(household.pk, )))
                handler = reverse('new_household_page')
            else:
                messages.error(request, 'No open survey for %s' % interviewer.name)
    context = {
               'headform': headform,
               'householdform': householdform,
               'action': handler,
                'cancel_url' : cancel_url,
               'heading':heading,
               'id': "create-household-form",
               'button_label': "Save",
               'loading_text': "Creating...",
               'locations_filter' : locations_filter}
    request.breadcrumbs([
        ('Households', reverse('list_household_page')),
    ])
    return render(request, 'households/new.html', context)
コード例 #3
0
def new(request, household_id):
    member_form = HouseholdMemberForm()
    breadcrumbs = [
        ('Households', reverse('list_household_page')),
    ]
    try:
        household = Household.objects.get(id=household_id)
        breadcrumbs.append(
            ('Household', reverse('view_household_page',
                                  args=(household_id, ))), )
        if request.method == 'POST':
            member_form = HouseholdMemberForm(data=request.POST)
            interviewer = household.last_registrar
            survey = SurveyAllocation.get_allocation(interviewer)
            if member_form.is_valid():
                household_member = member_form.save(commit=False)
                household_member.household = household
                household_member.registrar = household.last_registrar
                household_member.survey_listing = SurveyHouseholdListing.get_or_create_survey_listing(
                    interviewer, survey)
                household_member.registration_channel = WebAccess.choice_name()
                household_member.save()
                messages.success(request,
                                 'Household member successfully created.')
                return HttpResponseRedirect('/households/%s/' %
                                            (str(household_id)))
    except Household.DoesNotExist:
        messages.error(
            request,
            'There are  no households currently registered  for this ID.')
        return HttpResponseRedirect('/households/')
    request.breadcrumbs(breadcrumbs)
    return render(request, 'household_member/new.html', {
        'member_form': member_form,
        'button_label': 'Create'
    })
コード例 #4
0
ファイル: odk_helper.py プロジェクト: EswarSakamuri/mymics
def get_survey(interviewer):
    return SurveyAllocation.get_allocation(interviewer)
コード例 #5
0
ファイル: odk_helper.py プロジェクト: unicefuganda/uSurvey
def get_survey(interviewer):
    return SurveyAllocation.get_allocation(interviewer)
コード例 #6
0
ファイル: household.py プロジェクト: rajkumarenmu/uSurvey
def save(request, instance=None):
    head = None
    if instance:
        handler = reverse('edit_household_page', args=(instance.pk, ))
        head = instance.get_head()
        heading = 'Edit Household'
        cancel_url = reverse('view_household_page', args=(instance.pk, ))
    else:
        handler = reverse('new_household_page')
        heading = 'New Household'
        cancel_url = reverse('list_household_page')
    locations_filter = LocationsFilterForm(data=request.GET, include_ea=True)
    householdform = HouseholdForm(instance=instance,
                                  eas=locations_filter.get_enumerations())
    headform = HouseholdHeadForm(instance=head)
    if request.method == 'POST':
        householdform = HouseholdForm(data=request.POST, instance=instance)
        headform = HouseholdHeadForm(data=request.POST, instance=head)
        if householdform.is_valid():
            household = householdform.save(commit=False)
            interviewer = household.last_registrar
            survey = SurveyAllocation.get_allocation(interviewer)
            if survey:
                survey_listing = SurveyHouseholdListing.get_or_create_survey_listing(
                    interviewer, survey)
                household.listing = survey_listing.listing
                household.save()
                householdform = HouseholdForm()
                # import pdb; pdb.set_trace()
                if headform.is_valid():
                    head = headform.save(commit=False)
                    head.household = household
                    head.registrar = interviewer
                    head.survey_listing = survey_listing
                    head.registration_channel = WebAccess.choice_name()
                    head.save()
                    if household.head_desc is not head.surname:
                        household.head_desc = head.surname
                        household.save()
                    messages.info(
                        request, 'Household %s saved successfully' %
                        household.house_number)
                    return HttpResponseRedirect(
                        reverse('view_household_page', args=(household.pk, )))
                handler = reverse('new_household_page')
            else:
                messages.error(request,
                               'No open survey for %s' % interviewer.name)
    context = {
        'headform': headform,
        'householdform': householdform,
        'action': handler,
        'cancel_url': cancel_url,
        'heading': heading,
        'id': "create-household-form",
        'button_label': "Save",
        'loading_text': "Creating...",
        'locations_filter': locations_filter
    }
    request.breadcrumbs([
        ('Households', reverse('list_household_page')),
    ])
    return render(request, 'households/new.html', context)
コード例 #7
0
ファイル: household.py プロジェクト: rajkumarenmu/uSurvey
 def clean_registrar(self):
     if SurveyAllocation.get_allocation(
             self.cleaned_data['last_registrar']) is None:
         raise ValidationError(
             "No open survey available for this Interviewer yet.")
     return self.cleaned_data['registrar']
コード例 #8
0
ファイル: household.py プロジェクト: EswarSakamuri/mymics
 def clean_registrar(self):
     if SurveyAllocation.get_allocation(self.cleaned_data['last_registrar']) is None:
         raise ValidationError("No open survey available for this Interviewer yet.")
     return self.cleaned_data['registrar']