Exemple #1
0
    def get_context(self, request, encounter_id, service_cls, object_id):
        try:
            cls = get_model_for_class_name(service_cls)
        except ValueError:
            raise Http404

        encounter = get_object_or_404(Encounter, pk=encounter_id)
        ctx = {
            'encounter': encounter,
            'cls': service_cls,
            'service': cls,
            'is_edit': object_id is not None
        }
        kwargs = {}

        if ctx['is_edit']:
            obj = get_object_or_404(cls, pk=object_id)
            ctx.update({
                'obj':
                obj,
                'action_link':
                reverse('services_handle_form_change',
                        kwargs={
                            'encounter_id': encounter_id,
                            'service_cls': service_cls,
                            'object_id': object_id
                        })
            })
            kwargs['instance'] = obj
        else:
            ctx.update({
                'action_link':
                reverse('services_handle_form_add',
                        kwargs={
                            'encounter_id': encounter_id,
                            'service_cls': service_cls
                        })
            })

        if request.method == 'POST':
            form = cls.form()(encounter, request.POST, **kwargs)
        else:
            form = cls.form()(encounter, **kwargs)
        ctx.update({'form': form})
        return ctx
Exemple #2
0
    def get_context(self, request, encounter_id, service_cls, object_id):
        try:
            cls = get_model_for_class_name(service_cls)
        except ValueError:
            raise Http404

        encounter = get_object_or_404(Encounter, pk=encounter_id)
        ctx = {
            'encounter': encounter,
            'cls': service_cls,
            'service': cls,
            'is_edit': object_id is not None
        }
        kwargs = {}

        if ctx['is_edit']:
            obj = get_object_or_404(cls, pk=object_id)
            ctx.update({
                'obj': obj,
                'action_link': reverse('services_handle_form_change', kwargs={
                    'encounter_id': encounter_id, 'service_cls': service_cls, 'object_id': object_id
                })
            })
            kwargs['instance'] = obj
        else:
            ctx.update({
                'action_link': reverse('services_handle_form_add', kwargs={
                    'encounter_id': encounter_id, 'service_cls': service_cls
                })
            })

        if request.method == 'POST':
            form = cls.form()(encounter, request.POST, **kwargs)
        else:
            form = cls.form()(encounter, **kwargs)
        ctx.update({'form': form})
        return ctx
Exemple #3
0
 def test_get_model_for_class_name_raises_valueerror_for_non_registered_class(self):
     get_model_for_class_name('Dummy3')
Exemple #4
0
 def test_get_model_for_class_name_returns_correct_class(self):
     tools.assert_equals(get_model_for_class_name('Dummy1'), self.d1)
     tools.assert_equals(get_model_for_class_name('Dummy2'), self.d2)