mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-09 14:13:35 +00:00
Make calendar showacl usable
This commit is contained in:
29
src/gam.py
29
src/gam.py
@ -1011,6 +1011,16 @@ def callGAPIpages(service, function, items,
|
|||||||
sys.stderr.flush()
|
sys.stderr.flush()
|
||||||
return all_pages
|
return all_pages
|
||||||
|
|
||||||
|
def callGAPIitems(service, function, items,
|
||||||
|
throw_reasons=[], retry_reasons=[],
|
||||||
|
**kwargs):
|
||||||
|
results = callGAPI(service, function,
|
||||||
|
throw_reasons=throw_reasons, retry_reasons=retry_reasons,
|
||||||
|
**kwargs)
|
||||||
|
if results:
|
||||||
|
return results.get(items, [])
|
||||||
|
return []
|
||||||
|
|
||||||
API_VER_MAPPING = {
|
API_VER_MAPPING = {
|
||||||
u'admin-settings': u'v2',
|
u'admin-settings': u'v2',
|
||||||
u'appsactivity': u'v1',
|
u'appsactivity': u'v1',
|
||||||
@ -3140,19 +3150,22 @@ def checkCloudPrintResult(result):
|
|||||||
print u'ERROR %s: %s' % (result[u'errorCode'], result[u'message'])
|
print u'ERROR %s: %s' % (result[u'errorCode'], result[u'message'])
|
||||||
sys.exit(result[u'errorCode'])
|
sys.exit(result[u'errorCode'])
|
||||||
|
|
||||||
|
def formatACLRule(rule):
|
||||||
|
if rule[u'scope'][u'type'] != u'default':
|
||||||
|
return u'(Scope: {0}:{1}, Role: {2})'.format(rule[u'scope'][u'type'], rule[u'scope'][u'value'], rule[u'role'])
|
||||||
|
return u'(Scope: {0}, Role: {1})'.format(rule[u'scope'][u'type'], rule[u'role'])
|
||||||
|
|
||||||
def doCalendarShowACL():
|
def doCalendarShowACL():
|
||||||
cal = buildGAPIObject(u'calendar')
|
cal = buildGAPIObject(u'calendar')
|
||||||
show_cal = sys.argv[2]
|
show_cal = sys.argv[2]
|
||||||
if show_cal.find(u'@') == -1:
|
if show_cal.find(u'@') == -1:
|
||||||
show_cal = u'%s@%s' % (show_cal, GC_Values[GC_DOMAIN])
|
show_cal = u'%s@%s' % (show_cal, GC_Values[GC_DOMAIN])
|
||||||
acls = callGAPI(cal.acl(), u'list', calendarId=show_cal)
|
acls = callGAPIitems(cal.acl(), u'list', u'items', calendarId=show_cal)
|
||||||
try:
|
i = 0
|
||||||
for rule in acls[u'items']:
|
count = len(acls)
|
||||||
print u' Scope %s - %s' % (rule[u'scope'][u'type'], rule[u'scope'][u'value'])
|
for rule in acls:
|
||||||
print u' Role: %s' % (rule[u'role'])
|
i += 1
|
||||||
print u''
|
print u'Calendar: {0}, ACL: {1}{2}'.format(show_cal, formatACLRule(rule), currentCount(i, count))
|
||||||
except IndexError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
def doCalendarAddACL(calendarId=None, act_as=None, role=None, scope=None, entity=None):
|
def doCalendarAddACL(calendarId=None, act_as=None, role=None, scope=None, entity=None):
|
||||||
if act_as != None:
|
if act_as != None:
|
||||||
|
Reference in New Issue
Block a user