def create_well_log(self, version, prev_dict, current_dict, parent_log): difflog = compare_dicts( prev_dict, current_dict, excludes=['reagent_id', 'resource_uri']) if is_empty_diff(difflog): return None activity = version.library_contents_loading_activity.activity log = ApiLog() if getattr(activity.performed_by, 'ecommons_id', None): log.username = activity.performed_by.ecommons_id else: log.username = '******' if getattr(activity.performed_by, 'login_id', None): log.username = activity.performed_by.login_id # FIXME log.user_id = 1 # log.date_time = make_aware(activity.date_created,timezone.get_default_timezone()) log.date_time = activity.date_created log.ref_resource_name = self.wellResource._meta.resource_name # TODO: what types here? could also be a REST specifier, i.e. 'PATCH' log.api_action = 'MIGRATION' log.key = prev_dict['well_id'] log.uri = '/db/api/v1/well/'+log.key # log.diff_dict_to_api_log(difflog) log.diffs = difflog log.json_field = json.dumps({ 'version': version.version_number }) log.parent_log = parent_log log.save() return log
def _child_log_from(parent_log): child_log = ApiLog() child_log.parent_log = parent_log child_log.username = parent_log.username child_log.user_id = parent_log.user_id child_log.date_time = parent_log.date_time child_log.api_action = parent_log.api_action child_log.comment = parent_log.comment return child_log
def create_well_log(self, version, prev_dict, current_dict, parent_log): difflog = compare_dicts( prev_dict, current_dict, excludes=['reagent_id', 'resource_uri'], log_empty_strings=True) if is_empty_diff(difflog): return None log = ApiLog() if parent_log: log.username = parent_log.username log.user_id = parent_log.user_id log.comment = parent_log.comment log.date_time = parent_log.date_time else: activity = version.library_contents_loading_activity.activity if getattr(activity.performed_by, 'ecommons_id', None): log.username = activity.performed_by.ecommons_id else: log.username = '******' if getattr(activity.performed_by, 'login_id', None): log.username = activity.performed_by.login_id # FIXME log.user_id = 1 log.date_time = activity.date_of_activity log.ref_resource_name = 'well' log.api_action = 'PATCH' log.key = current_dict['well_id'] log.uri = 'well/'+log.key log.diffs = difflog log.json_field = json.dumps({ 'version': version.version_number }) log.parent_log = parent_log log.save() return log