[Task] Solve the issue with user changing functionality

I went through this defect myself and have solved the issue. We should have a live working session so I can show you how I went through the pain to identify the issue and fix the bug. This can help you build up understanding the complicated connections among various parts of the codes.

  • First, the error message points directly to the on_clicked function in ./processing/mantid/master_table/import_from_database/oncat_authentication_handler.py.

  • Put in some print-out message and compare the behavior when trying to get access to the login window from different approaches - right click and change user. It seems that both of them are pointing to the same location. So definitely it is not the issue of the hinted location - need to date back to execution history of each approach.

  • For right click approach, search for Replace ... and finally we get to the function _import_table_from_database in processing/mantid/master_table/table_tree_handler.py.

  • Look for where launch_import_from_database_handler is defined. Needs to know a bit about self and object oriented programming.

    self -> H3TableHandler -> ./processing/mantid/event_handler.py -> h3_table_right_click -> main.py -> self -> launch_import_from_database_handler -> processing/mantid/event_handler.py -> ImportFromDatabaseHandler -> ./processing/mantid/master_table/import_from_database/import_from_database_handler.py

  • Compare different between the calling of OncatAuthenticationHandler from two different approaches -> copy the properly working one to another.