Skip to content

Commit 3cc6607

Browse files
author
Vikas Agarwal
committed
Merge branch 'dev' into feature/number_of_screens_valiation_802
* dev: moving best match to the top of the sort list Github issue#405, White spaces are recognized as valid input for NOTES -- Trimmed form field value, before checking if it is empty or not, if it is a string. fixes #876 Github issue#9, Add favicon.ico -- Used highest resolution favicon image from the archive provided initially in the github issue. favicon-webpack-plugin would take care of generating the icons for other devices and browsers. Update to Connect Terms per Joey's request Github issue#691, Refresh Project Estimate component on change of number of screens -- Fired PROJECT_DIRTY action for every change event fired by the form. Earlier it was firing the PROJECT_DIRTY action only if the form has actually changed its model from the original value. fixes #840 fixing codebot bug fixing bug updating coderbot value and fixes system hardcoded values Conflicts: src/projects/detail/components/EditProjectForm.jsx
2 parents 2d821c8 + 922b805 commit 3cc6607

File tree

13 files changed

+39
-12
lines changed

13 files changed

+39
-12
lines changed

docs/dependency-notes.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
This document outlines the dependency concerns faced during the development of the application.
3+
4+
1. We have overridden the version to 1.1.2 of to-ico library which is used indirectly by "favicon-webpack-plugin" which in turn is used for generating the favicons for different devices and browser combinations. This was required because with versions above 1.1.2 to-ico library is using some features from node v5.10+.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
"deep-freeze-node": "^1.1.2",
1919
"eslint": "^2.2.0",
2020
"eslint-plugin-react": "^4.1.0",
21+
"favicons-webpack-plugin": "0.0.7",
22+
"to-ico":"1.1.2",
2123
"ignore-styles": "^1.2.0",
2224
"mocha": "^2.4.5",
2325
"mocha-jsdom": "^1.1.0",

src/components/ConnectTerms/ConnectTerms.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const ConnectTerms = () => (
88
<h1>Terms</h1>
99
<p>This User Agreement (the "<strong>Agreement</strong>") is a contract between you (referred to herein as "<strong>User</strong>") and Topcoder Inc. ("Topcoder") and applies to User's use and viewing of <a href="http://connect.topcoder.com">connect.topcoder.com</a> and related sub-domains ("<strong>Topcoder Connect</strong>") and all services available through Topcoder Connect (the "<strong>Services</strong>"). By visiting Topcoder Connect, User has accepted this Agreement and has agreed to be bound by the terms of this Agreement. Any Custom Software ordered (as defined below) or Services used through Topcoder Connect are also governed by these Terms. Topcoder may amend this Agreement at any time by posting a revised version on Topcoder Connect. The revised version will be effective at the time Topcoder posts it.</p>
1010
<h2>1. Services and Specifications.</h2>
11-
<p>The Services provide for the creation of certain types of mock-ups, prototypes, and application development of computer software applications (the "<b>Deliverables</b>") through Topcoder's crowdsourcing platform (as defined below) through a Topcoder representative or co-pilot (referred to herein as a "<b>User Success Manager</b>"), as further described on Topcoder Connect. To utilize the Services, User has provided specifications with respect to the Deliverables in reasonable detail as prompted in several fields on webpages associated with Topcoder Connect where the User was requested to enter information regarding the intended Deliverable (such information, the "<b>Preliminary Specifications</b>"). After payment of Project Fees (as defined below) associated with the Deliverable, a User Success Manager shall contact User to gather additional information regarding the Deliverables, as may be necessary in Topcoder's sole discretion. Topcoder and User shall mutually agree on a final set of specifications, which shall be referred to herein as the "<b>Specifications</b>". To the extent the parties are not able to reach agreement on the Specifications, including, but not limited to situations where the information provided by User is insufficient to create Specifications or the Preliminary Specifications are outside the scope of the services described on Topcoder Connect, Topcoder shall refund to User any Project Fees paid by User and Topcoder shall have no further liability or obligations under this Agreement.</p>
11+
<p>The Services provide for the creation of certain types of mock-ups, prototypes, and application development of computer software applications (the "<b>Deliverables</b>") through Topcoder's crowdsourcing platform (as defined below) through a Topcoder representative or co-pilot (referred to herein as a "<b>User Success Manager</b>"), as further described on Topcoder Connect. To utilize the Services, User has provided specifications with respect to the Deliverables in reasonable detail as prompted in several fields on webpages associated with Topcoder Connect where the User was requested to enter information regarding the intended Deliverable (such information, the "<b>Preliminary Specifications</b>"). After payment of Project Fees (as defined below) associated with the Deliverable, a User Success Manager shall contact User to gather additional information regarding the Deliverables, as may be necessary in Topcoder's sole discretion. Topcoder and User shall mutually agree on a final set of specifications, which shall be referred to herein as the "<b>Specifications</b>". As part of this process, Topcoder may provide services to User on an hourly basis. To the extent the parties are not able to reach agreement on the Specifications, including, but not limited to situations where the information provided by User is insufficient to create Specifications or the Preliminary Specifications are outside the scope of the services described on Topcoder Connect, Topcoder shall refund to User any Project Fees paid by User (excluding fees associated with hourly services previously provided) and Topcoder shall have no further liability or obligations under this Agreement.</p>
1212
<h2>2. Definitions.</h2>
1313
<p>For the purposes of this Agreement, the following capitalized terms have the meanings assigned to them in this Section 2. Any capitalized terms used in this Agreement but not otherwise defined in this Section shall have the meanings assigned to them elsewhere in this Agreement.</p>
1414
<ul>

src/components/TextInput/TextInput.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@
4545
border-bottom: 1px solid $tc-gray-40;
4646
color: $tc-gray-30;
4747
}
48+
&.error{
49+
border-left: 3px solid $tc-red-70!important;
50+
border-bottom: 1px solid $tc-red-70!important;
51+
background: $tc-gray-neutral-light!important;
52+
}
4853
}
4954

5055
.input-lg,

src/components/TopBar/TopBarContainer.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,11 @@ class TopBarContainer extends React.Component {
7777

7878
applyFilters(filter) {
7979
const criteria = _.assign({}, this.props.criteria, filter)
80-
if (criteria && criteria.keyword)
80+
if (criteria && criteria.keyword) {
8181
criteria.keyword = encodeURIComponent(criteria.keyword)
82+
// force sort criteria to best match
83+
criteria.sort = 'best match'
84+
}
8285
this.routeWithParams(criteria, 1)
8386
}
8487

src/config/constants.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ export const PROJECT_FEED_TYPE_PRIMARY = 'PRIMARY'
215215
export const PROJECT_FEED_TYPE_MESSAGES = 'MESSAGES'
216216

217217
export const DISCOURSE_BOT_USERID = 'system'
218-
export const CODER_BOT_USERID = 'system'
218+
export const CODER_BOT_USERID = 'CoderBot'
219219
export const CODER_BOT_USER_FNAME = 'Coder'
220220
export const CODER_BOT_USER_LNAME = 'Bot'
221221

src/favicon.png

15.4 KB
Loading

src/index.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<!DOCTYPE html>
22
<html>
33
<head>
4-
<link ref="icon" href="/favicon/favicon.ico" />
54
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
65
<meta http-equiv="X-UA-Compatible" content="IE=edge">
76
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">

src/projects/actions/projectTopics.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ import {
77
CREATE_PROJECT_FEED,
88
LOAD_PROJECT_FEED_COMMENTS,
99
CREATE_PROJECT_FEED_COMMENT,
10-
LOAD_PROJECT_FEEDS_MEMBERS
10+
LOAD_PROJECT_FEEDS_MEMBERS,
11+
DISCOURSE_BOT_USERID,
12+
CODER_BOT_USERID
1113
} from '../../config/constants'
1214
import { loadMembers } from '../../actions/members'
1315
import { EventTypes } from 'redux-segment'
@@ -85,7 +87,7 @@ const getProjectTopicsWithMember = (dispatch, projectId, tag) => {
8587
userIds = _.union(userIds, _.map(topic.posts, 'userId'))
8688
})
8789
// this is to remove any nulls from the list (dev had some bad data)
88-
_.remove(userIds, i => !i || i === 'system')
90+
_.remove(userIds, i => !i || [DISCOURSE_BOT_USERID, CODER_BOT_USERID].indexOf(i) > -1)
8991
// return if there are no userIds to retrieve, empty result set
9092
if (!userIds.length)
9193
resolve(value)

src/projects/detail/components/EditProjectForm.jsx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,10 +143,15 @@ class EditProjectForm extends Component {
143143
this.props.submitHandler(model)
144144
}
145145

146-
handleChange(change, isChanged) {
147-
if (isChanged) {
148-
this.props.fireProjectDirty(unflatten(change))
149-
}
146+
/**
147+
* Handles the change event of the form.
148+
*
149+
* @param change changed form model in flattened form
150+
* @param isChanged flag that indicates if form actually changed from initial model values
151+
*/
152+
handleChange(change) {
153+
// removed check for isChanged argument to fire the PROJECT_DIRTY event for every change in the form
154+
this.props.fireProjectDirty(change)
150155
}
151156

152157

0 commit comments

Comments
 (0)