示例#1
0
def sendInvite(folderId):
    # 1 - OUVRIR LA BASE DE DONNEE
    jsondata = InviteUtils.loadJson()
    clientId = request.json["clientId"]

    folderId = folderId
    clientId = clientId

    if jsondata == None:
        return Error("Erreur lors de l'ouverture de la BD.")

    folders = jsondata["folder"]

    # 2 - VERIFIER SI LE DOSSIER EXISTE
    found, findex = InviteUtils.isExists(jsondata, folderId, "FOLDER")
    if not found:
        return Error("Erreur lors de la recherche du repertoire.")

    # 3 - VERIFIER SI LE CLIENT EXISTE
    found, cindex = InviteUtils.isExists(jsondata, clientId, "USER")
    if not found:
        return Error("Erreur lors de la recherche du client.")

    if not request.headers["Authorization"] in folders[findex]["administrator"]:
        return Error("Erreur le client n'a pas les droits.")

    #4 - ECRIRE DANS "INVITEDCLIENTS" SI PAS DEJA PRESENT
    if not clientId in folders[findex]["invitedClients"]:
        folders[findex]["invitedClients"].append(clientId)

    InviteUtils.unloadJson(jsondata)

    return Success("Invitation envoyée")
示例#2
0
def replyInvite(userId, folderId):
    # 1 - OUVRIR LA BASE DE DONNEE
    jsondata = InviteUtils.loadJson()
    answer = int(flask.request.json["answer"])

    # 0 : FALSE
    # TRUE

    clientId = int(userId)
    folderId = int(folderId)

    # 2 - VERIFIER SI LE CLIENT EXISTE
    found, cindex = InviteUtils.isExists(jsondata, clientId, "USER")
    if not found:
        return Error("Erreur lors de la recherche du client.")

    # 3 - VERIFIER SI LE DOSSIER EXISTE
    found, findex = InviteUtils.isExists(jsondata, folderId, "FOLDER")
    if not found:
        return Error("Erreur lors de la recherche du repertoire.")

    folder = jsondata["folder"][findex]

    isclient = clientId in folder["clients"]
    isinvite = clientId in folder["invitedClients"]

    # 4 - VERIFIER LES DEMANDES DACCESS
    if not isinvite and not isclient:
        return Error("Le client n'a pas eu l'access au dossier.")
    
    # 5 - AJOUTER L'ACCES
    needwrite = False
    if isinvite:
        folder["invitedClients"].remove(clientId)
        needwrite = True
    
    if answer != 0 and not isclient:
        folder["clients"].append(clientId)
        needwrite = True
    
    if needwrite:
        InviteUtils.unloadJson(jsondata)

    if answer == 0:
        return Success("Acces enleve.")
    return Success("Acces ajoute.")
示例#3
0
def getInvites(userId):    
    # 1 - OUVRIR LA BASE DE DONNEE
    jsondata = InviteUtils.loadJson()
    clientId = int(userId)
    
    if jsondata == None:
        return Error("Erreur lors de l'ouverture de la BD.")

    folders = jsondata["folder"]

    # 2 - VERIFIER SI LE CLIENT EXISTE
    found, cindex = InviteUtils.isExists(jsondata, clientId, "USER")
    if not found:
        return Error("Erreur lors de la recherche du client.")

    invitedFolders = []
    for folder in folders:
        if clientId in folder["invitedClients"]:
            invitedFolders.append(folder)

    return Success(json.dumps(invitedFolders, indent = 4))