Skip to content

Release v1.13.8 #5760

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Nov 4, 2021
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,7 @@ workflows:
filters:
branches:
only:
- gigs-apply-integration
- develop
# This is alternate dev env for parallel testing
- "build-test":
context : org-global
Expand All @@ -363,7 +363,7 @@ workflows:
filters:
branches:
only:
- free
- thrive-spooky1-p0-2
# This is stage env for production QA releases
- "build-prod-staging":
context : org-global
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,19 +82,19 @@ exports[`Default render 1`] = `
"title": "Competitive Programming",
},
Object {
"href": "/thrive/tracks?track=Data%20Science&tax=",
"href": "/thrive/tracks?track=Data%20Science",
"title": "Data Science",
},
Object {
"href": "/thrive/tracks?track=Design&tax=",
"href": "/thrive/tracks?track=Design",
"title": "Design",
},
Object {
"href": "/thrive/tracks?track=Development&tax=",
"href": "/thrive/tracks?track=Development",
"title": "Development",
},
Object {
"href": "/thrive/tracks?track=QA&tax=",
"href": "/thrive/tracks?track=QA",
"title": "QA",
},
],
Expand Down
8 changes: 4 additions & 4 deletions config/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -358,19 +358,19 @@ module.exports = {
},
{
title: 'Data Science',
href: '/thrive/tracks?track=Data%20Science&tax=',
href: '/thrive/tracks?track=Data%20Science',
},
{
title: 'Design',
href: '/thrive/tracks?track=Design&tax=',
href: '/thrive/tracks?track=Design',
},
{
title: 'Development',
href: '/thrive/tracks?track=Development&tax=',
href: '/thrive/tracks?track=Development',
},
{
title: 'QA',
href: '/thrive/tracks?track=QA&tax=',
href: '/thrive/tracks?track=QA',
},
],
},
Expand Down
8 changes: 4 additions & 4 deletions config/production.js
Original file line number Diff line number Diff line change
Expand Up @@ -139,19 +139,19 @@ module.exports = {
},
{
title: 'Data Science',
href: '/thrive/tracks?track=Data%20Science&tax=',
href: '/thrive/tracks?track=Data%20Science',
},
{
title: 'Design',
href: '/thrive/tracks?track=Design&tax=',
href: '/thrive/tracks?track=Design',
},
{
title: 'Development',
href: '/thrive/tracks?track=Development&tax=',
href: '/thrive/tracks?track=Development',
},
{
title: 'QA',
href: '/thrive/tracks?track=QA&tax=',
href: '/thrive/tracks?track=QA',
},
],
},
Expand Down
7 changes: 7 additions & 0 deletions docs/swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,13 @@ components:
description: "The availability of the user"
default: true
example: true
skill:
type: string
description: "The candidate's skills separated via ,"
example: "Java,Angular,SQL Server,JavaScript"
salaryExpectation:
type: integer
description: "The candidate expected salary"
hasProfile:
type: boolean
description: "Whether has profile for the user"
Expand Down
4 changes: 3 additions & 1 deletion src/server/services/contentful.js
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,9 @@ class ApiService {
* @return {Promise}
*/
async queryEntries(query) {
const res = await this.client.getEntries(query);
const decode = o => _.mapValues(o, prop => (typeof prop === 'object' ? decode(prop) : decodeURIComponent(prop)));
const decoded = decode(query);
const res = await this.client.getEntries(decoded);
return res.stringifySafe ? JSON.parse(res.stringifySafe()) : res;
}
}
Expand Down
2 changes: 2 additions & 0 deletions src/server/services/recruitCRM.js
Original file line number Diff line number Diff line change
Expand Up @@ -635,6 +635,8 @@ export default class RecruitCRMService {
const responseMapping = {
hasProfile: true,
phone: candidate.contact_number,
salaryExpectation: candidate.salary_expectation,
skill: candidate.skill,
resume: candidate.resume,
availability: _.isNil(candidate.available_from) ? true
: new Date(candidate.available_from) <= new Date(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,8 @@

.catsContainer {
display: flex;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
flex-direction: column;
align-items: flex-start;
border-left: 3px solid #e9e9e9;
padding-left: 7px;
margin-bottom: 5px;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
min-height: 217px;
display: flex;
flex-direction: column;
cursor: pointer;

@include xs-to-sm {
margin: auto;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ $text-black: #2a2a2a;
align-items: center;
width: 100%;
justify-content: flex-start;

&:last-child {
height: auto;
}
}

span {
Expand Down
12 changes: 9 additions & 3 deletions src/shared/containers/EDU/Search.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { updateQuery } from 'utils/url';
import qs from 'qs';
import LoadingIndicator from 'components/LoadingIndicator';
import SearchPageFilter from 'components/Contentful/SearchPageFilter/SearchPageFilter';
import moment from 'moment';
// Partials
import ResultTabs from './partials/ResultTabs';
// CSS
Expand Down Expand Up @@ -66,8 +67,8 @@ export default class EDUSearch extends React.Component {
const queryUpdate = {
author: filterState.selectedAuthor,
tags: filterState.tags,
startDate: filterState.startDate.format('YYYY-MM-DD'),
endDate: filterState.endDate.format('YYYY-MM-DD'),
startDate: filterState.startDate instanceof moment ? filterState.startDate.format('YYYY-MM-DD') : moment(filterState.startDate).format('YYYY-MM-DD'),
endDate: filterState.endDate instanceof moment ? filterState.endDate.format('YYYY-MM-DD') : moment(filterState.endDate).format('YYYY-MM-DD'),
track: filterState.selectedCategory ? filterState.selectedCategory.title : null,
tax: filterState.selectedCategory ? _.map(
_.filter(filterState.selectedCategory.items, item => item.selected),
Expand All @@ -88,6 +89,8 @@ export default class EDUSearch extends React.Component {
} = this.state;
const title = 'Tutorials And Workshops That Matter | Thrive | Topcoder';
const description = 'Thrive is our vault of content that we have been gathering over the years. It is full of tutorials and workshops that matter. Grow with us!';
let inputSelectedFilter = '0';
if (query.phrase) inputSelectedFilter = '1';

const metaTags = (
<MetaTags
Expand All @@ -111,7 +114,10 @@ export default class EDUSearch extends React.Component {
{/* Banner */}
<div className={searchTheme.bannerContainer}>
<div className={searchTheme.searchBarWrapp}>
<SearchBar inputlVal={query.phrase || query.title} selectedFilter={query.phrase ? '1' : '0'} />
<SearchBar
inputlVal={query.phrase || query.title}
inputSelectedFilter={inputSelectedFilter}
/>
</div>
</div>
<div className={searchTheme.shapeBanner} />
Expand Down
8 changes: 4 additions & 4 deletions src/shared/services/contentful.js
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ class Service {
// thus we need to find it first
await this.queryEntries({
content_type: 'person',
query: encodeURIComponent(author),
query: author,
})
.then((result) => {
query['fields.contentAuthor.sys.id'] = result.total ? result.items[0].sys.id : 'NO_SUCH_ID';
Expand All @@ -340,12 +340,12 @@ class Service {
}
if (track) query['fields.trackCategory'] = track;
if (!_.isEmpty(tags)) {
query['fields.tags[all]'] = tags.map(t => encodeURIComponent(t)).join(',');
query['fields.tags[all]'] = tags.map(t => t).join(',');
}
if (startDate) query['fields.creationDate[gte]'] = startDate;
if (endDate) query['fields.creationDate[lte]'] = endDate;
if (phrase) query.query = encodeURIComponent(phrase);
if (title) query['fields.title[match]'] = encodeURIComponent(title);
if (phrase) query.query = phrase;
if (title) query['fields.title[match]'] = title;
if (sortBy) {
switch (sortBy) {
case 'Likes': query.order = '-fields.upvotes,-fields.creationDate'; break;
Expand Down