@@ -164,102 +164,3 @@ def job_info(self, trans, **kwd):
164164 "message" : message ,
165165 "status" : status ,
166166 }
167-
168- @web .expose
169- @web .json
170- def tool_data_table_info (self , trans , ** kwd ):
171- return self .tool_data_table_info_1 (trans , ** kwd )
172-
173- def tool_data_table_info_1 (self , trans , ** kwd ):
174- not_is_admin = not trans .user_is_admin
175- if not_is_admin and not trans .app .config .enable_data_manager_user_view :
176- raise paste .httpexceptions .HTTPUnauthorized (
177- "This Galaxy instance is not configured to allow non-admins to view the data manager."
178- )
179- message = kwd .get ("message" , "" )
180- status = kwd .get ("status" , "info" )
181- data_table_name = kwd .get ("table_name" , None )
182- if not data_table_name :
183- return {"message" : "No data table was requested." , "status" : "error" }
184- data_table = trans .app .tool_data_tables .get (data_table_name , None )
185- if data_table is None :
186- return {"message" : f"Invalid data table '{ data_table_name } ' was requested." , "status" : "error" }
187- return {
188- "dataTable" : {
189- "name" : data_table .name ,
190- "columns" : data_table .get_column_name_list (),
191- "data" : data_table .data ,
192- },
193- "viewOnly" : not_is_admin ,
194- "message" : message ,
195- "status" : status ,
196- }
197-
198- @web .expose
199- @web .json
200- @web .require_admin
201- def reload_tool_data_tables (self , trans , table_name = None , ** kwd ):
202- if table_name and isinstance (table_name , str ):
203- table_name = table_name .split ("," )
204- # Reload the tool data tables
205- table_names = self .app .tool_data_tables .reload_tables (table_names = table_name )
206- trans .app .queue_worker .send_control_task (
207- "reload_tool_data_tables" , noop_self = True , kwargs = {"table_name" : table_name }
208- )
209- data = None
210- if table_names :
211- message = "Reloaded data table{} '{}'." .format ("s" [len (table_names ) == 1 :], ", " .join (table_names ))
212- data = self .tool_data_table_info_1 (trans , table_name = table_names [0 ], message = message , status = "done" )
213- else :
214- data = {"message" : "No data tables have been reloaded." , "status" : "error" }
215- return data
216-
217- @web .expose
218- @web .json
219- @web .require_admin
220- def tool_data_table_items (self , trans , ** kwd ):
221- data = {"columns" : [], "items" : []}
222- message = kwd .get ("message" , "" )
223- status = kwd .get ("status" , "info" )
224- table_name = kwd .get ("table_name" , None )
225-
226- if not table_name :
227- return {
228- "data" : data ,
229- "message" : "No Data table name provided." ,
230- "status" : "warning" ,
231- }
232-
233- data_table = trans .app .tool_data_tables .get (table_name , None )
234-
235- if data_table is None :
236- return {"data" : data , "message" : f"Invalid Data table ({ table_name } ) was requested" , "status" : "error" }
237-
238- columns = data_table .get_column_name_list ()
239- rows = [dict (zip (columns , table_row )) for table_row in data_table .data ]
240- data ["columns" ] = columns
241- data ["items" ] = rows
242-
243- return {"data" : data , "message" : message , "status" : status }
244-
245- @web .expose
246- @web .json
247- @web .require_admin
248- def reload_tool_data_table (self , trans , ** kwd ):
249- table_name = kwd .get ("table_name" , None )
250-
251- if not table_name :
252- return {
253- "message" : "No data table has been reloaded." ,
254- "status" : "error" ,
255- }
256-
257- redirect_url = web .url_for (
258- controller = "data_manager" ,
259- action = "tool_data_table_items" ,
260- table_name = table_name ,
261- message = f'The data table "{ table_name } " has been reloaded.' ,
262- status = "done" ,
263- )
264-
265- return trans .response .send_redirect (redirect_url )
0 commit comments