Example #1
0
def add_condition(request):
    response = None
    condition_form = GroupConditionForm()

    if request.is_ajax():
        condition_form = GroupConditionForm(data=request.POST)
        _process_condition_form(request, condition_form)
        conditions = _get_conditions_hash()
        return HttpResponse(json.dumps(conditions),
                            content_type='application/json')

    elif request.method == 'POST':
        condition_form = GroupConditionForm(data=request.POST)
        response = _process_condition_form(request, condition_form)
    context = {
        'button_label': 'Save',
        'title': 'New Criteria',
        'id': 'add-condition-form',
        'action': '/conditions/new/',
        'request': request,
        'condition_form': condition_form
    }

    return response or render(
        request, 'household_member_groups/conditions/new.html', context)
    def test_invalid_value_which_is_not_an_integer_form(self):
        form_data = {
            'value' : 0.1,
            'attribute': "AGE",
            'condition': 'GREATER_THAN'
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
 def test_valid_form(self):
     form_data = {
         'value' : 3,
         'attribute': "AGE",
         'condition': 'GREATER_THAN'
     }
     
     group_condition_form = GroupConditionForm(form_data)
     self.assertTrue(group_condition_form.is_valid())
Example #4
0
    def test_valid_form(self):
        form_data = {
            'value': 3,
            'attribute': "AGE",
            'condition': 'GREATER_THAN'
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertTrue(group_condition_form.is_valid())
Example #5
0
    def test_invalid_value_which_is_not_an_integer_form(self):
        form_data = {
            'value': 0.1,
            'attribute': "AGE",
            'condition': 'GREATER_THAN'
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
Example #6
0
    def test_valid_form_due_to_invalid_condition(self):
        form_data = {'value': 3, 'attribute': "AGE", 'condition': 'GREATER'}

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        self.assertEqual(1, len(group_condition_form.errors))
        self.assertTrue(group_condition_form.errors.has_key("condition"))
        invalid_condition_choice = "Select a valid choice. GREATER is not one of the available choices."
        self.assertEqual(group_condition_form.errors["condition"][0],
                         invalid_condition_choice)
    def test_general_only_accepts_equal_condition(self):
        form_data = {
            'value': 'HEAD',
            'attribute': GroupCondition.GROUP_TYPES['GENERAL'],
            'condition': GroupCondition.CONDITIONS['GREATER_THAN'],
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        message = "GENERAL can only have condition: EQUALS."
        self.assertEqual([message], group_condition_form.errors['condition'])
Example #8
0
    def test_gender_only_accepts_male_or_female_values(self):
        form_data = {
            'value': 'not Male',
            'attribute': GroupCondition.GROUP_TYPES['GENDER'],
            'condition': GroupCondition.CONDITIONS['EQUALS'],
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        message = "GENDER can only have male or female values."
        self.assertEqual([message], group_condition_form.errors['value'])
    def test_age_should_be_positive(self):
        form_data = {
            'value': '-3',
            'attribute': GroupCondition.GROUP_TYPES['AGE'],
            'condition': GroupCondition.CONDITIONS['EQUALS'],
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        message = "Age cannot be negative."
        self.assertEqual([message], group_condition_form.errors['value'])
Example #10
0
    def test_valid_form_due_to_empty_fields_present(self):
        form_field_keys = ['value', 'attribute', 'condition']
        form_data = {'value': '', 'attribute': "", 'condition': ''}

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        self.assertEqual(3, len(group_condition_form.errors))
        [
            self.assertTrue(group_condition_form.errors.has_key(key))
            for key in form_field_keys
        ]
    def test_gender_only_accepts_male_or_female_values(self):
        form_data = {
            'value': 'not Male',
            'attribute': GroupCondition.GROUP_TYPES['GENDER'],
            'condition': GroupCondition.CONDITIONS['EQUALS'],
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        message = "GENDER can only have male or female values."
        self.assertEqual([message], group_condition_form.errors['value'])
    def test_general_only_accepts_head_as_value(self):
        form_data = {
            'value': 'not HEAD',
            'attribute': GroupCondition.GROUP_TYPES['GENERAL'],
            'condition': GroupCondition.CONDITIONS['EQUALS'],
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        message = "GENERAL can only have the value: HEAD."
        self.assertEqual([message], group_condition_form.errors['value'])
Example #13
0
    def test_general_only_accepts_head_as_value(self):
        form_data = {
            'value': 'not HEAD',
            'attribute': GroupCondition.GROUP_TYPES['GENERAL'],
            'condition': GroupCondition.CONDITIONS['EQUALS'],
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        message = "GENERAL can only have the value: HEAD."
        self.assertEqual([message], group_condition_form.errors['value'])
Example #14
0
    def test_general_only_accepts_equal_condition(self):
        form_data = {
            'value': 'HEAD',
            'attribute': GroupCondition.GROUP_TYPES['GENERAL'],
            'condition': GroupCondition.CONDITIONS['GREATER_THAN'],
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        message = "GENERAL can only have condition: EQUALS."
        self.assertEqual([message], group_condition_form.errors['condition'])
Example #15
0
    def test_age_should_be_positive(self):
        form_data = {
            'value': '-3',
            'attribute': GroupCondition.GROUP_TYPES['AGE'],
            'condition': GroupCondition.CONDITIONS['EQUALS'],
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        message = "Age cannot be negative."
        self.assertEqual([message], group_condition_form.errors['value'])
    def test_valid_form_due_to_empty_fields_present(self):
        form_field_keys = ['value', 'attribute', 'condition']
        form_data = {
            'value': '',
            'attribute': "",
            'condition': ''
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        self.assertEqual(3, len(group_condition_form.errors))
        [self.assertTrue(group_condition_form.errors.has_key(key)) for key in form_field_keys]
    def test_valid_form_due_to_invalid_condition(self):
        form_data = {
            'value' : 3,
            'attribute': "AGE",
            'condition': 'GREATER'
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertFalse(group_condition_form.is_valid())
        self.assertEqual(1, len(group_condition_form.errors))
        self.assertTrue(group_condition_form.errors.has_key("condition"))
        invalid_condition_choice = "Select a valid choice. GREATER is not one of the available choices."
        self.assertEqual(group_condition_form.errors["condition"][0], invalid_condition_choice)
Example #18
0
def add_group(request):
    params = request.POST
    response = None
    group_form = HouseholdMemberGroupForm(
        initial={'order': HouseholdMemberGroup.max_order() + 1})

    if request.method == 'POST':
        group_form = HouseholdMemberGroupForm(params)
        response = _process_groupform(request,
                                      group_form,
                                      action='added',
                                      redirect_url='/groups/')
    context = {
        'groups_form': group_form,
        'conditions': GroupCondition.objects.all(),
        'title': "New Group",
        'button_label': 'Create',
        'id': 'add_group_form',
        'action': "/groups/new/",
        'cancel_url': '/groups/',
        'condition_form': GroupConditionForm(),
        'condition_title': "New Eligibility Criteria"
    }
    request.breadcrumbs([
        ('Member Groups', reverse('household_member_groups_page')),
    ])
    return response or render(request, 'household_member_groups/new.html',
                              context)
Example #19
0
def edit_group(request, group_id):
    params = request.POST
    response = None
    group = HouseholdMemberGroup.objects.get(id=group_id)
    group_form = HouseholdMemberGroupForm(
        instance=group,
        initial={'conditions': [gp.id for gp in group.conditions.all()]})
    if request.method == 'POST':
        group_form = HouseholdMemberGroupForm(params, instance=group)
        redirect_url = "/groups/%s/" % group_id
        performed_action = 'edited'
        response = _process_groupform(request, group_form, performed_action,
                                      redirect_url)
    context = {
        'groups_form': group_form,
        'conditions': GroupCondition.objects.all(),
        'title': "Edit Group",
        'button_label': 'Save',
        'id': 'add_group_form',
        'action': "/groups/%s/edit/" % group_id,
        'condition_form': GroupConditionForm(),
        'condition_title': "New Criteria"
    }
    request.breadcrumbs([
        ('Member Groups', reverse('household_member_groups_page')),
    ])
    return response or render(request, 'household_member_groups/new.html',
                              context)
Example #20
0
def add_group_condition(request, group_id):
    condition_form = GroupConditionForm()
    if request.method == 'POST':
        condition_form = GroupConditionForm(data=request.POST)
        if condition_form.is_valid():
            try:
                group = HouseholdMemberGroup.objects.get(id=group_id)
                condition = condition_form.save()
                condition.groups.add(group)
                condition.save()
                messages.success(request, "Criteria successfully added.")
                redirect_url = '/groups/%s/' % group_id
            except ObjectDoesNotExist:
                messages.error(request, "Group does not exist.")
                redirect_url = '/groups/'
            return HttpResponseRedirect(redirect_url)

    context = {
        'button_label': 'Create',
        'title': 'New Criteria',
        'id': 'add-condition-to-group-form',
        'action': '/groups/%s/conditions/new/' % group_id,
        'request': request,
        'condition_form': condition_form
    }
    return render(request, 'household_member_groups/conditions/new.html',
                  context)
def add_group_condition(request, group_id):
    condition_form = GroupConditionForm()
    if request.method == 'POST':
        condition_form = GroupConditionForm(data=request.POST)
        if condition_form.is_valid():
            try:
                group = HouseholdMemberGroup.objects.get(id=group_id)
                condition = condition_form.save()
                condition.groups.add(group)
                condition.save()
                messages.success(request, "Criteria successfully added.")
                redirect_url = '/groups/%s/' % group_id
            except ObjectDoesNotExist:
                messages.error(request, "Group does not exist.")
                redirect_url = '/groups/'
            return HttpResponseRedirect(redirect_url)

    context = {'button_label': 'Create',
               'title': 'New Criteria',
               'id': 'add-condition-to-group-form',
               'action': '/groups/%s/conditions/new/' % group_id,
               'request': request,
               'condition_form': condition_form}
    return render(request, 'household_member_groups/conditions/new.html', context)
Example #22
0
    def test_validates_unqique_constraint_on_group_condition(self):
        form_data = {
            'value': 'HEAD',
            'attribute': GroupCondition.GROUP_TYPES['GENERAL'],
            'condition': GroupCondition.CONDITIONS['EQUALS'],
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertTrue(group_condition_form.is_valid())
        group_condition_form.save()

        duplicate_data = {
            'value': 'HEAD',
            'attribute': GroupCondition.GROUP_TYPES['GENERAL'],
            'condition': GroupCondition.CONDITIONS['EQUALS'],
        }

        duplicate_group_condition_form = GroupConditionForm(duplicate_data)
        self.assertFalse(duplicate_group_condition_form.is_valid())
    def test_validates_unqique_constraint_on_group_condition(self):
        form_data = {
            'value': 'HEAD',
            'attribute': GroupCondition.GROUP_TYPES['GENERAL'],
            'condition': GroupCondition.CONDITIONS['EQUALS'],
        }

        group_condition_form = GroupConditionForm(form_data)
        self.assertTrue(group_condition_form.is_valid())
        group_condition_form.save()

        duplicate_data = {
            'value': 'HEAD',
            'attribute': GroupCondition.GROUP_TYPES['GENERAL'],
            'condition': GroupCondition.CONDITIONS['EQUALS'],
            }

        duplicate_group_condition_form = GroupConditionForm(duplicate_data)
        self.assertFalse(duplicate_group_condition_form.is_valid())