diff --git a/common/app/routes/Hikes/components/Lecture.jsx b/common/app/routes/Hikes/components/Lecture.jsx
index 3b37f2736f..1f37b854c5 100644
--- a/common/app/routes/Hikes/components/Lecture.jsx
+++ b/common/app/routes/Hikes/components/Lecture.jsx
@@ -41,7 +41,7 @@ export default contain(
render() {
const { title, challengeSeed } = this.props.currentHike;
- const [ id ] = challengeSeed;
+ const [ id ] = challengeSeed || ['1'];
return (
diff --git a/common/app/routes/Hikes/flux/Actions.js b/common/app/routes/Hikes/flux/Actions.js
index 86af76c462..1d22c91744 100644
--- a/common/app/routes/Hikes/flux/Actions.js
+++ b/common/app/routes/Hikes/flux/Actions.js
@@ -67,10 +67,11 @@ export default Actions({
return instance.setCurrentHike(potentialHike);
}
}
- service.read('hikes', { dashedName }, null, (err, hike) => {
+ service.read('hikes', { dashedName }, null, (err, hikes) => {
if (err) {
debug('error occurred fetching hike', err);
}
+ const [hike] = hikes;
return instance.setCurrentHike(hike);
});
});
diff --git a/server/services/hikes.js b/server/services/hikes.js
index 0238e11355..10b5221729 100644
--- a/server/services/hikes.js
+++ b/server/services/hikes.js
@@ -1,3 +1,8 @@
+import debugFactory from 'debug';
+import assign from 'object.assign';
+
+const debug = debugFactory('freecc:services:hikes');
+
export default function hikesService(app) {
const Challenge = app.models.Challenge;
@@ -8,6 +13,14 @@ export default function hikesService(app) {
where: { challengeType: '6' },
order: 'difficulty ASC'
};
+
+ debug('params', params);
+ if (params) {
+ assign(query.where, {
+ dashedName: { like: params.dashedName, options: 'i' }
+ });
+ }
+ debug('query', query);
Challenge.find(query, (err, hikes) => {
if (err) {
return cb(err);