def add_log(self, action, params, auth, foreign_user=None, log_date=None, save=True, request=None): AbstractNode = apps.get_model('osf.AbstractNode') user = None if auth: user = auth.user elif request: user = request.user params['node'] = params.get('node') or params.get('project') or self._id original_node = AbstractNode.load(params.get('node')) log = NodeLog( action=action, user=user, foreign_user=foreign_user, params=params, node=self, original_node=original_node ) if log_date: log.date = log_date log.save() if self.logs.count() == 1: self.last_logged = log.date.replace(tzinfo=pytz.utc) else: self.last_logged = self.logs.first().date if save: self.save() if user and not self.is_collection: increment_user_activity_counters(user._primary_key, action, log.date.isoformat()) return log
def add_log(self, action, params, auth, foreign_user=None, log_date=None, save=True, request=None): global filelog AbstractNode = apps.get_model('osf.AbstractNode') user = None if auth: user = auth.user elif request: user = request.user params['node'] = params.get('node') or params.get( 'project') or self._id original_node = AbstractNode.load(params.get('node')) log = NodeLog(action=action, user=user, foreign_user=foreign_user, params=params, node=self, original_node=original_node) if user: try: if (('file' in action) or ('check' in action) or ('osf_storage' in action)) and user._id: if action not in 'rename': filelog = FileLog(action=action, user=user, path=params['path'], project_id=self._id) if log_date: filelog.date = log_date filelog.save() ## RDM Logger ## if user._id and original_node.title and params['path']: rdmlogger = RdmLogger(rdmlog, {}) rdmlogger.info('RDM Project', RDMINFO='FileLog', action=action, user=user._id, project=original_node.title, file_path=params['path']) else: if 'osfstorage' in params['source']['provider']: source_path = params['source']['materialized'] else: source_path = params['source']['path'] filelog = FileLog(action=action, user=user, path=source_path, project_id=self._id) if log_date: filelog.date = log_date filelog.save() ## RDM Logger ## if user._id and original_node.title and source_path: rdmlogger = RdmLogger(rdmlog, {}) rdmlogger.info('RDM Project', RDMINFO='FileLog', action=action, user=user._id, project=original_node.title, file_path=source_path) except KeyError: print('KeyError') if log_date: log.date = log_date log.save() if self.logs.count() == 1: self.last_logged = log.date.replace(tzinfo=pytz.utc) else: self.last_logged = self.logs.first().date if save: self.save() if user and not self.is_collection: increment_user_activity_counters(user._primary_key, action, log.date.isoformat()) return log