def test_needs_reminders_flag(self): self.assertFalse("needs_reminders" in self.user1.user_data) self.assertFalse(user_needs_reminders(self.user1)) self.assertEqual(self.user2.user_data["needs_reminders"], "False") self.assertFalse(user_needs_reminders(self.user2)) self.assertEqual(self.user3.user_data["needs_reminders"], "True") self.assertTrue(user_needs_reminders(self.user3))
def test_needs_reminders_flag(self): self.assertFalse('needs_reminders' in self.user1.user_data) self.assertFalse(user_needs_reminders(self.user1)) self.assertEqual(self.user2.user_data['needs_reminders'], 'False') self.assertFalse(user_needs_reminders(self.user2)) self.assertEqual(self.user3.user_data['needs_reminders'], 'True') self.assertTrue(user_needs_reminders(self.user3))
def recipients_filter(self, user): roles = user.user_data.get('role', []) if not roles: return False return any([role != IN_CHARGE_ROLE for role in user.user_data.get('role', [])]) and \ user_needs_reminders(user) and user.location_id
def handle(self): topic = self.args[0].lower() if topic == 'stock': self.respond( "Please send your receipts in the format " "' <Commodity code> <stock on hand > . <quantity received>'") elif topic == 'reminder': if user_needs_reminders(self.user): self.respond(DEACTIVATE_REMINDERS) else: self.respond(REACTIVATE_REMINDERS) elif 'code' in topic: codes = SQLProduct.by_domain( self.domain).order_by('code').values_list('code', flat=True) self.respond("Available commodity codes: %(codes)s", codes=", ".join(codes)) else: try: sql_product = SQLProduct.objects.get(domain=self.domain, code=topic) msg = "%s is the commodity code for %s" % (topic, sql_product.name) if sql_product.units: msg += " (%s)" % sql_product.units if sql_product.description and sql_product.description not in sql_product.name: msg += " %s" % sql_product.description self.respond(msg) except SQLProduct.DoesNotExist: self.help()
def handle(self): topic = self.args[0].lower() if topic == 'stock': self.respond("Please send your receipts in the format " "' <Commodity code> <stock on hand > . <quantity received>'") elif topic == 'reminder': if user_needs_reminders(self.user): self.respond(DEACTIVATE_REMINDERS) else: self.respond(REACTIVATE_REMINDERS) elif 'code' in topic: codes = SQLProduct.by_domain(self.domain).order_by('code').values_list('code', flat=True) self.respond("Available commodity codes: %(codes)s", codes=", ".join(codes)) else: try: sql_product = SQLProduct.objects.get(domain=self.domain, code=topic) msg = "%s is the commodity code for %s" % (topic, sql_product.name) if sql_product.units: msg += " (%s)" % sql_product.units if sql_product.description and sql_product.description not in sql_product.name: msg += " %s" % sql_product.description self.respond(msg) except SQLProduct.DoesNotExist: self.help()
def help(self): if user_needs_reminders(self.user): self.respond(DEACTIVATE_REMINDERS) else: self.respond(REACTIVATE_REMINDERS)