def apply_policies_to_user(nodes_collection, user, auth_user, api=None, initialize=False): from gecoscc.tasks import object_changed, object_created computers = get_computer_of_user(nodes_collection, user) if api and initialize: user = visibility_group(nodes_collection.database, user) user = visibility_object_related(nodes_collection.database, user) remove_chef_user_data(user, computers, api) if not computers: return ous = nodes_collection.find(get_filter_ous_from_path(user['path'])) for ou in ous: if ou.get('policies', {}): object_changed.delay(auth_user, 'ou', ou, {}, computers=computers) groups = nodes_collection.find({'_id': {'$in': user.get('memberof', [])}}) for group in groups: if group.get('policies', {}): object_changed.delay(auth_user, 'group', group, {}, computers=computers) object_created.delay(auth_user, 'user', user, computers=computers)
def apply_policies_to_computer(nodes_collection, computer, auth_user, api=None, initialize=False): from gecoscc.tasks import object_changed, object_created if api and initialize: computer = visibility_group(nodes_collection.database, computer) computer = visibility_object_related(nodes_collection.database, computer) remove_chef_computer_data(computer, api) ous = nodes_collection.find(get_filter_ous_from_path(computer['path'])) for ou in ous: if ou.get('policies', {}): object_changed.delay(auth_user, 'ou', ou, {}, computers=[computer]) groups = nodes_collection.find({'_id': {'$in': computer.get('memberof', [])}}) for group in groups: if group.get('policies', {}): object_changed.delay(auth_user, 'group', group, {}, computers=[computer]) object_created.delay(auth_user, 'computer', computer, computers=[computer])
def notify_created(self, obj): object_created.delay(self.request.user, self.objtype, obj)
def notify_created(self, obj): result = object_created.delay(self.objtype, obj) params = self._job_params(obj, 'created') self.request.jobs.create(result.task_id, **params)