def _user_as_dict(user, instance): iuser = user.get_instance_user(instance) role_name = None if iuser: role_name = iuser.role.name email = '' if user.allow_email_contact: email = user.email modeldata = { 'username': user.username, 'organization': user.get_organization(), 'first_name': user.get_first_name(), 'last_name': user.get_last_name(), 'email': email, 'email_hash': user.email_hash, 'allow_email_contact': str(user.allow_email_contact), 'created': str(user.created), 'role': role_name } last_edits = Audit.objects.filter(instance=instance, user=user)\ .order_by('-updated')[:1] if last_edits: last_edit = last_edits[0] modeldata.update( {'last_edit_%s' % k: v for (k, v) in last_edit.dict().iteritems()}) return sanitize_unicode_record(modeldata)
def _user_as_dict(user, instance): iuser = user.get_instance_user(instance) role_name = None if iuser: role_name = iuser.role.name email = '' if user.allow_email_contact: email = user.email modeldata = {'username': user.username, 'organization': user.get_organization(), 'first_name': user.get_first_name(), 'last_name': user.get_last_name(), 'email': email, 'email_hash': user.email_hash, 'allow_email_contact': str(user.allow_email_contact), 'created': str(user.created), 'role': role_name} last_edits = Audit.objects.filter(instance=instance, user=user)\ .order_by('-updated')[:1] if last_edits: last_edit = last_edits[0] modeldata.update({'last_edit_%s' % k: v for (k, v) in last_edit.dict().iteritems()}) return sanitize_unicode_record(modeldata)
def custom_async_csv(csv_rows, job_pk, filename, fields): with _job_transaction_manager(job_pk) as job: csv_obj = TemporaryFile() writer = csv.DictWriter(csv_obj, fields) writer.writeheader() for row in csv_rows: writer.writerow(sanitize_unicode_record(row)) job.complete_with(filename, File(csv_obj)) job.save()
def custom_async_csv(csv_rows, job_pk, filename, fields): job = ExportJob.objects.get(pk=job_pk) csv_obj = TemporaryFile() writer = csv.DictWriter(csv_obj, fields) writer.writeheader() for row in csv_rows: writer.writerow(sanitize_unicode_record(row)) job.complete_with(filename, File(csv_obj)) job.save()