Skip to content
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

Improve behavior of notification sending for owner editing #296

Merged
merged 7 commits into from
Sep 10, 2019

Conversation

ttannis
Copy link
Contributor

@ttannis ttannis commented Sep 10, 2019

Summary of Changes

This PR improves the behavior of the automatic notifications that occur when an owner is added or removed. We now send a notification only on success of adding/removing the owner, and only if the user is not an alumni and is not a team.

The following changes were made to achieve this:

  1. Notifications for owner notifications was removed from the Flask layer, all notifications are now triggered by some logic that occurs in the Redux layer. This provides us with more flexibility to explicitly call the /notification endpoint in specific cases.
  2. Modified the method that generates the request to update the owner. If the update request succeeds, a request is added to the chain to get the user data for the given owner. A helper method evaluates if the user meets the criteria to get a notification, and then a third request is added to the chain to send the notification.

Other cleanup:

  1. The notification endpoint was updated to do more explicit error checking, and has helpful logic to get the sender if none is provided. This is helpful because it will prevent the application from needing to make a request to get the current user's email (sender), when that information is already available to the endpoint.
  2. Cleaned up a type in the OwnerEditor component.

Tests

Python tests modified according to changes. Tests for the new helper methods in ducks/tableMetadata were added.

However generateOwnerUpdateRequests will be covered as part of a larger task to resolve some tech debt in the coverage of ducks/tableMetadata/api/v0

Documentation

N/A

CheckList

Make sure you have checked all steps below to ensure a timely review.

  • PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"
  • PR includes a summary of changes, including screenshots of any UI changes.
  • PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
  • In case of new functionality, my PR adds documentation that describes how to use it.
    • All the public python functions and the classes in the PR contain docstrings that explain what it does
  • PR passes all tests documented in the developer guide

@codecov-io
Copy link

codecov-io commented Sep 10, 2019

Codecov Report

Merging #296 into amundsen-notifications will decrease coverage by 0.12%.
The diff coverage is 64.7%.

Impacted file tree graph

@@                    Coverage Diff                     @@
##           amundsen-notifications     #296      +/-   ##
==========================================================
- Coverage                   71.05%   70.92%   -0.13%     
==========================================================
  Files                         117      141      +24     
  Lines                        2643     3567     +924     
  Branches                      391      432      +41     
==========================================================
+ Hits                         1878     2530     +652     
- Misses                        760     1002     +242     
- Partials                        5       35      +30
Impacted Files Coverage Δ
amundsen_application/api/metadata/v0.py 74.56% <ø> (ø)
...ic/js/components/TableDetail/OwnerEditor/index.tsx 0% <0%> (ø) ⬆️
...ation/static/js/ducks/tableMetadata/api/helpers.ts 100% <100%> (ø) ⬆️
...tion/static/js/ducks/tableMetadata/owners/sagas.ts 100% <100%> (ø) ⬆️
...pplication/static/js/ducks/tableMetadata/api/v0.ts 23.72% <16.66%> (-1.73%) ⬇️
amundsen_application/api/mail/v0.py 98.41% <90.9%> (ø)
...cation/static/js/components/Tags/TagInfo/index.tsx 52.94% <0%> (-31.91%) ⬇️
...undsen_application/static/js/ducks/search/sagas.ts 80.76% <0%> (-14.58%) ⬇️
...n/static/js/components/common/Breadcrumb/index.tsx 94.11% <0%> (-2.66%) ⬇️
...lication/static/js/components/SearchPage/index.tsx 99.2% <0%> (-0.8%) ⬇️
... and 34 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ea23ca5...535bd68. Read the comment docs.

@ttannis ttannis merged commit 1e17619 into amundsen-notifications Sep 10, 2019
@ttannis ttannis deleted the ttannis_more-notif-cleanup branch September 11, 2019 01:46
ttannis pushed a commit that referenced this pull request Oct 2, 2019
* Initial start to notifications API (#215)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* addressed comments regarding imports/enum naming

* fixed alphabetical order

* Notifs post email functionality (#222)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* added template support

* made changes to reflect private changes

* added helper function

* fixed lint issue

* addressed comments, added some type checking and cleaned up comments

* testing removing test

* fixed linter

* fixed lint

* fixed linting issues

* skip type checking

* fixed lint

* fixed typing on get request args

* removed typing for get request to fix lint issues

* fixed linter again

* re added test

* raise exception inside of getmailclient

* added exceptions

* addressed comments

* whitespace issue

* removed calls to get_query_param

* fixed syntax error

* Send notification when adding/removing owner from table (#237)

* basic e2e functionality for adding/removing

* send_notification refactor

* fix lint errors

* blank line lint error

* fixed syntax issue

* arg typing

* addressed comments, fixed code style

* Prevent Self-Notifications (#243)

* Prevent user from notifying themselves

* removed exception

* added owner check to send_notification

* Fixed return for no recipients (#244)

* fixed return for no recipients

* fixed linter issue

* Request notifications component (#238)

* init of request form

* basic request component

* getting basic functionality in

* clearing out css

* removed z-index fixes and add constants

* fixed string casting

* added redux-saga calls

* removed reset request notification

* fixed tests

* addressed comments, added basic test, added redux state management for opening/closing component

* added tests, just need to add render test

* cleaned up component tests:

* addressed html/css comments

* removed unecessary styling

* removed collapsed class

* cleaned up render method

* fixed test

* Open request component (#254)

* added button to open up request component

* removed tabledetail changes

* className styling

* fixed text-decoration

* added tests, changed naming for OpenRequest

* styling formatting

* Add, Request, and Remove Email Copy (#257)

* init for fixing email copy for request, add, and remove

* removed print statement

* fixed python unit test

* fixed linter issues

* addressed comments, fixed linter issues

* added notification unit test

* fixed test positional arg

* fix test

* Add notification action logging (#258)

* init of adding action logging

* changed location of action logging

* fixed linter errors

* fixed comment

* addressed comments

* remove request test call (#259)

* hide request if description already exists (#269)

* fixed open request button, request form styling (#267)

* Added request dropdown component (#262)

* init

* made fixes

* cleaned up code

* fixed color issues

* fixed import order

* fixed styling, changed ducks/sagas

* User dropdown (#263)

* init

* fixed sty;es

* fixed test issue

* fixed test

* added tests, addressed comments

* Request Metadata Component Tests (#270)

* added tests + readonly field to stop errors

* fixed tslint

* addressed comments, added header tests

* Request form navigation fix, dropdown fix (#272)

* Request form navigation fix, dropdown fix

* added test

* added unique id to dropdown

* Creates User Preferences page with no functionality (#266)

* init

* added event handlers

* removed test file

* added constants

* addressed comments

* fixed test, removed all links to page

* updated test

* fixed call to onclick

* removed preferences page

* Python cleanup + tests (#277)

* Python cleanup + tests

* More tests + revert some unecessary changes

* Bring dropdown UI closer to design (#278)

* Rename OpenRequestDescription for clarity + code cleanup + test additions (#279)

* Notifications ducks cleanup + tests (#280)

* Notifications ducks cleanup + tests

* Fix issues

* Fix template for edge case of empty form (#281)

* Temporary debugging code, will revert

* Temporary debugging code, will revert

* Implement notification form confirmation (#289)

* Preserve compatibility in base_mail_client (#290)

* Notifications Configs + Doc (#291)

* Add notification config

* Code cleanup

* More cleanup + add a test

* Add some doc for how to enable features

* Add config utils test + fix type error

* Relative URLs to child configuration docs (#294)

* Relative URLs to child configuration docs

Relative URLs to docs in the same folder should do. They work for any branch, local copies of the docs - and should work better if we ever (or whenever :-) we get to having e.g a Sphinx generated site.

* Update application_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Remove temporary debugging code

* Improve behavior of notification sending for owner editing (#296)

* Initial Implementation: Notification only on success

* Cleanup + tests: Notification only on success

* Cleanup: Remove test code to trigger failure

* Cleanup: Lint fix

* Workaround for not notifying teams or alumni

* Cleanup: Remove import mistake

* Utilize NotificationType enums instead of hardcoded string

* Remove use of render_template

* More minor cleanups

* Address some feedback

* Cleanup

* More cleanup
ttannis added a commit that referenced this pull request Oct 7, 2019
* Initial start to notifications API (#215)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* addressed comments regarding imports/enum naming

* fixed alphabetical order

* Notifs post email functionality (#222)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* added template support

* made changes to reflect private changes

* added helper function

* fixed lint issue

* addressed comments, added some type checking and cleaned up comments

* testing removing test

* fixed linter

* fixed lint

* fixed linting issues

* skip type checking

* fixed lint

* fixed typing on get request args

* removed typing for get request to fix lint issues

* fixed linter again

* re added test

* raise exception inside of getmailclient

* added exceptions

* addressed comments

* whitespace issue

* removed calls to get_query_param

* fixed syntax error

* Send notification when adding/removing owner from table (#237)

* basic e2e functionality for adding/removing

* send_notification refactor

* fix lint errors

* blank line lint error

* fixed syntax issue

* arg typing

* addressed comments, fixed code style

* Prevent Self-Notifications (#243)

* Prevent user from notifying themselves

* removed exception

* added owner check to send_notification

* Fixed return for no recipients (#244)

* fixed return for no recipients

* fixed linter issue

* Request notifications component (#238)

* init of request form

* basic request component

* getting basic functionality in

* clearing out css

* removed z-index fixes and add constants

* fixed string casting

* added redux-saga calls

* removed reset request notification

* fixed tests

* addressed comments, added basic test, added redux state management for opening/closing component

* added tests, just need to add render test

* cleaned up component tests:

* addressed html/css comments

* removed unecessary styling

* removed collapsed class

* cleaned up render method

* fixed test

* Open request component (#254)

* added button to open up request component

* removed tabledetail changes

* className styling

* fixed text-decoration

* added tests, changed naming for OpenRequest

* styling formatting

* Add, Request, and Remove Email Copy (#257)

* init for fixing email copy for request, add, and remove

* removed print statement

* fixed python unit test

* fixed linter issues

* addressed comments, fixed linter issues

* added notification unit test

* fixed test positional arg

* fix test

* Add notification action logging (#258)

* init of adding action logging

* changed location of action logging

* fixed linter errors

* fixed comment

* addressed comments

* remove request test call (#259)

* hide request if description already exists (#269)

* fixed open request button, request form styling (#267)

* Added request dropdown component (#262)

* init

* made fixes

* cleaned up code

* fixed color issues

* fixed import order

* fixed styling, changed ducks/sagas

* User dropdown (#263)

* init

* fixed sty;es

* fixed test issue

* fixed test

* added tests, addressed comments

* Request Metadata Component Tests (#270)

* added tests + readonly field to stop errors

* fixed tslint

* addressed comments, added header tests

* Request form navigation fix, dropdown fix (#272)

* Request form navigation fix, dropdown fix

* added test

* added unique id to dropdown

* Creates User Preferences page with no functionality (#266)

* init

* added event handlers

* removed test file

* added constants

* addressed comments

* fixed test, removed all links to page

* updated test

* fixed call to onclick

* removed preferences page

* Python cleanup + tests (#277)

* Python cleanup + tests

* More tests + revert some unecessary changes

* Bring dropdown UI closer to design (#278)

* Rename OpenRequestDescription for clarity + code cleanup + test additions (#279)

* Notifications ducks cleanup + tests (#280)

* Notifications ducks cleanup + tests

* Fix issues

* Fix template for edge case of empty form (#281)

* Temporary debugging code, will revert

* Temporary debugging code, will revert

* Implement notification form confirmation (#289)

* Preserve compatibility in base_mail_client (#290)

* Notifications Configs + Doc (#291)

* Add notification config

* Code cleanup

* More cleanup + add a test

* Add some doc for how to enable features

* Add config utils test + fix type error

* Relative URLs to child configuration docs (#294)

* Relative URLs to child configuration docs

Relative URLs to docs in the same folder should do. They work for any branch, local copies of the docs - and should work better if we ever (or whenever :-) we get to having e.g a Sphinx generated site.

* Update application_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Remove temporary debugging code

* Improve behavior of notification sending for owner editing (#296)

* Initial Implementation: Notification only on success

* Cleanup + tests: Notification only on success

* Cleanup: Remove test code to trigger failure

* Cleanup: Lint fix

* Workaround for not notifying teams or alumni

* Cleanup: Remove import mistake

* Utilize NotificationType enums instead of hardcoded string

* Remove use of render_template

* More minor cleanups

* Address some feedback

* Cleanup

* More cleanup

* Updates for RequestMetadataForm

* Switch to generating a  for url + comment required for request column descriptions

* Update some tests + comment out ones that need update before merge

* Update some tests + comment out ones that need update before merge

* Code cleanup

* Update and rename notification_utils python tests

* Modify resource_url check + add docstrings for python tests

* Component cleanup

* Cleanup component tests

* Fix some typos
ttannis added a commit that referenced this pull request Oct 16, 2019
* Clean up doc (#249)

* Remove example folder in FE (#251)

* Add better logging for profile page views (#239)

* add stalebot config (#264)

* Update stalebot setting (#268)

* Adds the request timeout configuration (#275)

* Adds the request timeout configuration

* Bumps the version to take advantage of request timeout

* Update AxiosError handling (#283)

* Update v0.ts

* lint fix

* Use Redux-Saga for Search Actions (#265)

* Added redux actions and sagas instead for each search action: `submitSearch`, `setResource`, `setPageIndex`, `loadPreviousSearch`, and `UrlDidUpdate`. This greatly simplifies the `SearchPage` logic in preparation for adding filters.
* Added `navigation-utils`.

* Removed `SQUASH COMMITS` from the PR template (#287)

Removed `SQUASH COMMITS` from the PR template

* TagInfo now fires 'submitSearch' instead of using navigation (#285)

* Remove render_template for feedback email (#293)

* Remove render_template for feedback email

* Fix html markup

* Added auto-select resource after searching (#292)

* Truncate the column type (#297)

* Truncate the column type

* Update truncation method

* Cleanup logic

* Improve table & columns description formatting (#98) (#298)

* Add support for React-Markdown to editable text fields
* Add support for windows via cross-env

* Update EditableText component (#299)

* Fix some styling issues with react-markdown
* Update EditableText to use React Refs instead of ref callbacks
* Add configs for table and column description max lengths

* Change 'json' to 'data' field for Python Requests (#303)

* Switch usage of 'json' to 'data' in metadata APIs
* Use 'raw_request=True' for Envoy client post/put APIs

* Update README.md (#302)

* Link deeper to doc content (#304)

Summary of Changes

Will scroll past GitHub repo folders (specially more handy on small screens like phones/tablets)
Like amundsen-io/amundsendatabuilder#147

* Fixed linebreaks with Markdown descriptions (#305)

* Amundsen Notifications Without Preferences (#273)

* Initial start to notifications API (#215)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* addressed comments regarding imports/enum naming

* fixed alphabetical order

* Notifs post email functionality (#222)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* added template support

* made changes to reflect private changes

* added helper function

* fixed lint issue

* addressed comments, added some type checking and cleaned up comments

* testing removing test

* fixed linter

* fixed lint

* fixed linting issues

* skip type checking

* fixed lint

* fixed typing on get request args

* removed typing for get request to fix lint issues

* fixed linter again

* re added test

* raise exception inside of getmailclient

* added exceptions

* addressed comments

* whitespace issue

* removed calls to get_query_param

* fixed syntax error

* Send notification when adding/removing owner from table (#237)

* basic e2e functionality for adding/removing

* send_notification refactor

* fix lint errors

* blank line lint error

* fixed syntax issue

* arg typing

* addressed comments, fixed code style

* Prevent Self-Notifications (#243)

* Prevent user from notifying themselves

* removed exception

* added owner check to send_notification

* Fixed return for no recipients (#244)

* fixed return for no recipients

* fixed linter issue

* Request notifications component (#238)

* init of request form

* basic request component

* getting basic functionality in

* clearing out css

* removed z-index fixes and add constants

* fixed string casting

* added redux-saga calls

* removed reset request notification

* fixed tests

* addressed comments, added basic test, added redux state management for opening/closing component

* added tests, just need to add render test

* cleaned up component tests:

* addressed html/css comments

* removed unecessary styling

* removed collapsed class

* cleaned up render method

* fixed test

* Open request component (#254)

* added button to open up request component

* removed tabledetail changes

* className styling

* fixed text-decoration

* added tests, changed naming for OpenRequest

* styling formatting

* Add, Request, and Remove Email Copy (#257)

* init for fixing email copy for request, add, and remove

* removed print statement

* fixed python unit test

* fixed linter issues

* addressed comments, fixed linter issues

* added notification unit test

* fixed test positional arg

* fix test

* Add notification action logging (#258)

* init of adding action logging

* changed location of action logging

* fixed linter errors

* fixed comment

* addressed comments

* remove request test call (#259)

* hide request if description already exists (#269)

* fixed open request button, request form styling (#267)

* Added request dropdown component (#262)

* init

* made fixes

* cleaned up code

* fixed color issues

* fixed import order

* fixed styling, changed ducks/sagas

* User dropdown (#263)

* init

* fixed sty;es

* fixed test issue

* fixed test

* added tests, addressed comments

* Request Metadata Component Tests (#270)

* added tests + readonly field to stop errors

* fixed tslint

* addressed comments, added header tests

* Request form navigation fix, dropdown fix (#272)

* Request form navigation fix, dropdown fix

* added test

* added unique id to dropdown

* Creates User Preferences page with no functionality (#266)

* init

* added event handlers

* removed test file

* added constants

* addressed comments

* fixed test, removed all links to page

* updated test

* fixed call to onclick

* removed preferences page

* Python cleanup + tests (#277)

* Python cleanup + tests

* More tests + revert some unecessary changes

* Bring dropdown UI closer to design (#278)

* Rename OpenRequestDescription for clarity + code cleanup + test additions (#279)

* Notifications ducks cleanup + tests (#280)

* Notifications ducks cleanup + tests

* Fix issues

* Fix template for edge case of empty form (#281)

* Temporary debugging code, will revert

* Temporary debugging code, will revert

* Implement notification form confirmation (#289)

* Preserve compatibility in base_mail_client (#290)

* Notifications Configs + Doc (#291)

* Add notification config

* Code cleanup

* More cleanup + add a test

* Add some doc for how to enable features

* Add config utils test + fix type error

* Relative URLs to child configuration docs (#294)

* Relative URLs to child configuration docs

Relative URLs to docs in the same folder should do. They work for any branch, local copies of the docs - and should work better if we ever (or whenever :-) we get to having e.g a Sphinx generated site.

* Update application_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Remove temporary debugging code

* Improve behavior of notification sending for owner editing (#296)

* Initial Implementation: Notification only on success

* Cleanup + tests: Notification only on success

* Cleanup: Remove test code to trigger failure

* Cleanup: Lint fix

* Workaround for not notifying teams or alumni

* Cleanup: Remove import mistake

* Utilize NotificationType enums instead of hardcoded string

* Remove use of render_template

* More minor cleanups

* Address some feedback

* Cleanup

* More cleanup

* Notifications Improvements (#301)

* Initial start to notifications API (#215)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* addressed comments regarding imports/enum naming

* fixed alphabetical order

* Notifs post email functionality (#222)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* added template support

* made changes to reflect private changes

* added helper function

* fixed lint issue

* addressed comments, added some type checking and cleaned up comments

* testing removing test

* fixed linter

* fixed lint

* fixed linting issues

* skip type checking

* fixed lint

* fixed typing on get request args

* removed typing for get request to fix lint issues

* fixed linter again

* re added test

* raise exception inside of getmailclient

* added exceptions

* addressed comments

* whitespace issue

* removed calls to get_query_param

* fixed syntax error

* Send notification when adding/removing owner from table (#237)

* basic e2e functionality for adding/removing

* send_notification refactor

* fix lint errors

* blank line lint error

* fixed syntax issue

* arg typing

* addressed comments, fixed code style

* Prevent Self-Notifications (#243)

* Prevent user from notifying themselves

* removed exception

* added owner check to send_notification

* Fixed return for no recipients (#244)

* fixed return for no recipients

* fixed linter issue

* Request notifications component (#238)

* init of request form

* basic request component

* getting basic functionality in

* clearing out css

* removed z-index fixes and add constants

* fixed string casting

* added redux-saga calls

* removed reset request notification

* fixed tests

* addressed comments, added basic test, added redux state management for opening/closing component

* added tests, just need to add render test

* cleaned up component tests:

* addressed html/css comments

* removed unecessary styling

* removed collapsed class

* cleaned up render method

* fixed test

* Open request component (#254)

* added button to open up request component

* removed tabledetail changes

* className styling

* fixed text-decoration

* added tests, changed naming for OpenRequest

* styling formatting

* Add, Request, and Remove Email Copy (#257)

* init for fixing email copy for request, add, and remove

* removed print statement

* fixed python unit test

* fixed linter issues

* addressed comments, fixed linter issues

* added notification unit test

* fixed test positional arg

* fix test

* Add notification action logging (#258)

* init of adding action logging

* changed location of action logging

* fixed linter errors

* fixed comment

* addressed comments

* remove request test call (#259)

* hide request if description already exists (#269)

* fixed open request button, request form styling (#267)

* Added request dropdown component (#262)

* init

* made fixes

* cleaned up code

* fixed color issues

* fixed import order

* fixed styling, changed ducks/sagas

* User dropdown (#263)

* init

* fixed sty;es

* fixed test issue

* fixed test

* added tests, addressed comments

* Request Metadata Component Tests (#270)

* added tests + readonly field to stop errors

* fixed tslint

* addressed comments, added header tests

* Request form navigation fix, dropdown fix (#272)

* Request form navigation fix, dropdown fix

* added test

* added unique id to dropdown

* Creates User Preferences page with no functionality (#266)

* init

* added event handlers

* removed test file

* added constants

* addressed comments

* fixed test, removed all links to page

* updated test

* fixed call to onclick

* removed preferences page

* Python cleanup + tests (#277)

* Python cleanup + tests

* More tests + revert some unecessary changes

* Bring dropdown UI closer to design (#278)

* Rename OpenRequestDescription for clarity + code cleanup + test additions (#279)

* Notifications ducks cleanup + tests (#280)

* Notifications ducks cleanup + tests

* Fix issues

* Fix template for edge case of empty form (#281)

* Temporary debugging code, will revert

* Temporary debugging code, will revert

* Implement notification form confirmation (#289)

* Preserve compatibility in base_mail_client (#290)

* Notifications Configs + Doc (#291)

* Add notification config

* Code cleanup

* More cleanup + add a test

* Add some doc for how to enable features

* Add config utils test + fix type error

* Relative URLs to child configuration docs (#294)

* Relative URLs to child configuration docs

Relative URLs to docs in the same folder should do. They work for any branch, local copies of the docs - and should work better if we ever (or whenever :-) we get to having e.g a Sphinx generated site.

* Update application_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Remove temporary debugging code

* Improve behavior of notification sending for owner editing (#296)

* Initial Implementation: Notification only on success

* Cleanup + tests: Notification only on success

* Cleanup: Remove test code to trigger failure

* Cleanup: Lint fix

* Workaround for not notifying teams or alumni

* Cleanup: Remove import mistake

* Utilize NotificationType enums instead of hardcoded string

* Remove use of render_template

* More minor cleanups

* Address some feedback

* Cleanup

* More cleanup

* Updates for RequestMetadataForm

* Switch to generating a  for url + comment required for request column descriptions

* Update some tests + comment out ones that need update before merge

* Update some tests + comment out ones that need update before merge

* Code cleanup

* Update and rename notification_utils python tests

* Modify resource_url check + add docstrings for python tests

* Component cleanup

* Cleanup component tests

* Fix some typos

* optimize docker (#300)

* Update developer_guide.md (#310)

Fix a 404

* Custom routes + Further notification cleanup (#309)

* Further notification cleanup

* Catch any errors getting the user for metrics + add doc for INIT_CUSTOM_ROUTES

* Revert change to _build_metrics

* Fix some merge conflicts

* Fix some merge conflicts

* Add source for notification email links (#312)

* Add source for notification email links

* Update TableDetail logic

* Fix FlashMessage styles

* Update config-types.ts (#314)
ttannis pushed a commit that referenced this pull request Oct 22, 2019
* Merge `master` into `feature/search_v2` (#253)

* Clean up doc (#249)

* Remove example folder in FE (#251)

* Add better logging for profile page views (#239)

* Added new search page layout (#250)

* Added SearchPanel to search page, with new wide layout
* Added 'ResourceSelector'

* Add SearchBar to NavBar + update styles (#252)

* Add SearchBar to NavBar + update styles

* Lint fix

* Code cleanup

* Fix tests

* Update ResourceListItem UI (#255)

* WIP

* Update layout

* Some code cleanup

* Tests

* Add some starter doc for the AppConfig

* Code cleanup + update UserListItem description UI

* start icon -> resource icon

* Moved Feedback tool to NavBar (#256)

* Update Feedback Component

* Update tests

* Clean up some styles

* reposition form

* Tweak feedback style

* Initial implementation of SearchFilter (#260)

* Initial implementation of SearchFilter

* Clean some code + add CheckBoxItem tests

* Fixed warning on ResourceSelector

* Add/fix some more tests

* Some tweaks before merge

* Implement New color theme (#276)

* Added a color palette file
* Replaced $gray-light/dark colors with semantic variables for each purpose
* Update brand colors to indigo

* Merge `master` into  `feature/search_v2` (#286)

* Update searchv2 master (#313)

* Clean up doc (#249)

* Remove example folder in FE (#251)

* Add better logging for profile page views (#239)

* add stalebot config (#264)

* Update stalebot setting (#268)

* Adds the request timeout configuration (#275)

* Adds the request timeout configuration

* Bumps the version to take advantage of request timeout

* Update AxiosError handling (#283)

* Update v0.ts

* lint fix

* Use Redux-Saga for Search Actions (#265)

* Added redux actions and sagas instead for each search action: `submitSearch`, `setResource`, `setPageIndex`, `loadPreviousSearch`, and `UrlDidUpdate`. This greatly simplifies the `SearchPage` logic in preparation for adding filters.
* Added `navigation-utils`.

* Removed `SQUASH COMMITS` from the PR template (#287)

Removed `SQUASH COMMITS` from the PR template

* TagInfo now fires 'submitSearch' instead of using navigation (#285)

* Remove render_template for feedback email (#293)

* Remove render_template for feedback email

* Fix html markup

* Added auto-select resource after searching (#292)

* Truncate the column type (#297)

* Truncate the column type

* Update truncation method

* Cleanup logic

* Improve table & columns description formatting (#98) (#298)

* Add support for React-Markdown to editable text fields
* Add support for windows via cross-env

* Update EditableText component (#299)

* Fix some styling issues with react-markdown
* Update EditableText to use React Refs instead of ref callbacks
* Add configs for table and column description max lengths

* Change 'json' to 'data' field for Python Requests (#303)

* Switch usage of 'json' to 'data' in metadata APIs
* Use 'raw_request=True' for Envoy client post/put APIs

* Update README.md (#302)

* Link deeper to doc content (#304)

Summary of Changes

Will scroll past GitHub repo folders (specially more handy on small screens like phones/tablets)
Like amundsen-io/amundsendatabuilder#147

* Fixed linebreaks with Markdown descriptions (#305)

* Amundsen Notifications Without Preferences (#273)

* Initial start to notifications API (#215)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* addressed comments regarding imports/enum naming

* fixed alphabetical order

* Notifs post email functionality (#222)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* added template support

* made changes to reflect private changes

* added helper function

* fixed lint issue

* addressed comments, added some type checking and cleaned up comments

* testing removing test

* fixed linter

* fixed lint

* fixed linting issues

* skip type checking

* fixed lint

* fixed typing on get request args

* removed typing for get request to fix lint issues

* fixed linter again

* re added test

* raise exception inside of getmailclient

* added exceptions

* addressed comments

* whitespace issue

* removed calls to get_query_param

* fixed syntax error

* Send notification when adding/removing owner from table (#237)

* basic e2e functionality for adding/removing

* send_notification refactor

* fix lint errors

* blank line lint error

* fixed syntax issue

* arg typing

* addressed comments, fixed code style

* Prevent Self-Notifications (#243)

* Prevent user from notifying themselves

* removed exception

* added owner check to send_notification

* Fixed return for no recipients (#244)

* fixed return for no recipients

* fixed linter issue

* Request notifications component (#238)

* init of request form

* basic request component

* getting basic functionality in

* clearing out css

* removed z-index fixes and add constants

* fixed string casting

* added redux-saga calls

* removed reset request notification

* fixed tests

* addressed comments, added basic test, added redux state management for opening/closing component

* added tests, just need to add render test

* cleaned up component tests:

* addressed html/css comments

* removed unecessary styling

* removed collapsed class

* cleaned up render method

* fixed test

* Open request component (#254)

* added button to open up request component

* removed tabledetail changes

* className styling

* fixed text-decoration

* added tests, changed naming for OpenRequest

* styling formatting

* Add, Request, and Remove Email Copy (#257)

* init for fixing email copy for request, add, and remove

* removed print statement

* fixed python unit test

* fixed linter issues

* addressed comments, fixed linter issues

* added notification unit test

* fixed test positional arg

* fix test

* Add notification action logging (#258)

* init of adding action logging

* changed location of action logging

* fixed linter errors

* fixed comment

* addressed comments

* remove request test call (#259)

* hide request if description already exists (#269)

* fixed open request button, request form styling (#267)

* Added request dropdown component (#262)

* init

* made fixes

* cleaned up code

* fixed color issues

* fixed import order

* fixed styling, changed ducks/sagas

* User dropdown (#263)

* init

* fixed sty;es

* fixed test issue

* fixed test

* added tests, addressed comments

* Request Metadata Component Tests (#270)

* added tests + readonly field to stop errors

* fixed tslint

* addressed comments, added header tests

* Request form navigation fix, dropdown fix (#272)

* Request form navigation fix, dropdown fix

* added test

* added unique id to dropdown

* Creates User Preferences page with no functionality (#266)

* init

* added event handlers

* removed test file

* added constants

* addressed comments

* fixed test, removed all links to page

* updated test

* fixed call to onclick

* removed preferences page

* Python cleanup + tests (#277)

* Python cleanup + tests

* More tests + revert some unecessary changes

* Bring dropdown UI closer to design (#278)

* Rename OpenRequestDescription for clarity + code cleanup + test additions (#279)

* Notifications ducks cleanup + tests (#280)

* Notifications ducks cleanup + tests

* Fix issues

* Fix template for edge case of empty form (#281)

* Temporary debugging code, will revert

* Temporary debugging code, will revert

* Implement notification form confirmation (#289)

* Preserve compatibility in base_mail_client (#290)

* Notifications Configs + Doc (#291)

* Add notification config

* Code cleanup

* More cleanup + add a test

* Add some doc for how to enable features

* Add config utils test + fix type error

* Relative URLs to child configuration docs (#294)

* Relative URLs to child configuration docs

Relative URLs to docs in the same folder should do. They work for any branch, local copies of the docs - and should work better if we ever (or whenever :-) we get to having e.g a Sphinx generated site.

* Update application_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Remove temporary debugging code

* Improve behavior of notification sending for owner editing (#296)

* Initial Implementation: Notification only on success

* Cleanup + tests: Notification only on success

* Cleanup: Remove test code to trigger failure

* Cleanup: Lint fix

* Workaround for not notifying teams or alumni

* Cleanup: Remove import mistake

* Utilize NotificationType enums instead of hardcoded string

* Remove use of render_template

* More minor cleanups

* Address some feedback

* Cleanup

* More cleanup

* Notifications Improvements (#301)

* Initial start to notifications API (#215)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* addressed comments regarding imports/enum naming

* fixed alphabetical order

* Notifs post email functionality (#222)

* initial start to notifications API

* fixing some styling

* fixed lint errors

* update types

* added tests

* linter, moved notification types

* added template support

* made changes to reflect private changes

* added helper function

* fixed lint issue

* addressed comments, added some type checking and cleaned up comments

* testing removing test

* fixed linter

* fixed lint

* fixed linting issues

* skip type checking

* fixed lint

* fixed typing on get request args

* removed typing for get request to fix lint issues

* fixed linter again

* re added test

* raise exception inside of getmailclient

* added exceptions

* addressed comments

* whitespace issue

* removed calls to get_query_param

* fixed syntax error

* Send notification when adding/removing owner from table (#237)

* basic e2e functionality for adding/removing

* send_notification refactor

* fix lint errors

* blank line lint error

* fixed syntax issue

* arg typing

* addressed comments, fixed code style

* Prevent Self-Notifications (#243)

* Prevent user from notifying themselves

* removed exception

* added owner check to send_notification

* Fixed return for no recipients (#244)

* fixed return for no recipients

* fixed linter issue

* Request notifications component (#238)

* init of request form

* basic request component

* getting basic functionality in

* clearing out css

* removed z-index fixes and add constants

* fixed string casting

* added redux-saga calls

* removed reset request notification

* fixed tests

* addressed comments, added basic test, added redux state management for opening/closing component

* added tests, just need to add render test

* cleaned up component tests:

* addressed html/css comments

* removed unecessary styling

* removed collapsed class

* cleaned up render method

* fixed test

* Open request component (#254)

* added button to open up request component

* removed tabledetail changes

* className styling

* fixed text-decoration

* added tests, changed naming for OpenRequest

* styling formatting

* Add, Request, and Remove Email Copy (#257)

* init for fixing email copy for request, add, and remove

* removed print statement

* fixed python unit test

* fixed linter issues

* addressed comments, fixed linter issues

* added notification unit test

* fixed test positional arg

* fix test

* Add notification action logging (#258)

* init of adding action logging

* changed location of action logging

* fixed linter errors

* fixed comment

* addressed comments

* remove request test call (#259)

* hide request if description already exists (#269)

* fixed open request button, request form styling (#267)

* Added request dropdown component (#262)

* init

* made fixes

* cleaned up code

* fixed color issues

* fixed import order

* fixed styling, changed ducks/sagas

* User dropdown (#263)

* init

* fixed sty;es

* fixed test issue

* fixed test

* added tests, addressed comments

* Request Metadata Component Tests (#270)

* added tests + readonly field to stop errors

* fixed tslint

* addressed comments, added header tests

* Request form navigation fix, dropdown fix (#272)

* Request form navigation fix, dropdown fix

* added test

* added unique id to dropdown

* Creates User Preferences page with no functionality (#266)

* init

* added event handlers

* removed test file

* added constants

* addressed comments

* fixed test, removed all links to page

* updated test

* fixed call to onclick

* removed preferences page

* Python cleanup + tests (#277)

* Python cleanup + tests

* More tests + revert some unecessary changes

* Bring dropdown UI closer to design (#278)

* Rename OpenRequestDescription for clarity + code cleanup + test additions (#279)

* Notifications ducks cleanup + tests (#280)

* Notifications ducks cleanup + tests

* Fix issues

* Fix template for edge case of empty form (#281)

* Temporary debugging code, will revert

* Temporary debugging code, will revert

* Implement notification form confirmation (#289)

* Preserve compatibility in base_mail_client (#290)

* Notifications Configs + Doc (#291)

* Add notification config

* Code cleanup

* More cleanup + add a test

* Add some doc for how to enable features

* Add config utils test + fix type error

* Relative URLs to child configuration docs (#294)

* Relative URLs to child configuration docs

Relative URLs to docs in the same folder should do. They work for any branch, local copies of the docs - and should work better if we ever (or whenever :-) we get to having e.g a Sphinx generated site.

* Update application_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Update flask_config.md

Relative doc link

* Remove temporary debugging code

* Improve behavior of notification sending for owner editing (#296)

* Initial Implementation: Notification only on success

* Cleanup + tests: Notification only on success

* Cleanup: Remove test code to trigger failure

* Cleanup: Lint fix

* Workaround for not notifying teams or alumni

* Cleanup: Remove import mistake

* Utilize NotificationType enums instead of hardcoded string

* Remove use of render_template

* More minor cleanups

* Address some feedback

* Cleanup

* More cleanup

* Updates for RequestMetadataForm

* Switch to generating a  for url + comment required for request column descriptions

* Update some tests + comment out ones that need update before merge

* Update some tests + comment out ones that need update before merge

* Code cleanup

* Update and rename notification_utils python tests

* Modify resource_url check + add docstrings for python tests

* Component cleanup

* Cleanup component tests

* Fix some typos

* optimize docker (#300)

* Update developer_guide.md (#310)

Fix a 404

* Custom routes + Further notification cleanup (#309)

* Further notification cleanup

* Catch any errors getting the user for metrics + add doc for INIT_CUSTOM_ROUTES

* Revert change to _build_metrics

* Fix some merge conflicts

* Fix some merge conflicts

* Add source for notification email links (#312)

* Add source for notification email links

* Update TableDetail logic

* Fix FlashMessage styles

* Update config-types.ts (#314)

* Convert usages of `white` to `$white`

* - ResourceSelector now uses `setResource` action instead of onChange prop
- Added/fixed test cases for ResourceSelector/SearchPage
- Deleted unused code in SearchPage

* Added additional test cases for SearchBar

* Modified list-group shoadows

* Added a test case for ResourceSelector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants