Skip to content

Commit

Permalink
Mock fix (#44)
Browse files Browse the repository at this point in the history
* Initial importer fixes

* Fixed event id

* Fixing API
  • Loading branch information
bitbyt3r authored May 22, 2020
1 parent 7b8c012 commit 08199c7
Show file tree
Hide file tree
Showing 10 changed files with 41 additions and 43 deletions.
20 changes: 10 additions & 10 deletions backend/tuber/api/importer.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def run_staff_import(email, password, url, event):
if not grant:
grant = Grant(user=user.id, role=role.id)
db.session.add(grant)
badge = db.session.query(Badge).filter(Badge.event_id == event, Badge.uber_id == attendee['id']).one_or_none()
badge = db.session.query(Badge).filter(Badge.event == event, Badge.uber_id == attendee['id']).one_or_none()
if badge:
badge.printed_number = attendee['badge_num']
badge.printed_name = attendee['badge_printed_name']
Expand All @@ -72,7 +72,7 @@ def run_staff_import(email, password, url, event):
if not badge:
badge = Badge(
uber_id = attendee['id'],
event_id = event,
event = event,
printed_number = attendee['badge_num'],
printed_name = attendee['badge_printed_name'],
search_name = "{} {}".format(attendee['first_name'].lower(), attendee['last_name'].lower()),
Expand All @@ -89,24 +89,24 @@ def run_staff_import(email, password, url, event):
print("Adding departments...")
departments = get_uber_csv(session, "Department", url)
for department in departments:
current = db.session.query(Department).filter(Department.event_id == event, Department.uber_id == department['id']).one_or_none()
current = db.session.query(Department).filter(Department.event == event, Department.uber_id == department['id']).one_or_none()
if not current:
dept = Department(
uber_id = department['id'],
name = department['name'],
description = department['description'],
event_id = event
event = event
)
db.session.add(dept)

print("Adding staffers to departments...")
deptmembers = get_uber_csv(session, "DeptMembership", url)
for dm in deptmembers:
badge = db.session.query(Badge).filter(Badge.event_id == event, Badge.uber_id == dm['attendee_id']).one_or_none()
badge = db.session.query(Badge).filter(Badge.event == event, Badge.uber_id == dm['attendee_id']).one_or_none()
if not badge:
print("Could not find badge {} to place in department {}.".format(dm['attendee_id'], dm['department_id']))
continue
department = db.session.query(Department).filter(Department.event_id == event, Department.uber_id == dm['department_id']).one_or_none()
department = db.session.query(Department).filter(Department.event == event, Department.uber_id == dm['department_id']).one_or_none()
if not department:
print("Could not find department {} for attendee {}.".format(dm['department_id'], dm['attendee_id']))
continue
Expand Down Expand Up @@ -155,7 +155,7 @@ def import_mock():
event = db.session.query(Event).filter(Event.id == request.json['event']).one_or_none()
if not event:
return jsonify(success=False, reason="Could not locate event {}".format(request.json['event']))
badges = db.session.query(Badge).filter(Badge.event_id == event.id).all()
badges = db.session.query(Badge).filter(Badge.event == event.id).all()
if badges:
return jsonify(success=False, reason="You cannot generate mock data if there are already badges. Please delete the badges first if you really want junk data.")
staff_badge_type = db.session.query(BadgeType).filter(BadgeType.name == "Staff").one_or_none()
Expand Down Expand Up @@ -187,7 +187,7 @@ def import_mock():
site = random.choice(["net", "com", "org", "co.uk"])
email="{}.{}@{}.{}".format(first_name, last_name, provider, site)
badge = Badge(
event_id=event.id,
event=event.id,
badge_type=attendee_badge_type.id,
printed_number=(((i + request.json['staffers']) // 1000 + 1) * 1000) if 'staffers' in request.json else i,
printed_name=printed_name,
Expand All @@ -211,7 +211,7 @@ def import_mock():
dept_names[name] = None
for name in dept_names.keys():
description = "The {} department.".format(name)
department = Department(name=name, description=description, event_id=event.id)
department = Department(name=name, description=description, event=event.id)
db.session.add(department)
departments.append(department)

Expand All @@ -236,7 +236,7 @@ def import_mock():
site = random.choice(["net", "com", "org", "co.uk"])
email="{}.{}@{}.{}".format(first_name, last_name, provider, site)
badge = Badge(
event_id=event.id,
event=event.id,
badge_type=staff_badge_type.id,
printed_number=i,
printed_name=printed_name,
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ window.vue = new Vue({
router,
store,
vuetify,
render: h => h(App),
render: (h) => h(App),
}).$mount('#app');
6 changes: 3 additions & 3 deletions frontend/src/mixins/rest.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ function restFetch(method, url, data) {
}
data.csrf_token = window.$cookies.get('csrf_token');
if (method === 'GET') {
const queryString = `?${Object.keys(data).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`).join('&')}`;
const queryString = `?${Object.keys(data).map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`).join('&')}`;
url += queryString;
return fetch(url, {
method,
Expand All @@ -15,7 +15,7 @@ function restFetch(method, url, data) {
'Content-Type': 'application/json',
},
credentials: 'include',
}).then(response => response.json());
}).then((response) => response.json());
}
return fetch(url, {
method,
Expand All @@ -25,7 +25,7 @@ function restFetch(method, url, data) {
},
body: JSON.stringify(data),
credentials: 'include',
}).then(response => response.json());
}).then((response) => response.json());
}

const schema = {
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/store/modules/events.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ const state = {

// getters
const getters = {
events: state => state.events,
event: state => state.event,
events: (state) => state.events,
event: (state) => state.event,
};

// actions
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/store/modules/snackbar.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ const state = {

// getters
const getters = {
snackbar: state => state.snackbar,
snackbar_text: state => state.snackbar_text,
snackbar: (state) => state.snackbar,
snackbar_text: (state) => state.snackbar_text,
};

// actions
Expand Down
8 changes: 4 additions & 4 deletions frontend/src/store/modules/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ const state = {

// getters
const getters = {
initial_setup: state => state.initial_setup,
user: state => state.user,
logged_in: state => state.logged_in,
perms: state => state.perms,
initial_setup: (state) => state.initial_setup,
user: (state) => state.user,
logged_in: (state) => state.logged_in,
perms: (state) => state.perms,
};

// actions
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/views/Emails/SourceList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ export default {
});
},
edit_email_source(emailSource) {
this.email_source = Object.assign({}, emailSource);
this.email_source = { ...emailSource };
this.edit_modal_active = true;
},
},
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/views/Events/Import/GenerateData.vue
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export default {
attendees: parseInt(self.attendees, 10),
departments: parseInt(self.departments, 10),
staffers: parseInt(self.staffers, 10),
event: self.event.id,
event: self.$store.state.events.event.id,
}).then((resp) => {
if (resp.success) {
self.$store.commit('open_snackbar', 'Mock data generated successfully.');
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/views/Hotels/Assign.vue
Original file line number Diff line number Diff line change
Expand Up @@ -501,7 +501,7 @@ export default {
const idb = parseInt(request, 10);
const b = requests[idb];
const nightsb = b.room_nights;
const differentNights = nightsa.filter(x => !nightsb.includes(x)).concat(nightsb.filter(x => !nightsa.includes(x)));
const differentNights = nightsa.filter((x) => !nightsb.includes(x)).concat(nightsb.filter((x) => !nightsa.includes(x)));
if (differentNights.length > 0) {
edge -= (weights.room_nights * differentNights.length);
Expand Down
34 changes: 16 additions & 18 deletions frontend/src/views/Hotels/Request.vue
Original file line number Diff line number Diff line change
Expand Up @@ -136,18 +136,24 @@ export default {
}
return false;
},
departments() {
const res = [];
for (let i = 0; i < this.alldepartments.length; i += 1) {
if (this.badge.departments.indexOf(this.alldepartments[i].id) >= 0) {
res.push(this.alldepartments[i]);
}
}
return res;
},
},
asyncComputed: {
departments() {
alldepartments() {
const self = this;
return new Promise((resolve) => {
if (self.event.id) {
self.post('/api/hotels/department_membership', {
event: self.event.id,
user: self.user.id,
}).then((depts) => {
self.dump('departments').then((depts) => {
if (depts.success) {
resolve(depts.departments);
resolve(depts);
} else {
resolve([]);
}
Expand Down Expand Up @@ -183,22 +189,14 @@ export default {
const self = this;
return new Promise((resolve) => {
if (self.$route.params.badge) {
self.post('/api/user/badge', { badge: self.$route.params.badge }).then((res) => {
if (res.success) {
resolve(res.badge);
} else {
resolve(null);
}
self.get(`/api/events/${self.$store.state.events.event.id}/badges`, { badge: self.$route.params.badge, full: true }).then((res) => {
resolve(res[0]);
}).catch(() => {
self.notify('Failed to retrieve badge.');
});
} else if (self.event.id && self.user.id) {
self.post('/api/user/badge', { event: self.event.id, user: self.user.id }).then((res) => {
if (res.success) {
resolve(res.badge);
} else {
resolve(null);
}
self.get(`/api/events/${self.$store.state.events.event.id}/badges`, { event: self.event.id, user: self.user.id, full: true }).then((res) => {
resolve(res[0]);
}).catch(() => {
self.notify('Failed to retrieve badge.');
});
Expand Down

0 comments on commit 08199c7

Please sign in to comment.