Skip to content

Commit 6b84932

Browse files
authored
Revert "feature-8972: Export CSV files of Attendees with random, duplicate an… (#9005)" (#9032)
This reverts commit 52c7de9.
1 parent 518eb75 commit 6b84932

File tree

2 files changed

+20
-42
lines changed

2 files changed

+20
-42
lines changed

app/api/helpers/csv_jobs_util.py

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -72,28 +72,25 @@ def export_attendees_csv(attendees, custom_forms, attendee_form_dict):
7272
'Payment Type': str(attendee.order.paid_via)
7373
if attendee.order and attendee.order.paid_via
7474
else '',
75-
'Payment Mode': str(attendee.order.payment_mode)
75+
'Payment Mode': str(attendee.order.payment_mode)
7676
if attendee.order and attendee.order.payment_mode
7777
else '',
78-
'Ticket Name': str(attendee.ticket.name)
79-
if attendee.ticket and attendee.ticket.name
80-
else '',
78+
'Ticket Name': str(attendee.ticket.name)
79+
if attendee.ticket and attendee.ticket.name else '',
8180
'Ticket Price': str(attendee.ticket.price)
8281
if attendee.ticket and attendee.ticket.price
8382
else '0',
8483
'Ticket Type': str(attendee.ticket.type)
85-
if attendee.ticket and attendee.ticket.type
86-
else '',
84+
if attendee.ticket and attendee.ticket.type else '',
8785
'Tax ID': str(attendee.order.tax_business_info)
8886
if attendee.order.tax_business_info
8987
else '',
9088
'Address': str(attendee.order.address) if attendee.order.address else '',
91-
'Company': str(attendee.order.company) if attendee.order.company else '',
89+
'Company': str(attendee.order.company) if attendee.order.company else '',
9290
'Country': str(attendee.order.country) if attendee.order.country else '',
93-
'State': str(attendee.order.state) if attendee.order.state else '',
91+
'State': str(attendee.order.state) if attendee.order.state else '',
9492
'City': str(attendee.order.city) if attendee.order.city else '',
9593
'Zipcode': str(attendee.order.zipcode) if attendee.order.zipcode else '',
96-
'Email': '',
9794
}
9895

9996
for field in custom_forms:
@@ -109,19 +106,12 @@ def export_attendees_csv(attendees, custom_forms, attendee_form_dict):
109106
converted_header = attendee_form_dict.get(key)
110107
if field.is_complex:
111108
fields_dict = attendee.complex_field_values
112-
converted_header = field.identifier
113-
data[converted_header] = (
114-
fields_dict.get(field.identifier, '') if fields_dict else ''
115-
)
109+
data[converted_header] = fields_dict.get(
110+
field.identifier, '') if fields_dict else ''
116111
else:
117-
dict_value = getattr(attendee, field.identifier, '')
118-
dict_value = (
119-
"Yes"
120-
if str(dict_value) == "True"
121-
else "No"
122-
if str(dict_value) == "False"
123-
else dict_value
124-
)
112+
dict_value = (getattr(attendee, field.identifier, ''))
113+
dict_value = "Yes" if str(dict_value) == "True" \
114+
else "No" if str(dict_value) == "False" else dict_value
125115
data[converted_header] = dict_value
126116
return_dict_list.append(data)
127117

app/api/helpers/tasks.py

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,9 @@
2121
From,
2222
Mail,
2323
)
24-
from sqlalchemy import asc, desc, func
2524

2625
from app.api.chat.rocket_chat import rename_rocketchat_room
2726
from app.api.exports import event_export_task_base
28-
from app.api.helpers.csv_jobs_util import export_attendees_csv
2927
from app.api.helpers.db import safe_query, save_to_db
3028
from app.api.helpers.files import (
3129
create_save_image_sizes,
@@ -41,7 +39,7 @@
4139
from app.api.imports import import_event_task_base
4240
from app.instance import create_app
4341
from app.models import db
44-
from app.models.custom_form import ATTENDEE_CUSTOM_FORM, CustomForms
42+
from app.models.custom_form import CustomForms, ATTENDEE_CUSTOM_FORM
4543
from app.models.discount_code import DiscountCode
4644
from app.models.event import Event
4745
from app.models.exhibitor import Exhibitor
@@ -54,8 +52,8 @@
5452
from app.models.user import User
5553
from app.models.user_follow_group import UserFollowGroup
5654
from app.settings import get_settings
57-
5855
from .import_helpers import update_import_job
56+
from app.api.helpers.csv_jobs_util import export_attendees_csv
5957

6058
"""
6159
Define all API v2 celery tasks here
@@ -539,15 +537,9 @@ def export_order_pdf_task(self, event_id):
539537

540538
@celery.task(base=RequestContextTask, name='export.attendees.csv', bind=True)
541539
def export_attendees_csv_task(self, event_id):
542-
attendees = (
543-
db.session.query(TicketHolder)
544-
.filter_by(event_id=event_id)
545-
.order_by(desc(func.date(TicketHolder.created_at)))
546-
)
547-
custom_forms = (
548-
db.session.query(CustomForms)
549-
.filter_by(event_id=event_id, form=CustomForms.TYPE.ATTENDEE, is_included=True)
550-
.order_by(asc("position"))
540+
attendees = db.session.query(TicketHolder).filter_by(event_id=event_id)
541+
custom_forms = db.session.query(CustomForms).filter_by(
542+
event_id=event_id, form=CustomForms.TYPE.ATTENDEE, is_included=True
551543
)
552544

553545
field_headers = list(ATTENDEE_CUSTOM_FORM.keys())
@@ -556,14 +548,14 @@ def custom_form_validation(cf_orm, field_headers):
556548
# set() is O(1) in membership testing
557549
field_headers_set = set(field_headers)
558550
forms_result = [None] * len(field_headers_set)
559-
index_append = 0
560551

561552
for row in cf_orm:
562553
if row.field_identifier in field_headers_set:
554+
563555
field_headers_set.discard(row.field_identifier)
556+
index_append = field_headers.index(row.field_identifier)
564557
# forms_result.append(row)
565-
forms_result.insert(index_append, row)
566-
index_append += 1
558+
forms_result.insert(index_append, row)
567559

568560
forms_result = [e for e in forms_result if e is not None]
569561
return forms_result
@@ -577,11 +569,7 @@ def custom_form_validation(cf_orm, field_headers):
577569
file_path = os.path.join(filedir, filename)
578570

579571
dict_list = export_attendees_csv(attendees, custom_forms, ATTENDEE_CUSTOM_FORM)
580-
csv_headers = []
581-
for row in dict_list:
582-
for key in row.keys():
583-
if key is not None and key not in csv_headers:
584-
csv_headers.append(key)
572+
csv_headers = list(dict_list[0].keys())
585573

586574
with open(file_path, "w") as temp_file:
587575
writer = csv.DictWriter(temp_file, fieldnames=csv_headers)

0 commit comments

Comments
 (0)