def send_soh_reminder(domain, date): sp_ids = set() for user in CommTrackUser.by_domain(domain): if user.is_active and user.location and user.location.location_type == 'FACILITY': sp = SupplyPointCase.get_by_location(user.location) if sp and not StockTransaction.objects.filter(case_id=sp._id, report__date__gte=date, type='stockonhand').exists(): if user.get_verified_number(): send_sms_to_verified_number(user.get_verified_number(), REMINDER_STOCKONHAND) sp_ids.add(sp._id) update_statuses(sp_ids, SupplyPointStatusTypes.SOH_FACILITY, SupplyPointStatusValues.REMINDER_SENT)
def send_supervision_reminder(domain, date): sp_ids = set() for user in CommTrackUser.by_domain(domain): if user.is_active and user.location and user.location.location_type == 'FACILITY': sp = SupplyPointCase.get_by_location(user.location) if sp and not SupplyPointStatus.objects.filter(supply_point=sp._id, status_type=SupplyPointStatusTypes.SUPERVISION_FACILITY, status_date__gte=date).exists(): if user.get_verified_number(): send_sms_to_verified_number(user.get_verified_number(), REMINDER_SUPERVISION) sp_ids.add(sp._id) update_statuses(sp_ids, SupplyPointStatusTypes.SUPERVISION_FACILITY, SupplyPointStatusValues.REMINDER_SENT)
def send_supervision_reminder(domain, date): sp_ids = set() for user in CommTrackUser.by_domain(domain): if user.is_active and user.location and user.location.location_type == 'FACILITY': sp = SupplyPointCase.get_by_location(user.location) if sp and not SupplyPointStatus.objects.filter( supply_point=sp._id, status_type=SupplyPointStatusTypes.SUPERVISION_FACILITY, status_date__gte=date).exists(): if user.get_verified_number(): send_sms_to_verified_number(user.get_verified_number(), REMINDER_SUPERVISION) sp_ids.add(sp._id) update_statuses(sp_ids, SupplyPointStatusTypes.SUPERVISION_FACILITY, SupplyPointStatusValues.REMINDER_SENT)
def send_soh_reminder(domain, date): sp_ids = set() for user in CommTrackUser.by_domain(domain): if user.is_active and user.location and user.location.location_type == "FACILITY": sp = SupplyPointCase.get_by_location(user.location) if ( sp and not StockTransaction.objects.filter( case_id=sp._id, report__date__gte=date, type="stockonhand" ).exists() ): if user.get_verified_number(): send_sms_to_verified_number(user.get_verified_number(), REMINDER_STOCKONHAND) sp_ids.add(sp._id) update_statuses(sp_ids, SupplyPointStatusTypes.SOH_FACILITY, SupplyPointStatusValues.REMINDER_SENT)
def send_ror_reminder(domain, date, loc_type='FACILITY'): if loc_type == 'FACILITY': status_type = SupplyPointStatusTypes.R_AND_R_FACILITY sms_text = REMINDER_R_AND_R_FACILITY elif loc_type == 'DISTRICT': status_type = SupplyPointStatusTypes.R_AND_R_DISTRICT sms_text = REMINDER_R_AND_R_DISTRICT else: return current_group = get_current_group() sp_ids = set() for user in CommTrackUser.by_domain(domain): if user.is_active and user.location and user.location.location_type == loc_type: sp = SupplyPointCase.get_by_location(user.location) if current_group in get_groups(sp.location.metadata.get('groups', None)) \ and not SupplyPointStatus.objects.filter(supply_point=sp._id, status_type=status_type, status_date__gte=date).exists(): if user.get_verified_number(): send_sms_to_verified_number(user.get_verified_number(), sms_text) sp_ids.add(sp._id) update_statuses(sp_ids, status_type, SupplyPointStatusValues.REMINDER_SENT)