本文整理汇总了Python中server.models.permission.Permission类的典型用法代码示例。如果您正苦于以下问题:Python Permission类的具体用法?Python Permission怎么用?Python Permission使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Permission类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: groups
def groups(self, start=None, end=None, limit=25):
from server.models.permission import Permission
db = core.connect()
if not start:
start = [self.id]
if not end:
end = [self.id, {}]
results = Permission.readable_by_user_and_created(db, limit=limit)
return Permission.joinData(core.objects(results[start:end]))
示例2: inviteUser
def inviteUser(self, aUser, otherUser):
from server.models.permission import Permission
from server.models.message import Message
Permission.create(aUser.id, self.id, otherUser.id, 0)
json = {
"fromId": aUser.id,
"toId": otherUser.id,
"title": "%s invited you to join the group %s!" % (aUser.userName, self.longName),
"text": "%s invited you to join the group %s!" % (aUser.userName, self.longName),
"meta": "invite",
"content": {"type": "group", "_id": self.id},
}
Message.create(**json)
示例3: setPrivilege
def setPrivilege(self, aUser, level):
from server.models.permission import Permission
thePermission = Permission.readByUserAndGroup(aUser.id, self.id)
if thePermission and level > 0:
db = core.connect()
thePermission.level = level
thePermission.store(db)
示例4: join
def join(self, aUser):
from server.models.permission import Permission
thePermission = Permission.readByUserAndGroup(aUser.id, self.id)
if thePermission and thePermission.level == 0:
db = core.connect()
thePermission.level = 2
thePermission.store(db)
示例5: delete
def delete(self):
from server.models.permission import Permission
server = core.sharedServer()
# delete the metadata
db = core.connect()
del db[self.id]
# delete the group database
del server[Group.db(self.id)]
# delete all permissions
[perm.delete() for perm in core.objects(Permission.by_group(core.connect(), key=self.id))]
示例6: create
def create(cls, groupJson):
from server.models.permission import Permission
from server.models.ssuser import SSUser
userId = groupJson["createdBy"]
# create the group metadata
newGroup = Group(**utils.clean(groupJson))
newGroup.source.server = core.serverName()
newGroup.source.database = Group.db(newGroup.id)
# save the group metadata to the master db
newGroup.store(core.connect())
# create the root permission for this group
Permission.create(userId, newGroup.id, userId, level=4)
# create the group db
server = core.sharedServer()
server.create(Group.db(newGroup.id))
# copy the group metadata to the db
newGroup.copyTo(Group.db(newGroup.id))
return newGroup
示例7: testPublishToGroup
def testPublishToGroup(self):
json = shiftJson()
json["createdBy"] = self.fakemary.id
newShift = Shift.create(json)
json = groupJson()
json["createdBy"] = self.fakemary.id
newGroup = Group.create(json)
# make sure fakemary owns the group
newPerm = Permission.readByUserAndGroup(self.fakemary.id, newGroup.id)
self.assertTrue(newPerm.level == 4)
# create read permission for fakejohn
newPerm = Permission.create("shiftspace", newGroup.id, self.fakejohn.id, level=1)
fakejohn = SSUser.read(self.fakejohn.id)
self.assertTrue(Group.db(newGroup.id) in fakejohn.readable())
publishData = {
"dbs": [Group.db(newGroup.id)]
}
newShift.publish(publishData)
# should exists in shiftspace/shared
db = core.connect("shiftspace/shared")
theShift = Shift.load(db, newShift.id)
self.assertEqual(theShift.summary, newShift.summary)
newGroup.delete()
示例8: testPublishToGroupAndUser
def testPublishToGroupAndUser(self):
json = shiftJson()
json["createdBy"] = self.fakemary.id
newShift = Shift.create(json)
json = groupJson()
json["createdBy"] = self.fakemary.id
newGroup = Group.create(json)
newPerm = Permission.create("shiftspace", newGroup.id, self.fakejohn.id, level=1)
publishData = {
"dbs": [Group.db(newGroup.id), SSUser.db(self.fakebob.id)]
}
newShift.publish(publishData)
# should exist in subscriber's feed
db = core.connect("shiftspace/shared")
theShift = Shift.load(db, newShift.id)
self.assertEqual(theShift.summary, newShift.summary)
newGroup.delete()
# should exist in shiftspace/shared
# TODO: inbox if user is peer - David 11/18/09
theShift = Shift.load(core.connect("shiftspace/shared"), newShift.id)
self.assertEqual(theShift.summary, newShift.summary)
示例9: members
def members(self):
from server.models.permission import Permission
db = core.connect()
return core.fetch(core.connect(), keys=[row.value for row in Permission.all_members(db, key=self.id).rows])
示例10: adminable
def adminable(self):
from server.models.permission import Permission
return Permission.adminable(self.id)
示例11: writeable
def writeable(self):
from server.models.permission import Permission
return Permission.writeable(self.id)
示例12: readable
def readable(self):
from server.models.permission import Permission
return Permission.readable(self.id)
示例13: isMemberOf
def isMemberOf(self, aGroup):
from server.models.permission import Permission
thePermission = Permission.readByUserAndGroup(self.id, aGroup.id)
return thePermission and Permission.level > 0
示例14: canJoin
def canJoin(self, group):
from server.models.permission import Permission
perm = Permission.readByUserAndGroup(self.id, group.id)
return (perm and perm.level == 0)
示例15: adminCount
def adminCount(self):
from server.models.permission import Permission
db = core.connect()
return core.value(Permission.admin_count(db, key=self.id))