Exemplo n.º 1
0
    try:
        name = sender.navigations.filter(screen__slug='reg_name').latest('date').response
        facility = sender.navigations.filter(screen__slug='reg_hc').latest('date').response
        district = sender.navigations.filter(screen__slug='reg_dist').latest('date').response
        district = find_closest_match(district, Location.objects.filter(type__name='district'))
        if district:
            sublocs = district.get_descendants(include_self=True).all()
            facility = find_closest_match(facility, HealthFacility.objects.filter(catchment_areas__in=sublocs))
        else:
            facility = find_closest_match(facility, HealthFacility.objects)
        provider = HealthProvider.objects.create(name=name, facility=facility, reporting_location=district, active=False)
        provider.connection_set.add(sender.connection)
        # sender.connection.contact = provider
        # sender.connection.save()
    except Navigation.DoesNotExist:
        pass


@receiver(post_save, sender=Message)
def post_process_pending(sender, **kwargs):
    msg = kwargs['instance']
    if msg.direction == 'O' and msg.status == 'P' and not msg.connection in Blacklist.objects.all().values_list('connection', flat=True):
        msg.status = 'Q'
        msg.save()

ussd_pre_transition.connect(ussd_jump_diseases, weak=False)
ussd_complete.connect(ussd_reg, weak=False)
script_progress_was_completed.connect(cvs_autoreg, weak=False)
xform_received.connect(xform_received_handler, weak=True)
pre_delete.connect(fix_location, weak=True)
Exemplo n.º 2
0
    configurable  sitewide settings. Its better to store in db table

    """
    attribute=models.CharField(max_length=50,null=False)
    value=models.CharField(default='',max_length=50,null=True)
    description= models.TextField(null=True)
    user=models.ForeignKey(User,null=True,blank=True)


    class Meta:
        app_label = 'ureport'


class AutoregGroupRules(models.Model):
    group=models.ForeignKey(Group)
    values=models.TextField(default=None)
    class Meta:
        app_label = 'ureport'






from .litseners import  autoreg,check_conn,update_latest_poll,ussd_poll,add_to_poll

script_progress_was_completed.connect(autoreg, weak=False)
post_save.connect(check_conn, sender=Connection, weak=False)
post_save.connect(update_latest_poll, sender=Poll, weak=False)
ussd_complete.connect(ussd_poll, weak=False)
#post_save.connect(add_to_poll, sender=Blacklist, weak=False)
Exemplo n.º 3
0
        self.key = self.key.replace(" ", "_")
        super(PollAttribute, self).save()

    def make_native(self, default):
        if self.key_type == 'bool':
            return True if default.lower() == 'true' else False
        elif self.key_type == 'int':
            return int(default)
        else:
            return default


class SentToMtrac(models.Model):
    message = models.OneToOneField(Message)
    sent_on = models.DateTimeField(auto_now_add=True)

    class Meta:
        app_label = 'ureport'


from .litseners import autoreg, check_conn, update_latest_poll, ussd_poll, add_to_poll

script_progress_was_completed.connect(autoreg, weak=False)
post_save.connect(check_conn, sender=Connection, weak=False)
ussd_complete.connect(ussd_poll, weak=False)

if settings.USSD_ENABLED:
    post_save.connect(update_latest_poll, sender=Poll, weak=False)

#post_save.connect(add_to_poll, sender=Blacklist, weak=False)