From f24fe65d47e3d3c171d3115f6300256783ce4ca5 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Tue, 21 Oct 2008 19:42:38 +0000 Subject: [PATCH] "support user created slice conf files" --- PLC/Methods/GetConfFiles.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/PLC/Methods/GetConfFiles.py b/PLC/Methods/GetConfFiles.py index 89d5250d..2c7c18a4 100644 --- a/PLC/Methods/GetConfFiles.py +++ b/PLC/Methods/GetConfFiles.py @@ -15,7 +15,7 @@ class GetConfFiles(Method): details will be returned. """ - roles = ['admin', 'node'] + roles = ['admin', 'node', 'pi', 'user'] accepts = [ Auth(), @@ -28,4 +28,19 @@ class GetConfFiles(Method): def call(self, auth, conf_file_filter = None, return_fields = None): - return ConfFiles(self.api, conf_file_filter, return_fields) + if 'node' in self.caller['roles']: + return ConfFiles(self.api, conf_file_filter, return_fields) + else: + if isinstance(self.caller, Person) and \ + 'admin' not in self.caller['roles']: + if conf_file_filter is None: + conf_file_filter = {'site_id': self.caller['site_ids']} + + conf_files = ConfFiles(self.api, conf_file_filter, return_fields) + + # Filter out accounts that are not viewable + if isinstance(self.caller, ConfFiles) and \ + 'admin' not in self.caller['roles']: + conf_files = filter(lambda id: id in self.caller['site_ids'] , conf_files) + + return conf_files -- 2.47.0