def handle(self, *args, **options): for couch_user in CouchUser.all(): if couch_user.email and any(char.isupper() for char in couch_user.email): print couch_user.email couch_user.email = couch_user.email.lower() couch_user.save()
def handle_changed_mailchimp_email(user, old_email, new_email, list_id): def is_user_subscribed_with_email(couch_user): return (couch_user.subscribed_to_commcare_users and couch_user.email == old_email) users_subscribed_with_old_email = [ other_user for other_user in CouchUser.all() if is_user_subscribed_with_email(other_user) ] if (len(users_subscribed_with_old_email) == 1 and users_subscribed_with_old_email[0].get_id == user.get_id): try: unsubscribe_user_from_mailchimp_list( user, list_id, email=old_email, ) except mailchimp.Error as e: logging.error(e.message) try: subscribe_user_to_mailchimp_list( user, list_id, email=new_email, ) except mailchimp.ListAlreadySubscribedError: pass except mailchimp.Error as e: logging.error(e.message)
def setUp(self): all_users = CouchUser.all() for user in all_users: user.delete() self.username = '******' self.password = '******' self.domain = 'mockdomain' self.couch_user = WebUser.create(self.domain, self.username, self.password) self.couch_user.save()
def setUp(self): all_users = CouchUser.all() for user in all_users: user.delete() self.username = '******' self.password = '******' self.domain = 'mockdomain' self.couch_user = WebUser.create(self.domain, self.username, self.password) self.couch_user.language = 'en' self.couch_user.save()
def setUp(self): all_users = CouchUser.all() for user in all_users: user.delete() User.objects.all().delete() self.username = "******" password = "******" self.domain = 'my-domain' self.couch_user = CommCareUser.create(self.domain, self.username, password) self.couch_user.save()
def handle(self, *args, **options): run_fix = options.get(RUN_FIX, False) for user in CouchUser.all(): doc_json = CouchUser.get_db().get(user.get_id) if doc_json.get("doc_type", None) == "WebUser" and ( user.created_on is not None and user.created_on >= datetime.datetime(*[int(_) for _ in args[0:3]]) ): if user.email_opt_out: if run_fix: user.email_opt_out = False user.save() print("fixed %s, created on %s" % (user.get_id, user.created_on)) else: print("should fix %s, created on %s" % (user.get_id, user.created_on))
def setUp(self): all_users = CouchUser.all() for user in all_users: user.delete() self.xform = XFormInstance() self.xform.form = {} self.xform.form['username'] = self.username = '******' self.xform.form['password'] = self.password = '******' self.xform.form['uuid'] = self.uuid = 'BXPKZLP49P3DDTJH3W0BRM2HV' self.xform.form['date'] = self.date_string = '2010-03-23' self.xform.form['registering_phone_id'] = self.registering_device_id = '67QQ86GVH8CCDNSCL0VQVKF7A' self.xform.form['user_data'] = {'data': [{'@key': 'user_type', '#text': 'normal'}]} self.xform.domain = self.domain = 'mock' self.xform.xmlns = USER_REGISTRATION_XMLNS
def handle(self, *args, **options): run_fix = options.get(RUN_FIX, False) for user in CouchUser.all(): doc_json = CouchUser.get_db().get(user.get_id) if (doc_json.get('doc_type', None) == 'WebUser' and (user.created_on is not None and user.created_on >= datetime.datetime(*[int(_) for _ in args[0:3]]))): if user.email_opt_out: if run_fix: user.email_opt_out = False user.save() print('fixed %s, created on %s' % (user.get_id, user.created_on)) else: print('should fix %s, created on %s' % (user.get_id, user.created_on))
def setUp(self): all_users = CouchUser.all() for user in all_users: user.delete() self.xform = XFormInstance() self.xform.form = {} self.xform.form['username'] = self.username = '******' self.xform.form['password'] = self.password = '******' self.xform.form['uuid'] = self.uuid = 'BXPKZLP49P3DDTJH3W0BRM2HV' self.xform.form['date'] = self.date_string = '2010-03-23' self.xform.form[ 'registering_phone_id'] = self.registering_device_id = '67QQ86GVH8CCDNSCL0VQVKF7A' self.xform.form['user_data'] = { 'data': [{ '@key': 'user_type', '#text': 'normal' }] } self.xform.domain = self.domain = 'mock' self.xform.xmlns = USER_REGISTRATION_XMLNS
def handle_changed_mailchimp_email(user, old_email, new_email, list_id): def is_user_subscribed_with_email(couch_user): return (couch_user.subscribed_to_commcare_users and couch_user.email == old_email) users_subscribed_with_old_email = [ other_user for other_user in CouchUser.all() if is_user_subscribed_with_email(other_user) ] if (len(users_subscribed_with_old_email) == 1 and users_subscribed_with_old_email[0].get_id == user.get_id): safe_unsubscribe_user_from_mailchimp_list( user, list_id, email=old_email, ) safe_subscribe_user_to_mailchimp_list( user, list_id, email=new_email, )
def handle_changed_mailchimp_email(user, old_email, new_email, list_id): def is_user_subscribed_with_email(couch_user): return (couch_user.subscribed_to_commcare_users and couch_user.email == old_email) users_subscribed_with_old_email = [ other_user for other_user in CouchUser.all() if is_user_subscribed_with_email(other_user) ] if (len(users_subscribed_with_old_email) == 1 and users_subscribed_with_old_email[0].get_id == user.get_id): safe_unsubscribe_user_from_mailchimp_list( user, list_id, email=old_email, ) safe_subscribe_user_to_mailchimp_list( user, list_id, email=new_email, )
def _delete_everything(cls): all_users = CouchUser.all() for user in all_users: user.delete() delete_all_locations() UserFixtureStatus.objects.all().delete()
def handle(self, *args, **options): old_couch_users = old_couch_user_models.CouchUser.view('users/old_users', include_docs=True) print "Loaded all (old) CouchUser docs into memory." for old_couch_user in old_couch_users: try: couch_user = CouchUser.from_old_couch_user(old_couch_user) couch_user.old_couch_user_id = old_couch_user.get_id couch_user.save(force_update=True) except Exception as e: print "There was an error migrating CouchUser with _id %s: %s" % ( old_couch_user._id.encode('utf-8'), str(e) ) else: print "Migrated %s (%s)" % (couch_user.username.encode('utf-8'), couch_user.user_id.encode('utf-8')) print "Creating old => new user _id map" couch_users = CouchUser.all() id_map = {} for couch_user in couch_users: try: old_id = couch_user.old_couch_user_id except KeyError: pass else: id_map[old_id] = couch_user.user_id try: couch_user.save() except Exception as e: print 'Failed to save %s: %s' % (couch_user.user_id.encode('utf-8'), str(e)) print "Cleaning up references..." print "* Group" group_ids = set() for group in Group.view('groups/by_user', keys=id_map.keys(), include_docs=True): if group._id in group_ids: continue for i, user_id in enumerate(group.users): if user_id in id_map: group.users[i] = id_map[user_id] group.save() group_ids.add(group._id) print "* ReportNotification" notification_ids = set() for notification in ReportNotification.view('reports/user_notifications', keys=id_map.keys(), include_docs=True): if notification._id in notification_ids: continue for i, user_id in enumerate(notification.user_ids): if user_id in id_map: notification.user_ids[i] = id_map[user_id] notification.save() notification_ids.add(notification._id) print "* MessageLog" messages = MessageLog.objects.all() count = 0 for message in messages: if message.couch_recipient in id_map: message.couch_recipient = id_map[message.couch_recipient] count += 1 print " %s/%s changed (just in case you were curious)" % (count, messages.count())
def setUp(self): for user in CouchUser.all(): user.delete() User.objects.all().delete()
def _delete_everything(self): all_users = CouchUser.all() for user in all_users: user.delete() User.objects.all().delete() UserFixtureStatus.objects.all().delete()
def handle(self, *args, **options): for couch_user in CouchUser.all(): if couch_user.email and any(char.isupper() for char in couch_user.email): print couch_user.email couch_user.email = couch_user.email.lower() couch_user.save()
def setUp(self): for user in CouchUser.all(): user.delete() User.objects.all().delete()
def _delete_everything(self): all_users = CouchUser.all() for user in all_users: user.delete() User.objects.all().delete() UserFixtureStatus.objects.all().delete()
def _delete_everything(cls): all_users = CouchUser.all() for user in all_users: user.delete() delete_all_locations() UserFixtureStatus.objects.all().delete()
def tearDown(self): for user in CouchUser.all(): user.delete() User.objects.all().delete()