blindern / billett

Billettsystemet til UKA på Blindern
https://billett.blindernuka.no
MIT License
3 stars 0 forks source link

Ververapport #51

Open henrist opened 9 years ago

henrist commented 9 years ago

Må kunne lage en ververapport for en arrangementgruppe.

Bør være en enkel måte å flette navn på, for å fange opp ulike kombinasjoner.

Plan for implementasjon:

I de fleste tilfellene vil man kun trenge å fokusere på de som allerede ligger høyt på lista, og finne treff av dem nedenfor (i stedet for å gå gjennom hele lista og rette alt).

henrist commented 9 years ago
SELECT orders.order_text_id, FROM_UNIXTIME(orders.time) order_time, tickets.id,
    orders.is_admin, orders.name, orders.recruiter,
    FROM_UNIXTIME(events.time_start) event_time, events.title event_title,
    ticketgroups.price, ticketgroups.title ticketgroup_title,
    events.category
FROM orders
    JOIN tickets ON tickets.order_id = orders.id AND tickets.is_valid = 1 AND tickets.is_revoked = 0
    JOIN ticketgroups ON ticketgroups.id = tickets.ticketgroup_id
    JOIN events ON events.id = tickets.event_id
henrist commented 7 years ago

Kan nå hente ut data direkte fra API

https://billett.blindernuka.no/api/eventgroup/3/recruiters

Har foreløpig ikke implementert noe frontend mot dette. Hvis man vil endre navn på den som rekrutterer hvis det er feilstavet osv kan man gå direkte inn i ordren og redigere. F.eks. https://billett.blindernuka.no/a/order/1234

henrist commented 7 years ago

For å gjøre aggregering og generere data i dev tools kan man kjøre noe slikt som dette:

const list = json.reduce((prev, cur) => {
    prev[cur.order_recruiter] = prev[cur.order_recruiter] || [];
    prev[cur.order_recruiter].push(cur);
    return prev
}, {});

Object.keys(list).map(key => {
    return [ key, list[key] ]
}).sort((a, b) => b[1].length - a[1].length)
henrist commented 7 years ago

Kjekk kodesnutt for å trekke ut data til å importere i regneark:

const headers = Object.keys(json[0]);
const list = headers.join('\t') + '\n' + json.map(ticket => {
    const values = headers.map(key => ticket[key]);
    return values.join('\t') + '\n'
}).join('')
console.log(list)