예제 #1
0
파일: forms.py 프로젝트: vladeugeniu/wouso
    class Meta:
        model = Quiz

        widgets = {'start': widgets.DateTimePicker(options={"format": "YYYY-MM-DD HH:mm:ss"}),
                   'end': widgets.DateTimePicker(options={"format": "YYYY-MM-DD HH:mm:ss"})
        }
        exclude = ['owner', 'players', 'status', 'tags']
예제 #2
0
파일: forms.py 프로젝트: MathPlayer/wouso
 class Meta:
     model = Quest
     widgets = {
         'start':
         widgets.DateTimePicker(options={"format": "YYYY-MM-DD HH:mm:ss"}),
         'end':
         widgets.DateTimePicker(options={"format": "YYYY-MM-DD HH:mm:ss"})
     }
     exclude = (
         'order',
         'registered',
     )
예제 #3
0
class ReceiptForm(forms.ModelForm):
    datetime = forms.DateTimeField(
        input_formats=['%Y-%m-%d %I:%M %p'],
        widget=bs3_widgets.DateTimePicker(
            options={"format": "YYYY-MM-DD hh:mm a"},
            attrs={
                "class": "form-control",
                # am/pm -> AM/PM
                "style": "text-transform: uppercase; float: none;"
            },
            div_attrs={
                'class': 'input-group',
            }
        )
    )

    class Meta:
        model = clients_models.Receipt
        exclude = ['claim']

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.fields['MID'].help_text = \
            'Ex. 8027813602'
        self.fields['TID'].help_text = \
            'Ex. 0089250008027813602107'
        self.fields['REF'].help_text = \
            'Ex. 00000001'
        self.fields['batch'].help_text = \
            'Ex. 138'
        self.fields['RRN'].help_text = \
            'Ex. 00046752128 (for DEBIT)'
        self.fields['APPR'].help_text = \
            'Ex. 035787'
        self.fields['trace'].help_text = \
            'Ex. 1'
        self.fields['card_number'].help_text = \
            'Ex. 1234'

        self.fields['AID'].help_text = \
            'Ex. A0000000031010 (for CHIP)'
        self.fields['TVR'].help_text = \
            'Ex. 00 80 00 80 00 (for CHIP)'
        self.fields['TSI'].help_text = \
            'Ex. F8 00 (for CHIP)'
예제 #4
0
class ClaimForm(forms.ModelForm):
    submitted_datetime = forms.DateTimeField(
        label="Submitted Datetime",
        input_formats=['%Y-%m-%d %I:%M %p'],
        widget=bs3_widgets.DateTimePicker(
            options={"format": "YYYY-MM-DD hh:mm a"},
            attrs={
                "class": "form-control",
                # am/pm -> AM/PM
                "style": "text-transform: uppercase; float: none;"
            },
            div_attrs={
                'class': 'input-group',
            }
        )
    )
    claim_package = utils_fields.MultiFileField(
        label="Claim Package",
        required=False,
        max_file_size=7.0 * 1024 * 1024,  # mb*kb*b
        help_text=(
            'Hold Ctrl (on Windows) or Cmd (on a Mac) to select multiple files'
        )
    )

    class Meta:
        model = models.Claim
        exclude = ('coverages',)

    def __init__(self, *args, **kwargs):
        client_id = kwargs.pop('client_id', None)
        if not client_id:
            if 'instance' not in kwargs:
                raise Exception(
                    'Please provide a client_id kwarg or provide an instance'
                )
            client_id = kwargs.get('instance').patient.get_client().id
        client = models.Client.objects.get(id=client_id)

        super().__init__(*args, **kwargs)

        file_list = [
            claim_attachment.attachment
            for claim_attachment in self.instance.claimattachment_set.all()
        ]
        files = kwargs.get('files', None)
        if files:  # value can be set to None
            # temp files (UploadedFile) require attr url to be displayed
            for key in files:
                if 'claim_package' == key:
                    _file_list = files.get(key)
                    for _file in _file_list:
                        # /media/temp/ (from CreateClaimWizard.file_storage)
                        _file.url = '/media/temp/' + _file.name
                        file_list.append(_file)
        claim_package = self.fields['claim_package']
        claim_package.widget = \
            utils_widgets.ConfirmClearableMultiFileMultiWidget(
                form_id="claim_form",  # html
                form=self,
                field_name='claim_package',
                file_count=len(file_list)
            )
        self.initial['claim_package'] = file_list

        self.client = client

        patients = []
        spouse = None
        for dependent in client.dependent_set.all():
            if dependent.relationship == models.Dependent.SPOUSE:
                spouse = dependent.id
            patients.append(dependent.id)
        patients.append(client.id)
        patient = self.fields['patient']
        patient.queryset = models.Person.objects.filter(id__in=patients)
        patient.label_from_instance = (
            lambda obj:
                "Client - %s" % obj.full_name() if obj.id == client.id
                else "Spouse - %s" % obj.full_name() if obj.id == spouse
                else "Child - %s" % obj.full_name()
        )

        insurance = self.fields['insurance']
        insurance.queryset = models.Insurance.objects.filter(
            main_claimant__pk__in=patients)
        insurance.label_from_instance = (
            lambda obj:
                "%s - Spouse - %s" % (
                    obj.provider,
                    obj.main_claimant.full_name()
                ) if obj.main_claimant.pk == spouse
                else "%s - Client - %s" % (
                    obj.provider, obj.main_claimant.full_name())
        )
        insurance.widget.attrs['class'] = 'insurance_trigger'