Skip to content

Commit

Permalink
Merge pull request #403 from Midburn/tickets_disable_parking
Browse files Browse the repository at this point in the history
mig: tickets::disabledParking-bool
  • Loading branch information
LeonFedotov authored May 18, 2017
2 parents b5fb449 + 68c6f9e commit aac6dd9
Show file tree
Hide file tree
Showing 9 changed files with 85 additions and 37 deletions.
1 change: 1 addition & 0 deletions locales/en/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
"login": "Login with Facebook"
},
"ticket_number": "Ticket number",
"disabledParking": "disability parking",
"order_number": "Order number",
"ticket_type": "Ticket type",
"entrance_timestamp": "Current entrance date/time",
Expand Down
1 change: 1 addition & 0 deletions locales/he/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
"login": "התחבר באמצעות פייסבוק"
},
"ticket_number": "מס. כרטיס",
"disabledParking": "חניית נכים",
"order_number": "מס. הזמנה",
"ticket_type": "סוג כרטיס",
"operations": "פעולות",
Expand Down
11 changes: 11 additions & 0 deletions migrations/20170517223359_tickets_disable_parking.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
exports.up = function(knex, Promise) {
return Promise.all([knex.schema.alterTable('tickets', function(table) {
table.boolean('disabledParking').defaultTo(false);
})])
};

exports.down = function(knex, Promise) {
return Promise.all([knex.schema.alterTable('tickets', function(table) {
table.dropColumn('disabledParking');
})])
};
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"this is part of the deployment proess, so it is important to update the version number",
"version name corresponds to the github release name / tag name - https://github.com/Midburn/Spark/releases"
],
"version": "2.4.2",
"version": "2.4.4",
"private": true,
"scripts": {
"postinstall": "bower install",
Expand Down Expand Up @@ -117,4 +117,3 @@
},
"snyk": true
}

14 changes: 7 additions & 7 deletions routes/api_gate_routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ var Event = require('../models/event').Event;
var UsersGroup = require('../models/user').UsersGroup;

const ERRORS = {
GATE_CODE_MISSING: "gate_code is missing or incorrect",
BAD_SEARCH_PARAMETERS: "Search parameters are missing or incorrect. Please provide barcode or (ticket and order)",
TICKET_NOT_FOUND: "Ticket not found",
ALREADY_INSIDE: "Participant is already inside the event",
QUOTA_REACHED: "Users group quota reached",
TICKET_NOT_IN_GROUP: "Ticket is not assigned to this users group",
USER_OUTSIDE_EVENT: "Participant is outside of the event"
GATE_CODE_MISSING: 'gate_code is missing or incorrect',
BAD_SEARCH_PARAMETERS: 'Search parameters are missing or incorrect. Please provide barcode or (ticket and order)',
TICKET_NOT_FOUND: 'Ticket not found',
ALREADY_INSIDE: 'Participant is already inside the event',
QUOTA_REACHED: 'Users group quota reached',
TICKET_NOT_IN_GROUP: 'Ticket is not assigned to this users group',
USER_OUTSIDE_EVENT: 'Participant is outside of the event'
};

function sendError(res, httpCode, errorCode, errorObj) {
Expand Down
4 changes: 2 additions & 2 deletions routes/gate_routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ var Event = require('../models/event').Event;

router.get('/', userRole.isGateManager(), function (req, res) {
//TODO Temp MIDBURN2017, we need to add a global current-event selector.
Event.forge({event_id: "MIDBURN2017"}).fetch().then(event => {
Event.forge({event_id: 'MIDBURN2017'}).fetch().then(event => {
return res.render('pages/gate', {
gate_code: event.attributes.gate_code
});
Expand All @@ -27,7 +27,7 @@ router.get('/ajax/tickets', [security.protectJwt, userRole.isGateManager()], fun
}

knex.select('*').from('tickets').leftJoin('users', 'tickets.holder_id', 'users.user_id')
.where('ticket_number', req.query.search)
.where('ticket_number', isNaN(parseInt(req.query.search))? req.query.search: parseInt(req.query.search))
.orWhere('first_name', 'LIKE', '%' + req.query.search + '%')
.orWhere('last_name', 'LIKE', '%' + req.query.search + '%')
.orWhere('email', 'LIKE', '%' + req.query.search + '%')
Expand Down
23 changes: 13 additions & 10 deletions scripts/drupal_ticket_sync.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,15 +99,16 @@ async function dumpDrupalTickets(session, date, page) {
//log.debug("type", type_id, ticket['user_ticket_type_name'][[0]], status);
if (status === STATUS_COMPLETED && TICKETS_TYPE_IDS.includes(type_id)) {
utickets.push({
'id' : ticket['Docment id'],
'holder_email' : ticket['Email'],
'buyer_email' : ticket['Buyer E-mail'],
'name' : ticket['Name'],
'order_id' : ticket['users_ticket_registration_uid'],
'ticket_id' : ticket['Ticket number'],
'ticket_number' : ticket['Ticket number'],
'barcode' : ticket['ticket barcode']['value'],
'ticket_type' : ticket['user_ticket_type_name']
'id' : ticket['Docment id'],
'holder_email' : ticket['Email'],
'buyer_email' : ticket['Buyer E-mail'],
'name' : ticket['Name'],
'disabledParking' : parseInt(ticket['disabledParking']) === 1,
'order_id' : ticket['users_ticket_registration_uid'],
'ticket_id' : ticket['Ticket number'],
'ticket_number' : ticket['Ticket number'],
'barcode' : ticket['ticket barcode']['value'],
'ticket_type' : ticket['user_ticket_type_name']
});
}
}
Expand Down Expand Up @@ -190,13 +191,15 @@ async function updateTicket(ticket) {
}

var holder_id = user.attributes.user_id;

sparkTicket = Ticket.forge({
event_id: EVENT_ID,
holder_id: holder_id,
barcode: barcode,
order_id: order_id,
ticket_id: ticket_id,
type: ticket_type,
disabledParking: parseInt(ticket.disabledParking, 10) === 1,
ticket_number: ticket_id // In Drupal, they are the same
});

Expand Down Expand Up @@ -241,7 +244,7 @@ async function syncTickets(fromDate, callback) {
var session = await getDrupalSession();
if (session) {
log.info('Got Drupal session...');
var page = 0;
var page = 1;
var running = true;
while (running) {
log.info("Page:", page);
Expand Down
5 changes: 5 additions & 0 deletions views/pages/gate.jade
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ block content
th( data-field="last_name" )=t('last_name')
th( data-field="email" )=t('email')
th( data-field="type" )=t('ticket_type')
th( data-field="disabledParking" data-formatter="parkingFormat")=t('disabledParking')
th( data-field="first_entrance_timestamp" data-formatter="dateFormat" )=t('first_entrance_timestamp')
th( data-field="entrance_timestamp" data-formatter="dateFormat")=t('entrance_timestamp')
th( data-field="last_exit_timestamp" data-formatter="dateFormat")=t('last_exit_timestamp')
Expand Down Expand Up @@ -93,6 +94,10 @@ block scripts
}
}

function parkingFormat(value) {
return parseInt(value, 10) === 1 ? '<button type="button" class="btn btn-success">&nbsp;</button>' : '';
}

$(document).ready(function () {

$(document).on("click", ".entranceAction", function () {
Expand Down
60 changes: 44 additions & 16 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -633,6 +633,10 @@ busboy@*:
dicer "0.2.5"
readable-stream "1.1.x"

[email protected]:
version "2.3.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070"

[email protected]:
version "2.4.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339"
Expand Down Expand Up @@ -779,6 +783,10 @@ cliui@^3.2.0:
strip-ansi "^3.0.1"
wrap-ansi "^2.0.0"

[email protected]:
version "2.1.1"
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"

clone@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
Expand Down Expand Up @@ -825,6 +833,23 @@ component-emitter@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"

compressible@~2.0.8:
version "2.0.10"
resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd"
dependencies:
mime-db ">= 1.27.0 < 2"

compression@^1.6.2:
version "1.6.2"
resolved "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3"
dependencies:
accepts "~1.3.3"
bytes "2.3.0"
compressible "~2.0.8"
debug "~2.2.0"
on-headers "~1.0.1"
vary "~1.1.0"

[email protected]:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
Expand Down Expand Up @@ -2120,14 +2145,10 @@ i18next@^8.2.1:
version "8.2.1"
resolved "https://registry.yarnpkg.com/i18next/-/i18next-8.2.1.tgz#6d2e8884516c320b4020c5af63e0316be626ac95"

[email protected]:
[email protected], iconv-lite@~0.4.13:
version "0.4.15"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"

iconv-lite@~0.4.13:
version "0.4.13"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"

ieee754@^1.1.4:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
Expand Down Expand Up @@ -2771,7 +2792,7 @@ lodash.uniq@^4.3.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"

lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.0, lodash@~4.17.2:
lodash@4.x, lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.0, lodash@~4.17.2:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"

Expand Down Expand Up @@ -2889,26 +2910,26 @@ micromatch@^2.1.5, micromatch@^2.3.7:
parse-glob "^3.0.4"
regex-cache "^0.4.2"

"mime-db@>= 1.27.0 < 2", mime-db@~1.27.0:
version "1.27.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"

mime-db@~1.26.0:
version "1.26.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff"

mime-db@~1.27.0:
version "1.27.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
mime-types@^2.1.10, mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15:
version "2.1.15"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
dependencies:
mime-db "~1.27.0"

mime-types@^2.1.10, mime-types@^2.1.12, mime-types@~2.1.7:
mime-types@~2.1.7:
version "2.1.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"
dependencies:
mime-db "~1.26.0"

mime-types@~2.1.11, mime-types@~2.1.15:
version "2.1.15"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
dependencies:
mime-db "~1.27.0"

[email protected], mime@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
Expand Down Expand Up @@ -3062,6 +3083,13 @@ nock@^9.0.13:
propagate "0.4.0"
qs "^6.0.2"

node-cache@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-4.1.1.tgz#08524645ee4039dedc3dcc1dd7c6b979e0619e44"
dependencies:
clone "2.x"
lodash "4.x"

node-fetch@^1.0.1:
version "1.6.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
Expand Down

0 comments on commit aac6dd9

Please sign in to comment.