Example #1
0
    def test_CZBirthNumberField(self):
        error_format = [u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.']
        error_invalid = [u'Enter a valid birth number.']
        valid = {
            '880523/1237': '880523/1237',
            '8805231237': '8805231237',
            '880523/000': '880523/000',
            '880523000': '880523000',
            '882101/0011': '882101/0011',
        }
        invalid = {
            '123456/12': error_format,
            '123456/12345': error_format,
            '12345612': error_format,
            '12345612345': error_format,
            '880523/1239': error_invalid,
            '8805231239': error_invalid,
            '990101/0011': error_invalid,
        }
        self.assertFieldOutput(CZBirthNumberField, valid, invalid)

        # These tests should go away in 1.4.
        # http://code.djangoproject.com/ticket/14593
        f = CZBirthNumberField()
        self.assertEqual(f.clean('880523/1237', 'm'), '880523/1237'),
        self.assertEqual(f.clean('885523/1231', 'f'), '885523/1231')
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
            f.clean, '881523/0000', 'm')
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
            f.clean, '885223/0000', 'm')
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
            f.clean, '881523/0000', 'f')
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
            f.clean, '885223/0000', 'f')
Example #2
0
class Patient_form(forms.ModelForm):
	label_suffix = ":"
	class Meta:
		model = Patient

	ident_hash = CZBirthNumberField(label=_("Birth number"))
	phone_number = forms.RegexField(
		label=_("Phone number"),
		min_length=5,
		max_length=100,
		regex = r"\d+",
		error_messages={"invalid": _(u"Enter a valid 'phone number' consisting of numbers only.")}
	)
	reservation = forms.ModelChoiceField(
		queryset=Visit_reservation.objects.all(),
		widget=forms.HiddenInput(),
		error_messages={"required": _("Please select time of visit reservation")}
	)
	exam_kind = forms.ModelChoiceField(
		empty_label=None,
		queryset=Examination_kind.objects.all(),
		widget=forms.RadioSelect(),
		label=_("Examination kind")
	)

	def clean_ident_hash(self):
		data = self.cleaned_data["ident_hash"]
		if data[6] == "/":
			data = data[:6] + data[7:]
		return data
Example #3
0
class Patient_detail_form(forms.Form):
	ident_hash = CZBirthNumberField()

	def clean_ident_hash(self):
		data = self.cleaned_data["ident_hash"]
		if data[6] == "/":
			data = data[:6] + data[7:]
		return data
    def test_CZBirthNumberField(self):
        error_format = [
            u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.'
        ]
        error_invalid = [u'Enter a valid birth number.']
        valid = {
            '880523/1237': '880523/1237',
            '8805231237': '8805231237',
            '880523/000': '880523/000',
            '880523000': '880523000',
            '882101/0011': '882101/0011',
        }
        invalid = {
            '123456/12': error_format,
            '123456/12345': error_format,
            '12345612': error_format,
            '12345612345': error_format,
            '880523/1239': error_invalid,
            '8805231239': error_invalid,
            '990101/0011': error_invalid,
        }
        self.assertFieldOutput(CZBirthNumberField, valid, invalid)

        # These tests should go away in 1.4.
        # http://code.djangoproject.com/ticket/14593
        f = CZBirthNumberField()
        self.assertEqual(f.clean('880523/1237', 'm'), '880523/1237'),
        self.assertEqual(f.clean('885523/1231', 'f'), '885523/1231')
        for args in [
            ('881523/0000', 'm'),
            ('885223/0000', 'm'),
            ('881523/0000', 'f'),
            ('885223/0000', 'f'),
        ]:
            try:
                f.clean(*args)
            except ValidationError, e:
                self.assertEqual(e.messages, error_invalid)
            else:
                self.fail()
Example #5
0
    def test_CZBirthNumberField(self):
        error_format = [u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.']
        error_invalid = [u'Enter a valid birth number.']
        valid = {
            '880523/1237': '880523/1237',
            '8805231237': '8805231237',
            '880523/000': '880523/000',
            '880523000': '880523000',
            '882101/0011': '882101/0011',
        }
        invalid = {
            '123456/12': error_format,
            '123456/12345': error_format,
            '12345612': error_format,
            '12345612345': error_format,
            '880523/1239': error_invalid,
            '8805231239': error_invalid,
            '990101/0011': error_invalid,
        }
        self.assertFieldOutput(CZBirthNumberField, valid, invalid)

        # These tests should go away in 1.4.
        # http://code.djangoproject.com/ticket/14593
        f = CZBirthNumberField()
        self.assertEqual(f.clean('880523/1237', 'm'), '880523/1237'),
        self.assertEqual(f.clean('885523/1231', 'f'), '885523/1231')
        for args in [
            ('881523/0000', 'm'),
            ('885223/0000', 'm'),
            ('881523/0000', 'f'),
            ('885223/0000', 'f'),
        ]:
            try:
                f.clean(*args)
            except ValidationError, e:
                self.assertEqual(e.messages, error_invalid)
            else:
                self.fail()
Example #6
0
    def test_CZBirthNumberField(self):
        error_format = [
            u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.'
        ]
        error_invalid = [u'Enter a valid birth number.']
        valid = {
            '880523/1237': '880523/1237',
            '8805231237': '8805231237',
            '880523/000': '880523/000',
            '880523000': '880523000',
            '882101/0011': '882101/0011',
        }
        invalid = {
            '123456/12': error_format,
            '123456/12345': error_format,
            '12345612': error_format,
            '12345612345': error_format,
            '880523/1239': error_invalid,
            '8805231239': error_invalid,
            '990101/0011': error_invalid,
        }
        self.assertFieldOutput(CZBirthNumberField, valid, invalid)

        # These tests should go away in 1.4.
        # http://code.djangoproject.com/ticket/14593
        f = CZBirthNumberField()
        self.assertEqual(f.clean('880523/1237', 'm'), '880523/1237'),
        self.assertEqual(f.clean('885523/1231', 'f'), '885523/1231')
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
                                f.clean, '881523/0000', 'm')
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
                                f.clean, '885223/0000', 'm')
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
                                f.clean, '881523/0000', 'f')
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
                                f.clean, '885223/0000', 'f')