def _process_json_request(self, form): """Takes care about the json requests.""" argd = wash_urlargd(form, { self._JSON_DATA_KEY: (str, ""), }) # load json data json_data_string = argd[self._JSON_DATA_KEY] json_data_unicode = json.loads(json_data_string) json_data = json_unicode_to_utf8(json_data_unicode) language = json_data["language"] search_criteria = json_data["searchCriteria"] action_type = json_data["actionType"] current_record_id = json_data["currentRecordID"] commands = json_data["commands"] output_format = json_data["outputFormat"] page_to_display = json_data["pageToDisplay"] if action_type == self._action_types.test_search: return multi_edit_engine.perform_request_test_search( search_criteria, [], output_format, page_to_display, language) if action_type == self._action_types.display_detailed_record: return multi_edit_engine.perform_request_detailed_record( current_record_id, [], output_format, language) if action_type == self._action_types.preview_results: commands_list = self._create_commands_list(commands) return multi_edit_engine.perform_request_test_search( search_criteria, commands_list, output_format, page_to_display, language) if action_type == self._action_types.display_detailed_result: commands_list = self._create_commands_list(commands) return multi_edit_engine.perform_request_detailed_record( current_record_id, commands_list, output_format, language) if action_type == self._action_types.submit_changes: commands_list = self._create_commands_list(commands) return multi_edit_engine.perform_request_submit_changes(search_criteria, commands_list, language) # In case we obtain wrong action type we return empty page. return " "
def _process_json_request(self, form, req): """Takes care about the json requests.""" argd = wash_urlargd(form, { self._JSON_DATA_KEY: (str, ""), }) # load json data json_data_string = argd[self._JSON_DATA_KEY] json_data_unicode = json.loads(json_data_string) json_data = json_unicode_to_utf8(json_data_unicode) language = json_data["language"] search_criteria = json_data["searchCriteria"] output_tags = json_data["outputTags"] output_tags = output_tags.split(',') output_tags = [tag.strip() for tag in output_tags] action_type = json_data["actionType"] current_record_id = json_data["currentRecordID"] commands = json_data["commands"] output_format = json_data["outputFormat"] page_to_display = json_data["pageToDisplay"] collection = json_data["collection"] compute_modifications = json_data["compute_modifications"] json_response = {} if action_type == self._action_types.test_search: json_response.update(multi_edit_engine.perform_request_test_search( search_criteria, [], output_format, page_to_display, language, output_tags, collection)) json_response['display_info_box'] = 1 json_response['info_html'] = "" return json.dumps(json_response) elif action_type == self._action_types.display_detailed_record: json_response.update(multi_edit_engine.perform_request_detailed_record( current_record_id, [], output_format, language)) return json.dumps(json_response) elif action_type == self._action_types.preview_results: commands_list, upload_mode, tag_list = self._create_commands_list(commands) json_response = {} json_response.update(multi_edit_engine.perform_request_test_search( search_criteria, commands_list, output_format, page_to_display, language, output_tags, collection, compute_modifications)) return json.dumps(json_response) elif action_type == self._action_types.display_detailed_result: commands_list, upload_mode, tag_list = self._create_commands_list(commands) json_response.update(multi_edit_engine.perform_request_detailed_record( current_record_id, commands_list, output_format, language)) return json.dumps(json_response) elif action_type == self._action_types.submit_changes: commands_list, upload_mode, tag_list = self._create_commands_list(commands) json_response.update(multi_edit_engine.perform_request_submit_changes(search_criteria, commands_list, language, upload_mode, tag_list, collection, req)) return json.dumps(json_response) # In case we obtain wrong action type we return empty page. return " "