Ejemplo n.º 1
0
 def save(self, domain):
     try:
         settings = Dhis2Settings.for_domain(domain.name)
         if settings is None:
             # Create settings
             settings = Dhis2Settings()
             settings.domain = domain.name
             settings.dhis2 = {
                 'enabled': self.cleaned_data['enabled'],
                 'host': self.cleaned_data['host'],
                 'username': self.cleaned_data['username'],
                 'password': self.cleaned_data['password'],
                 'top_org_unit_name': self.cleaned_data['top_org_unit_name'],
             }
             settings.save()
         else:
             # Update settings
             settings.dhis2.update({
                 'enabled': self.cleaned_data['enabled'],
                 'host': self.cleaned_data['host'],
                 'username': self.cleaned_data['username'],
                 'top_org_unit_name': self.cleaned_data['top_org_unit_name'],
             })
             # Only update the password if it has been set
             if self.cleaned_data['password']:
                 settings.dhis2['password'] = self.cleaned_data['password']
             settings.save()
         return True
     except Exception as err:  # TODO: What Exception?
         logger.error('Unable to save DHIS2 API settings: %s' % err)
         return False