Exemple #1
0
 def openmrs_importer_form(self):
     importers = get_openmrs_importers_by_domain(self.request.domain)
     if importers:
         initial = dict(importers[0])  # TODO: Support multiple
         initial['column_map'] = [
             {k: v
              for k, v in dict(m).items()
              if k != 'doc_type'}  # Just for the pretty
             for m in initial['column_map']
         ]
     else:
         initial = {}
     if self.request.method == 'POST':
         return OpenmrsImporterForm(self.request.POST, initial=initial)
     return OpenmrsImporterForm(initial=initial)
Exemple #2
0
    def page_context(self):
        # TODO: Look up locations for location_id field.

        openmrs_importers = []
        for importer in get_openmrs_importers_by_domain(self.request.domain):
            dict_ = dict(importer)
            dict_['password'] = PASSWORD_PLACEHOLDER
            dict_['report_params'] = json.dumps(dict_['report_params'],
                                                cls=DjangoJSONEncoder,
                                                indent=2)
            dict_['column_map'] = json.dumps(
                [
                    {
                        k: v
                        for k, v in dict(m).items() if not (
                            # Drop '"doc_type": ColumnMapping' from each column mapping.
                            k == 'doc_type' or
                            # Drop "data_type" if it's not specified
                            (k == 'data_type' and v is None))
                    } for m in dict_['column_map']
                ],
                indent=2)
            openmrs_importers.append(dict_)
        return {
            'openmrs_importers': openmrs_importers,
            'form': OpenmrsImporterForm(
            ),  # Use an unbound form to render openmrs_importer_template.html
        }