Browse Source

project creation click handler location (#5823)

* also get more data on project creation failures
Max Bittker 7 years ago
parent
commit
d9ffaae9ae

+ 0 - 4
src/sentry/static/sentry/app/views/onboarding/configure/index.jsx

@@ -8,10 +8,6 @@ import ProjectDocsContext from '../../projectInstall/docsContext';
 import ProjectInstallPlatform from '../../projectInstall/platform';
 
 const Configure = React.createClass({
-  propTypes: {
-    next: React.PropTypes.func
-  },
-
   mixins: [ApiMixin],
 
   componentWillMount() {

+ 15 - 8
src/sentry/static/sentry/app/views/onboarding/index.jsx

@@ -54,12 +54,19 @@ const OnboardingWizard = React.createClass({
   createProject() {
     let {orgId} = this.props.params;
     let {teams} = this.context.organization;
+    let {projectName, platform} = this.state;
+
+    if (!projectName) {
+      Raven.captureMessage('Onboarding no project name ', {
+        extra: {props: this.props, state: this.state}
+      });
+    }
 
     this.api.request(`/teams/${orgId}/${teams[0].slug}/projects/`, {
       method: 'POST',
       data: {
-        name: this.state.projectName,
-        platform: this.state.platform
+        name: projectName,
+        platform: platform
       },
       success: data => {
         data = {
@@ -76,7 +83,11 @@ const OnboardingWizard = React.createClass({
       },
       error: err => {
         Raven.captureMessage('Onboarding project creation failed', {
-          extra: err
+          extra: {
+            err,
+            props: this.props,
+            state: this.state
+          }
         });
 
         this.setState({
@@ -88,11 +99,7 @@ const OnboardingWizard = React.createClass({
   },
 
   next() {
-    if (this.context.organization) {
-      this.createProject();
-    } else {
-      browserHistory.push('another route');
-    }
+    this.createProject();
   },
 
   render() {

+ 3 - 1
src/sentry/static/sentry/app/views/onboarding/project/platformCard.jsx

@@ -14,7 +14,9 @@ const PlatformCard = React.createClass({
     let platform = flattenedPlatforms.find(p => p.id === this.props.platform);
 
     return (
-      <span className={classnames('platform-card', this.props.className)}>
+      <span
+        className={classnames('platform-card', this.props.className)}
+        onClick={this.props.onClick}>
         <PlatformiconTile {...this.props} />
         <h5> {platform.name} </h5>
       </span>

+ 11 - 0
tests/js/spec/views/onboarding/__snapshots__/index.spec.jsx.snap

@@ -273,6 +273,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card selected"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className="selected"
@@ -302,6 +303,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className=""
@@ -331,6 +333,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className=""
@@ -360,6 +363,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className=""
@@ -389,6 +393,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className=""
@@ -418,6 +423,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className=""
@@ -447,6 +453,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className=""
@@ -476,6 +483,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className=""
@@ -505,6 +513,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className=""
@@ -534,6 +543,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className=""
@@ -563,6 +573,7 @@ exports[`OnboardingWizard render() should fill in project name if its empty when
                     >
                       <span
                         className="platform-card"
+                        onClick={[Function]}
                       >
                         <PlatformiconTile
                           className=""

+ 11 - 0
tests/js/spec/views/onboarding/project/__snapshots__/index.spec.jsx.snap

@@ -263,6 +263,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""
@@ -292,6 +293,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""
@@ -321,6 +323,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""
@@ -350,6 +353,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""
@@ -379,6 +383,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""
@@ -408,6 +413,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""
@@ -437,6 +443,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""
@@ -466,6 +473,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""
@@ -495,6 +503,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""
@@ -524,6 +533,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""
@@ -553,6 +563,7 @@ exports[`Project render() should set required class on empty submit 1`] = `
           >
             <span
               className="platform-card"
+              onClick={[Function]}
             >
               <PlatformiconTile
                 className=""

+ 43 - 0
tests/js/spec/views/onboarding/project/__snapshots__/platformpicker.spec.jsx.snap

@@ -495,6 +495,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -524,6 +525,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -553,6 +555,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -582,6 +585,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -611,6 +615,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -640,6 +645,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -669,6 +675,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -698,6 +705,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -727,6 +735,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -756,6 +765,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -785,6 +795,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -814,6 +825,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -843,6 +855,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -872,6 +885,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -901,6 +915,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -930,6 +945,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -959,6 +975,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -988,6 +1005,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1017,6 +1035,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1046,6 +1065,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1075,6 +1095,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1104,6 +1125,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1133,6 +1155,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1162,6 +1185,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1191,6 +1215,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1220,6 +1245,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1249,6 +1275,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1278,6 +1305,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1307,6 +1335,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1336,6 +1365,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1365,6 +1395,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1394,6 +1425,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1423,6 +1455,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1452,6 +1485,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1481,6 +1515,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1510,6 +1545,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1539,6 +1575,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1568,6 +1605,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1597,6 +1635,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1626,6 +1665,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1655,6 +1695,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1684,6 +1725,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""
@@ -1713,6 +1755,7 @@ exports[`PlatformPicker render() should update State.tab onClick when particular
       >
         <span
           className="platform-card"
+          onClick={[Function]}
         >
           <PlatformiconTile
             className=""