Esempio n. 1
0
def addUserToHub(hubName, owner, newUser):
    keys = db.HubInfo.keysWhichMatch(db.HubInfo, owner)

    hubInfo = db.HubInfo(owner, hubName).get()
    if 'users' in hubInfo.keys():
        hubInfo['users'].append(newUser)
    else:
        hubInfo['users'].append(newUser)

    hubInfo['users'] = list(set(hubInfo['users']))
    db.HubInfo(owner, hubName).put(hubInfo)

    # create permissions database object for a user
    db.Permissions(owner, hubName, newUser).put(["", "", "", "", ""])
Esempio n. 2
0
def myHubs(request):
    userid = request.authenticated_userid
    everyKey = db.HubInfo.keysWhichMatch(db.HubInfo)
    hubInfos = Hubs.getHubInfos(everyKey, userid)

    labels = {}
    usersdict = {}
    permissions = {}

    for hubName in hubInfos:

        currHubInfo = hubInfos[hubName]
        owner = currHubInfo['owner']
        usersdict[hubName] = currHubInfo[
            'users'] if 'users' in currHubInfo.keys() else []

        everyLabelKey = db.Labels.keysWhichMatch(owner, hubName)

        num_labels = 0
        for key in everyLabelKey:
            if key[0] == userid or userid in hubInfos[key[1]]['users']:
                num_labels += db.Labels(*key).get().shape[0]

        labels[hubName] = num_labels

        # get each co users permissions
        for couser in usersdict[hubName]:
            permissions[(hubName,
                         couser)] = db.Permissions(owner, hubName,
                                                   couser).get()

    return {
        "user": userid,
        "hubInfos": hubInfos,
        "usersdict": usersdict,
        "permissions": permissions,
        "labels": labels
    }
Esempio n. 3
0
def adjustPermsPOST(request):
    userid = request.authenticated_userid
    query = request.matchdict

    user = query['user']
    hub = query['hub']
    couser = query['couser']

    chkpublic = "Can change to public" if "chkpublic" in request.params.keys(
    ) else ""
    chkhub = "Can adjust hub" if "chkhub" in request.params.keys() else ""
    chklabels = "Can adjust labels" if "chklabels" in request.params.keys(
    ) else ""
    chktracks = "Can change tracks" if "chktracks" in request.params.keys(
    ) else ""
    chkmoderator = "Is moderator" if "chkmoderator" in request.params.keys(
    ) else ""

    db.Permissions(user, hub, couser).put(
        [chkpublic, chkhub, chklabels, chktracks, chkmoderator])

    url = request.route_url('myHubs')
    return HTTPFound(location=url)