Add an integration for Asana.
Review Request #9363 — Created Nov. 11, 2017 and submitted
This change adds a new integration for linking to Asana tasks from
review requests. This consists of a few pieces: the integration config
which connects to a specific Asana workspace, and a review request field
which allows people to search for and link to multiple tasks.The UI is currently fully functional, but at a later date I'd like to
make it look a bit more like the related object selector used in the
admin UI, with the search box shown above the list of selected items
(instead of swapping out the entire UI for what looks more like "tags"
inside the selectize widget).
- Tested success and error conditions within the integration config UI.
- Added a bunch of tasks and verified that everything loaded correctly.
- Saved the field in a variety of states.
Description | From | Last Updated |
---|---|---|
I just mentioned this in the Trello change as well, but the one thing I want a better assurance of … |
chipx86 | |
F401 'django.utils.six' imported but unused |
reviewbot | |
E501 line too long (130 > 79 characters) |
reviewbot | |
E501 line too long (82 > 79 characters) |
reviewbot | |
E501 line too long (130 > 79 characters) |
reviewbot | |
Missing a docstring. |
chipx86 | |
Should be localized. |
chipx86 | |
Mind elaborating here on when it's rendered? |
chipx86 | |
You can simplify this a bit by starting off with: if not value: return '' Lines will be less crowded … |
chipx86 | |
Can we maybe use templates for rendering instead of hard-coding HTML here? |
chipx86 | |
E501 line too long (130 > 79 characters) |
reviewbot | |
This isn't true for this function. |
chipx86 | |
Swap these. |
chipx86 | |
Should be localized. |
chipx86 | |
This is in the wrong import group. |
chipx86 | |
Missing a period. |
chipx86 | |
We should catch exceptions and log them so this doesn't crash if something goes wrong (network issues, data issues, whatever). |
chipx86 | |
This view should use CheckLoginRequiredViewMixin and CheckLocalSiteAccessViewMixin. |
chipx86 | |
Can you do: .asana-field { &.selectize-control.loading:before { ... } &.selectize-dropdown { ... } } |
chipx86 | |
Too many colons. Can we use a class instead? I have a change pending for post-3.0 that will get rid … |
chipx86 | |
IDs before classes. Same with others further down. |
chipx86 | |
Instead of hard-coding 13px, can we use an existing variable definition? |
chipx86 | |
Can we defein variables for the colors being used? Here and below. |
chipx86 | |
What do we need flex here for? It still doesn't have wide-enough working support. |
chipx86 | |
This can nest in #field_rbintegrations_asana above. |
chipx86 | |
Same comments here about double colons and using a span. |
chipx86 | |
No need for parens here. |
chipx86 | |
Looks like we're duplicating the one from the Python field. Can we standardize these somehow? |
chipx86 | |
Better as callback.bind(this). |
chipx86 | |
If you do: if (apiKey.length === 0) { return; } You can save an indentation level and reduce the line … |
chipx86 | |
You can simplify to: $accessToken.on('change keyup', changeWorkspaceEnabled); |
chipx86 | |
Alphabetical order (case-insensitive for dependencies). |
chipx86 | |
F401 'json' imported but unused |
reviewbot | |
F401 'django.utils.html.format_html' imported but unused |
reviewbot | |
F401 'django.utils.html.format_html_join' imported but unused |
reviewbot | |
E501 line too long (82 > 79 characters) |
reviewbot | |
Can we set a logger = ... above, and use that here and anywhere else we might be logging? |
chipx86 | |
The mixins must go first. |
chipx86 | |
F401 'kgb' imported but unused |
reviewbot |
- Change Summary:
-
Typo.
- Commit:
-
435719ff5795b0260ae582e8c4d0f1692dd0b027af2745347ce1e92f02b7a41b77583e8c3aaf24d1
-
-
-
-
-
You can simplify this a bit by starting off with:
if not value: return ''
Lines will be less crowded that way.
-
-
-
-
-
-
-
We should catch exceptions and log them so this doesn't crash if something goes wrong (network issues, data issues, whatever).
-
-
Can you do:
.asana-field { &.selectize-control.loading:before { ... } &.selectize-dropdown { ... } }
-
Too many colons.
Can we use a class instead? I have a change pending for post-3.0 that will get rid of FontAwesome spinners (which are broken and officially deprecated in terms of being recommended) and replace them with a non-wobbly spinner. It will require a
<span>
of some sort, and it'll be easier for me to update this if we're not duplicating FontAwesome CSS here. -
-
-
-
-
-
-
-
-
-
If you do:
if (apiKey.length === 0) { return; }
You can save an indentation level and reduce the line widths for the rest of these.
-
-
- Commit:
-
1fbcaf4aa55fe76edecd735c3117a0c0e5baab693cdcc72670ebbc7cfe9f289bf9c92bc1e861f4da
Checks run (2 succeeded)
- Commit:
-
3cdcc72670ebbc7cfe9f289bf9c92bc1e861f4da4f114272c5f8e62e5a2ca72950422c29246737e7