X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Ftrust%2Frights.py;h=eb0bb74720b4b48bbc0c95d21f43c4a92857e634;hb=6fbad04fa3db515d73f2b6a298b376c7ff275521;hp=14749cbeefadcad4e6e4b08e58abeb24510bf937;hpb=b9e582564804f4538056758e86dee84c8fc5e6f5;p=sfa.git diff --git a/sfa/trust/rights.py b/sfa/trust/rights.py index 14749cbe..eb0bb747 100644 --- a/sfa/trust/rights.py +++ b/sfa/trust/rights.py @@ -60,7 +60,7 @@ def determine_rights(type, name): elif type in ["sa", "authority+sa"]: rl.add("authority") rl.add("sa") - elif type in ["ma", "authority+ma", "cm", "authority+cm"]: + elif type in ["ma", "authority+ma", "cm", "authority+cm", "sm", "authority+sm"]: rl.add("authority") rl.add("ma") elif type == "authority": @@ -73,6 +73,7 @@ def determine_rights(type, name): rl.add("bind") rl.add("control") rl.add("info") +# wouldn't that be authority+cm instead ? elif type == "component": rl.add("operator") return rl @@ -246,47 +247,3 @@ class Rights: return False return True - - - ## - # Determine the rights that an object should have. The rights are entirely - # dependent on the type of the object. For example, users automatically - # get "refresh", "resolve", and "info". - # - # @param type the type of the object (user | sa | ma | slice | node) - # @param name human readable name of the object (not used at this time) - # - # @return Rights object containing rights - - def determine_rights(self, type, name): - rl = Rights() - - # rights seem to be somewhat redundant with the type of the credential. - # For example, a "sa" credential implies the authority right, because - # a sa credential cannot be issued to a user who is not an owner of - # the authority - - if type == "user": - rl.add("refresh") - rl.add("resolve") - rl.add("info") - elif type in ["sa", "authority+sa"]: - rl.add("authority") - rl.add("sa") - elif type in ["ma", "authority+ma", "cm", "authority+cm"]: - rl.add("authority") - rl.add("ma") - elif type == "authority": - rl.add("authority") - rl.add("sa") - rl.add("ma") - elif type == "slice": - rl.add("refresh") - rl.add("embed") - rl.add("bind") - rl.add("control") - rl.add("info") - elif type == "component": - rl.add("operator") - - return rl