def clean_order(self): order = self.cleaned_data['order'] if HouseholdMemberGroup.objects.filter(order=order).count()>0 and self.initial.get('order', None) != int(order): message = 'This order already exists. The minimum available is %d.'% (HouseholdMemberGroup.max_order()+1) self._errors['order'] = self.error_class([message]) del self.cleaned_data['order'] return order
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)
def test_should_return_max_order_of_all_groups(self): HouseholdMemberGroup.objects.create(name="Greater than 2 years", order=1) HouseholdMemberGroup.objects.create(name="Greater than 2 years", order=7) HouseholdMemberGroup.objects.create(name="Greater than 2 years", order=3) self.assertEqual(7, HouseholdMemberGroup.max_order())
def clean_order(self): order = self.cleaned_data['order'] if HouseholdMemberGroup.objects.filter( order=order).count() > 0 and self.initial.get( 'order', None) != int(order): message = 'This order already exists. The minimum available is %d.' % ( HouseholdMemberGroup.max_order() + 1) self._errors['order'] = self.error_class([message]) del self.cleaned_data['order'] return order
def test_invalid_order_on_add_group_if_group_already_exists(self): household_member_group = HouseholdMemberGroup.objects.create( name="5 to 6 years", order=7) form_data = { 'name': household_member_group.name, 'order': household_member_group.order, 'conditions': [self.group_condition.id] } household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertEquals(1, len(household_member_group_form.errors)) self.assertTrue(household_member_group_form.errors.has_key('order')) expected_form_error = 'This order already exists. The minimum available is %d.' % ( HouseholdMemberGroup.max_order() + 1) self.assertEqual(household_member_group_form.errors['order'][0], expected_form_error)
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"} return response or render(request, 'household_member_groups/new.html', context)
def test_should_return_max_order_of_all_groups(self): HouseholdMemberGroup.objects.create(name="Greater than 2 years", order=1) HouseholdMemberGroup.objects.create(name="Greater than 2 years", order=7) HouseholdMemberGroup.objects.create(name="Greater than 2 years", order=3) self.assertEqual(7, HouseholdMemberGroup.max_order())
def test_should_return_zero_if_no_group_created_yet(self): HouseholdMemberGroup.objects.all().delete() self.assertEqual(0, HouseholdMemberGroup.max_order())
def test_should_return_zero_if_no_group_created_yet(self): HouseholdMemberGroup.objects.all().delete() self.assertEqual(0, HouseholdMemberGroup.max_order())
def test_fields(self): group = HouseholdMemberGroup() fields = [str(item.attname) for item in group._meta.fields] self.assertEqual(5, len(fields)) for field in ['id', 'created', 'modified', 'name', 'order']: self.assertIn(field, fields)
def test_invalid_order_on_add_group_if_group_already_exists(self): household_member_group = HouseholdMemberGroup.objects.create(name="5 to 6 years", order=7) form_data = { 'name': household_member_group.name, 'order': household_member_group.order, 'conditions': [self.group_condition.id] } household_member_group_form = HouseholdMemberGroupForm(form_data) self.assertFalse(household_member_group_form.is_valid()) self.assertEquals(1, len(household_member_group_form.errors)) self.assertTrue(household_member_group_form.errors.has_key('order')) expected_form_error = 'This order already exists. The minimum available is %d.'% (HouseholdMemberGroup.max_order()+1) self.assertEqual(household_member_group_form.errors['order'][0], expected_form_error)